Automaten und formale Sprachen

websites.thm.de

Automaten und formale Sprachen

Automaten und formale Sprachen

Klausurvorbereitung

Inhaltsverzeichnis

Rami Swailem

Mathematik Naturwissenschaften und Informatik

FH-Gießen-Friedberg

1 Definitionen 2

2 Altklausur Jäger 2006 8

1


AfS_Klausurvorbereitung.tex,v,1.1,September 30, 2007 at 15:15:18 CET

Rami Swailem

FH Gießen-Friedberg

1 Definitionen

Endlicher Automat

AfS

Vorbereitung

Definition 1.1 Ein Endlicher Automat (EA) ist ein 5-Tupel (Q, Σ, δ, q0, F ) mit folgenden

Bestandteilen

1. Q ist die endliche Menge der Zustände

2. Σ ist ein Alphabet

3. δ: Q × Σ −→ Q ist die Übergangsfunktion

4. q0 ∈ Q ist der Startzustand

5. F ⊆ Q ist die Menge der Endzustände

Anmerkung zur Definition

• Die Endzustandsmenge F kann durchaus leer sein

• δ ist die Funktion, d. h. zu einem Zustand q und einem Eingabesymbol a ∈ Σ höchstens

einen Folgezustand q ′

• Die Benennung der Zustände eines Automaten spielt keine Rolle!

Nichtdeterministischer Endlicher Automat

Definition 1.2 Ein Nichtdeterministischer Endlicher Automat (NEA) ist ein 5-Tupel

(Q, Σ, δ, q0, F ) mit folgenden Bestandteilen

1. Q ist die endliche Menge der Zustände

2. Σ ist ein Alphabet

3. δ: Q × Σε −→ P (Q) ist die Übergangsfunktion

4. q0 ∈ Q ist der Startzustand

5. F ⊆ Q ist die Menge der Endzustände

Reguläre Ausdrücke

Definition 1.3 Sei Σ ein Alphabet. Die Menge der regulären Ausdrücke über Σ ist induktiv

definiert. Jeder reguläre Ausdruck r repräsentiert eine Sprache L(r) ⊆ Σ ∗ .

1. Für jedes Symbol a ∈ Σ ist a ein regulärer Ausdruck. L(a) = {a}

2. ε ist ein regulärer Ausdruck. L(ε) = {ε}

SS 07

Seite 2


AfS_Klausurvorbereitung.tex,v,1.1,September 30, 2007 at 15:15:18 CET

Rami Swailem

FH Gießen-Friedberg

3. φ ist ein regulärer Ausdruck. L(φ) = φ.

AfS

Vorbereitung

4. Seien r1 und r2 reguläre Ausdrücke (über Σ). Dann ist (r1r2) ein regulärer Ausdruck.

L((r1r2)) = L(r1)L(r2)

5. Seien r1 und r2 reguläre Ausdrücke. Dann ist (r1|r2) ein regulärer Ausdruck.

L((r1|r2)) = L(r1) ∪ L(r2)

6. Seien r ein regulärer Ausdruck. Dann ist r ∗ ein regulärer Ausdruck. L(r ∗ ) = L(r) ∗

Definition 1.4 Seien r und s reguläre Ausdrücke über Σ. r und s heißen äquivalent

(Notation: r = s), genau dann, wenn L(r) = L(s).

Anmerkung

• Den |-Operator nennen wir auch |ODER-Operator oder Vereinigungs-Operator. In

[Sipser] wird er als ∪ notiert.

• Wie bei den zugrunde liegenden Sprachoperationen denieren wir auch einen +-

Operator als Schreibabkurzung:

r + = rr ∗

Sei R die Menge der regulären Ausdrücke über einem Alphabet Σ.

Definition 1.5 Ein Verallgemeinerter Nichtdeterministischer Endlicher Automat ist ein

5-Tupel (Q, Σ, δ, qstart, qaccept) mit folgenden Bestandteilen

1. Q ist die endliche Menge der Zustände

2. Σ ist das Eingabealphabet,

