Model Checking mit Büchi Automaten

Größe: px
Ab Seite anzeigen:

Download "Model Checking mit Büchi Automaten"

Transkript

1 Ingo Weigelt Softwaretechnik

2 Übersicht 1 Automaten über unendlichen Wörtern ω-automaten Büchi-Automaten 2 Model Checking mit Büchi Automaten Konstruktion von A Konstruktion von A S Leerheitstest 3 On-the-Fly Model Checking

3 ω-automaten Automaten über unendlichen Wörtern ω-automaten ω-automaten sind endliche Automaten, die unendlich lange Wörter akzeptieren. Unendliche Wörter repräsentieren nicht-terminierende Abläufe eines Systems. Endzustände werden durch andere Akzeptanzbedingungen ersezt. Beispiel: Büchi-Automaten.

4 Büchi-Automaten: Automaten über unendlichen Wörtern Büchi-Automaten Formelle Definition: Ein Büchi Automat ist ein 5-Tupel (Σ,Q,,Q 0,F) mit: Σ : endliches Alphabet Q : endliche Menge von Zuständen Q Σ Q : Transitionsrelation Q 0 : Startzustände F Q : Akteptierende Zustände Akzeptanzverhalten: Sei inf (ρ) die Menge der Zustände, die beim Lauf ρ unendlich oft besucht werden. Dann ist ρ akzeptierend gdw. inf (ρ) F.

5 Automaten über unendlichen Wörtern Büchi-Automaten verallgemeinerte Büchi-Automaten verallgemeinerter Büchi Automat Ein verallgemeinerter Büchi Automat ist ein Büchi-Automat bei dem F aus Mengen von Mengen von Zuständen besteht. Ein Lauf ρ ist akzeptierend gdw. inf (ρ) P i für alle P i F. Zu jedem verallgemeinerten Büchi-Automaten B existiert ein Büchi-Automat B mit L(B) = L(B ).

6 Beispiel Automaten über unendlichen Wörtern Büchi-Automaten Büchi Automat A: mit L(A) = (b a) ω a b q 0 q 1 a b

7 Bemerkungen Automaten über unendlichen Wörtern Büchi-Automaten Die von Büchi-Automaten erkannte Sprache heisst ω-reguläre Sprache. Nicht jede ω-reguläre Sprache wird auch von einem deterministischen Büchi-Automaten erkannt. z.b. L = {α {a,b,c} α enthält nur endlich viele b s} D.h. nicht jeder nicht-deterministische Büchi-Automat kann in einen deterministischen Büchi-Automaten umgewandelt werden.

8 Automaten über unendlichen Wörtern Abschlusseigenschaften Büchi-Automaten deterministische Büchi-Automaten sind abgeschlossen unter Vereinigung und Schnitt. nichtdeterministische Büchi-Automaten sind zusätzlich abgeschlossen unter Komplement.

9 Leerheitsproblem Automaten über unendlichen Wörtern Büchi-Automaten Entscheidbarkeit des Leerheitsproblems: Es ist entscheidbar, ob ein Büchi-Automat die leere Sprache akzeptiert. Bestimme die SCCs des Automaten. Die akzeptierte Sprache ist nicht Leer genau dann, wenn es eine SCC gibt, die von einem Startzustand erreichbar ist und einen akzeptierenden Zustand enthält.

10 SCC - Strongly Connected Components Für die Labelfunktion EG ψ müssen zuerst alle SCCs bestimmt werden Wiederholung: Eine starke Zusammenhangskomponente ist ein Teilgraph in dem jeder Knoten von jedem anderen Knoten über einen Pfad innerhalb des Graphen erreichbar ist. Beispiel:

11 Model Checking mit Büchi Automaten Model Checking Problem: Gegeben: Kripke Struktur M und Spezifikation S Gesucht: Gilt M = S? Wenn nicht ist ein Gegenbeispiel gesucht Idee: konstruiere Automat A zu M konstruiere Automat S der L(S) erkennt Das Model A erfüllt die Spezifikation S gdw. L(A) L(S) oder L(A) L(S) =

12 Model Checking mit Büchi Automaten Model Checking Algorithmus: konstruiere Automat A zu M konstruiere Automat S der L(S) erkennt Bilde den Durchschnitt von A und S Prüfe, ob der Automat A S leer ist. Falls A S : Gegenbeispiel ausgeben

13 Konstruktion von A Konstruktion von A Zustände der Kripke Struktur sind Zustände des Automaten Label der Zustände werden zu Label der Transitionen daher neuer Startzustand i alle Zustände sind akzeptierend {p, q} i {p} {p, q} s 0 s 1 {p} s 0 s 1 {p, q} {p} s 2 {q} {p, q} s 2

14 Model Checking Algorithmus: konstruiere Automat A zu M konstruiere Automat S der L(S) erkennt Bilde den Durchschnitt von A und S Prüfe, ob der Automat A S leer ist. Falls A S : Gegenbeispiel ausgeben

15 Gesucht ist ein Büchi Automat S der L(S) erkennt. S kann direkt angegeben werden (SPIN) Es gibt ω-automaten, bei denen das Komplement leicht berechnet werden kann. S wird aus einer Sprache wie LTL abgeleitet: S = ϕ bilde S zu ϕ

16 Algorithmus: Eingabe: Eigentschaft ϕ als LTL-Formel in negierter Normalform D.h. nur Operatoren U,R, und erlaubt Fψ true U ψ Gψ false R ψ usw. und Negation nur vor Propositionen: (µuη) = ( µ)r( η) (µrη) = ( µ)u( η) Xµ = X µ Ausgabe: verallgemeinerter Büchi Automat B zu ϕ

17 Datenstruktur des Algorithmus: node =[, incoming,,, ] : Id des Knotens incoming: Liste von s von Knoten mit Kante zu diesem Knoten,, : Listen von Formeln (Teilformeln von ϕ) die Teilformeln in wurden bereits berechnet die Teilformeln in werden im aktuellen Schritt berechnet die Teilformeln in müssen danach noch berechnet werden

18 Initialisierung: node 0 := [ id(), incoming {init},, {ϕ}, ]; Nodes := expand(node 0, );

19 Die Funktion expand() ersetzt den Knoten q mit ϕ (q) rekursiv durch neue Knoten q, so dass (q ) Teilformeln von ϕ enthält: ϕ = µ ψ q wird ersetzt durch zwei neue Knoten q 1, q 2 : (q) := (q) \ {ϕ} q 1 := [ id(), incoming incoming(q), (q) {ϕ}, (q) {µ}, (q)] q 2 := [ id(), incoming incoming(q), (q) {ϕ}, (q) {ψ}, (q)]

20 ϕ = µ ψ q wird ersetzt durch einen neuen Knoten q : (q) := (q) \ {ϕ} q := [ id(), incoming incoming(q), (q) {ϕ}, (q) {µ,ψ}, (q)]

21 ϕ = µuψ ϕ (µ X(µUψ)) ψ q wird ersetzt durch zwei neue Knoten q 1, q 2 : (q) := (q) \ {ϕ} q 1 := [ id(), incoming incoming(q), (q) {ϕ}, (q) {µ}, (q) {µuψ}] q 2 := [ id(), incoming incoming(q), (q) {ϕ}, (q) {ψ}, (q)]

22 ϕ = µrψ ϕ ψ (µ X(µRψ)) (ψ µ) (ψ X(µRψ)) q wird ersetzt durch zwei neue Knoten q 1, q 2 : (q) := (q) \ {ϕ} q 1 := [ id(), incoming incoming(q), (q) {ϕ}, (q) {ψ,µ}, (q)] q 2 := [ id(), incoming incoming(q), (q) {ϕ}, (q) {ψ}, (q) {µrψ}]

