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

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

114<br />

Anstatt eines kompletten Neustarts kann der Algorithmus auch an eine beliebige<br />

Stelle im Suchbaum zurückspringen.<br />

5 Konfliktanalyse<br />

Konfliktanalyse bedeutet, aus Konflikten zu lernen, die während des Lösens der<br />

SAT-Instanz auftreten. Wird ein auf dem Davis-Putnam-Logeman-Loveland-<br />

Algorithmus (siehe Abschnitt 2.1) basierender SAT-Solver eingesetzt, werden<br />

Konflikte behandelt, die während der Implikationsverfolgung (BCP, siehe Abschnitt<br />

4.3) auftreten. Die Wahl und Ausprägung der Konfliktanalyse und die<br />

daraus abgeleiteten Lernstrategien haben entscheidenden Einfluss auf die Berechnungszeit<br />

des SAT-Solvers.<br />

Das konfliktbasierte Lernen (conflict based learning) ermöglicht es, durch<br />

Hinzufügen von neuen Klauseln beispielsweise bestimmte Konflikte zukünftig zu<br />

verhindern. Damit können Teile des Suchraums ausgeblendet (prune) werden,<br />

da gelernt wurde, dass sich darin keine gültigen Lösungen befinden.<br />

Eine Einführung zu diesem Thema findet sich in [15,16].<br />

5.1 Implikationsgraph<br />

Die in Abschnitt 4.1 eingeführten Darstellungen von Entscheidungsvariablen und<br />

-ebenen, Antezedenten und Implikationen können in einem Graphen zusammengefasst<br />

werden. Variablenzuweisungen ν(x) (Entscheidungen oder Implikationen)<br />

werden als Knoten dargestellt. Entscheidungsknoten stellen die Entscheidungen<br />

einer Ebene dar und besitzen keine eingehenden Kanten bzw. Vorgänger.<br />

Die Vorgänger eines Knotens mit dem Literal x i sind die Variablenbelegungen,<br />

die im Antezedenten δ(x i ) vorkommen und für die Knotenbelegung verantwortlich<br />

sind. Der Graph kann aus der Menge aller Zuweisungen der Form<br />

x i = ν(x i )@δ(x i ):α(x i ) berechnet werden. Diese Menge wurde durch die Durchführung<br />

von BCP gewonnen.<br />

Zu jedem Knoten ist somit die Variable und die Ebene der Zuweisung bekannt.<br />

Ein Beispiel ist in Abbildung 9 für die folgende Gleichung, wobei x 4 , x 12<br />

und x 16 als Entscheidungsknoten dienen.<br />

ϕ = ω 1 · ω 2 · ω 3 · ω 4 · ω 5 · ω 6 · ω 7 · ω 8<br />

ω 1 = x 2 + x 12 + ¬x 16<br />

ω 2 = ¬x 2 + ¬x 4 + ¬x 8 + ¬x 10<br />

ω 3 = x 8 + ¬x 16<br />

ω 4 = x 1 + x 10<br />

ω 5 = x 3 + x 10<br />

ω 6 = ¬x 5 + x 10<br />

ω 7 = ¬x 1 + ¬x 3 + x 5 + x 18<br />

ω 8 = ¬x 3 + ¬x 18

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!