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