Computergestützte Verifikation

Slides:



Advertisements
Ähnliche Präsentationen
Algorithmen für das Erfüllbarkeitsproblem SAT
Advertisements

Christian Scheideler SS 2009
Rekursion: Rekurrenz: Algorithmen rufen sich selbst (rekursiv) auf.
Falls Algorithmen sich selbst rekursiv aufrufen, so kann ihr Laufzeitverhalten bzw. ihr Speicherplatzbedarf in der Regel durch eine Rekursionsformel (recurrence,
Diskrete Mathematik I Wintersemester 2007 A. May
Algebraische Zahlen: Exaktes Rechnen mit Wurzeln
• • • • • 3.2 Die projektive Erweiterung des E³
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Graphen Ein Graph ist eine Kollektion von Knoten und Kanten. Knoten sind einfache Objekte. Sie haben Namen und können Träger von Werten, Eigenschaften.
Bounded Model Checking II
8. Formale Sprachen und Grammatiken
Syntax, Semantik, Spezifikation - Grundlagen der Informatik R. Hartwig Kapitel 4 / 1 Termalgebren Definition "Freie Algebra" Die -Algebra A = [A, F ] heißt.
Marco Barz Seminar über Algorithmen SoSe2007
Verifizieren versus Berechnen
1 Computergestützte Verifikation Model Checking für finite state systems explizit:symbolisch: 3.1: Tiefensuche 3.2: LTL-Model Checking 3.3:
Computergestützte Verifikation
1 Computergestützte Verifikation Abstraktion.
Computergestützte Verifikation
1 Computergestützte Verifikation SAT-basiertes Model Checking Ansatz: Übersetze das Model Checking Problem in ein aussagenlogisches Erfüllbarkeitsproblem.
1 Computergestützte Verifikation Symbolisches Model Checking 4.1 CTL Model Checking mit Binary Decision Diagrams (1. Systeme 2. Spezifikationen.
1 Computergestützte Verifikation Model Checking für finite state systems explizit:symbolisch: 3.1: Tiefensuche 3.2: LTL-Model Checking 3.3:
Computergestützte Verifikation
1 Computergestützte Verifikation SAT-basiertes Model Checking Ansatz: Übersetze das Model Checking Problem in ein aussagenlogisches Erfüllbarkeitsproblem.
Computergestützte Verifikation
1 Computergestützte Verifikation Real Time Systeme 5.1 Timed Automata 5.2 TCTL 5.3 Abstraktion durch Regionen 5.4 Abstraktion durch Zonen.
1 Computergestützte Verifikation Model Checking für finite state systems explizit:symbolisch: 3.1: Tiefensuche 3.2: LTL-Model Checking 3.3:
Übung 1 1. Gib ein Transitionssystem an, das dieser Beschreibung
1 Computergestützte Verifikation Model Checking für finite state systems explizit:symbolisch: 3.1: Tiefensuche 3.2: LTL-Model Checking 3.3:
Algorithmentheorie 04 –Hashing
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Prof. Dr. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Tobias Lauer.
Vorlesung Informatik 3 Einführung in die Theoretische Informatik (06 – Reduktion endlicher Automaten) Prof. Dr. Th. Ottmann.
Kapitel 5 Stetigkeit.
Symbolisches Model Checking mit Binary Decision Diagrams
PG 520 Intelligence Service – gezielte Informationen aus dem Internet
Christian Schindelhauer
Wir suchen ‘ mit m = m    ‘ c  ‘ mod 26
§14 Basis und Dimension (14.1) Definition: V sei wieder ein K-Vektorraum. Eine Menge B von Vektoren aus V heißt Basis von V, wenn B ist Erzeugendensystem.
§14 Basis und Dimension  (14.1) Definition: V sei wieder ein K-Vektorraum. Eine Menge B von Vektoren aus V heißt Basis von V, wenn B ist Erzeugendensystem.
§8 Gruppen und Körper (8.1) Definition: Eine Gruppe G ist eine Menge zusammen mit einer Verknüpfung, die jedem Paar (a,b) von Elementen aus G ein weiteres.
§17 Produkte und Quotienten von Vektorräumen
§24 Affine Koordinatensysteme
Effiziente Algorithmen
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Quantum Computing Hartmut Klauck Universität Frankfurt WS 04/
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Hartmut Klauck Universität Frankfurt WS 06/
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Hartmut Klauck Universität Frankfurt WS 06/
§15 Lineare Abbildungen (15.1) Definition: Eine Abbildung f zwischen K-Vektorräumen V und W ist linear (oder ein Vektorraumhomomorphismus), wenn für alle.
§23 Basiswechsel und allgemeine lineare Gruppe
Polynome und schnelle Fourier-Transformation
Institut für Theoretische Informatik
Formale Sprachen Grammatiken und die Chomsky-Hierarchie
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Vorlesung Mai 2000 Konstruktion des Voronoi-Diagramms II
ENDLICHE KÖRPER RSA – VERFAHREN.
Christian Schindelhauer Wintersemester 2006/07 2. Vorlesung
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
Computergestützte Verifikation
1 Computergestützte Verifikation Binary Decision Diagrams (BDD) Inhalt: Die Datenstruktur BDD Operationen auf BDD CTL Model.
Analyse der Laufzeit von Algorithmen
Syntax, Semantik, Spezifikation - Grundlagen der Informatik R. Hartwig Kapitel 3 / 1 Algebraische Hülle und Homomorphie A = [A, F ] sei  -Algebra. Eine.
Wann ist eine Funktion (über den natürlichen Zahlen) berechenbar?
Übung 1 Bestimme ein Erzeugendensystem für die
Folie 1 §8 Gruppen und Körper (8.1) Definition: Eine Gruppe G ist eine Menge zusammen mit einer Verknüpfung, die jedem Paar (a,b) von Elementen aus G ein.
§17 Produkte und Quotienten von Vektorräumen
Wiederholung Verband Ungerichtete Graphen Partielle Ordnung
 Präsentation transkript:

Computergestützte Verifikation 7.5.2002

Model Checking für finite state systems explizit: Kapitel 3 symbolisch: Kapitel 4 3.1: Tiefensuche 4.1: BDD-basiertes CTL-Model Checking 3.2: LTL-Model Checking 3.3: CTL-Model Checking 4.2: SAT-basiertes Model Checking 3.4: Fairness 4.3: Tools 3.5: Reduktion durch Symmetrie 3.6: Partial Order Reduction 3.7: Tools

3.5 Symmetrie Grundgedanke: symmetrisch strukturierte Systeme haben symmetrisches Verhalten Quellen für Symmetrie: regelmäßig strukturierte Datentypen replizierte Komponenten im Gesamtsystem Wenn Verhalten bei s bekannt und s’ symmetrisch zu s, braucht Verhalten bei s’ nicht mehr untersucht werden technisch: Äquivalenzrelation; Quotienten-Transitionssystem

Agenda 1. Formale Definition: symmetrisches Verhalten 2. Konstruktion des Quotientensystems 3. Welche Eigenschaften bleiben erhalten? 4. Erkennung von Datenstruktursymmetrie 5. Erkennung von Komponentensymmetrie

3.5.1 Symmetrisches Verhalten Basis: Transitionssystem heißt Symmetrie, wenn: - s ist Bijektion S S s –e s’ gdw. ex. e’: s(s) –e’s(s’) s  I gdw. s(s)  I STS: Menge aller Symmetrien von TS mit Induktion: s0 s1 s2 ... Pfad in einem Transitionssystem  s(s0) s(s1) s(s2) ... ebenfalls -Id ist immer Symmetrie -Wenn s Symmetrie, so auch s-1 -Wenn s1 und s2 Symmetrien, so auch s1 o s2 [STS,o] ist Gruppe

3.5.4 Symmetrie in Datentypen Fall 1: Skalare Datentypen Menge D von Werten nur = ,  in Guards := (Zuweisung) als Indexmenge von (einfachen) Arrays anderer Datentypen Schleifen der Form FOR ALL x  D DO ... choose(x) keine Konstanten Seien x1 , ... , xn alle Variablen eines skalaren Datentyps D, b eine Belegung dieser Variablen mit Werten, und p eine Permutation auf D. Setzen p zu einer Symmetrie s fort

Graphautomorphismen Eine Permutation s: V  V heißt Graphautomorphismus, falls für alle v,v’ aus V gilt: c(v) = c(s(v)) Wenn [v,v’]  E, so [s(v),s(v’)]  E und c([v,v’]) = c([s(v),s(v’)]) Graphautomorphismen des Kommunikationsgraphen induzieren Symmetrien eines Komponentensystems Hinter allen Symmetrieansätzen stecken Graphautomorphismen, z.B. auch hinter Datentypsymmetrie: 1 2 4 3 =  1 2 4 3 = incr

Orbits Jede Untergruppe U definiert eine Äquivalenzrelation auf G: g ~U g’ gdw. g o g’-1 U reflexiv: g o g-1 = e  U symmetrisch: Sei g o g’-1 = u  U g’ o g-1 = (g o g’-1)-1 = u-1  U transitiv: Sei g o g’-1 = u  U und g’ o g’’-1 = u’  U g o g’’-1 = g o (g’-1 o g’) o g’’-1 = (g o g’-1) o (g’ o g’’-1) = u o u’  U Klassen heißen Orbits Bsp: Restklassen modulo k x  y mod k gdw. k | x - y

Orbits endlicher Gruppen Alle Orbits haben gleich viele Elemente, nämlich |U| Sei g  G und Og der Orbit, in dem g liegt. Og = { g o u | u  U} (Ein Erzeugendensystem für) U + pro Orbit ein (beliebiges!) Element bilden zusammen ein Erzeugendensystem für G Erzeugung ist in einem gewissen Sinne eindeutig: für jedes g’  Og gibt es genau ein u  U mit g’ = g o u

Konzept für Erzeugendensystem U1  U2  U3  ...  Un = {e} Eindeutige Darstellung: Jedes Element g von G besitzt genau eine Darstellung der Form g = g1 o g2 o... o gn mit gi aus einem der von Ui in U(i-1) generierten Orbit

Zurück zu Graphautomorphismen [V,E,c]; Sei V = {v1, ..., vn} Ui = {p | p ist Graphautomorphismus und p(vj) = vj für j  i} Orbits Oik bzgl. Ui in U(i-1): {p | p ist Graphautomorphismus, p(vj) = vj für j < i, p(vi) = vk} Erzeugendensystem: für alle i  {1, .. , n} und k  {i+1, .. , n}: Wenn Oik  dann nimm genau ein Element in das Erzeugendensystem auf (für Oii immer id).  max. n(n-1)/2 Elemente

Beispiel 1 2 3 4 1 1 id 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 i-1 i-1 E = { , , ; } i j g1 g2 g3 g4 id o id = id id o g4 = g1 o id = g1 o g4 = g2 o id = g2 o g4 = g3 o id = g3 o g4 =

Zweites Beispiel 8 7 6 5 3 g = g1 o g2 o g3 4 1 2 Ebene: 1  1 ... 8 7 + 2 + 1 = 10 Erzeugende für 8 x 3 x 2 = 48 Automorphismen

Berechnung von Automorphismen - Datenstruktur “abstrakte Permutation” 7 A1 ....  An = V B1 ....  Bn = V A1 5 2 B1 9 4 A2 3 4 B2 2 6 s  C gdw. s(Ai) = Bi (für alle i) 1 8 6 9 0  7 1  3 2  9 3  5 4  8 5  0 6  6 7  4 8  1 9  2 B3 A3 3 7 5 ..... An Bn 8 1 C

Abstrakte Permutation – Bsp. V  V jede Permutation ist konsistent {v | c(v) = d1}  {v | c(v) = d1} ....... {v | c(v) = dk}  {v | c(v) = dk} alle Permutationen, die Beschriftung der Knoten respektieren {v1}  {v1} ...... {v(i-1)}  {v(i-1)} {vi}  {vk} Rest1  Rest2 Die Automorphismen, die konsistent sind, sind genau die Elemente eines Orbits bzgl. Ui in U(i-1) Berechnungsproblem: geg.: abstrakte Permutation C ges: ein Automorphismus, der mit C konsistent ist

Komplexität geg: abstrakte Permutation C ges: ein Automorphismus, der konsistent mit C ist ist äquivalent zum Graphisomorphieproblem Graphisomorphismus G1  G2 ist Automorphismus von G1  G2, der konsistent mit V1  V2, V2  V1 ist konsistenter Automorphismus ist Isomorphismus von G auf G, wobei im Urbild c(v) = i falls v in Ai, und im Bild c(v) = i falls v in Bi.

REFINE # c-Nachbarn in A’ 3 2 1 0 #c-Nachbarn in B’ 0 1 2 3 8 9 8 6 6 3 2 1 0 #c-Nachbarn in B’ 0 1 2 3 8 9 8 6 6 1 4 5 2 1 4 3 7 2 8 7 2 4 5 1 3 Jeder Automorphismus, der mit dem alten Constraint konsistent ist, ist auch mit den neuen Constraints konsistent

DEFINE 2 5 3 8 4 1 2 5 3 8 4 1 Jeder Automorphismus, der mit dem alten Constraint konsistent ist, ist mit genau einem der neuen Constraints konsistent

Automorphismenberechnung poly 4 3 1 2 8 1 6 7 8 5 a b f a e c R* D R* R* R* D D R* R* R* R* R* 8 3 2 c 8 3 2 c exp = #Ai  #Bi ist selten  meistens poly. Laufzeit!!!

Orbitproblem id id geg: s ges: canrep(s) g11 g12 g13 g14 g21 g22 g23 g31 g32 geg: s ges: canrep(s) 1. s1 := MIN{g1i-1(s), i = ...} ........ n. sn := MIN{g1i-1(s[n-1]), i = ...} 2. s2 := MIN{g2i-1(s1), i = ...} 3. s3 := MIN{g3i-1(s2), i = ...} canrep(s) := sn

Beispiel 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 E = { , , ; } g12 g13 g14 g22 1 2 3 4 s x = 1 x = 2 x = 3 1 2 3 4 id-1(s) = id(s) = x = 1 x = 2 x = 3 -1(s) = 1 2 3 4 x = 3 x = 2 x = 1 (s) = 1 2 3 4 x = 2 x = 1 x = 3 -1(s) = (s) = 1 2 3 4 x = 1 x = 2 x = 3 -1(s) = (s) =  s1

Beispiel 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 E = { , , ; } g12 g13 g14 g22 x = 3 x = 2 1 2 3 4 s id-1(s1) = id(s1) = 1 2 3 4 x = 1 x = 2 x = 3  Resultat x = 1 x = 1 x = 1 1 2 3 4 x = 3 11 2 3 4 x = 1 x = 3 x = 2 -1(s) = (s) = s1 x = 2 x = 1 Resultat  canrep(s) = (s) = 11 2 3 4 x = 1 x = 3 x = 2 Globales Min führt nicht immer über min. Zwischenresultate (si)!

Lösung des Orbit-Problems exakte Berechnung von canrep – äquivalent zu Graphisomorphie b) ganz andere Lösungen des Orbit-Problems sind bekannt: eins funktioniert gut nur für schmale Symmetriegruppen eins funktioniert gut nur für dichte Symmetriegruppen c) approximative Berechnung nach dem beschriebenen Verfahren – polynomiell, aber zus. Speicherplatz nötig .... Vorteile der approximativen Lösung überwiegen