23 ϕ = Xµ q wird ersetzt durch einen neuen Knoten q : (q) := (q) \ {ϕ} q := [ id(), incoming incoming(q), (q) {ϕ}, (q), (q) {µ}]

24 Falls ϕ (negierte) Proposition oder true ist: q wird ersetzt durch einen neuen Knoten q : (q) := (q) \ {ϕ} q := [ id(), incoming {()}, (q) {ϕ}, (q), (q)]

25 Algorithmus: expand (q, Nodes) { if (q) sei η (q); if η (q) /* η wurde schon berechnet */ (q) := (q) \ {η}; expand(q, Nodes); if η (q) η = False /* Widerspruch */ return Nodes; else erzeuge Knoten q bzw. q 1 und q 2 wie beschrieben; expand(q,nodes); bzw. expand(q 2,expand(q 1,Nodes));

26 Algorithmus: } else /* (q) = */ if r Nodes: (r) = (q) (r) = (q) { incoming(r) := incoming(r) incoming(q); return Nodes; else /* neuen Knoten einfügen */ expand([ id(), incoming {(q)},, (q), ], Nodes {q});

27 Beispiel: ϕ = aub : n1 : aub : n2 : {a} : n3 : {b}

28 Beispiel: ϕ = aub : n2 : {a} : n3 : {b} : n4 : {aub, a}

29 Beispiel: ϕ = aub : n4 : {aub, a} : n3 : {b} : n5

30 Beispiel: ϕ = aub : n4 : {aub, a} : n3 : {b} : n5 : n6 : {a} : n7 : {b}

31 Beispiel: ϕ = aub : n4 : {aub, a} : n3 : {b} : n6 : {a} : n7 : {b}

32 Beispiel: ϕ = aub : n4 : {aub, a} : n3 : {b} : n6 : {a} : n7 : {b} : n8 : {aub, a}

33 Beispiel: ϕ = aub : n4 : {aub, a} : n3 : {b} : n8 : {aub, a} : n7 : {b}

34 Beispiel: ϕ = aub : n4 : {aub, a} : n3 : {b} : n8 : {aub, a} : n7 : {b}

35 Beispiel: ϕ = aub : n4 : {aub, a} : n3 : {b} : n7 : {b}

36 Beispiel: ϕ = aub : n4 : {aub, a} : n3 : {b} : n7 : {b} : n9 : {aub, b}

37 Beispiel: ϕ = aub : n4 : {aub, a} : n3 : {b} : n9 : {aub, b} : n10

38 Beispiel: ϕ = aub : n4 : {aub, a} : n3 : {b} : n9 : {aub, b} : n10

39 Beispiel: ϕ = aub : n4 : {aub, a} : n3 : {b} : n9 : {aub, b} : n11 : {aub, b} : n10

40 Beispiel: ϕ = aub : n4 : {aub, a} : n11 : {aub, b} : n9 : {aub, b} : n10

41 Beispiel: ϕ = aub : n4 : {aub, a} : n11 : {aub, b} : n9 : {aub, b} : n10

42 Beispiel: ϕ = aub : n4 : {aub, a} : n9 : {aub, b} Rekursion beendet : n10

43 Konstruktion des verallgemeinerten Büchi Automaten: Σ = Menge der Propositionen Q = Menge der Knoten in Nodes Q 0 = init = Menge aller Tripel (r,α,r ) mit: r incoming(r ) und α erfüllt alle nicht-/negierten Propositionen in (r ) Akzeptanz: Für jede Teilformel der Form µuψ gibt es eine Akzeptanzmenge E i mit: E i = {r ψ (r) oder µuψ / (r)}

44 Beispiel: ϕ = aub Nodes: : n4 : {aub, a} B(Nodes): a init b : n9 : {aub, b} a n4 b n9 true

45 Konstruktion von A S B 1 B 2 Modelchecking Algorithmus: konstruiere Automat A zu gegebener Kripke Struktur konstruiere Automat S der L(S) erkennt Bilde den Durchschnitt von A und S Prüfe, ob der Automat A S leer ist. Falls A S : Gegenbeispiel ausgeben

46 Konstruktion von A S B 1 B 2 Schnitt zweier Büchi Automaten: B 1 = Σ,Q 1, 1,Q 0 1,F 1, B 2 = Σ,Q 2, 2,Q 0 2,F 2 B 1 B 2 akzeptiert gdw. akzeptierende Zustände von B 1 und B 2 unendlich oft durchlaufen werden. B 1 B 2 = Σ, Q 1 Q 2 {0,1,2},, Q 0 1 Q0 2 {0}, Q 1 Q 2 {2} ( r i,q j,x,a, r m,q n,y ) gdw. (r i,a,r m ) 1 und (q j,a,q n ) 2 Für x und y gilt: x = 0 r m F 1 y = 1 x = 1 q m F 2 y = 2 x = 2 y = 0 sonst y = x

47 B 1 B 2 - Beispiel Model Checking mit Büchi Automaten Konstruktion von A S B 1 : a b r 1 r 2 a b B 2 : b a q 1 q 2 b a B 1 B 2 : r 1,q 1,0 a b r 1,q 2,1 a r 2,q 1,0 a b b a b r 2,q 1,2 a r 1,q 2,0 b

48 Leerheitstest Model Checking mit Büchi Automaten Leerheitstest Model Checking Algorithmus: konstruiere Automat A zu M konstruiere Automat S der L(S) erkennt Bilde den Durchschnitt von A und S Prüfe, ob der Automat A S leer ist. Falls A S : Gegenbeispiel ausgeben

49 Leerheitstest Model Checking mit Büchi Automaten Leerheitstest Idee des Algorithmus: Sei ρ ein akzeptierender Lauf über B dann enthält ρ unendlich viele Akzeptanzzustände. Da die Menge der Zustände endlich ist, muss ρ von der Form ρ 1 ρ 2 ω sein. Der Algorithmus sucht einen Pfad ρ 1 zu einem akzeptierenden Zustand q e und von da einen Pfad ρ 2 zurück zu einem Knoten in ρ 1. Der Pfad ρ 1 ρ 2 besitzt dann einen zyklischen Suffix über q a und ist das gewünschte Gegenbeispiel.

50 Leerheitstest Model Checking mit Büchi Automaten Leerheitstest double depth-first-search Algorithmus: dfs1(q) { hash(q); for all Nachfolger q von q do if q / hashtable dfs1(q ); if accept(q) dfs2(q); } dfs2(q) { flag(q); for all Nachfolger q von q do if q dfs1 stack terminate(true); else if q not flagged dfs2(q ); } q 0 q 1 q e q e q 3 Zyklus gefunden

51 Leerheitstest Model Checking mit Büchi Automaten Leerheitstest double DFS Algorithmus: emptiness() { for all q 0 Q 0 do dfs1(q 0 ); terminate(false); } Der Algorithmus terminiert mit TRUE wenn ein akzeptierender Pfad gefunden wurde. Der Stack von dfs1 enthält den Pfad ρ 1. Der Stack von dfs2 enthält den Pfad ρ 2. Worst-Case-Laufzeit: O( Q + )

52 Leerheitstest Model Checking mit Büchi Automaten Zusammenfassung: Konstruktion von A: nahezu kein Aufwand, falls die Kripke Struktur schon berechnet ist : exponentiell zu ϕ Konstruktion von A und S: O( A S ) Leerheitstest: O( Q + ) im Worst-Case

53 On-the-Fly Model Checking On-the-Fly Model Checking Idee: Zuerst S erstellen Zustände von S A so berechnen, wie sie der double-dfs-algorithmus benötigt. Dabei werden immer nur die nötigen Zustände aus A berechnet. Vorteil: viele Zustände aus A werden nie erzeugt. während der Schnittberechnung werden Zyklen erkannt.

54 Verfahren: On-the-Fly Model Checking Sei s der aktuelle Zustand, in dem sich der Suchalgorithmus befindet s = r,q r Q A ;q Q S Transition ex. gdw. L(r, r ) = L(q, q ) Nachfolger von q sind schon berechnet s = r,q r wird on-the-fly-berechnet Falls L(r,r ) L(q,q ) wird abgebrochen, und die Nachfolger von r werden nicht berechnet. Wird vor dem Backtracking zu s ein Zyklus gefunden wird abgebrochen, und die Nachfolger von s werden nicht berechnet.

Automaten, Spiele und Logik

Automaten, Spiele und Logik Automaten, Spiele und Logik Woche 13 11. Juli 2014 Inhalt der heutigen Vorlesung Linearzeit Temporale Logik (LTL) Alternierende Büchi Automaten Nicht-Determinisierung (Miyano-Ayashi) Beschriftete Transitionssysteme

Mehr

Kapitel 2: Algorithmen für CTL und LTL

Kapitel 2: Algorithmen für CTL und LTL Kapitel 2: Algorithmen ür CTL und LTL Für eine gegebene Kripke-Struktur M = (S, R, L) und eine gegebene temporal-logische Formel ist zu berechnen: {s S M, s = } M ist hier als Graph explizit gegeben. Algorithmus

Mehr

Software Engineering Ergänzung zur Vorlesung

Software Engineering Ergänzung zur Vorlesung Ergänzung zur Vorlesung Prof. Dr. Markus Müller-Olm WS 2008 2009 2.6.1 Endliche und reguläre Sprachen Endliche und reguläre Sprache: fundamental in vielen Bereichen der Informatik: theorie Formale Sprachen

Mehr

Theorie der Informatik

Theorie der Informatik Theorie der Informatik 8. Reguläre Sprachen II Malte Helmert Gabriele Röger Universität Basel 24. März 24 Pumping Lemma Pumping Lemma: Motivation Man kann zeigen, dass eine Sprache regulär ist, indem man

Mehr

FORMALE SYSTEME. 10. Vorlesung: Grenzen regulärer Sprachen / Probleme für Automaten. TU Dresden, 14. November 2016.

FORMALE SYSTEME. 10. Vorlesung: Grenzen regulärer Sprachen / Probleme für Automaten. TU Dresden, 14. November 2016. FORMALE SYSTEME 10. Vorlesung: Grenzen regulärer Sprachen / Probleme für Automaten Markus Krötzsch TU Dresden, 14. November 2016 Rückblick Markus Krötzsch, 14. November 2016 Formale Systeme Folie 2 von

Mehr

Theoretische Grundlagen der Informatik. Vorlesung am 02. November INSTITUT FÜR THEORETISCHE INFORMATIK

Theoretische Grundlagen der Informatik. Vorlesung am 02. November INSTITUT FÜR THEORETISCHE INFORMATIK Theoretische Grundlagen der Informatik Vorlesung am 2. November 27 2..27 Dorothea Wagner - Theoretische Grundlagen der Informatik KIT Die Forschungsuniversität in der Vorlesung am 2. November 27 Helmholtz-Gemeinschaft

Mehr

4) Automaten auf unendlichen Wörtern

