19.11.2014 Aufrufe

Inhaltsverzeichnis - Automaten und Formale Sprachen

Inhaltsverzeichnis - Automaten und Formale Sprachen

Inhaltsverzeichnis - Automaten und Formale Sprachen

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

Kapitel 1<br />

Endliche <strong>Automaten</strong> <strong>und</strong> reguläre<br />

<strong>Sprachen</strong><br />

Die regulären <strong>Sprachen</strong> ( ”<br />

regular sets“) sind die einfachsten formalen <strong>Sprachen</strong>. Wir werden<br />

Maschinenmodelle kennenlernen ( ”<br />

endliche <strong>Automaten</strong>“ in verschiedenen Varianten),<br />

die diesen <strong>Sprachen</strong> entsprechen, <strong>und</strong> andere Methoden, diese <strong>Sprachen</strong> zu beschreiben<br />

( ”<br />

reguläre Ausdrücke“ <strong>und</strong> ”<br />

reguläre Grammatiken“). Wir wollen uns anhand der regulären<br />

<strong>Sprachen</strong> exemplarisch die Übergänge zwischen verschiedenen Beschreibungsformen<br />

für dieselbe Sprache klarmachen, <strong>und</strong> für diese Übergänge soweit wie möglich effiziente<br />

Algorithmen bereitstellen. Zudem wird sich zeigen, dass man für jede reguläre Sprache<br />

algorithmisch einen ”<br />

effizientesten“ <strong>Automaten</strong> konstruieren kann.<br />

Ebenso wichtig wie das Konzept der regulären Sprache ist das Konzept des <strong>Automaten</strong><br />

selbst, das in vielen verschiedenen Teilbereichen der theoretischen <strong>und</strong> der praktischen<br />

Informatik Anwendung findet.<br />

1.1 Deterministische endliche <strong>Automaten</strong><br />

In diesem einleitenden Abschnitt besprechen wir das für die regulären <strong>Sprachen</strong> gr<strong>und</strong>legende<br />

Maschinenmodell: die deterministischen endlichen <strong>Automaten</strong> ( ”<br />

deterministic finite<br />

automata“, abgekürzt ”<br />

DFA“). Diese <strong>Automaten</strong> erhalten ein Eingabewort x = a 1 · · · a n ∈<br />

Σ ∗ (für ein Alphabet Σ) vorgelegt, das einmal von links nach rechts gelesen wird. Endliche<br />

<strong>Automaten</strong> haben eine Steuereinheit, die eine endliche Speicherkapazität repräsentiert<br />

<strong>und</strong> abstrakt durch eine endliche Menge Q von Zuständen gegeben ist. Einer der Zustände<br />

ist als Startzustand ausgezeichnet (bezeichnet mit q 0 ). Startend in p 0 = q 0 , liest der DFA<br />

einen Buchstaben nach dem anderen <strong>und</strong> geht dabei in jedem Schritt in Abhängigkeit<br />

vom alten Zustand p t−1 <strong>und</strong> dem gerade gelesenen Buchstaben a t in einen Zustand p t<br />

über, für t = 1, 2, . . . , n. Welcher Zustand jeweils anzunehmen ist, wird von einer Übergangsfunktion<br />

δ : Q × Σ → Q vorgeschrieben (δ(q, a) = q ′ bedeutet: wird in Zustand<br />

q der Buchstabe a gelesen, so ist der neue Zustand q ′ ). Am Ende der Berechnung, d. h.<br />

8

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!