Широко известно, что формулы CNF можно условно разделить на 2 широких класса: случайный и структурированный. Структурированные формулы CNF, в отличие от случайных формул CNF, демонстрируют некоторый порядок, демонстрируя паттерны, которые вряд ли могут произойти случайно. Тем не менее, можно найти структурированные формулы, показывающие некоторую степень случайности (т.е. определенные конкретные группы предложений кажутся гораздо менее структурированными, чем другие), а также случайные формулы с некоторой слабой структурой (то есть определенные конкретные группы предложений кажутся менее случайными, чем другие ). Следовательно, кажется, что случайность формулы - это не просто факт да / нет.
Пусть будет функцией, которая, учитывая формулу CNF , возвращает действительное значение в диапазоне от до включительно: означает чисто структурированную формулу, в то время как означает чисто случайную формулу.F ∈ F 0 1 0 1
Интересно, пытался ли кто-нибудь когда-нибудь изобрести такой . Конечно, значение, возвращаемое , будет (по крайней мере, моим намерением) просто практическим измерением согласно некоторым разумным критериям, а не твердой теоретической правдой.р
Мне также интересно узнать, определял ли кто-либо когда-либо какой-либо статистический показатель, который можно использовать при определении или при определении других полезных общих свойств формулы. Под статистическим показателем я имею в виду нечто подобное:
- HCV (Hit Count Variance)
Пусть функция , что, учитывая переменную , возвращает число раз появляется в . Пусть множество переменных , используемых в . Пусть будет AHC (средний попаданий). HCV определяется следующим образом: v j ∈ N v j F V F ˉ h F = 1НУС=1
В случайных случаях HCV очень низок (все переменные упоминаются почти одинаковое количество раз), тогда как в структурированных случаях это не так (некоторые переменные используются очень часто, а некоторые нет, то есть существуют «кластеры использования» ).
- AID (средняя степень ).
Пусть будет количеством раз, когда положительным, и пусть число раз, когда оно отрицательным. Пусть будет функцией, которая, учитывая переменную , возвращает свой идентификатор (степень загрязненности). Функция определяется следующим образом: . Те переменные, которые встречаются в половине случаев положительных и в половине раз отрицательных, имеют максимальную степень загрязненности, в то время как переменные, встречающиеся всегда положительно или всегда отрицательно (т.е. чистые литералы), имеют минимальную степень примеси. AID просто определяется следующим образом: v j h - F ( v j ) i : N → [ 0 , 1 ] v j ∈ Vя ( v J ) = 2 ⋅ м я н ( ч + Р ( v j ) , h - F ( v j ) AID=1
0,511
В случайных случаях (по крайней мере в случаях, порожденных отрицанием переменных с вероятностью ), AID почти равен в то время как в структурированных случаях оно обычно далеко от .
- IDV (дисперсия степени загрязненности)
IDV является более надежным индикатором, чем один AID, поскольку он учитывает случайные случаи, генерируемые путем отрицания переменных с вероятностью, отличной от . Он определяется как: В случайных случаях IDV равен (поскольку каждая переменная отрицается с той же вероятностью), в то время как в структурированных случаях это далеко от . I D V = 1
00
Мотивы
- Чтобы лучше понять, как работают формулы CNF, как можно измерить их случайность / структуру, можно ли вывести другие полезные общие свойства, посмотрев на их статистические показатели, если и как такие показатели можно использовать для ускорения поиска.
- Интересно, можно ли сделать вывод о соответствии (или даже количестве решений) формулы CNF, просто умело манипулируя ее статистическими показателями.
Вопросов
- Кто-нибудь когда-нибудь предлагал способ измерения случайности формулы CNF?
- Кто-нибудь когда-либо предлагал какой-либо статистический показатель, который можно использовать для изучения или даже для механического вывода полезных общих свойств формулы CNF?