4) Automaten auf unendlichen Wörtern 4) Automaten auf unendlichen Wörtern GPS: Automaten auf unendlichen Wörtern Büchi-Automaten 169 Unendliche Wörter zur Erinnerung: Linearzeit-Eigenschaft = Menge unendlicher Traces bisher kein Spezifikationsformalismus

Mehr

MODEL CHECKING 2 - AUTOMATEN

MODEL CHECKING 2 - AUTOMATEN MODEL CHECKING 2 - AUTOMATEN Sommersemester 2009 Dr. Carsten Sinz, Universität Karlsruhe Model Checking 2 System (Hardware/ Software) Model Checking, Formalisierung, Beweis Übersetzung in Logik Gewünschte

Mehr

Theorie der Informatik

Theorie der Informatik Theorie der Informatik 11. Kontextsensitive und Typ-0-Sprachen Malte Helmert Gabriele Röger Universität Basel 7. April 2014 Kontextsensitive und allgemeine Grammatiken Wiederholung: (kontextsensitive)

Mehr

Automaten und formale Sprachen Klausurvorbereitung

Automaten und formale Sprachen Klausurvorbereitung Automaten und formale Sprachen Klausurvorbereitung Rami Swailem Mathematik Naturwissenschaften und Informatik FH-Gießen-Friedberg Inhaltsverzeichnis 1 Definitionen 2 2 Altklausur Jäger 2006 8 1 1 Definitionen

Mehr

11.1 Kontextsensitive und allgemeine Grammatiken

11.1 Kontextsensitive und allgemeine Grammatiken Theorie der Informatik 7. April 2014 11. Kontextsensitive und Typ-0-Sprachen Theorie der Informatik 11. Kontextsensitive und Typ-0-Sprachen 11.1 Kontextsensitive und allgemeine Grammatiken Malte Helmert

Mehr

Reguläre Sprachen. R. Stiebe: Theoretische Informatik für ING-IF und Lehrer,

Reguläre Sprachen. R. Stiebe: Theoretische Informatik für ING-IF und Lehrer, Reguläre Sprachen Reguläre Sprachen (Typ-3-Sprachen) haben große Bedeutung in Textverarbeitung und Programmierung (z.b. lexikalische Analyse) besitzen für viele Entscheidungsprobleme effiziente Algorithmen

Mehr

Abschlusseigenschaften. Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester Abschlusseigenschaften

Abschlusseigenschaften. Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester Abschlusseigenschaften Automaten und Formale Sprachen alias Theoretische Informatik Sommersemester 2012 Dr. Sander Bruggink Übungsleitung: Jan Stückrath Abgeschlossenheit (Definition) Gegeben sei eine Menge M und ein n-ärer

Mehr

12. Woche: Verifizierer, nicht-deterministische Turingmaschine, Klasse NP

12. Woche: Verifizierer, nicht-deterministische Turingmaschine, Klasse NP 12 Woche: Verifizierer, nicht-deterministische Turingmaschine, Klasse NP 12 Woche: Verifizierer, nicht-deterministische Turingmaschine, NP 254/ 333 Polynomielle Verifizierer und NP Ḋefinition Polynomieller

Mehr

Algorithmen mit konstantem Platzbedarf: Die Klasse REG

Algorithmen mit konstantem Platzbedarf: Die Klasse REG Algorithmen mit konstantem Platzbedarf: Die Klasse REG Sommerakademie Rot an der Rot AG 1 Wieviel Platz brauchen Algorithmen wirklich? Daniel Alm Institut für Numerische Simulation Universität Bonn August

Mehr

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik Vorlesung am 18. Januar 2018 INSTITUT FÜR THEORETISCHE 0 18.01.2018 Dorothea Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE KIT Die Forschungsuniversität

Mehr

Die mathematische Seite

Die mathematische Seite Kellerautomaten In der ersten Vorlesung haben wir den endlichen Automaten kennengelernt. Mit diesem werden wir uns in der zweiten Vorlesung noch etwas eingängiger beschäftigen und bspw. Ansätze zur Konstruktion

Mehr

5.2 Endliche Automaten

5.2 Endliche Automaten 114 5.2 Endliche Automaten Endliche Automaten sind Turingmaschinen, die nur endlichen Speicher besitzen. Wie wir bereits im Zusammenhang mit Turingmaschinen gesehen haben, kann endlicher Speicher durch

