Softwareengineering Endliche Automaten

Slides:



Advertisements
Ähnliche Präsentationen
Algorithmen und Datenstrukturen (EI)
Advertisements

Informatik II: Algorithmen und Datenstrukturen SS 2013
Softwareengineering Wie schnell ist ein Computerprogramm?
Theoretische Grundlagen der Informatik Prof. Dr. Michael Löwe
7. Automaten Ein Automat ist ein Sechstupel A= (I, O, Q, , q0, F).
Institut für Informatik Abt. Intelligente Systeme
8. Formale Sprachen und Grammatiken
Kapitel 7 State-Machines/Zustandsautomaten
Imperative Programmierung
Parser für CH3-Sprachen
Motivation Richard Göbel.
Alternativen und Muster. Alternativen Gegeben ist eine Tabelle in der ein Attribut der Tabelle Buecher Gruppe genannt wurde. So gibt es unter anderem.
Suche in Texten: Suffix-Bäume
Vorlesung Informatik 3 Einführung in die Theoretische Informatik (02 – Endliche Automaten) Prof. Dr. Th. Ottmann.
Vorlesung Informatik 3 Einführung in die Theoretische Informatik (05 – Reguläre Ausdrücke) Prof. Dr. Th. Ottmann.
Vorlesung Informatik 3 Einführung in die Theoretische Informatik (06 – Reduktion endlicher Automaten) Prof. Dr. Th. Ottmann.
Vorlesung Informatik 3 Einführung in die Theoretische Informatik (12 – Kellerautomaten, PDA) Prof. Dr. Th. Ottmann.
Vorlesung Informatik 3 Einführung in die Theoretische Informatik (04 – Automaten mit ε-Transitionen) Prof. Dr. Th. Ottmann.
WS Prof. Dr. Th. Ottmann Algorithmentheorie 09 - Suche in Texten Suffix - Bäume.
Vorlesung Informatik 3 Einführung in die Theoretische Informatik (17 –Turingmaschinen) Prof. Dr. Th. Ottmann.
XML - Abfragesprache Xpath. Problemstellung Unsere XML-Datei steht und wir wollen alle 1. Titel aller vergangenen Sendungen automatisch aus den Playlists.
© Karin Haenelt, Transduktoren, Transduktoren für die Sprachverarbeitung Vereinigung von Transduktoren Karin Haenelt Karin Haenelt, Transduktoren,
Java – Werkzeuge zur Entwicklung endlicher Automaten
7.4 State-based Test Design Nils Foken. Steuerungsfehler fehlende / falsche Transition fehlendes / falsches Ereignis fehlende / falsche Aktion zusätzlicher.
EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Vorlesung 2 SWS WS 99/00 Gisbert Dittrich FBI Unido
Christian Schindelhauer
Christian Schindelhauer
Christian Schindelhauer
FH-Hof 1 XML-Parser Richard Göbel. FH-Hof 2 XML-Parser- DOM Object Tree Parser Objekt der Klasse 'DocumentBuilderFactory' mit 'newInstance()' erzeugen.
FH-Hof Algorithmen und Datenstrukturen - Einführung Richard Göbel.
Überführung regulärer Ausdrücke in endliche Automaten Der Algorithmus von Glushkov und McNaughton/Yamada Karin Haenelt
Alternatives Recht im Cyberspace
Vier/Fünf-Farben-Satz
Christian Schindelhauer Wintersemester 2006/07 8. Vorlesung
Eine Präsentation von Lena Sauter & Corinna Nawatzky
Akzeptor & Sprache.
Formale Sprachen Reguläre Sprachen Rudolf FREUND, Marian KOGLER.
Entwurf und Implementierung eines Scanner-Generatorsystems
Zusammenfassung wichtiger Themen
Automaten, formale Sprachen und Berechenbarkeit II SoSe 2004 Prof. W. Brauer Teil 1: Wiederholung (Vor allem Folien von Priv.-Doz. Dr. Kindler vom WS 2001/02.
Städtisches Gymnasium Beverungen Friedel Berlage
Beispiele: KFG 2.Teil Beispiel 1: Sei G eine Grammatik mit den folgenden Regeln: S  Ac | Bd A  aAb | ab B  aBbb | abb Definieren Sie.
Petrinetze 1. Einführung Informatik : wesentlich Modellierung von
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Arne Vater Wintersemester 2006/07 28.
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
Christian Schindelhauer Wintersemester 2006/07 3. Vorlesung
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.
Systementwicklung Vorgehensmodelle am Beispiel des RUP
Softwareengineering Graphen und Bäume Teil II
se_10_regulaere_ausdruecke.ppt1 Softwareengineering Reguläre Ausdrücke (regular expressions) Prof. Dr.-Ing. Axel Benz, Berlin School of Economics.
se_11_interfaces.ppt1 Softwareengineering Interfaces Prof. Dr.-Ing. Axel Benz, Berlin School of Economics and Law.
se_8_statische_klassen.ppt1 Softwareengineering Statische Klassen Prof. Dr.-Ing. Axel Benz, Berlin School of Economics and Law.
Softwareengineering Organisation
se_5_liste_stack_etc.ppt1 Softwareengineering Listenstrukturen und ähnliches Prof. Dr.-Ing. Axel Benz, Berlin School of Economics and Law.
se_4_graphen_und_baeume_I.ppt1 Softwareengineering Graphen und Bäume 1 Prof. Dr.-Ing. Axel Benz, Berlin School of Economics and Law.
se_2_hooks.ppt1 Softwareengineering Einfache Hooks und Abstrakte Methoden (Klassen) Prof. Dr.-Ing. Axel Benz, Berlin School of Economics and.
se_7_parametrierte_klassen.ppt1 Softwareengineering Parametrierte Klassen Prof. Dr.-Ing. Axel Benz, Berlin School of Economics and Law.
Turing-Maschine als Akzeptor.
Institut für Softwarewissenschaft – Universität WienP.Brezany 1 Beispiele (Frist: ) Beispiel 1: Sei  = {a, b} ein Alphabet und Q = {q 0, q 1 } eine.
7. Formale Sprachen und Grammatiken
Institut für Softwarewissenschaft – Universität WienP.Brezany 1 Beispiele: KFG und Automaten Beispiel 1: Sei G eine Grammatik mit den folgenden Regeln:
Inhalt Einordnung und Funktion der lexikalische Analyse Grundlagen
Aufgabe 4 Betrachten Sie das unten dargestellte Klassendiagramm, das für eine Bibliothek zur Verwaltung ihrer Buchbestände modelliert wurde. Modellieren.
Algorithmen und Datenstrukturen Prof. Dr. Ralf Möller Universität zu Lübeck Institut für Informationssysteme Stefan Werner (Übungen) sowie viele Tutoren.
 Am Ende der letzten Stunde hatten wir über die Grenzen unserer Automaten-Modell gesprochen. Dr. Lars Ettelt2  Tipp: Parkhaus.  Einfahrt erst wenn.
Automatentheorie Jendrik und Jeyhannes. Allgemeines Modelle mit Zuständen, die Eingaben annehmen und Ausgaben erstellen Endliche Automaten Auch Zustandsmaschine.
Perl: pattern matching and regular expressions
Gliederung 0. Motivation und Einordnung 1. Endliche Automaten
 Präsentation transkript:

Softwareengineering Endliche Automaten Prof. Dr.-Ing. Axel Benz, Berlin School of Economics and Law 05.04.2017 se_9_endliche_automaten.ppt

Was sind endliche Automaten? werden u.a. gebraucht um Muster in Zeichenketten zu erkennen. Heißen auch: Statusmaschine Finite State Machine FSM EA 05.04.2017 se_9_endliche_automaten.ppt

Welche Zeichenketten können erkannnt werden? Intuitiv: Zeichenketten, für deren Erkennung man nur ein begrenztes Gedächtnis braucht. Positivbeispiel: Eine Zeichenkette, die zweimal den String "ABBA" enthält. Negativbeispiel: Eine Zeichenkette mit Klammern und gefordert ist korrekte Klammerung (genau so viele Klammern gehen zu wie aufgehen), kann nicht mit einem endlichen Automaten erkannt werden. Präzise: Zeichenketten, die mit regulären Grammatiken erzeugt werden. Reguläre Grammatiken sind mathematisch definiert, siehe http://de.wikipedia.org/wiki/Regul%C3%A4re_Grammatik 05.04.2017 se_9_endliche_automaten.ppt

Wie sieht ein endlicher Automat aus? Ein endlicher Automat kann durch einen Graphen dargestellt werden. Ausdrucksweise: Knoten des Graphen heißen im endlichen Automaten "Zustände", Kanten des Graphen heißen "Transitionen". Ein Zustand ist der Startzustand, ein oder mehrere Zustände sind "Endzustände", jeder Kante ist ein (zu erkennendes) Zeichen zugeordnet. A B B A * Start- zustand S 1 2 3 4 * * * * A * * * End zustand B B A 5 6 * A 7 8 A 05.04.2017 se_9_endliche_automaten.ppt

Ablauf eines endlichen Automaten Zeichenkette wird Zeichen für Zeichen gelesen. Ich beginne im Startzustand Wenn ich ein Zeichen gelesen haben, folge ich der Transition, der dieses Zeichen zugeordnet ist. Wenn ich nach einlesen der Zeichenkette in einem Endzustand bin, dann wurde das Muster erkannt, sonst nicht. Beispiel vorherige Seite: Erkennt Zeichenketten, die zweimal "ABBA" enthalten. 05.04.2017 se_9_endliche_automaten.ppt

Implementierung: Hauptprogramm, Aufbau des Automaten 05.04.2017 se_9_endliche_automaten.ppt

Implementierung: Hauptprogramm, Aufbau des Automaten und Start 05.04.2017 se_9_endliche_automaten.ppt

Implementierung: Speicherung der Transitionen in den Zuständen 05.04.2017 se_9_endliche_automaten.ppt

Implementierung: Einlesen der Zeichen 05.04.2017 se_9_endliche_automaten.ppt

Implementierung: Zustände 05.04.2017 se_9_endliche_automaten.ppt

Implementierung: Transitionen 05.04.2017 se_9_endliche_automaten.ppt