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.

102<br />

als Hilfsmittel auf ATPG-Probleme übertragen. ATPG-Implikationsgraphen erlauben<br />

die Bildung von Konfliktschaltungen, die eine Analogie zu Konfliktklauseln<br />

bei SAT-Implikationsgraphen bilden. Die Konfliktschaltungen können zum<br />

einen in das Gatternetzwerk aufgenommen werden (Lernen), zum anderen auch<br />

Grundlage für die Belegung der Leitung sein.<br />

Im Appendix werden Begriffe aus der Komplexitätstheorie, bekannte SAT-<br />

Solver und die grundlegenden Regeln des Davis-Putnam-Verfahrens vorgestellt.<br />

2 SAT – Das Erfüllbarkeitsproblem<br />

Das SAT-Problem (engl. SATisfiability Problem) beschreibt die Erfüllung einer<br />

aussagenlogischen Gleichung. Das Problem ist NP-vollständig (siehe dazu Abschnitt<br />

A). Es war das erste Problem, dessen NP-Vollständigkeit (1971 von Cook<br />

[2]) bewiesen wurde.<br />

Anwendungsbereiche Die Anwendungsbereiche des SAT-Problems gliedern sich<br />

in zwei Gebiete. Zum einen wird es in der klassischen künstlichen Intelligenz für<br />

wissensbasierte <strong>Systeme</strong> und zur Beweisführung und -findung verwendet. Zum<br />

anderen wird es im Bereich der Electronic Design Automation (EDA) im Entwurf<br />

und beim Testen (siehe Abschnitt 3) angewandt.<br />

Formalisierung Eine gegebene aussagenlogische Gleichung ϕ besteht aus n Variablen<br />

x 1 ,...,x n , die mit Operationen verknüpft werden. Jeder der Variable<br />

kann einen Wert annehmen, im einfachsten Fall 0 (falsch) oder 1 (wahr), wovon<br />

im Folgenden stets ausgegenangen wird. Als Operationen stehen die Negation,<br />

Konjunktion und Disjunktion zur Verfügung.<br />

Mansprichtvonderkonjunktiven Normalform (KNF), wenn eine Gleichung<br />

ϕ aus m Klauseln über n Variablen x 1 ,...,x n besteht. Eine Klausel setzt sich zusammen<br />

aus einer Menge von Literalen, die disjunktiv (Operatorzeichen + bzw.<br />

∨) verbunden werden. Diese Literale sind Variablen in ihrer positiven (x i )bzw.<br />

negativen (¬x i )Form 1 . Die Klauseln werden untereinander konjunktiv (Operatorzeichen<br />

· bzw. ∧) verknüpft.<br />

Klausel<br />

{ }} {<br />

Literal<br />

{}}{<br />

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

}{{} 2 + x 3 ) (1)<br />

Literal<br />

Gesucht ist eine Belegung A = (a 1 ,...,a n ) ∈ {0, 1} n für die Variablen<br />

x 1 ,...,x n , sodass alle Klauseln erfüllt werden. Kann keine Belegung gefunden<br />

werden, ist die Gleichung ϕ nicht erfüllbar.<br />

Die Gleichung ϕ kann als Funktion f(x 1 ,...,x n ) dargestellt werden. Bei einer<br />

gültigen Belegung liefert die Funktion den Wert 1 zurück, andernfalls den Wert<br />

0.<br />

1 Alternative Schreibweisen stellen die Negation mit einem Querstrich über der Variablen<br />

(x i) oder mit einem Apostroph (x ′ i)dar.

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!