25.11.2014 Aufrufe

Verifikation reaktiver Systeme - Universität Kaiserslautern

Verifikation reaktiver Systeme - Universität Kaiserslautern

Verifikation reaktiver Systeme - Universität Kaiserslautern

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

133<br />

Da die Aktualisierung der Aktivierungsstatistik nur bei Konflikten vorgenommen<br />

wird, hat sie nur einen geringen Anteil an der Gesamtrechenzeit. Gleichzeitig<br />

können bei schwierigen Problemen Verbesserungen der Laufzeit erwartet werden.<br />

Klauselmitschriften Die während der Konfliktbehandlung gewonnen Konfliktklauseln<br />

werden zur späteren Vermeidung von Wiederholungen der Konflikte<br />

gespeichert. Die Speicherung von allen Konfliktklauseln kann zu sehr hohem<br />

Speicherverbrauch führen. Daher verwendet Chaff eine sog. scheduled lazy clause<br />

deletion zum Löschen der Klauseln. Wie der Name andeutet, werden Klauseln<br />

nicht sofort gelöscht, sondern nur zum Löschen markiert. Erst in einem gesonderten<br />

Aufräumschritt werden die markierten Klauseln gelöscht. Eine Klausel<br />

wird zum Löschen markiert, sobald eine gewisse Anzahl von Literalen darin z. B.<br />

durch Backtracking wieder freigegeben wurden.<br />

Neustart Um aus einem Teilbaum zu entkommen, der wenig erfolgversprechend<br />

ist, kann Chaff einen Neustart des Suchalgorithmus durchführen. Dabei werden<br />

alle Variablenbelegungen gelöscht, die bisher gesammelten Konfliktklauseln sowie<br />

die Aktivierungsstatistik aber beibehalten. Dadurch wird vermieden, dass<br />

nach dem Neustart die selben Fehlentscheidungen wie beim vorherigen Durchlauf<br />

getroffen werden. Zusätzlich kann nach einem Neustart für einige Runden<br />

die Belegungsheuristik durch Zufallsmomente angereichert werden.<br />

Bewertung Die von den Autoren vorgestellten Daten deuten darauf hin, dass<br />

Chaff deutlich schneller zu einem Ergebnis gelangt als GRASP oder SATO. Für<br />

erfüllbare SAT-Instanzen ist Chaff etwa um den Faktor 10 schneller als GRASP<br />

und SATO, für unerfüllbare SAT-Instanzen etwa um den Faktor 100 schneller.<br />

B.4 MiniSat<br />

Zur Einführung in das Gebiet der Implementierung von SAT-Solvern stellen<br />

Eén und Sörensson eine minimale Implementierung eines SAT-Solvers vor [24].<br />

Hintergrund zu diesem Projekt ist die Tatsache, dass SAT-Solver i. A. schwierig<br />

zu implementieren sind und die bisherigen Implementierungen von anderen<br />

Gruppen daher nicht sehr eingänglich sind. Diese überschaubare Implementierung<br />

soll daher den Einstieg in die Implementierung von Hochleistungssolvern<br />

ermöglichen.<br />

Die MiniSat-Implementierung basiert auf früheren SAT-Solvern der Autoren<br />

(Satzoo und Satnik) und enthält die folgenden Charakteristika:<br />

– Konfliktbasiertes Backtracking<br />

– BCP mit beobachteten Literalen<br />

– Belegungsheuristik mit Aktivierungswerten

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!