29.01.2014 Aufrufe

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 ...

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.

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

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!