Zusammenfassung Symmetrie Symmetrien können in speziellen Datentypen oder als Automorphismen geeigneter Graphen gefunden werden Datentypsymmetrie: - nur einige spezielle Symmetriegruppen, + Erkennung der Symmetrien trivial + Orbit-Problem effizient lösbar Automorphismen: + viele Symmetriegruppen ( mehr Reduktion) - Erkennung der Symmetrien aufwendig, obwohl meist doch polynomiell - Orbit-Problem langsam oder approximativ

Übung 1 Bestimme ein Erzeugendensystem für die Automorphismengruppe des folgenden Graphen: 6 4 5 3 1 2

Übung 2 Wieviele Elemente hat das in der Vorlesung studierte Erzeugendensystem eines gerichteten Ringes mit n Knoten, z.B. ungerichteten Ringes mit n Knoten, z.B.

Übung 3 Finde einen (nicht notwendigerweise zusammen- hängenden) Graph mit 6 Knoten 1, ... ,6, dessen Automorphismengruppe folgende Eigenschaften hat: 1. Die Automorphismengruppe hat 18 Elemente 2. Die Untergruppe U1 derjenigen Automorphismen, die Knoten 1 auf sich selbst abbilden, hat 3 Elemente 3. Die Untergruppe U2 derjenigen Automorphismen, die Knoten 1 und 2 jeweils auf sich selbst abbilden, enthält nur die Identität