Mehr

Zweizusammenhang und starker Zusammenhang

Zweizusammenhang und starker Zusammenhang .. Zeizusammenhang und starker Zusammenhang Carsten Gutenger Vorlesung Algorithmen und Datenstrukturen WS /. Januar Zeizusammenhang Betrachte ein Netzerk (Graph) Z.B. Computernetzerk, Flug- oder Schienennetzerk

Mehr

Automatentheorie und Logik

Automatentheorie und Logik examen.press Automatentheorie und Logik Bearbeitet von Martin Hofmann, Martin Lange 1. Auflage 2011. Taschenbuch. x, 238 S. Paperback ISBN 978 3 642 18089 7 Format (B x L): 15,5 x 23,5 cm Gewicht: 386

Mehr

Polynomielle Verifizierer und NP

Polynomielle Verifizierer und NP Polynomielle Verifizierer und NP Definition Polynomieller Verifizierer Sei L Σ eine Sprache. Eine DTM V heißt Verifizierer für L, falls V für alle Eingaben w Σ hält und folgendes gilt: w L c Σ : V akzeptiert

Mehr

Grundlagen der Theoretischen Informatik, SoSe 2008

Grundlagen der Theoretischen Informatik, SoSe 2008 2. Aufgabenblatt zur Vorlesung Grundlagen der Theoretischen Informatik, SoSe 2008 (Dr. Frank Hoffmann) Lösung von Manuel Jain und Benjamin Bortfeldt Aufgabe 1 Einelementiges Alphabet (4 Punkte) (a) Geben

Mehr

abgeschlossen unter,,,, R,

abgeschlossen unter,,,, R, Was bisher geschah Turing-Maschinen können Sprachen L X akzeptieren entscheiden Funktionen berechnen f : X X (partiell) Menge aller Turing-akzeptierbaren Sprachen genau die Menge aller Chomsky-Typ-0-Sprachen

Mehr

Graphenalgorithmen I

Graphenalgorithmen I Graphenalgorithmen I Vortrag im Seminar Hallo Welt! für Fortgeschrittene 7. Juni 211 Graphenalgorithmen I 1/33 Motivation Problem Wie komme ich am schnellsten ins Kanapee? Problem Wie kommt ein Datenpaket

Mehr

Breitensuche BFS (Breadth First Search)

Breitensuche BFS (Breadth First Search) Breitensuche BFS (Breadth First Search) Algorithmus BREITENSUCHE EINGABE: G = (V, E) als Adjazenzliste, Startknoten s V 1 Für alle v V 1 If (v = s) then d[v] 0 else d[v] ; 2 pred[v] nil; 2 Q new Queue;

Mehr

1.8 Shift-And-Algorithmus

1.8 Shift-And-Algorithmus .8 Shift-And-Algorithmus nutzt durch Bitoperationen mögliche Parallelisierung Theoretischer Hintergrund: Nichtdeterministischer endlicher Automat Laufzeit: Θ(n), falls die Länge des Suchwortes nicht größer

Mehr

Sei Σ ein endliches Alphabet. Eine Sprache L Σ ist genau dann regulär, wenn sie von einem regulären Ausdruck beschrieben werden kann.

Sei Σ ein endliches Alphabet. Eine Sprache L Σ ist genau dann regulär, wenn sie von einem regulären Ausdruck beschrieben werden kann. Der Satz von Kleene Wir haben somit Folgendes bewiesen: Der Satz von Kleene Sei Σ ein endliches Alphabet. Eine Sprache L Σ ist genau dann regulär, wenn sie von einem regulären Ausdruck beschrieben werden

Mehr

1 Einführung. 2 Typ-0- und Typ-1-Sprachen. 3 Berechnungsmodelle. 4 Unentscheidbarkeit. 5 Unentscheidbare Probleme. 6 Komplexitätstheorie

1 Einführung. 2 Typ-0- und Typ-1-Sprachen. 3 Berechnungsmodelle. 4 Unentscheidbarkeit. 5 Unentscheidbare Probleme. 6 Komplexitätstheorie 1 Einführung 2 Typ-0- und Typ-1-Sprachen 3 Berechnungsmodelle 4 Unentscheidbarkeit 5 Unentscheidbare Probleme 6 Komplexitätstheorie 139 Unentscheidbarkeit Überblick Zunächst einmal definieren wir formal

Mehr

Turing: prinzipielle Berechenbarkeit Abschnitt 4.2. Turingmaschinen: DTM Abschnitt 4.2. DTM: Akzeptieren und Entscheiden Abschnitt 4.

Turing: prinzipielle Berechenbarkeit Abschnitt 4.2. Turingmaschinen: DTM Abschnitt 4.2. DTM: Akzeptieren und Entscheiden Abschnitt 4. Kap. 4: Berechnungsmodelle Turingmaschinen 4.2 Turing: prinzipielle Berechenbarkeit Abschnitt 4.2 Kap. 4: Berechnungsmodelle Turingmaschinen 4.2 Turingmaschinen: DTM Abschnitt 4.2 DTM = DFA + unbeschränkter

Mehr

1 Σ endliches Terminalalphabet, 2 V endliche Menge von Variablen (mit V Σ = ), 3 P (V (Σ ΣV )) {(S, ε)} endliche Menge von Regeln,

1 Σ endliches Terminalalphabet, 2 V endliche Menge von Variablen (mit V Σ = ), 3 P (V (Σ ΣV )) {(S, ε)} endliche Menge von Regeln, Theorie der Informatik 9. März 24 7. Reguläre Sprachen I Theorie der Informatik 7. Reguläre Sprachen I Malte Helmert Gabriele Röger Universität Basel 9. März 24 7. Reguläre Grammatiken 7.2 DFAs 7.3 NFAs

Mehr

2.2 Reguläre Sprachen Endliche Automaten

2.2 Reguläre Sprachen Endliche Automaten 2.2.1 Endliche Automaten E I N G A B E Lesekopf endliche Kontrolle Signal für Endzustand Ein endlicher Automat liest ein Wort zeichenweise und akzeptiert oder verwirft. endlicher Automat Sprache der akzeptierten

Mehr

Worterkennung in Texten speziell im Compilerbau 20. April Frank Heitmann 2/64

Worterkennung in Texten speziell im Compilerbau 20. April Frank Heitmann 2/64 Grenzen regulärer Sprachen? Formale Grundlagen der Informatik 1 Kapitel 4 Über reguläre Sprachen hinaus und Pumping Lemma Frank Heitmann heitmann@informatik.uni-hamburg.de Wir haben mittlerweile einiges

Mehr

1 Einführung. 2 Typ-0- und Typ-1-Sprachen. 3 Berechnungsmodelle. 4 Unentscheidbarkeit. 5 Unentscheidbare Probleme. 6 Komplexitätstheorie

1 Einführung. 2 Typ-0- und Typ-1-Sprachen. 3 Berechnungsmodelle. 4 Unentscheidbarkeit. 5 Unentscheidbare Probleme. 6 Komplexitätstheorie 1 Einführung 2 Typ-0- und Typ-1-Sprachen 3 Berechnungsmodelle 4 Unentscheidbarkeit 5 Unentscheidbare Probleme 6 Komplexitätstheorie WS 11/12 155 Überblick Zunächst einmal definieren wir formal den Begriff

Mehr

Die Klassen P und NP. Formale Grundlagen der Informatik 1 Kapitel 11. Die Klassen P und NP. Die Klasse P