3. δ : (Q\{qaccept}) × (Q\{qstart}) −→ R ist die Übergangsfunktion,

4. qstart ist der Startzustand,

5. qaccept ist der Endzustand.

Kontextfreie Grammatiken, kontextfreie Sprachen und

Kellerautomaten

• Kontextfreie Grammatiken sind eine formale Beschreibungsmöglichkeit für die Syntax

von Programmiersprachen und natürlichen Sprachen.

• Die mit kontextfreien Grammatiken beschreibbaren Sprachen heißen kontextfreie

Sprachen. Zu diesen gehören auch alle regulären Sprachen.

• Kellerautomaten akzeptieren kontextfreie Sprachen.

SS 07

Seite 3


AfS_Klausurvorbereitung.tex,v,1.1,September 30, 2007 at 15:15:18 CET

Rami Swailem

FH Gießen-Friedberg

AfS

Vorbereitung

• Kontextfreie Grammatiken spielen im Compilerbau eine wichtige Rolle. Die Syntaxanalyse,

implementiert in Form eines sogenannten Parsers, uberpruft einen ¨ ¨

Programmquelltext daraufhin, ob er einer kontextfreien Grammatik entspricht.

Definition 1.6 Eine kontextfreie Grammatik ist ein 4-Tupel G = (V, Σ, R, S) mit folgenden

Bestandteilen:

1. V ist die endliche Menge der Variablen (oder Nonterminalsymbole)

2. Σ ist die endliche Menge der textcolorredTerminalsymbole, Σ ∩ V = φ.

3. R ist die endliche Menge der Ableitungsregeln (oder Ersetzungsregeln),

