Es ist allgemein bekannt, dass CNF-Formeln grob in zwei breite Klassen unterteilt werden können: Zufalls- und Strukturformeln. Strukturierte CNF-Formeln weisen im Gegensatz zu zufälligen CNF-Formeln eine bestimmte Reihenfolge auf und zeigen Muster, die wahrscheinlich nicht zufällig auftreten. Man kann jedoch strukturierte Formeln finden, die einen gewissen Grad an Zufälligkeit aufweisen (dh bestimmte Gruppen von Klauseln scheinen viel weniger strukturiert zu sein als andere), sowie zufällige Formeln mit einer schwachen Form der Struktur (dh bestimmte Gruppen von Klauseln scheinen weniger zufällig zu sein als andere) ). Daher scheint die Zufälligkeit einer Formel nicht nur eine Ja / Nein-Tatsache zu sein.
Sei eine Funktion, die bei einer CNF-Formel einen reellen Wert zwischen und einschließlich zurückgibt : bedeutet eine rein strukturierte Formel, während eine rein zufällige Formel bedeutet.1
Ich frage mich, ob jemand jemals versucht hat, ein solches zu erfinden . Natürlich wäre der von Wert (zumindest ist dies meine Absicht) nur eine praktische Messung nach vernünftigen Kriterien und keine solide theoretische Wahrheit.r
Mich interessiert auch, ob jemand jemals einen statistischen Indikator definiert und untersucht hat, der zur Definition von oder zur Bestimmung anderer nützlicher Gesamteigenschaften einer Formel verwendet werden kann. Mit statistischem Indikator meine ich so etwas:
- HCV (Hit Count Varianz)
Sei eine Funktion, die bei gegebener Variablen die zurückgibt, mit der in . Sei die Menge der in verwendeten Variablen . Sei der AHC (Average Hit Count). Das HCV ist wie folgt definiert: v j ≤ N v j F V F ≤ h F = 1HVC=1
In zufälligen Fällen ist das HCV sehr niedrig (alle Variablen werden fast gleich oft erwähnt), während es in strukturierten Fällen nicht der Fall ist (einige Variablen werden sehr häufig verwendet und andere nicht, dh es gibt "Nutzungscluster"). ).
- AID (Average Impurity Degree)
Sei die mit der positiv auftritt, und sei die der es negativ auftritt. Sei eine Funktion, die bei einer Variablen ihre ID (Verunreinigungsgrad) zurückgibt. Die Funktion ist wie folgt definiert: . Diejenigen Variablen, die zur Hälfte positiv und zur Hälfte negativ sind, haben einen maximalen Verunreinigungsgrad, während die Variablen, die immer positiv oder immer negativ sind (dh reine Literale), einen minimalen Verunreinigungsgrad haben. Die AID ist einfach wie folgt definiert: v j h - F ( v j ) i : N → [ 0 , 1 ] v j ∈ V i ( v j ) i ( v j ) = 2 ⋅ m i n ( H + F ( v j ) , h - F ( v j )
In zufälligen Fällen (zumindest in Fällen, in denen Variablen mit einer Wahrscheinlichkeit von negiert werden ) ist die AID fast gleich in strukturierten Fällen ist es normalerweise weit von .
- IDV (Impurity Degree Variance)
Das IDV ist ein robusterer Indikator als das AID allein, da es zufällige Instanzen berücksichtigt, die durch Negieren von Variablen mit einer Wahrscheinlichkeit von weniger als generiert werden . Es ist definiert als: In zufälligen Fällen ist die IDV (weil jede Variable negiert ist mit der gleichen Wahrscheinlichkeit), während es in strukturierten Fällen weit von .
Motivationen
- Um besser zu verstehen, wie CNF-Formeln funktionieren, wie ihre Zufälligkeit / Struktur gemessen werden könnte, ob andere nützliche Gesamteigenschaften durch Betrachtung ihrer statistischen Indikatoren abgeleitet werden könnten und wie solche Indikatoren verwendet werden könnten, um die Suche zu beschleunigen.
- Ich frage mich, ob die Erfüllbarkeit (oder sogar die Anzahl der Lösungen) einer CNF-Formel durch eine clevere Manipulation ihrer statistischen Indikatoren abgeleitet werden kann.
Fragen
- Hat jemand jemals einen Weg vorgeschlagen, um die Zufälligkeit einer CNF-Formel zu messen?
- Hat jemand jemals einen statistischen Indikator vorgeschlagen, mit dem nützliche Gesamteigenschaften einer CNF-Formel untersucht oder sogar mechanisch abgeleitet werden können?