Die Klassen P und NP. Formale Grundlagen der Informatik 1 Kapitel 11. Die Klassen P und NP. Die Klasse P Die Klassen Formale Grundlagen der Informatik 1 Kapitel 11 Frank Heitmann heitmann@informatik.uni-hamburg.de P := {L es gibt ein Polynom p und eine p(n)-zeitbeschränkte DTM A mit L(A) = L} = i 1 DTIME(n

Mehr

Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester 2011

Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester 2011 Automaten und Formale Sprachen alias Theoretische Informatik Sommersemester 2011 Dr. Sander Bruggink Übungsleitung: Jan Stückrath Sander Bruggink Automaten und Formale Sprachen 1 Wir beschäftigen uns ab

Mehr

Programm heute. Algorithmen und Datenstrukturen (für ET/IT) Übersicht: Graphen. Definition: Ungerichteter Graph. Definition: Ungerichteter Graph

Programm heute. Algorithmen und Datenstrukturen (für ET/IT) Übersicht: Graphen. Definition: Ungerichteter Graph. Definition: Ungerichteter Graph Programm heute Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 07 Dr. Stefanie Demirci Computer Aided Medical Procedures Technische Universität München 7 Fortgeschrittene Datenstrukturen Graphen

Mehr

1 Σ endliches Terminalalphabet, 2 V endliche Menge von Variablen (mit V Σ = ), 3 P (V (Σ ΣV )) {(S, ε)} endliche Menge von Regeln,

1 Σ endliches Terminalalphabet, 2 V endliche Menge von Variablen (mit V Σ = ), 3 P (V (Σ ΣV )) {(S, ε)} endliche Menge von Regeln, Theorie der Informatik 8. März 25 8. Reguläre Sprachen I Theorie der Informatik 8. Reguläre Sprachen I 8. Reguläre Grammatiken Malte Helmert Gabriele Röger 8.2 DFAs Universität Basel 8. März 25 8.3 NFAs

Mehr

Lösungen zur Vorlesung Berechenbarkeit und Komplexität

Lösungen zur Vorlesung Berechenbarkeit und Komplexität Lehrstuhl für Informatik 1 WS 009/10 Prof. Dr. Berthold Vöcking 0.0.010 Alexander Skopalik Thomas Kesselheim Lösungen zur Vorlesung Berechenbarkeit und Komplexität. Zulassungsklausur Aufgabe 1: (a) Worin

Mehr

Satz von Kleene. (Stephen C. Kleene, ) Wiebke Petersen Einführung CL 2

Satz von Kleene. (Stephen C. Kleene, ) Wiebke Petersen Einführung CL 2 Satz von Kleene (Stephen C. Kleene, 1909-1994) Jede Sprache, die von einem deterministischen endlichen Automaten akzeptiert wird ist regulär und jede reguläre Sprache wird von einem deterministischen endlichen

Mehr

Hauptklausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2011/2012

Hauptklausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2011/2012 Institut für Theoretische Informatik Lehrstuhl Prof. Dr. D. Wagner Hauptklausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2011/2012 Hier Aufkleber mit Name und Matrikelnr. anbringen

Mehr

Suche nach einem solchen Kreis. Endlichkeitstest. Vereinigung und Durchschnitt. Abschlusseigenschaften

Suche nach einem solchen Kreis. Endlichkeitstest. Vereinigung und Durchschnitt. Abschlusseigenschaften Endlichkeitstest Eingabe: DFA/NFA M. Frage: Ist die von M akzeptierte Sprache endlich? Nahe liegende Beobachtung: In einem DFA/NFA, der eine unendliche Sprache akzeptiert, muss es einen Kreis geben, der

Mehr

Definition 98 Eine Turingmaschine heißt linear beschränkt (kurz: LBA), falls für alle q Q gilt:

Definition 98 Eine Turingmaschine heißt linear beschränkt (kurz: LBA), falls für alle q Q gilt: 5.2 Linear beschränkte Automaten Definition 98 Eine Turingmaschine heißt linear beschränkt (kurz: LBA), falls für alle q Q gilt: (q, c, d) δ(q, ) = c =. Ein Leerzeichen wird also nie durch ein anderes

Mehr

Algorithmen auf Sequenzen

Algorithmen auf Sequenzen Algorithmen auf Sequenzen Vorlesung von Prof. Dr. Sven Rahmann im Sommersemester 2008 Kapitel 4 Reguläre Ausdrücke Webseite zur Vorlesung http://ls11-www.cs.tu-dortmund.de/people/rahmann/teaching/ss2008/algorithmenaufsequenzen

Mehr

Einführung in die Computerlinguistik Satz von Kleene

Einführung in die Computerlinguistik Satz von Kleene Einführung in die Computerlinguistik Satz von Kleene Dozentin: Wiebke Petersen 5. Foliensatz Wiebke Petersen Einführung CL 1 Satz von Kleene (Stephen C. Kleene, 1909-1994) Jede Sprache, die von einem deterministischen

Mehr

Klausur zur Vorlesung Informatik III Wintersemester 2007/2008

Klausur zur Vorlesung Informatik III Wintersemester 2007/2008 Institut für Theoretische Informatik Lehrstuhl Prof. Dr. D. Wagner Klausur zur Vorlesung Informatik III Wintersemester 2007/2008 Hier Aufkleber mit Name und Matrikelnr. anbringen Vorname: Nachname: Matrikelnummer:

Mehr

Transformation von regulärer Linearzeit- Temporallogik zu Paritätsautomaten

Transformation von regulärer Linearzeit- Temporallogik zu Paritätsautomaten Transformation von regulärer Linearzeit- Temporallogik zu Paritätsautomaten Malte Schmitz, Lübeck im Januar 2012 korrigierte Fassung, Lübeck im März 2014 Diese Bachelorarbeit wurde ausgegeben und betreut

Mehr

Klausur: Berechenbarkeit und Komplexität (Niedermeier/Chen/Froese/Sorge, Sommersemester 2016)

Klausur: Berechenbarkeit und Komplexität (Niedermeier/Chen/Froese/Sorge, Sommersemester 2016) Technische Universität Berlin, Berlin, 28.07.2016 Name:... Matr.-Nr.:... Klausur: Berechenbarkeit und Komplexität (Niedermeier/Chen/Froese/Sorge, Sommersemester 2016) Einlesezeit: Bearbeitungszeit: Max.

Mehr

Formale Systeme. Büchi-Automaten. Prof. Dr. Bernhard Beckert WS 2009/2010 KIT INSTITUT FÜR THEORETISCHE INFORMATIK

Formale Systeme. Büchi-Automaten. Prof. Dr. Bernhard Beckert WS 2009/2010 KIT INSTITUT FÜR THEORETISCHE INFORMATIK Formale Systeme Prof. Dr. Bernhard Beckert WS 2009/2010 KIT INSTITUT FÜR THEORETISCHE INFORMATIK KIT University of the State of Baden-Württemberg and National Large-scale Research Center of the Helmholtz

Mehr

Formale Methoden 1. Gerhard Jäger 9. Januar Uni Bielefeld, WS 2007/2008 1/23

Formale Methoden 1. Gerhard Jäger 9. Januar Uni Bielefeld, WS 2007/2008 1/23 1/23 Formale Methoden 1 Gerhard Jäger Gerhard.Jaeger@uni-bielefeld.de Uni Bielefeld, WS 2007/2008 9. Januar 2008 2/23 Automaten (informell) gedachte Maschine/abstraktes Modell einer Maschine verhält sich

Mehr

Reguläre Sprachen und endliche Automaten

Reguläre Sprachen und endliche Automaten Reguläre Sprachen und endliche Automaten 1 Motivation: Syntaxüberprüfung Definition: Fließkommazahlen in Java A floating-point literal has the following parts: a whole-number part, a decimal point (represented

Mehr

Spiele für den. Christian Dax. Betreuer: Dr. Martin Lange. Wiederholung Spiele für VAL und SAT ν-line Automaten Entscheidungsverfahren

Spiele für den. Christian Dax. Betreuer: Dr. Martin Lange. Wiederholung Spiele für VAL und SAT ν-line Automaten Entscheidungsverfahren Spiele für den Linearzeit µ-kalkül Christian Dax Betreuer: Dr. Martin Lange 1 Kurzer Rückblick 2 Linearzeit µ-kalkül Definition (µtl) ϕ ::= a X ϕ ϕ ϕ ϕ Oϕ µx.ϕ νx.ϕ Example νx.a OOX (an jd. 2. Stelle gilt

Mehr

FORMALE SYSTEME. 3. Vorlesung: Endliche Automaten. TU Dresden, 17. Oktober Markus Krötzsch

FORMALE SYSTEME. 3. Vorlesung: Endliche Automaten. TU Dresden, 17. Oktober Markus Krötzsch FORMALE SYSTEME 3. Vorlesung: Endliche Automaten Markus Krötzsch TU Dresden, 17. Oktober 2016 Rückblick Markus Krötzsch, 17. Oktober 2016 Formale Systeme Folie 2 von 31 Wiederholung Mit Grammatiken können

Mehr

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik Vorlesung am 17. Januar 2012 INSTITUT FÜR THEORETISCHE 0 KIT 18.01.2012 Universität des Dorothea Landes Baden-Württemberg Wagner - Theoretische und Grundlagen der

Mehr

Induktive Definition

Induktive Definition Rechenregeln A B = B A A (B C) = (A B) C A (B C) = (A B) C A (B C) = A B A C (B C) A = B A C A {ε} A = A A {ε} = A (A {ε}) = A (A ) = A A A = A + A A = A + A + {ε} = A Beispiel. Real-Zahlen = {0,..., 9}

Mehr

Präsenzübung Berechenbarkeit und Komplexität

Präsenzübung Berechenbarkeit und Komplexität Lehrstuhl für Informatik 1 WS 2013/14 Prof. Dr. Berthold Vöcking 28.01.2014 Kamal Al-Bawani Benjamin Ries Präsenzübung Berechenbarkeit und Komplexität Musterlösung Name:...................................

Mehr

Das Heiratsproblem. Definition Matching

Das Heiratsproblem. Definition Matching Das Heiratsproblem Szenario: Gegeben: n Frauen und m > n Männer. Bekanntschaftsbeziehungen zwischen allen Männern und Frauen. Fragestellung: Wann gibt es für jede der Frauen einen Heiratspartner? Modellierung

Mehr

Aufgabe Mögliche Punkte Erreichte Punkte a b c d Σ a b c d Σ x1 13

Aufgabe Mögliche Punkte Erreichte Punkte a b c d Σ a b c d Σ x1 13 Universität Karlsruhe Theoretische Informatik Fakultät für Informatik WS 2003/04 ILKD Prof. Dr. D. Wagner 14. April 2004 2. Klausur zur Vorlesung Informatik III Wintersemester 2003/2004 Hier Aufkleber

Mehr

THIA - Übungsblatt 2.

THIA - Übungsblatt 2. THIA - Übungsblatt 2. Aufgabe 12 (Eine einfache Sprache). Endliche Ziffernfolgen, die mit einer 0 beginnen, auf die mindestens eine weitere Ziffer folgt, wobei nur die Ziffern 0,..., 7 vorkommen, sollen

Mehr

Definition (Reguläre Ausdrücke) Sei Σ ein Alphabet, dann gilt: (ii) ε ist ein regulärer Ausdruck über Σ.

Definition (Reguläre Ausdrücke) Sei Σ ein Alphabet, dann gilt: (ii) ε ist ein regulärer Ausdruck über Σ. Reguläre Ausdrücke Definition (Reguläre Ausdrücke) Sei Σ ein Alphabet, dann gilt: (i) ist ein regulärer Ausdruck über Σ. (ii) ε ist ein regulärer Ausdruck über Σ. (iii) Für jedes a Σ ist a ein regulärer

Mehr

EINFÜHRUNG IN DIE THEORETISCHE INFORMATIK

EINFÜHRUNG IN DIE THEORETISCHE INFORMATIK EINFÜHRUNG IN DIE THEORETISCHE INFORMATIK Prof. Dr. Klaus Ambos-Spies Sommersemester 2012 17. DIE KONTEXTFREIEN SPRACHEN II: ABSCHLUSSEIGENSCHAFTEN, MASCHINENCHARAKTERISIERUNG, KOMPLEXITÄT Theoretische

Mehr

Formale Sprachen. Formale Grundlagen (WIN) 2008S, F. Binder. Vorlesung im 2008S

Formale Sprachen. Formale Grundlagen (WIN) 2008S, F. Binder. Vorlesung im 2008S Formale Grundlagen (WIN) Franz Binder Institut für Algebra Johannes Kepler Universität Linz Vorlesung im 2008S http://www.algebra.uni-linz.ac.at/students/win/fg Inhalt Das Alphabet Σ sei eine endliche

Mehr

Automaten und Formale Sprachen ε-automaten und Minimierung

Automaten und Formale Sprachen ε-automaten und Minimierung Automaten und Formale Sprachen ε-automaten und Minimierung Ralf Möller Hamburg Univ. of Technology Literatur Gottfried Vossen, Kurt-Ulrich Witt: Grundkurs Theoretische Informatik, Vieweg Verlag 2 Danksagung

Mehr

Endliche Automaten. Endliche Automaten J. Blömer 1/23

Endliche Automaten. Endliche Automaten J. Blömer 1/23 Endliche Automaten Endliche Automaten sind ein Kalkül zur Spezifikation von realen oder abstrakten Maschinen regieren auf äußere Ereignisse (=Eingaben) ändern ihren inneren Zustand produzieren gegebenenfalls

Mehr

...imbeispiel: Die Konkatenation der Blätter des Ableitungsbaums t bezeichnen wir auch mit yield(t). liefert die Konkatenation: name int + int.

...imbeispiel: Die Konkatenation der Blätter des Ableitungsbaums t bezeichnen wir auch mit yield(t). liefert die Konkatenation: name int + int. Die Konkatenation der Blätter des Ableitungsbaums t bezeichnen wir auch mit yield(t)....imbeispiel: E 0 E 1 + T 1 T 0 F 2 T 1 F 2 int F 1 int name liefert die Konkatenation: name int + int. 273 Die Grammatik

Mehr

1. Welche der folgenden Aussagen zur Entscheidbarkeit beziehungsweise Unentscheidbarkeit

1. Welche der folgenden Aussagen zur Entscheidbarkeit beziehungsweise Unentscheidbarkeit 1. Klausur Diskrete Mathematik Seite 1 von 22 1. Welche der folgenden Aussagen zur Entscheidbarkeit beziehungsweise Unentscheidbarkeit ist richtig? A. Keine der Aussagen. B. Eine Menge oder ihr Komplement

Mehr

Theoretische Informatik 1

Theoretische Informatik 1 Theoretische Informatik 1 Nichtdeterminismus David Kappel Institut für Grundlagen der Informationsverarbeitung TU Graz SS 2012 Übersicht Nichtdeterminismus NTM Nichtdeterministische Turingmaschine Die

Mehr

11. Woche: Turingmaschinen und Komplexität Rekursive Aufzählbarkeit, Entscheidbarkeit Laufzeit, Klassen DTIME und P

11. Woche: Turingmaschinen und Komplexität Rekursive Aufzählbarkeit, Entscheidbarkeit Laufzeit, Klassen DTIME und P 11 Woche: Turingmaschinen und Komplexität Rekursive Aufzählbarkeit, Entscheidbarkeit Laufzeit, Klassen DTIME und P 11 Woche: Turingmaschinen, Entscheidbarkeit, P 239/ 333 Einführung in die NP-Vollständigkeitstheorie

Mehr

Beispiel: NTM. M = ({q 0,q 1,q 2 }, {0, 1}, {0, 1, #},δ, q 0, #, {q 2 }) q 2

Beispiel: NTM. M = ({q 0,q 1,q 2 }, {0, 1}, {0, 1, #},δ, q 0, #, {q 2 }) q 2 Beispiel: NTM M = ({q 0,q 1,q 2 }, {0, 1}, {0, 1, #},δ, q 0, #, {q 2 }) 0,1,R 0,0,R q0 1,0,R q1 #,#,R q2 0,0,L Zustand 0 1 # q 0 {(1, R, q 0 )} {(0, R, q 1 )} q 1 {(0, R, q 1 ),(0, L, q 0 )} {(1, R, q

Mehr

Graphentheorie. Eulersche Graphen. Eulersche Graphen. Eulersche Graphen. Rainer Schrader. 14. November Gliederung.

Graphentheorie. Eulersche Graphen. Eulersche Graphen. Eulersche Graphen. Rainer Schrader. 14. November Gliederung. Graphentheorie Rainer Schrader Zentrum für Angewandte Informatik Köln 14. November 2007 1 / 22 2 / 22 Gliederung eulersche und semi-eulersche Graphen Charakterisierung eulerscher Graphen Berechnung eines

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik Grundlagen der Theoretischen Informatik Turingmaschinen und rekursiv aufzählbare Sprachen (V) 16.07.2015 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Übersicht 1. Motivation 2. Terminologie

Mehr

10. Übungsblatt zu Algorithmen I im SS 2010

10. Übungsblatt zu Algorithmen I im SS 2010 Karlsruher Institut für Technologie Institut für Theoretische Informatik Prof. Dr. Peter Sanders G.V. Batz, C. Schulz, J. Speck 0. Übungsblatt zu Algorithmen I im SS 00 http//algo.iti.kit.edu/algorithmeni.php

Mehr

Satz 90 Sei A = (Q, Σ, δ, q 0, F ) ein DFA. Der Zeitaufwand des obigen Minimalisierungsalgorithmus ist O( Q 2 Σ ).

Satz 90 Sei A = (Q, Σ, δ, q 0, F ) ein DFA. Der Zeitaufwand des obigen Minimalisierungsalgorithmus ist O( Q 2 Σ ). Satz 90 Sei A = (Q, Σ, δ, q 0, F ) ein DFA. Der Zeitaufwand des obigen Minimalisierungsalgorithmus ist O( Q 2 Σ ). Beweis: Für jedes a Σ muss jede Position in der Tabelle nur konstant oft besucht werden.

Mehr

c) {abcde, abcfg, bcade, bcafg} d) {ade, afg, bcde, bcfg} c) {abcabc} d) {abcbc, abc, a} c) {aa, ab, ba, bb} d) {{aa}, {ab}, {ba}, {bb}}

c) {abcde, abcfg, bcade, bcafg} d) {ade, afg, bcde, bcfg} c) {abcabc} d) {abcbc, abc, a} c) {aa, ab, ba, bb} d) {{aa}, {ab}, {ba}, {bb}} 2 Endliche Automaten Fragen 1. Was ergibt sich bei {a, bc} {de, fg}? a) {abc, defg} b) {abcde, abcfg} c) {abcde, abcfg, bcade, bcafg} d) {ade, afg, bcde, bcfg} 2. Was ergibt sich bei {abc, a} {bc, λ}?

