Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Computergestützte Verifikation

Ähnliche Präsentationen


Präsentation zum Thema: "Computergestützte Verifikation"—  Präsentation transkript:

1 Computergestützte Verifikation

2 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 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

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

5 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

6 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

7 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

8 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

9 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

10 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

11 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

12 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 =

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

14 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

15 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

16 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.

17 REFINE # c-Nachbarn in A’ 3 2 1 0 #c-Nachbarn in B’ 0 1 2 3 8 9 8 6 6
#c-Nachbarn in B’ 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

18 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

19 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!!!

20 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

21 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

22 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)!

23 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

24 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

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

26 Ü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.

27 Ü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


Herunterladen ppt "Computergestützte Verifikation"

Ähnliche Präsentationen


Google-Anzeigen