Oppure

Loading
05/11/10 23:42
eddiewrc
salve a tutti,
qualcuno per caso saprebbe consigliarmi un SAT solver davvero ottimo?
Io sto usando Minisat, che è il migliore che ho trovato, ma non basta. se avete suggerimenti sono ben accetti!
aaa
05/11/10 23:52
TheKaneB
il problema SAT è NP-completo. Significa che l'algoritmo deterministico più efficiente che si possa scrivere ha complessità esponenziale. Esistono tuttavia sistemi euristici per trovare soluzioni tramite approssimazioni successive. Nel caso medio hanno tempi polinomiali, ma degradano a più che esponenziali nel caso peggiore.

In caso te lo stessi chiedendo, sono basati sugli algoritmi genetici.
aaa
05/11/10 23:56
HeDo

un mio compagno di corso sta lavorando ad una implementazione di minisat in OpenCL, lo speedup è 33x.

è un progetto di tesi quindi non ti so dire se può essere liberamente utilizzabile, inoltre è ancora una versione preliminare che sicuramente lascia spazio ad ulteriori ottimizzazioni :)

aaa
06/11/10 0:31
eddiewrc
@theKane: conosco il problema della soddisfacibilità logica.
Dato che ogni anno si tengono svariate competizioni tra team che sviluppano sat solver, vorrei solo avere la certezza di stare usando uno dei migliori, visto che ho praticamente già raggiunto il limite della computabilità in tempi non astronomici. Le statistiche riguardanti appunto il degrado verso tempi esponenziali (su cui mi sono basato per scegliere il solver) che ho trovato risalivano al 2008 e davano come migliore Minisat, che sto quindi usando. Intendevo chiedere se qualcuno ha notizie più recenti (che non ho trovato finora).
Inoltre ogni team sceglie l'algoritmo che preferisce, Minisat per esempio "impara" ma non "evolve" propriamente. DPLL è basato su ricorsione, backtrack e unit propagation. WalkSat e GSAT si basano su algoritmi a ricerca locale. Un paio di solvers usano anche algoritmi genetici, ma almeno nel grafico riguardante il 2008 sono finiti decisamente agli ultimi posti.

@hedo: anche il mio è un progetto per la tesi!
aaa
06/11/10 16:14
eddiewrc
ho trovato questo sito che ha risolto il mio quesito:
satcompetition.org/

@hedo: dimenticavo.. se il tuo amico vuole provare un benchmark VERAMENTE difficile per il suo sat solver, mi mandi pure una email.. tra l'altro se ci fosse un modo per risolverlo sarebbe un risultato scientifico piuttosto importante. (ma per ora è decisamente infattibile)
aaa