Automatentheorie und Formale Sprachen - Mitschrift - Katoen/10.04.2007
Aus Infostudium Wiki
Inhaltsverzeichnis |
Sprachen
Sprachen und Grammatiken und Automaten
| Sprache | Grammatik | Automatenmodell |
| 0 | ohne Restriktionen | Turingmaschine (DTM/NTM) |
| 1 | kontextsensitiv | linear beschr. Automaten (LBA) |
| 2 | kontextfreie | Kellerautomaten (NKA) |
| det. KFL | LR(k)-Grammatiken | DKA |
| 3 | reguläre Grammatiken, reguläre Ausdrücke | Endlicher Automat (DEA/NEA) |
Abschlusseigenschaften
gegeben: Sprachen L1,L2 und L
1.) wenn L1 und L2 vom Typ i sind, gilt dann auch, dass L1
L2 vom Typ i sind?
2.) wenn L
Typ i, ist dann auch
L vom Typ i? 
Seien G1 = (V1,Σ,P1,S1) und G2 = (V2,Σ,P2,S2) Grammatiken mit denselben Terminalalphabeten. Nehme o.E. an 
1.) Vereinigung 
wobei 

Dann gilt
.
Weiter gilt: Sind G1 und G2 vom Typ i, dann ist auch
vom Typ i(1,2,3)
2.) Konkatenation
,
wobei
mit 

dann gilt: 
weiter gilt: sind G1 und G2 vom Typ i, dann ist auch
vom Typ i(0,1,2) [nicht für i=3]
3.) Kleeneabschluss. Sei G = (V,Σ,P,S) eine Grammatik. Sei G' = (V',Σ,P',S'),wobei
.
Es folgt L(G') = L(G) *
.
Ist G vom Typ 2, so ist auch G' vom Typ 2. Genauso, ist G vom Typ 1,
so ist auch G' vom Typ 1.
Bsp.: Sei
L(G) = {0,1,...,9}br>
1) Sei
mit den Regeln in P und zusätzlich
.
Dann gilt: L(G * ) = L(G) * (alle Ziffernfolgen)
2) Sei
mit den Regeln in G * und zusätzlich
.
Dann gilt:
br>
| | | | * | |
| Typ 0 | ( + ) | + | ( − ) | + | + |
| 1 | ( + ) | + | ( + ) | + | + |
| 2 | ( − ) | + | ( − ) | + | + |
| 3 | ( + ) | + | ( + ) | ( + ) | ( + ) |
() = Kommt noch
+ = abgeschlossen unter diesem Operator
- = nicht abgeschlossen
Satz
Beweis
ist trivial
. w kann zerlegt werden
mit:
Fall 1
kein
. Dann
und klar
Fall 2
es gibt
. Gruppiere die Segmente wi jeweils bis zum nächsten
br>
damit erhalten wir "`Blöcke"' in K * L. Nach dem letzten Block folgen evtl. noch K-Segmente (kein
) damit
.
wichtige Entscheidungsprobleme für Grammatiken:
1. Wortproblem (WP):
Gegeben:
und eine Grammatik für
vom Typ i.
Gefragt: gilt
?
2. Leerheitsproblem (LP):
Gegeben: eine Grammatik G vom Typ i
Gefragt:
?
3. Äquivalenzproblem (ÄP):
Gegeben: Grammatiken G1 und G2 (über Σ < math > )vomTypi < br > Gefragt:gilt < math > L(G1) = L(G2)?
| WP | LP | ÄP | |
| Typ 0 | − | − | − |
| 1 | + | − | − |
| 2 | + O(n3) | + O( | G | ) | − |
| 3 | + O(n) | + O( | G | ) | + O( | G | ) |
+ = das Problem ist entscheidbar
Reguläre Ausdrücke
Sei Σ ein Alphabet. Die Menge der regulären Ausdrücke über Σ ist wie folgt definiert.
*und ε sind RA * für
ist a ein RA * wenn α und β RA sind, dann sind auch αβ, α + β und α * RA * nichts sonst ist ein RA
Definition - Semantik von regulären Ausdrücken
*
* L(a) = {a}
* L(ε) = {ε}
*
*
* L(α * ) = L(α) *
Beispiel
*
*
* ab * (c + ε) alle Wörter die:
1) mit einem a anfangen
2) gefolgt durch beliebig viele b's
3) abschließend optionell ein c
*![]()
und
ist 



