Endlicher Automat (EA)

Ähnliche Dokumente
Endlicher Automat (EA)

MODEL CHECKING 2 - AUTOMATEN

Grundlagen Theoretischer Informatik I SoSe 2011 in Trier. Henning Fernau Universität Trier fernau@uni-trier.de

Theorie der Informatik

Formale Sprachen und Grammatiken

Semantik von Formeln und Sequenzen

Grundbegriffe der Informatik

Reguläre Sprachen Endliche Automaten

Grammatiken. Einführung

Grundbegriffe der Informatik

4.9 Deterministische Kellerautomaten Wir haben bereits definiert: Ein PDA heißt deterministisch (DPDA), falls

Vorlesung Theoretische Informatik

Grundbegriffe der Informatik

Zusammenfassung. 1 Wir betrachten die folgende Signatur F = {+,,, 0, 1} sodass. 3 Wir betrachten die Gleichungen E. 4 Dann gilt E 1 + x 1

1 Mathematische Grundlagen

Mathematische Grundlagen der Informatik 2

Theoretische Informatik I

Motivation. Formale Grundlagen der Informatik 1 Kapitel 5 Kontextfreie Sprachen. Informales Beispiel. Informales Beispiel.

Data Mining: Einige Grundlagen aus der Stochastik

Logik für Informatiker

Programmiersprachen und Übersetzer

Lernziele: Ausgleichstechniken für binäre Bäume verstehen und einsetzen können.

Kapitel 2: Formale Sprachen Kontextfreie Sprachen. reguläre Grammatiken/Sprachen. kontextfreie Grammatiken/Sprachen

4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes.

Whitebox-Tests: Allgemeines

Guten Morgen und Willkommen zur Saalübung!

Deterministische Turing-Maschinen (DTM) F3 03/04 p.46/395

Informatik IC2. Balazs Simon

Theoretische Informatik 2 (WS 2006/07) Automatentheorie und Formale Sprachen 19

Prüfung Computation, Programming

Grundlagen der Theoretischen Informatik, SoSe 2008

Wir gehen aus von euklidischen Anschauungsraum bzw. von der euklidischen Zeichenebene. Parallele Geraden schneiden einander nicht.

I. Aussagenlogik. Aussagenlogik untersucht Verknüpfungen wie "und", "oder", "nicht", "wenn... dann" zwischen atomaren und komplexen Sätzen.

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage:

Formale Systeme. Binary Decision Diagrams. Prof. Dr. Bernhard Beckert WS 2010/2011 KIT INSTITUT FÜR THEORETISCHE INFORMATIK

Formeln. Signatur. aussagenlogische Formeln: Aussagenlogische Signatur

Wholesale und FTTH. Handbuch Abrechnung 1/5. Ausgabedatum Ersetzt Version 2-0. Swisscom (Schweiz) AG CH-3050 Bern

3. Grundlagen der Linearen Programmierung

4. AUSSAGENLOGIK: SYNTAX. Der Unterschied zwischen Objektsprache und Metasprache lässt sich folgendermaßen charakterisieren:

Terme stehen für Namen von Objekten des Diskursbereichs (Subjekte, Objekte des natürlichsprachlichen Satzes)

Gussnummern-Lesesystem

Kapitalerhöhung - Verbuchung

Mai Hauptseminar: Nichtrelationale Datenbanken Historisch-Kulturwissenschaftliche Informationsverarbeitung Universität zu Köln

Anwendungspraktikum aus JAVA Programmierung im SS 2006 Leitung: Albert Weichselbraun. Java Projekt. Schiffe Versenken mit GUI

Einrichtung des WS_FTP95 LE

Zeichen bei Zahlen entschlüsseln

Leichte-Sprache-Bilder

Einführung. Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (3) Vorlesungen zur Komplexitätstheorie. K-Vollständigkeit (1/5)

4. Dynamische Optimierung

Unterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus:

Wortproblem für kontextfreie Grammatiken

IT-Basics 2. DI Gerhard Fließ

Suchmaschinen. Universität Augsburg, Institut für Informatik SS 2014 Prof. Dr. W. Kießling 23. Mai 2014 Dr. M. Endres, F. Wenzel Lösungsblatt 6

3.3 Eigenwerte und Eigenräume, Diagonalisierung

Eine Logikschaltung zur Addition zweier Zahlen

Tutorial. Wie kann ich meinen Kontostand von meinen Tauschpartnern in. übernehmen? Zoe.works - Ihre neue Ladungsträgerverwaltung

Kapitel 6. Komplexität von Algorithmen. Xiaoyi Jiang Informatik I Grundlagen der Programmierung

Wurzeln als Potenzen mit gebrochenen Exponenten. Vorkurs, Mathematik

Dezentrale Verschlüsselung. Lumension Device Control Version 4.4

2.11 Kontextfreie Grammatiken und Parsebäume

