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.

120<br />

Nicht-chronologischer Rücksprung Eine Erweiterung zum einfachen Rücksprung<br />

stellt der nicht-chronologische Rücksprung dar. Als Sprungziel wird die<br />

Entscheidungsvariable aus der Konfliktklausel gewählt, die auf der höchsten Entscheidungsebene<br />

vor der aktuellen Ebene belegt wurde. Sind am Rücksprungknoten<br />

bereits beide Alternativen fehlgeschlagen, wird zur nächst kleineren Entscheidungebene,<br />

die den Konflikt mitverursacht hat, gesprungen. Eine Invertierung<br />

ist möglich, falls mindestens ein UIP der aktuellen Entscheidungsebene auf der<br />

Ursachenseite stand. Die Konfliktklausel wird in diesem Fall auch bestimmende<br />

Klausel (Asserting clause) genannt. In [17] wird von conflict-directed backtracking<br />

(konfliktbezogenem Rücksprung) gesprochen, da der Konflikt das Rücksprungziel<br />

bestimmt.<br />

Für das nachfolgende Beispiel ist der Baum in Abbildung 12 skizziert. Gegeben<br />

sind folgende Belegung A für die Formel ϕ:<br />

A = {(x 4 =0@3:NIL), (x 6 =0@4:NIL)}<br />

ϕ =(x 1 + x 3 ) · (x 1 + ¬x 3 + x 4 ) · (¬x 1 + x 5 + x 6 ) · (¬x 1 + ¬x 5 )<br />

In der Entscheidungsebene 9 wird der Entscheidungsvariablen x 1 der Wert<br />

0zugewiesen(x 1 =0@9:NIL). Daraus ergebt sich implizit x 3 =1@9:(x 1 + x 3 ).<br />

Das führt in der Klausel ω 2 =(x 1 + ¬x 3 + x 4 ) zum Konflikt. Da die konfliktverursachende<br />

Entscheidung x 1 = 0 auf der aktuellen Entscheidungsebene getroffen<br />

wurde, kann leicht eine alternative Belegung gewählt werden. Mit x 1 =1folgt<br />

x 5 =1@9:(¬x 1 + x 5 + x 6 ), was nun aber in der Klausel ω 4 =(¬x 1 + ¬x 5 )zum<br />

Konflikt führt.<br />

Ein einfacher Backtracking-Algorithmus würde an dieser Stelle auf die Entscheidungsebene<br />

8 zurückspringen und dort nach einigem Suchen auf den gleichen<br />

Fehler treffen. Mit dem nicht-chronologischen Backtracking kann direkt auf<br />

die Entscheidungsebene 4 gesprungen werden, an der x 6 =0gewählt wurde.<br />

Durch die Wahl der Alternative x 6 = 1 kann der gleiche Fehler wie oben nicht<br />

mehr auftreten.<br />

Nicht-chronologisches Backtracking wurde erstmals in GRASP (siehe Abschnitt<br />

B.1) verwendet.<br />

6 Implikationsgraphen für ATPG<br />

Im Nachfolgenden wird dargestellt, wie die von SAT-Problemen bekannten Implikationsgraphen<br />

(Abschnitt 5.1) auf Gatternetze übertragen werden können.<br />

6.1 Motivation<br />

Implikationsgraphen sind eine Ausdrucksmöglichkeit, unterschiedliche Verfahren<br />

zur Konfliktanalyse bei SAT zu beschreiben. Wie in Abschnitt 5.2 vorgestellt,<br />

wird ein SAT-Solver im wesentlichen durch die Art des Schnitts charakterisiert,<br />

die er anwendet, um den Implikationsgraphen zu bipartitionieren.<br />

Um die Mächtigkeit von SAT-Implikationsgraphen für ATPG-Probleme zu<br />

verwenden, muss im naiven Ansatz das Gatternetz erst in eine SAT-Gleichung

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!