R ⊂ (V × (V ∪ Σ) ∗

4. S ∈ V ist das Startsymbol.

Die Notation für eine Ableitungsregel ist

X −→ w

wobei X ∈ V, w ∈ (V ∪ Σ) ∗ . X heißt linke Regelseite, w rechte Regelseite.

Ableitbarkeit

Definition 1.7 Sei G = (V, Σ, R, S) eine Grammatik, u, x, y, w ∈ (V ∪) ∗ .

Aus uxw ist uyw direkt ableitbar (Notation: uxw ⇒ uyw), wenn (x → y) ∈ R .

Aus uxw ist uyw ableitbar (Notation: uxw ∗ ⇒ uyw), wenn für ein n ≥ 0 Wörter v0, · · · , vn

existieren, so dass

uxw = uv0w ⇒ uv1w · · · ⇒ uvnw = uyw

(Für n = 0 ist x = y.)

Die Anzahl der Ableitungsschritte n ist die Länge der Ableitung.

(Die Ableitbarkeitsrelation ist demzufolge der transitive und reexive Abschluss der direkten

Ableitbarkeit.)

Satzform und Sprache

Definition 1.8

SS 07

Seite 4


AfS_Klausurvorbereitung.tex,v,1.1,September 30, 2007 at 15:15:18 CET

Rami Swailem

FH Gießen-Friedberg

AfS

Vorbereitung

• Sei G = (V, Σ, R, S) eine kontextfreie Grammatik. Ein Wort w ∈ (V ∪ Σ) ∗ , das sich

aus S ableiten lässt, S ∗ ⇒ w, heißt Satzform (zu G).

• Die von G erzeugte Sprache ist die Menge aller nur aus Terminalsymbolen bestehenden

Satzformen:

L(G) = w ∈ Σ ∗ |S ∗ ⇒ w

• Zwei Grammatiken G1 und G2 heißen äquivalent, wenn L(G1) = L(G2).

Kanonische Ableitungen

Falls in einer Satzform mehrere Variablen vorkommen, ist die Reihenfolge der Ableitungsschritte

nicht mehr eindeutig festgelegt. Wir definieren zwei kanonische Reihenfolgen für

die Ableitungschritte:

Definition 1.9 Eine Ableitung, bei der in jedem Ersetzungsschritt die äußerst linke (rechte)

Variable ersetzt wird, heißt Linksableitung (bzw. Rechtsableitung).

Eine Darstellung, die von der Reihenfolge der Ableitungsschritte abstrahiert, ist der Ableitungsbaum

(auch Syntaxbaum oder Zerlegungsbaum).

Ableitungsbaum

Definition 1.10 Ein Ableitungsbaum ist ein geordneter Baum, der aus einer Ableitung

eines Worts w bezüglich einer Grammatik G = (V, Σ, R, S) wie folgt konstruiert wird:

• Der Wurzelknoten wird mit dem Startsymbol S markiert

• Zu jeder in der Ableitung angewandten Regel X =⇒ x1 · · · xn werden dem mit X

markierten Knoten im Baum, der die ersetzte Variable repräsentiert, n neue, mit

x1, · · · , xn markierte Knoten als Nachfolgeknoten zugeordnet.

Der Baum hat folgende Eigenschaften:

• Die inneren Knoten des Baums sind mit Variablen markiert.

• Die Blätter sind mit Terminalsymbolen markiert.

• Die Blätter ergeben von links nach rechts angeordnet das abgeleitete Wort w.

Mehrdeutigkeit

SS 07

Seite 5


AfS_Klausurvorbereitung.tex,v,1.1,September 30, 2007 at 15:15:18 CET

Rami Swailem

FH Gießen-Friedberg

AfS

Vorbereitung

Definition 1.11 Ein Wort w heißt mehrdeutig ableitbar bezüglich einer Grammatik G,

wenn es für w mehrere Linksableitungen gibt.

Eine Grammatik G heißt mehrdeutig, wenn ein Wort w ∈ L(G) mehrdeutig ableitbar ist.

Eine Grammatik G heißt inhärent mehrdeutig, wenn es keine zu G äquivalente nicht

mehrdeutige Grammatik gibt.

Die Chomsky-Normalform

Algorithmen fur kontextfreie Grammatik werden oft viel einfacher, wenn man bestimmte

Voraussetzungen über die Form der Regeln machen kann. Die Chomsky-Normalform läßt

nur bestimmte, einfache Regelformen zu:

Definition 1.12

Eine kontextfreie Grammatik G = (V, Σ, R, S) ist in Chomsky-Normalform, wenn jede

Regel eine der folgenden Formen hat

S → ε

A → BC

A → a

wobei a ∈ Σ, A ∈ V und B, C ∈ V \{S}.

Kellerautomaten

Definition 1.13 Ein Kellerautomat ist ein 6-Tupel M = (Q, Σ, Γ, δ, q0, F ) mit folgenden

Komponenten

• Q ist die endliche Menge der Zustände

• Σ ist das Eingabealphabet

• Γ ist das Kerlleralphabet (Stack-Alphabet)

• δ : Q × Σε × Γε −→ P(Q × Γε) ist die Übergangsfunktion.

• q0 ∈ Q ist der Startzustand, und

• F ⊆ Q ist die Menge der akzeptierenden Zuständen

LL(1)-Grammatiken

Definition 1.14 Eine Grammatik hat die LL(1)-Eigenschaft, g.d.w. kein Tabelleneintrag

T AB[X, a] mehrere Regeln enthält.

SS 07

Seite 6


AfS_Klausurvorbereitung.tex,v,1.1,September 30, 2007 at 15:15:18 CET

Rami Swailem

FH Gießen-Friedberg

Turingmaschine – Formale Definition

AfS

Vorbereitung

Definition 1.15 Eine Turingmaschine ist ein 7-Tupel (Q, Σ, Γ, δ, q0.qaccept, qreject), mit folgenden

Komponenten:

• Q ist die Menge der Zustände

• Σ ist das Eingabealphabet, das nicht das spezielle Symbol ⊔ für das Leerzeichen

enthält (⊔ ∈ Σ),

• Γ ist das Bandalphabet, wobei ⊔ ∈ Γ und Σ ⊂ Γ

• δ : Q × Γ −→ Q × Γ × {L, R} ist die Übergangsfunktion,

• q0 ∈ Q ist der Startzustand,

• qaccept ∈ Q ist der akzeptierender Zustand, und

• qreject ∈ Q ist der ablehndender Zustand, wobei qreject = qaccept ist

Turingmaschinen und Sprachen

Definition 1.16

Eine Sprache heißt rekursiv aufzählbar (Turing-erkennbar, semi-entscheidbar), wenn eine

TM sie akzeptiert.

Entscheidbarkeit

Eine Turingakzeptor M entscheidet die von ihm akzeptierte Sprache L(M), wenn M mit

jeder Eingabe immer anhält. Jede Eingabe wird nach endlicher Zeit akzeptiert oder durch

Übergang in eine ablehnende Konfiguration zurückgewiesen. Wir nennen eine solche TM

auch Turing-Entscheider.

Definition 1.17

Eine Sprache heißt entscheidbar (rekursiv entscheidbar, Turing-entscheidbar), wenn eine

TM sie entscheidet.

Jede entscheidbare Sprache ist rekursiv aufzählbar

Diagonalisierungsmethode

Definition 1.18 Eine Menge M heißt abzählbar, wenn sie endlich ist oder wenn eine

bijektive Funktion f : N −→ M existiert.

Eine unendliche Menge M heißt überabzählbar, wenn es eine solche Funktion nicht gibt.

SS 07

Seite 7


AfS_Klausurvorbereitung.tex,v,1.1,September 30, 2007 at 15:15:18 CET

Rami Swailem

FH Gießen-Friedberg

2 Altklausur Jäger 2006

Aufgabe 1

a) Kellerautomaten

