140 likes | 257 Views
Unvollständige Sat-Solver. Ron – Gerrit Vahle. GSAT. randomisierter lokaler Suchalgorithmus unvollständiger SAT –Solver sehr schneller und nichtdeterministischer Algorithmus basiert auf dem model-finding Problem Laufzeit ist beeinflussbar Algorithmus ist terminierend. Algorithmus GSAT.
E N D
Unvollständige Sat-Solver Ron – Gerrit Vahle
GSAT • randomisierter lokaler Suchalgorithmus • unvollständiger SAT –Solver • sehr schneller und nichtdeterministischer Algorithmus • basiert auf dem model-finding Problem • Laufzeit ist beeinflussbar • Algorithmus ist terminierend
Algorithmus GSAT Input: a set of classes α, MAX-FLIPS,MAX-TRIES Output: a satisfying truth assignemnet of α begin for i:=1 to MAX-TRIES T:= a randomly generated truth assignment for j:=1 to MAX-FLIPS if T satiesfies α then return T p:=a propositional variable such that a change in its truth gives the largest increase in the total number of clauses that T satiesfies α T:= T with the truth assignement of p reversed end for end for return „no satisfying assignment found“ end
Diskussion GSAT • findet der Algorithmus eine Lösung ist diese korrekt • findet der Algorithmus keine Lösung, kann es trotzdem eine geben => keine Aussage über die Lösbarkeit des Problems machbar • wenn der Algorithmus auf ein „Plateau“ trifft steigt die Wahrscheinlichkeit das er keine Lösung findet • bei Zufügen von „Sideway Moves“ steigt die Wahrscheinlichkeit einer Lösung
Random walk Strategy • modifizierter GSAT • unvollständiger SAT – Solver • schneller Algorithmus • kann sich aus lokalen Minima befreien
Algorithmus Wie der GSAT Ergänzung zum GSAT: Wahrscheinlickeit p: ändert den Wahrheitswert einer Variable in einem unwahren Term Wahrscheinlickeit 1-p: nimm Standard GSAT
Diskussion Random walk Strategy • schneller als GSAT • Lösungen sind korrekt • Keine Lösung lässt keine Rückschlüsse über Lösbarkeit zu • Beim Treffen auf „Plateau“ bessere Chance auf Lösung als GSAT • findet bei lösbaren Problemen (fast) immer Lösungen
WSAT • modifizierter GSAT with walk • Ergänzung zum GSAT with walk: 2 Phasen Strategie bei der Auswahl der zu verändernden Variable • Zufällig einen unwahren Term suchen • aus diesem Term die Variable suchen, die am meisten in den anderen nicht gelösten Termen vorkommt
Simulated Annealing • unvollständiger SAT – Solver • ähnliche Vorgehensweise wie bei GSAT Verfahren: 1)zufällige Belegung der Variablen 2)Zufällige Variable im Wahrheitswert ändern 3)wenn die Anzahl der ungelösten Terme (δ) abnimmt oder gleichbleibt: neuen Wert beibehalten, sonst neuen Wert mit der Wahrscheinlickeit e-δ/T annehmen 4) Springe zu 2)
Fazit • unvollständige SAT – Solver haben eine bessere Performance als vollständige • die Lösungen sind korrekt und optimal • wenn keine Lösung gefunden wird, kann keine Aussage über Lösbarkeit des Problem getroffen werden, anders als bei vollständigen SAT - Solvern
Quellen • Selman, Levesque, Mitchel : A new Method for Solving Hard Satiesfiability Problems • Selman, Kautz, Cohen: Local Search Strategies for Satisfiability Testing • Kirkpatrick, Gelatt, Vecchi: Optimization by Simulated Annealing