Algoritmi SAT non basati su DPLL


Risposte:


21

La ricerca della risoluzione (solo l'applicazione della regola della risoluzione con una buona euristica) è un'altra possibile strategia per i solutori di SAT. Teoricamente è esponenzialmente più potente (cioè esistono problemi per i quali ha prove esponenziali più brevi) di DPLL (che fa solo la risoluzione dell'albero anche se è possibile aumentarlo con l'apprendimento nogood per aumentare il suo potere - se ciò lo rende tanto potente quanto la risoluzione generale è ancora aperto per quanto ne so) ma non conosco un'implementazione effettiva che funzioni meglio.

Se non ti limiti a completare la ricerca, WalkSat è un solutore di ricerca locale che può essere utilizzato per trovare soluzioni soddisfacenti e sovraperformare la ricerca basata su DPLL in molti casi. Non è possibile utilizzarlo per dimostrare insoddisfazione, a meno che non si memorizzino nella cache tutti gli incarichi che hanno fallito, il che significherebbe requisiti di memoria esponenziale.

Modifica: dimenticato di aggiungere - È possibile utilizzare anche i piani di taglio (riducendo SAT a un programma intero). In particolare, i tagli di Gomory sono sufficienti per risolvere in modo ottimale qualsiasi programma intero. Anche nel caso peggiore, potrebbe essere necessario un numero esponenziale. Penso che il libro sulla complessità computazionale di Arora & Barak abbia alcuni altri esempi di sistemi di prova che in teoria si potrebbero usare per qualcosa come la risoluzione di SAT. Ancora una volta, non ho mai visto un'implementazione rapida di nulla oltre ai metodi di ricerca basati su DPLL o locali.


9
DPLL con l'apprendimento delle clausole (o apprendimento nogood, come lo chiami tu) e il riavvio ha dimostrato di essere equivalente alla risoluzione generale.
Jan Johannsen,

1
@JanJohannsen, è questo il documento a cui ti riferisci? arxiv.org/abs/1107.0044
Radu GRIGore,

5
Sì, c'è anche un miglioramento nel seguente documento: Knot Pipatsrisawat e Adnan Darwiche. Sulla potenza dei solutori SAT che apprendono le clausole come motori di risoluzione. Intelligenza artificiale 175 (2), 2011, pp. 512-525. dx.doi.org/10.1016/j.artint.2010.10.002
Jan Johannsen

3
Mentre l'articolo di Beame et al. collegato da Radu Grigore mostra che la risoluzione generale è simulata da un algoritmo DPLL con una particolare strategia di apprendimento artificiale, il documento sopra lo mostra per le strategie di apprendimento naturali effettivamente utilizzate.
Jan Johannsen,

12

La propagazione dei sondaggi è un altro algoritmo che è stato utilizzato con successo su alcuni tipi di problemi SAT, in particolare istanze SAT casuali. Come WalkSAT, non può essere utilizzato per dimostrare insoddisfazione, ma si basa su idee molto diverse (algoritmi di passaggio dei messaggi) da WalkSAT.



7

Puoi anche dire che tutti i solutori CSP sono anche solutori SAT. E ci sono per quanto ne so due metodi utilizzati in CSP:

  • DFS esaustivo con prelazione dello spazio di ricerca e controllo della coerenza dell'arco, possibilmente utilizzando la rasatura per garantire che la coerenza venga mantenuta il più presto possibile.
  • Metodi locali (ricerca tabù, ricottura simulata)

4

Monte Carlo Tree Search (MCTS) ha recentemente ottenuto alcuni risultati impressionanti su giochi come Go. L'idea di base approssimativa è la simulazione casuale interlacciata con la ricerca dell'albero. È leggero e facile da implementare, la pagina dell'hub di ricerca che ho collegato contiene molti esempi, documenti e anche un po 'di codice.

Previti et al. [1] ha svolto alcune indagini preliminari su MCTS applicate a SAT. Chiamano l'algoritmo di ricerca basato su MCTS UCTSAT ("limiti di confidenza superiore applicati agli alberi SAT", se lo desideri). Hanno confrontato le prestazioni di DPLL e UCTSAT su istanze dal repository SATLIB, con l'obiettivo di vedere se UCTSAT avrebbe prodotto alberi di ricerca significativamente più piccoli di DPLL.

Per istanze di colorazione casuali uniformi 3-SAT e a grafico piatto di dimensioni diverse, non vi sono state differenze significative. Tuttavia, UCTSAT ha funzionato meglio per le istanze del mondo reale. Le dimensioni medie degli alberi (in termini di numero di nodi) per quattro diverse istanze di analisi dei guasti del circuito SSA erano in diverse migliaia per DPLL, mentre sempre meno di 200 per UCTSAT.


[1] Previti, Alessandro, Raghuram Ramanujan, Marco Schaerf e Bart Selman. "Ricerca UCT in stile Monte-carlo per soddisfazioni booleane." In AI * IA 2011: Artificial Intelligence Around Man and Beyond, pagg. 177-188. Springer Berlin Heidelberg, 2011.


-4

DPLL non specifica rigorosamente l'ordinamento a visita variabile e ci sono molte ricerche interessanti che esaminano le strategie di attacco all'ordinamento variabile ottimali. parte di questo è incorporato nella logica di selezione variabile negli algoritmi SAT. in un certo senso alcune di queste ricerche sono preliminari in quanto mostrano che diversi ordinamenti di attacchi variabili portano a differenti vincoli sequenziali (che sono altamente correlati con la durezza dell'istanza), e escogitare l'euristica o le strategie più efficaci per sfruttare questa visione apparentemente chiave sembra essere nelle prime fasi della ricerca.


4
Capisci che ho chiesto algoritmi non basati su DPLL ?
Anonimo il

2
Capisci cosa significa "basato" ? Ti ho detto : non usare le mie domande per commentare qualsiasi cosa tu voglia commentare!
Anonimo il

7
tu stesso stai dicendo che sono basati su DPLL. a me sembra che sia come dire che diverse regole pivot per simplex ti danno un algoritmo che non è un algoritmo simplex
Sasho Nikolov

7
Sono d'accordo con Sasho. Inoltre, la ricerca sull'euristica degli ordini variabili non è sicuramente nelle fasi iniziali. L'importanza è stata realizzata molto tempo fa (immagina le conseguenze di un perfetto oracolo) e molto tempo è stato dedicato all'analisi. L' euristica dell'ordinamento del valore diventa più interessante nei solutori del CSP e, per qualche ragione, non credo che la ricerca su di essi sia stata in forte espansione come per l'ordinamento variabile.
Juho,

4
Per essere più precisi, la ricerca iniziale sull'euristica degli ordini variabili risale agli anni '70. Se sei interessato, posso trovare i riferimenti pertinenti per te.
Juho,
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.