b)

Aufgabe 2

Übergangsfunktion: δ : Q × Σε × Γε −→ P(Q × Γε)

a) 1 ∗ (00) + 1 ∗ ∪ Σ ∗ 0Σ ∗ 0Σ ∗ 0Σ ∗ 0Σ ∗

b) ε|(0|1) + 01 ∗

SS 07

start

Vereinfachung:

ε

ε

1

1

ε

0

ε

ε

0

0 1

AfS

Vorbereitung

1

Seite 8


AfS_Klausurvorbereitung.tex,v,1.1,September 30, 2007 at 15:15:18 CET

Rami Swailem

FH Gießen-Friedberg

start

c) NEA -> DEA

d) a ∪ abb ∗ = a ∪ ab +

Aufgabe 3

ε 0

1

1

start {1}

a

{2, 3}

b

{2, 3}

b

{qerr}

a,b

ε

a a

Transformieren in Chomsky-Normalform: S → ε|SaS|abc

1. Einführen eines neuen Startsymbol:

S0 → S

S → ε|SaS|abc

2. ε-Regeln entfernen:

SS 07

S0 → S|ε

S → SaS|abc

ε

0

0 1

AfS

Vorbereitung

b

1

Seite 9


AfS_Klausurvorbereitung.tex,v,1.1,September 30, 2007 at 15:15:18 CET

Rami Swailem

FH Gießen-Friedberg

3. Remove Units Rules:

S0 → ε|SaS|abc

S → SaS|abc

4. Neue Variable Einführen:

Aufgabe 4

S0 → ε|

Y

SAS | X

ABC

S → Y

SAS | X

ABC

A → a

B → b

C → c

X → AB

Y → SA

S → X, X → ε|a|abc

SS 07

ε, ε → S$ ε, $ → ε

start qstart

qloop qaccept

ε, S → X

ε, X → ε

ε, X → a

ε, X → abc

a, a → ε

b, b → ε

c, c → ε

AfS

Vorbereitung

Seite 10


AfS_Klausurvorbereitung.tex,v,1.1,September 30, 2007 at 15:15:18 CET

Rami Swailem

FH Gießen-Friedberg

Aufgabe 5

ε, ε → $ ε, ε → S

start qstart

qloop qaccept

L = {a n b m |n, m 0, n = m}

SS 07

ε, ε → b

ε, X → c

ε, S → X

ε, X → ε

ε, X → a

a, a → ε

b, b → ε

c, c → ε

ε, ε → a

ε, $ → ε

AfS

Vorbereitung

Seite 11

Weitere Magazine dieses Users
Ähnliche Magazine