Alignment-Verfahren zum Vergleich biologischer Sequenzen

Schumacher, Chris Druckdatum :11:00

Codes und Informationsgehalt

Veranstaltungsbelegung in QIS/LSF -- Leitfaden für BW-Studierende --

SDD System Design Document

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

Hinweise zur Online-Datenbank

E-Government Sondertransporte (SOTRA) Registrierung von Benutzerkennung

Verkehrsteilnehmer. Beispiel: Wir betrachten die Modellierung von Handlungskomponenten wie Verkehrsteilnehmern und Straßen.

Voll homomorpe Verschlüsselung

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

Zusammenfassung. Satz. 1 Seien F, G Boolesche Ausdrücke (in den Variablen x 1,..., x n ) 2 Seien f : B n B, g : B n B ihre Booleschen Funktionen

Programmieren. 10. Tutorium 4./ 5. Übungsblatt Referenzen

SCHRITT 1: Öffnen des Bildes und Auswahl der Option»Drucken«im Menü»Datei«...2. SCHRITT 2: Angeben des Papierformat im Dialog»Drucklayout«...

Ausfüllhilfe ESTA USA

R&I-Fließbilder in PLANEDS

Programmierkurs Java

WS 2009/10. Diskrete Strukturen

1.3 Die Beurteilung von Testleistungen

Gründe für fehlende Vorsorgemaßnahmen gegen Krankheit

9 Auto. Rund um das Auto. Welche Wörter zum Thema Auto kennst du? Welches Wort passt? Lies die Definitionen und ordne zu.

Sichere Anleitung Zertifikate / Schlüssel für Kunden der Sparkasse Germersheim-Kandel. Sichere . der

Installation des COM Port Redirectors

Einrichten eines Postfachs mit Outlook Express / Outlook bis Version 2000

Klausur WS 2006/07 Programmiersprache Java Objektorientierte Programmierung II 15. März 2007

Anwenderdokumentation AccountPlus GWUPSTAT.EXE

Integration mit. Wie AristaFlow Sie in Ihrem Unternehmen unterstützen kann, zeigen wir Ihnen am nachfolgenden Beispiel einer Support-Anfrage.

Constraint-Algorithmen in Kürze - Mit der Lösung zur Path-Consistency-Aufgabe 9

Analysis I für Studierende der Ingenieurwissenschaften

Zufallsgrößen und Wahrscheinlichkeitsverteilungen

Dossier: Rechnungen und Lieferscheine in Word

SEP 114. Design by Contract

HTML5. Wie funktioniert HTML5? Tags: Attribute:

Über das Menü Zusätze Exporte Export in BMD-FIBU gelangen Sie zu folgendem Eingabebildschirm:

Häufig wiederkehrende Fragen zur mündlichen Ergänzungsprüfung im Einzelnen:

Algorithmen und Datenstrukturen Suchbaum

Konfiguration VLAN's. Konfiguration VLAN's IACBOX.COM. Version Deutsch

Die Excel Schnittstelle - Pro Pack

Fragen für die Klausuren

Transkript:

Endlicher Automat (EA) siehe auch Formale Grundlagen 3 1 Motivation: Automaten für die Modellierung, Spezifikation und Verifikation verwenden! Definition Ein Endlicher Automat A = (S,I,Σ,T,F) besteht aus Menge von Zuständen S (normalerweise endlich) Menge von Initialzuständen I S Eingabe-Alphabet Σ (normalerweise endlich) Übergangsrelation T S Σ S schreibe s a s gdw. (s,a,s ) T gdw. T (s,a,s ) gilt Menge von Finalzuständen F S

Sprache eines EA 2 Definition Ein EA A akzeptiert ein Wort w Σ gdw. es s i und a i gibt mit s 0 a 1 s 1 a 2 s 2 a 3 a n 1 s n 1 a n s n, wobei n 0, s 0 I, s n F und w = a 1 a n (n = 0 w = ε). Definition Die Sprache L(A) von A ist die Menge der Wörter die er akzeptiert. Benutze Automaten oder reguläre Sprachen zur Beschreibung von Ereignisströmen! Konformität der Ereignisströme der Implementierung zu denen der Spezifikation! Konformität kann präzisiert werden als Teilmengenbeziehung der Sprachen

Produkt-Automat 3 Definition Der Produkt Automat A = A 1 A 2 von zwei EA A 1 und A 2 mit gemeinsamen Eingablphabet Σ 1 = Σ 2 hat folgende Komponenten: S = S 1 S 2 I = I 1 I 2 Σ = Σ 1 = Σ 2 F = F 1 F 2 T ((s 1,s 2 ),a,(s 1,s 2 )) gdw. T 1(s 1,a,s 1 ) und T 2(s 2,a,s 2 ) Satz Seien A, A 1, und A 2 wie oben, dann L(A) = L(A 1 ) L(A 2 ) Beispiel: Konstruktion eines Automaten Wörter mit Prefix ab und Suffix ba akzeptiert. (als regulärer Ausdruck: a b 1 1 b a, wobei 1 für alle Buchstaben steht)

