Formale Systeme WS 2011/2012 Skript zur Vorlesung - Faculty of ...
Formale Systeme WS 2011/2012 Skript zur Vorlesung - Faculty of ...
Formale Systeme WS 2011/2012 Skript zur Vorlesung - Faculty of ...
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
Für den Inklusionstest können wir folgende Beobachtung ausnutzen:<br />
L(M 1 ) ⊆ L(M 2 ) gdw L(M 1 ) ∩ L(M 2 )=∅<br />
gdw<br />
L ( M 1 ⊗ M 2<br />
)<br />
= ∅<br />
Zur Beantwortung der Frage “gilt L(M 1 ) ⊆ L(M 2 )?” können wir also wie folgt verfahren.<br />
Wir bilden den Produktautomaten aus M 1 und dem Komplementautomaten von M 2 und führen<br />
für diesen den Leerheitstest durch. Die Laufzeit für den Inklusions- und Äquivalenztest für<br />
gegebene DFA M 1 , M 2 ist linear in der Größe der Produkt-DFA M 1 ⊗ M 2 bzw. M 1 ⊗ M 2 ,<br />
und kann daher durch Θ(size(M 1 ) · size(M 2 )) angebenen werden. Hierbei steht size(M) für<br />
die Anzahl an Zuständen und Transitionen in M. Für gegebene NFA kann der Inklusions- und<br />
Äquivalenztest mit der beschriebenen Methode und vorangegangener Determinisierung gelöst<br />
werden. Die Kosten werden dann jedoch durch die Determinisierung dominiert und sind im<br />
schlimmsten Fall exponentiell.<br />
Endlichkeitstest. Das Endlichkeitsproblem für endliche Automaten fragt, ob die akzeptierte<br />
Sprache endlich ist. Das Endlichkeitsproblem kann für NFA dank folgender Beobachtung gelöst<br />
werden. Die durch einen NFA M akzeptierte Sprache ist genau dann unendlich, wenn es einen<br />
Anfangszustand q 0 , einen Endzustand p und einen Zustand r gibt, so dass r von q 0 und p von<br />
r erreichbar ist und r auf einem Zyklus liegt. Diese Bedingung kann durch den Einsatz von<br />
Graphalgorithmen, welche hier nicht erläutert werden, in linearer Zeit gelöst werden.<br />
2.3 Reguläre Ausdrücke<br />
In Satz 2.23 auf Seite 42 haben wir gesehen, dass die Klasse der regulären Sprachen unter<br />
allen gängigen Verknüpfungsoperatoren (Vereinigung, Durchschnitt, Komplement, Konkatenation<br />
und Kleeneabschluss) abgeschlossen ist. Satz 2.23 kann dahingehend verschärft werden,<br />
dass die Klasse der regulären Sprachen über Σ die kleinste Klasse ist, die unter den Operationen<br />
Vereinigung, Konkatenation und Kleeneabschluss abgeschlossen ist und welche die Sprachen<br />
∅, {ε} und {a}, a ∈ Σ enthält. Um diese Aussage zu belegen, betrachten wir einen weiteren<br />
Formalismus, der sehr intuitive Schreibweisen für reguläre Sprachen ermöglicht.<br />
Definition 2.25 (Syntax regulärer Ausdrücke). Sei Σ ein Alphabet. Die Menge der regulären<br />
Ausdrücke über Σ ist durch folgende induktive Definition gegeben.<br />
1. ∅ und ε sind reguläre Ausdrücke.<br />
2. Für jedes a ∈ Σ ist a ein regulärer Ausdruck.<br />
3. Mit α und β sind auch (αβ), (α + β) und (α ∗ ) reguläre Ausdrücke.<br />
4. Nichts sonst ist ein regulärer Ausdruck.<br />
Die Klammern werden <strong>of</strong>tmals weggelassen, wobei der Verknüpfungsoperator + die schwächste<br />
Priorität hat und der Sternoperator am stärksten bindet. Z.B. steht aε + bc ∗ für ((aε)+<br />
(b(c ∗ ))). 5<br />
5 Ähnlich wie in Beispiel 1.10 auf Seite 13 kann anstelle der induktiven Definition eine kontextfreie Grammatik<br />
für die Syntax vollständig oder sparsam geklammerter regulärer Ausdrücke angegeben werden.<br />
47