Mehr

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik Übung am 3..2 INSTITUT FÜR THEORETISCHE KIT 7..2 Universität des Andrea Landes Schumm Baden-Württemberg - Theoretische und Grundlagen der Informatik INSTITUT FÜR

Mehr

Potenzautomat. Gegeben: A = (Z, I, d, s 0, F ) P(A) = (P(Z), I, D, {s 0 }, F P ) P(Z) = {S S Z}: Potenzmenge von Z; D : P(Z) I P(Z) mit

Potenzautomat. Gegeben: A = (Z, I, d, s 0, F ) P(A) = (P(Z), I, D, {s 0 }, F P ) P(Z) = {S S Z}: Potenzmenge von Z; D : P(Z) I P(Z) mit 1 Potenzutomt Gegeben: A = (Z, I, d, s 0, F ) P(A) = (P(Z), I, D, {s 0 }, F P ) P(Z) = {S S Z}: Potenzmenge von Z; D : P(Z) I P(Z) mit D(S, x) = d(s, x) s S für lle S P(Z), x I; F P = {S P(Z) S F }. Potenzutomt

Mehr

Theoretische Informatik

Theoretische Informatik Theoretische Informatik Lektion 10: Entscheidbarkeit Kurt-Ulrich Witt Wintersemester 2013/14 Kurt-Ulrich Witt Theoretische Informatik Lektion 10 1/15 Inhaltsverzeichnis Kurt-Ulrich Witt Theoretische Informatik

