Verifikation reaktiver Systeme - Universität Kaiserslautern
Verifikation reaktiver Systeme - Universität Kaiserslautern
Verifikation reaktiver Systeme - Universität Kaiserslautern
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