Vollständigkeit und Determinismus 4 Definition Zu s S, a Σ bezeichne s a die Menge der Nachfolger von s definiert als s a = {s S T (s,a,s )} Definition Ein EA ist vollständig gdw. I > 0 und s a > 0 für alle s S und a Σ. Definition deterministisch gdw. I 1 und s a 1 für alle s S und a Σ. Fakt deterministisch und vollständig gdw. I = 1 und s a = 1 für alle s S, a Σ.

Teilmengenkonstruktion 5 Definition Der Power-Automat A = P(A 1 ) eines EA A 1 hat folgende Komponenten S = P(S 1 ) (P = Potenzmenge) I = {I 1 } Σ = Σ 1 F = {F S F F 1 /0} T (S,a,S ) gdw. S = {s s S mit T (s,a,s )} Satz A, A 1 wie oben, dann L(A) = L(A 1 ) und A ist deterministisch und vollständig. Beispiel: Spam-Filter basierend auf der White-List abb, abba, und abacus! (Regulärer Ausdruck: abb abba abacus )

Komplement eines Automaten 6 Definition Der Komplementär-Automat A = K(A 1 ) eines endlichen Automaten A 1 hat dieselben Komponenten wie A 1, bis auf F = S\F 1. Satz Der Komplementär-Automat A = K(A 1 ) eines deterministischen und vollständigen Automaten A 1 akzeptiert die komplementäre Sprache L(A) = L(A 1 ) = Σ \L(A 1 ). Beispiel: Spam-Filter basierend auf der Black-List abb, abba, und abacus! (Regulärer Ausdruck: abb abba abacus )

Konformität von Ereigniströmen 7 Modellierung und Spezifikation mit Automaten: Ereigniströme einer Implementierung modelliert durch EA A 1 Partielle Spezifikation der Ereigniströme als EA A 2 Konformitäts-Test: L(A 1 ) L(A 2 ) gdw. L(A 1 ) L(A 2 ) = /0 gdw. A 1 K(P(A 2 )) keinen erreichbaren Finalzustand hat Beispiel: Spezifikation S = (cs sc ss), Implementierung I = ((s c) 2)

Weitere Beispiele zur Konformität 8 Temporale Eigenschaften: (1 steht für ein beliebiges Zeichen) jeden dritten Schritt gilt a: (1 1 a) genau jeden dritten Schritt gilt a: (a a a) einem a (acknowledge) muss ein r (request) vorangehen: (r) a jedem a muss ein r vorangehen: (1 a) (r) a Verfeinerung: (am Beispiel Scheduling dreier Prozesse a, b und c) abstrakter Round-Robin Scheduler: (abc acb bac bca cab cba) Round-Robin Scheduler mit Vorrang a vor b: (abc acb cab) Round-Robin Scheduler mit Vorrang a vor b und c vor b: (acb cab) deterministischer Round-Robin Scheduler der Implementierung: (cab)

Konformität bei Aussagenlogischen Spezifikationen 9 ähnliche Vorgehensweise: geg. aussagenlogische Formel f über den booleschen Variablen V = {x 1,,x n } Expansion E( f ) 2 n ist die Menge der erfüllenden Belegungen von f (a 1,,a n ) E( f ) gdw. f [x 1 a 1,,x n a n ] = 1 z.b. E( f ) /0 gdw. f erfüllbar (engl. satisfiable) Modellierung und Spezifikation: f 1 charakterisiert die für die Implementierung möglichen Konfigurationen f 2 beschreibt eine partielle Spezifikation der gültigen Konfigurationen Konformitäts-Test: f 1 f 2 gdw. E( f 1 ) E( f 2 ) gdw. E( f 1 ) E( f 2 ) = /0 (oder in der Praxis: gdw. f 1 f 2 unerfüllbar)

Vom C-Programm zum EA durch Abstraktion 10 entry while () { lock (); while () { if () { lock (); } else { unlock (); lock (); } } unlock(); } lock() lock() unlock() lock() unlock() exit (l (l u l) u)

Probleme bei Abstraktion 11 assert (i < n); lock (); do { i++; if (i >= n) unlock (); } while (i < n); l (ε u) verletzt partielle Spezifikation 1 l u ( führt weder zu einem lock noch unlock und lässt i und n unberührt)

Predicate Abstraction 12 verfeinerte Abstraktion zu EA durch Einführung einer Prädikats-Variable: b == (i < n) assert (i < n); lock (); do { i++; if (i >= n) unlock (); } while (i < n); abstrahiert zu assert (b); lock (); do { if (b) b = *; if (!b) unlock (); } while (b); l ε u erfüllt partielle Spezifikation 1 l u ( führt weder zu einem lock noch unlock und lässt i und n unberührt)