Mehr

Formale Grundlagen der Informatik 1 Kapitel 16 Normalformen und Hornformeln

Formale Grundlagen der Informatik 1 Kapitel 16 Normalformen und Hornformeln Formale Grundlagen der Informatik 1 Kapitel 16 Normalformen und Frank Heitmann heitmann@informatik.uni-hamburg.de 9. Juni 2015 Frank Heitmann heitmann@informatik.uni-hamburg.de 1/36 Ersetzbarkeitstheorem

Mehr

Theorie der Informatik. Theorie der Informatik. 6.1 Einführung. 6.2 Alphabete und formale Sprachen. 6.3 Grammatiken. 6.4 Chomsky-Hierarchie

Theorie der Informatik. Theorie der Informatik. 6.1 Einführung. 6.2 Alphabete und formale Sprachen. 6.3 Grammatiken. 6.4 Chomsky-Hierarchie Theorie der Informatik 17. März 2014 6. Formale Sprachen und Grammatiken Theorie der Informatik 6. Formale Sprachen und Grammatiken Malte Helmert Gabriele Röger Universität Basel 17. März 2014 6.1 Einführung

Mehr

4. Alternative Temporallogiken

4. Alternative Temporallogiken 4. Alternative Temporallogiken Benutzung unterschiedlicher Temporallogiken entsprechend den verschiedenen Zeitbegriffen LTL: Linear Time Logic Ähnlich der CTL, aber jetzt einem linearen Zeitbegriff entspechend

Mehr

Formale Sprachen und endliche Automaten

Formale Sprachen und endliche Automaten Formale Sprachen und endliche Automaten Formale Sprachen Definition: 1 (Alphabet) Ein Alphabet Σ ist eine endliche, nichtleere Menge von Zeichen oder Symbolen. Ein Wort über dem Alphabet Σ ist eine endliche

Mehr

1 Eine Menge M Σ heißt (rekursiv) aufzählbar genau. 2 Die Familie aller aufzählbaren Mengen wird mit RE

1 Eine Menge M Σ heißt (rekursiv) aufzählbar genau. 2 Die Familie aller aufzählbaren Mengen wird mit RE Aufzählbarkeit Formale Grundlagen der Informatik 1 Kapitel 9 Entscheidbarkeit und Aufzählbarkeit Frank Heitmann heitmann@informatik.uni-hamburg.de 5. Mai 2014 Definition 1 Eine Menge M Σ heißt (rekursiv)

Mehr

