Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Softwareengineering Endliche Automaten

Ähnliche Präsentationen


Präsentation zum Thema: "Softwareengineering Endliche Automaten"—  Präsentation transkript:

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

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

3 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 se_9_endliche_automaten.ppt

4 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 se_9_endliche_automaten.ppt

5 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. se_9_endliche_automaten.ppt

6 Implementierung: Hauptprogramm, Aufbau des Automaten
se_9_endliche_automaten.ppt

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

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

9 Implementierung: Einlesen der Zeichen
se_9_endliche_automaten.ppt

10 Implementierung: Zustände
se_9_endliche_automaten.ppt

11 Implementierung: Transitionen
se_9_endliche_automaten.ppt


Herunterladen ppt "Softwareengineering Endliche Automaten"

Ähnliche Präsentationen


Google-Anzeigen