Misurare la casualità delle formule CNF


12

È risaputo che le formule CNF possono essere suddivise approssimativamente in 2 grandi classi: casuale e strutturato. Le formule CNF strutturate, in contrapposizione alle formule casuali CNF, mostrano una sorta di ordine, mostrando modelli che è improbabile che accadano per caso. Tuttavia, si possono trovare formule strutturate che mostrano un certo grado di casualità (cioè alcuni gruppi specifici di clausole sembrano molto meno strutturati di altri), così come formule casuali con qualche forma debole di struttura (cioè alcuni gruppi specifici di clausole sembrano meno casuali di altri ). Quindi sembra che la casualità di una formula non sia solo un fatto sì / no.

Sia una funzione che, data una formula CNF F F , restituisce un valore reale compreso tra 0 e 1 compreso: 0 indica una formula strutturata pura, mentre 1 indica una formula casuale pura.r:F[0,1]FF0101

Mi chiedo se qualcuno abbia mai provato a inventare un tale . Naturalmente il valore restituito da r sarebbe (almeno questo è il mio intento) solo una misurazione pratica secondo alcuni criteri ragionevoli, piuttosto che una solida verità teorica.rr

Sono anche interessato a sapere se qualcuno ha mai definito e studiato alcun indicatore statistico che può essere utilizzato nella definizione di o nel determinare altre utili proprietà complessive di una formula. Per indicatore statistico intendo qualcosa del genere:r

  1. HCV (numero di passaggi Variance)

    Sia una funzione che, data una variabile v jN , restituisce il numero di volte v j appare in F . Lasciate V l'insieme di variabili utilizzate in F . Lascia ˉ h F = 1hF:NNvjNvjFVFessere l'AHC (conteggio dei colpi medi). L'HCV è definito come segue: HVC=1h¯F=1|V|vjVhF(vj)

    In casi casuali, l'HCV è molto basso (tutte le variabili sono menzionate quasi lo stesso numero di volte), mentre in istanze strutturate non lo è (alcune variabili sono usati molto frequentemente e altri no, cioè ci sono "gruppi di utilizzo").HVC=1|V|vjV(hF(vj)h¯F)2



  2. AID (Grado di impurità medio)

    Sia il numero di volte in cui v j si presenta positivo, e sia h - F ( v j ) il numero di volte in cui si presenta negativo. Sia i : N[ 0 , 1 ] una funzione che, data una variabile v jV , restituisce il suo ID (Grado di impurità). La funzione i ( v j ) è definita come segue: i (hF+(vj)vjhF(vj)i:N[0,1]vjVi(vj) . Quelle variabili che si verificano metà del tempo positivo e metà del tempo negativo hanno il massimo grado di impurità, mentre quelle variabili che si presentano sempre positive o sempre negative (cioè letterali puri) hanno un grado di impurità minimo. L'AID è semplicemente definito come segue: AID=1i(vj)=2min(hF+(vj),hF(vj))hF(vj)

    In casi casuali (almeno in quelli generati negando variabili con probabilità0,5), l'AID è quasi uguale a1, mentre in istanze strutturate è generalmente lontano da1.AID=1|V|vjVi(vj)

    0.511

  3. IDV (Impiance Degree Variance)

    L'IDV è un indicatore più robusto del solo AID, poiché tiene conto di istanze casuali generate negando variabili con probabilità diversa da . È definito come: I D V = 10.5

    IDV=1|V|vjV(i(vj)AID)2

    00

motivazioni

  1. Per capire meglio come funzionano le formule CNF, come potrebbe essere misurata la loro casualità / struttura, se si potessero dedurre altre utili proprietà complessive osservando i loro indicatori statistici, se e come tali indicatori possano essere usati per accelerare la ricerca.
  2. Mi chiedo se la soddisfacibilità (o anche il numero di soluzioni) di una formula CNF possa essere dedotta semplicemente manipolando abilmente i suoi indicatori statistici.

Domande

  1. Qualcuno ha mai proposto un modo per misurare la casualità di una formula CNF?
  2. Qualcuno ha mai proposto un indicatore statistico che può essere utilizzato per studiare o addirittura per inferire meccanicamente le proprietà complessive utili di una formula CNF?

1
vedere l'articolo in questa risposta ( cstheory.stackexchange.com/questions/4321/… ). Potrebbe darti un consiglio su come definire tale r
Marcos Villagra,

1
discussione probabilmente pertinente sulla misurazione della casualità delle stringhe di bit mathoverflow.net/questions/37518/…
Yaroslav Bulatov

Posso dirtelo molto da quando ci sto lavorando da solo per un po '. Se si considera SAT, le formule per 1 e 2 sono esponenziali. D'altra parte per k-SAT le formule per 1 e 2 sono polinomiali. Ciò si riferisce alla mia DEFINIZIONE PRECISA DELLA DOMANDA K-SAT RANDOM, alla quale nessuno sembra voler rispondere.
Tayfun paga

@Geekster: vuoi fornire una risposta qui?
Hsien-Chih Chang 張顯 之

@Geekster: cosa intendi con "... le formule per 1 e 2 sono esponenziali" ?
Giorgio Camerani,

Risposte:


3

Suggerisco di prendere in prestito l'intuizione fisica che le strutture "meno casuali" sono più simmetriche. La simmetria per CNF è qualsiasi trasformazione delle variabili, che mantiene invariata la funzione. Con tali criteri, funzioni di 3 variabili come

x1x2x3.

o, diciamo,

(x1x2¬x3)(x1¬x2x3)(¬x1x2x3)(¬x1¬x2¬x3).

sono meno casuali di, diciamo

(x1x2¬x3)(x1¬x2x3)(¬x1¬x2x3).

In generale, definire un concetto di "casuale" su strutture finite è una sfida. Storicamente, è stato provato su sequenze binarie, che probabilmente sono le strutture finite più semplici. Ad esempio, intuitivamente, una sequenza 01010101 è "meno casuale" di, diciamo, 01001110. Tuttavia, si è rapidamente capito che non esiste una definizione formale coerente di sequenza casuale finita ! Pertanto, bisogna essere scettici nei confronti di qualsiasi ingenuo tentativo di definire una misura di casualità per qualsiasi struttura finita.


Concordo pienamente con l'intuizione "struttura significa presenza di simmetrie, mentre casualità significa assenza di simmetrie" . Ti riferisci alle simmetrie sintattiche (mentre le simmetrie semantiche sono quelle che cambiano la funzione ma lasciando inalterato lo spazio della soluzione). Sono sempre stato convinto che le simmetrie siano la chiave.
Giorgio Camerani,

1
@Walter: L'idea delle simmetrie è un tentativo di sfruttare l'algebra piuttosto che gli algoritmi: la complessità algoritmica è una misura che sfida la definizione coerente per oggetti finiti. Ma poi dobbiamo assegnare una misura di complessità a ciascun elemento di un gruppo (ad esempio, la trasformazione che nega una singola variabile è più semplice di quella che ne nega due) - sembra come
se si stesse
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.