Inhaltsverzeichnis - Automaten und Formale Sprachen
Inhaltsverzeichnis - Automaten und Formale Sprachen
Inhaltsverzeichnis - Automaten und Formale Sprachen
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