Algorithmen und Datenstrukturen 2-1. Seminar -

Algorithmen und Datenstrukturen 2-1. Seminar - Algorithmen und Datenstrukturen 2-1. Seminar - Dominic Rose Bioinformatics Group, University of Leipzig Sommersemster 2010 Outline 1. Übungsserie: 3 Aufgaben, insgesamt 30 28 Punkte A1 Spannbäume (10 8

Mehr

Definition Ein gerichteter Graph G = (V, E) ist ein Graph von geordneten Paaren (u, v) mit u V und v V.

Definition Ein gerichteter Graph G = (V, E) ist ein Graph von geordneten Paaren (u, v) mit u V und v V. Kapitel 4 Graphenalgorithmen 4.1 Definitionen Definition 4.1.1. Der Graph G = (V, E) ist über die beiden Mengen V und E definiert, wobei V die Menge der Knoten und E die Menge der Kanten in dem Graph ist.

Mehr

CTL Model Checking SE Systementwurf CTL Model Checking Alexander Grafe 1

CTL Model Checking SE Systementwurf CTL Model Checking Alexander Grafe 1 CTL Model Checking SE Systementwurf CTL Model Checking Alexander Grafe 1 Einführung/Historie Model Checking ist... nur reaktive Systeme werden betrachtet vor CTL Model Checking gab es... Queille, Sifakis,

Mehr

Resolutionsalgorithmus

Resolutionsalgorithmus 112 Resolutionskalkül Mit dem Begriff Kalkül bezeichnet man eine Menge von syntaktischen Umformungsregeln, mit denen man semantische Eigenschaften der Eingabeformel herleiten kann. Für den Resolutionskalkül:

Mehr

Einführung in die Theoretische Informatik

Einführung in die Theoretische Informatik Einführung in die Theoretische Informatik Johannes Köbler Institut für Informatik Humboldt-Universität zu Berlin WS 2011/12 Deterministische Kellerautomaten Von besonderem Interesse sind kontextfreie Sprachen,

Mehr

Diskrete Mathematik. Arne Dür Kurt Girstmair Simon Legner Georg Moser Harald Zankl

Diskrete Mathematik. Arne Dür Kurt Girstmair Simon Legner Georg Moser Harald Zankl OLC mputational gic Diskrete Mathematik Arne Dür Kurt Girstmair Simon Legner Georg Moser Harald Zankl Fakultät für Mathematik, Informatik und Physik @ UIBK Sommersemester 2011 GM (MIP) Diskrete Mathematik

Mehr

Kontextfreie Sprachen

Kontextfreie Sprachen Kontextfreie Sprachen Bedeutung: Programmiersprachen (Compilerbau) Syntaxbäume Chomsky-Normalform effiziente Lösung des Wortproblems (CYK-Algorithmus) Grenzen kontextfreier Sprachen (Pumping Lemma) Charakterisierung

Mehr

Suchen in Texten. Naives Suchen Verfahren von Knuth-Morris-Pratt Verfahren von Boyer-Moore Ähnlichkeitssuchen Editierdistanz

Suchen in Texten. Naives Suchen Verfahren von Knuth-Morris-Pratt Verfahren von Boyer-Moore Ähnlichkeitssuchen Editierdistanz Suchen in Texten Naives Suchen Verfahren von Knuth-Morris-Pratt Verfahren von Boyer-Moore Ähnlichkeitssuchen Editierdistanz Textsuche Gegeben ist ein Zeichensatz (Alphabet) Σ. Für einen Text T Σ n und

Mehr

Kontextfreie Sprachen

Kontextfreie Sprachen Kontextfreie Sprachen besitzen große Bedeutung im Compilerbau Chomsky-Normalform effiziente Lösung des Wortproblems (CYK-Algorithmus) Grenzen kontextfreier Sprachen (Pumping Lemma) Charakterisierung durch

Mehr

Operationen auf endlichen Automaten und Transduktoren

Operationen auf endlichen Automaten und Transduktoren Operationen auf endlichen Automaten und Transduktoren Kursfolien Karin Haenelt 1 Notationskonventionen L reguläre Sprache A endlicher Automat DEA deterministischer endlicher Automat NEA nichtdeterministischer

Mehr

I.2. Endliche Automaten (ohne Ausgabe)

I.2. Endliche Automaten (ohne Ausgabe) I2 Endliche Automaten (ohne Ausgabe) I2 Deterministische endliche Automaten Beispiel: Pascal-Syntax für Zahlen hat folgende Form: ::=

Mehr

Berechenbarkeit und Komplexität: Rekursive Aufzählbarkeit und die Technik der Reduktion

Berechenbarkeit und Komplexität: Rekursive Aufzählbarkeit und die Technik der Reduktion Berechenbarkeit und Komplexität: Rekursive Aufzählbarkeit und die Technik der Reduktion Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität 26. November 2007 Semi-Entscheidbarkeit

Mehr

Deterministische und nichtdeterministische Turing-Maschinen, Typ1- und Typ0-Sprachen

Deterministische und nichtdeterministische Turing-Maschinen, Typ1- und Typ0-Sprachen Dr. Sebastian Bab WiSe 12/13 Theoretische Grundlagen der Informatik für TI Termin: VL 15 + 16 vom 17.12.2012 und 20.12.2012 Deterministische und nichtdeterministische Turing-Maschinen, Typ1- und Typ0-Sprachen

Mehr

Turingautomaten Jörg Roth Turingautomaten

Turingautomaten Jörg Roth Turingautomaten Turingautomaten Jörg Roth 331 5 Turingautomaten Wir führen nochmals ein neues Automatenmodell ein und erweitern die Fähigkeit, Sprachen zu erkennen: Problem vom Kellerautomaten: wir können zwar beliebig

Mehr

Laufzeit einer DTM, Klasse DTIME

Laufzeit einer DTM, Klasse DTIME Laufzeit einer DTM, Klasse DTIME Definition Laufzeit einer DTM Sei M eine DTM mit Eingabealphabet Σ, die bei jeder Eingabe hält. Sei T M (w) die Anzahl der Rechenschritte d.h. Bewegungen des Lesekopfes

Mehr

Hoffmann (HAW Hamburg) Automatentheorie und formale Sprachen

Hoffmann (HAW Hamburg) Automatentheorie und formale Sprachen Hoffmann (HAW Hamburg) Automatentheorie und formale Sprachen 18.4. 2012 176 Automatentheorie und formale Sprachen VL 5 Reguläre und nichtreguläre Sprachen Kathrin Hoffmann 18. Aptil 2012 Hoffmann (HAW

Mehr

Rekursive Aufzählbarkeit Die Reduktion

Rekursive Aufzählbarkeit Die Reduktion Rekursive Aufzählbarkeit Die Reduktion Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen November 2011 Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit

Mehr

Übungsblatt 3. Vorlesung Theoretische Grundlagen der Informatik im WS 17/18

Übungsblatt 3. Vorlesung Theoretische Grundlagen der Informatik im WS 17/18 Institut für Theoretische Informatik Lehrstuhl Prof. Dr. D. Wagner Übungsblatt 3 Vorlesung Theoretische Grundlagen der Informatik im WS 17/18 Ausgabe 21. November 2017 Abgabe 5. Dezember 2017, 11:00 Uhr

Mehr

Theoretische Informatik. Reguläre Sprachen und Automaten

Theoretische Informatik. Reguläre Sprachen und Automaten Theoretische Informatik Reguläre Sprachen und Automaten Reguläre Sprachen Reguläre Ausdrücke und Sprachen Gleichungen Syntaxdiagramme Erweiterungen Anwendungen Reguläre Ausdrücke über Σ Syntax: Konstante

Mehr