Seminar Angewandte Automatentheorie, WS ... - David R. Piegdon
Seminar Angewandte Automatentheorie, WS ... - David R. Piegdon
Seminar Angewandte Automatentheorie, WS ... - David R. Piegdon
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
Einführung Konstruktion des Universal-Automaten NEA-Minimierung Fazit<br />
<strong>Seminar</strong> <strong>Angewandte</strong> <strong>Automatentheorie</strong>, <strong>WS</strong> 2009/2010<br />
Der Universal-Automat<br />
Konstruktion und NEA-Minimierung<br />
<strong>David</strong> Rasmus <strong>Piegdon</strong><br />
Betreuer: Christof Löding<br />
Lehrstuhl für Informatik VII, RWTH Aachen<br />
Freitag, 15. Jan. 2010<br />
<strong>David</strong> R. <strong>Piegdon</strong> RWTH Aachen University of Technology<br />
Der Universal-Automat: Konstruktion und NEA-Minimierung
Einführung Konstruktion des Universal-Automaten NEA-Minimierung Fazit<br />
Quellen<br />
• S. Lombardy and J. Sakarovitch.<br />
The Universal Automaton.<br />
In Logic and Automata, History and Perspectives,<br />
Amsterdam Univ. Press (2007) 457–504.<br />
(Weitere Quellen siehe Paper)<br />
<strong>David</strong> R. <strong>Piegdon</strong> RWTH Aachen University of Technology<br />
Der Universal-Automat: Konstruktion und NEA-Minimierung
Einführung Konstruktion des Universal-Automaten NEA-Minimierung Fazit<br />
Inhalt<br />
1 Einführung<br />
2 Konstruktion des Universal-Automaten<br />
3 NEA-Minimierung<br />
4 Fazit<br />
<strong>David</strong> R. <strong>Piegdon</strong> RWTH Aachen University of Technology<br />
Der Universal-Automat: Konstruktion und NEA-Minimierung
Einführung Konstruktion des Universal-Automaten NEA-Minimierung Fazit<br />
Universal-Automat<br />
• Eindeutig für jede reguläre Sprache.<br />
• Für Automaten der gleichen Sprachen existiert<br />
Morphismus in Universal-Automaten.<br />
• Kann einfach konstruiert werden.<br />
• Hilft beim Minimieren von NEAs.<br />
• Gibt teilweise Auskunft über Sternhöhe der Sprache.<br />
<strong>David</strong> R. <strong>Piegdon</strong> RWTH Aachen University of Technology<br />
Der Universal-Automat: Konstruktion und NEA-Minimierung
Einführung Konstruktion des Universal-Automaten NEA-Minimierung Fazit<br />
Inhalt<br />
1 Einführung<br />
2 Konstruktion des Universal-Automaten<br />
3 NEA-Minimierung<br />
4 Fazit<br />
<strong>David</strong> R. <strong>Piegdon</strong> RWTH Aachen University of Technology<br />
Der Universal-Automat: Konstruktion und NEA-Minimierung
Einführung Konstruktion des Universal-Automaten NEA-Minimierung Fazit<br />
Universal-Automat<br />
Definition des Universal-Automaten<br />
Universal-Automat UL<br />
• UL = (FL, Σ, ∆ U , Q U I , QU F )<br />
• FL = { (X, Y ) | (X, Y ) ist max. Faktorisierung von L }<br />
• ∆ U = { ((X, Y ), a, (X ′ , Y ′ )) ∈ FL × Σ × FL | X · a · Y ′ ⊆ L }<br />
• Q U I<br />
• Q U F<br />
= { (X, Y ) | ɛ ∈ X }<br />
= { (X, Y ) | ɛ ∈ Y }<br />
<strong>David</strong> R. <strong>Piegdon</strong> RWTH Aachen University of Technology<br />
Der Universal-Automat: Konstruktion und NEA-Minimierung
Einführung Konstruktion des Universal-Automaten NEA-Minimierung Fazit<br />
Universal-Automat<br />
Konstruktion des Universal-Automaten<br />
0 b<br />
2<br />
b 3<br />
1<br />
a<br />
a b<br />
b<br />
min. DEA AL<br />
a<br />
a<br />
Konstruktion eines Automaten,<br />
der isomorph zu UL ist.<br />
Eingabe: beliebiger DEA der Sprache<br />
AL = (Q, Σ, δ, qI, QF ).<br />
Dazu sei:<br />
• Σ = a, b<br />
• L = Σ ∗ aΣ<br />
<strong>David</strong> R. <strong>Piegdon</strong> RWTH Aachen University of Technology<br />
Der Universal-Automat: Konstruktion und NEA-Minimierung
Einführung Konstruktion des Universal-Automaten NEA-Minimierung Fazit<br />
Universal-Automat<br />
Konstruktion des Universal-Automaten<br />
Eingabe: DEA AL<br />
• Zustände entsprechen Links-Quotienten der Sprache:<br />
∀w : w −1 L = FutA(δ(qI, w))<br />
• Jeder Schnitt von Links-Quotienten ist ein Rechts-Faktor<br />
⇒ Alle möglichen Durchschnitte bilden.<br />
<strong>David</strong> R. <strong>Piegdon</strong> RWTH Aachen University of Technology<br />
Der Universal-Automat: Konstruktion und NEA-Minimierung
Einführung Konstruktion des Universal-Automaten NEA-Minimierung Fazit<br />
Co-Determinisierung<br />
Definition Co-Determinisierung<br />
CODET (AL) =<br />
←−−−−−−<br />
DET ( ←−<br />
AL)<br />
• Umdrehen aller Transitionen,<br />
vertauschen von Anfangs- und Endzustände.<br />
• Determinisieren (Potenzmengenkonstruktion).<br />
• Wieder Umdrehen aller Transitionen,<br />
vertauschen von Anfangs- und Endzustände.<br />
<strong>David</strong> R. <strong>Piegdon</strong> RWTH Aachen University of Technology<br />
Der Universal-Automat: Konstruktion und NEA-Minimierung
Einführung Konstruktion des Universal-Automaten NEA-Minimierung Fazit<br />
Co-Determinisierung<br />
Eigenschaften<br />
Eigenschaften des codeterminisierten Automaten:<br />
• L CODET (A) = LA<br />
• Hat genau einen Endzustand.<br />
• Jeder Zustand hat pro a ∈ Σ maximal eine einkommende<br />
Transition.<br />
• ⇒ Es gibt keine 2 Zustände mit gleicher Zukunft.<br />
<strong>David</strong> R. <strong>Piegdon</strong> RWTH Aachen University of Technology<br />
Der Universal-Automat: Konstruktion und NEA-Minimierung
Einführung Konstruktion des Universal-Automaten NEA-Minimierung Fazit<br />
Co-Determinisierung<br />
Beispiel<br />
0 b<br />
2<br />
b 3<br />
1<br />
a<br />
a b<br />
b<br />
a<br />
AL<br />
a<br />
0123 a b<br />
a<br />
23<br />
a b<br />
13<br />
CL<br />
L = Σ ∗ aΣ<br />
CL = CODET (AL)<br />
= (Q C , Σ, Delta C , Q C I , {qC F })<br />
• zufällig Zustandsminimal<br />
• Q C ⊆ 2 Q<br />
• Q C = { {0, 1, 2, 3}, {2, 3}, {1, 3} }<br />
<strong>David</strong> R. <strong>Piegdon</strong> RWTH Aachen University of Technology<br />
Der Universal-Automat: Konstruktion und NEA-Minimierung
Einführung Konstruktion des Universal-Automaten NEA-Minimierung Fazit<br />
I A<br />
Definition IA<br />
0123 a b<br />
a<br />
23<br />
a b<br />
13<br />
CL = CODET (AL)<br />
Q C = { {0, 1, 2, 3}, {2, 3}, {1, 3} }<br />
Definition<br />
IA := Q C geschlossen unter Schnitt.<br />
Hier:<br />
IA = { {0, 1, 2, 3}, {2, 3}, {1, 3}, {3} }<br />
<strong>David</strong> R. <strong>Piegdon</strong> RWTH Aachen University of Technology<br />
Der Universal-Automat: Konstruktion und NEA-Minimierung
Einführung Konstruktion des Universal-Automaten NEA-Minimierung Fazit<br />
I A<br />
IA ∼ FL<br />
Es gibt eine Bijektion zwischen IA und FL:<br />
ψA : IA → FL<br />
ψA(P) := (X, Y ) mit Y = <br />
FutA(p)<br />
<strong>David</strong> R. <strong>Piegdon</strong> RWTH Aachen University of Technology<br />
Der Universal-Automat: Konstruktion und NEA-Minimierung<br />
p∈P
Einführung Konstruktion des Universal-Automaten NEA-Minimierung Fazit<br />
I A<br />
Beweis: ψA ist Bijektion:<br />
ψA : IA → FL : ψA(P) := (X, Y ) mit Y = <br />
FutA(p)<br />
ψA ist wohldefiniert:<br />
p∈P<br />
• Jeder Schnitt von Links-Quotienten ist ein Rechts-Faktor.<br />
<strong>David</strong> R. <strong>Piegdon</strong> RWTH Aachen University of Technology<br />
Der Universal-Automat: Konstruktion und NEA-Minimierung
Einführung Konstruktion des Universal-Automaten NEA-Minimierung Fazit<br />
I A<br />
Beweis: ψA ist Bijektion:<br />
ψA : IA → FL : ψA(P) := (X, Y ) mit Y = <br />
FutA(p)<br />
Sei χA = ψ −1<br />
A : χA : FL → 2 Q ,<br />
χA((X, Y )) := { p ∈ Q | Y ⊆ FutA(p) }<br />
Wenn ψA Bijektion, dann auch χA.<br />
<strong>David</strong> R. <strong>Piegdon</strong> RWTH Aachen University of Technology<br />
Der Universal-Automat: Konstruktion und NEA-Minimierung<br />
p∈P
Einführung Konstruktion des Universal-Automaten NEA-Minimierung Fazit<br />
I A<br />
Beweis: ψA ist Bijektion:<br />
χA : FL → 2 Q : χA((X, Y )) := { p ∈ Q | Y ⊆ FutA(p) }<br />
χA((X, Y )) = P , R = { S ∈ Q C | P ⊆ S }<br />
<strong>David</strong> R. <strong>Piegdon</strong> RWTH Aachen University of Technology<br />
Der Universal-Automat: Konstruktion und NEA-Minimierung
Einführung Konstruktion des Universal-Automaten NEA-Minimierung Fazit<br />
I A<br />
Beweis: ψA ist Bijektion:<br />
χA : FL → 2 Q : χA((X, Y )) := { p ∈ Q | Y ⊆ FutA(p) }<br />
χA((X, Y )) = P , R = { S ∈ Q C | P ⊆ S }<br />
Codeterminisierter Automat:<br />
FutC(S) ⊆ <br />
FutA(p)<br />
p∈S<br />
<strong>David</strong> R. <strong>Piegdon</strong> RWTH Aachen University of Technology<br />
Der Universal-Automat: Konstruktion und NEA-Minimierung
Einführung Konstruktion des Universal-Automaten NEA-Minimierung Fazit<br />
I A<br />
Beweis: ψA ist Bijektion:<br />
χA : FL → 2 Q : χA((X, Y )) := { p ∈ Q | Y ⊆ FutA(p) }<br />
χA((X, Y )) = P , R = { S ∈ Q C | P ⊆ S }<br />
∀p : p ∈ P ↔ p ∈ <br />
S <br />
⇒ P = <br />
S∈R<br />
S∈R<br />
S ⇒ P ∈ IA<br />
<strong>David</strong> R. <strong>Piegdon</strong> RWTH Aachen University of Technology<br />
Der Universal-Automat: Konstruktion und NEA-Minimierung
Einführung Konstruktion des Universal-Automaten NEA-Minimierung Fazit<br />
I A<br />
Beweis: ψA ist Bijektion:<br />
χA : FL → 2 Q : χA((X, Y )) := { p ∈ Q | Y ⊆ FutA(p) }<br />
χA((X, Y )) = P , R = { S ∈ Q C | P ⊆ S }<br />
∀p : p ∈ P ↔ p ∈ <br />
S <br />
⇒ P = <br />
S∈R<br />
S∈R<br />
S ⇒ P ∈ IA<br />
<strong>David</strong> R. <strong>Piegdon</strong> RWTH Aachen University of Technology<br />
Der Universal-Automat: Konstruktion und NEA-Minimierung
Einführung Konstruktion des Universal-Automaten NEA-Minimierung Fazit<br />
I A<br />
IA ∼ FL<br />
Jedes Element in IA Entspricht<br />
• einer Faktorisierung,<br />
• einem Zustand des Universalautomaten.<br />
<strong>David</strong> R. <strong>Piegdon</strong> RWTH Aachen University of Technology<br />
Der Universal-Automat: Konstruktion und NEA-Minimierung
Einführung Konstruktion des Universal-Automaten NEA-Minimierung Fazit<br />
Mathematische Konstruktion vom Universal-Automaten<br />
Konkrete Konstruktion<br />
VL := (IA, Σ, ∆ V , Q V I , QV F )<br />
∆ V = { (P, a, S) | δ(P, a) ⊆ S }<br />
Q V I = { P ∈ IA | qI ∈ P }<br />
Q V F = { P ∈ IA | P ⊆ QF }<br />
<strong>David</strong> R. <strong>Piegdon</strong> RWTH Aachen University of Technology<br />
Der Universal-Automat: Konstruktion und NEA-Minimierung
Einführung Konstruktion des Universal-Automaten NEA-Minimierung Fazit<br />
Mathematische Konstruktion vom Universal-Automaten<br />
Beweis: UL ∼ VL<br />
{ ((XP, YP), a, (X S, Y S)) | XP · a · Y S ⊆ L }<br />
= ∆ U ∼ ∆ V =<br />
{ (P, a, S) | δ(P, a) ⊆ S }<br />
δ(P, a) ⊆ S ⇐⇒ Y S ⊆ <br />
p∈δ(P,a)<br />
F(p)<br />
⇐⇒ a · YS ⊆ <br />
F(p) = YP ⇐⇒ XP · a · YS ⊆ L<br />
p∈P<br />
<strong>David</strong> R. <strong>Piegdon</strong> RWTH Aachen University of Technology<br />
Der Universal-Automat: Konstruktion und NEA-Minimierung
Einführung Konstruktion des Universal-Automaten NEA-Minimierung Fazit<br />
Mathematische Konstruktion vom Universal-Automaten<br />
Beweis: UL ∼ VL<br />
{ ((XP, YP), a, (X S, Y S)) | XP · a · Y S ⊆ L }<br />
= ∆ U ∼ ∆ V =<br />
{ (P, a, S) | δ(P, a) ⊆ S }<br />
δ(P, a) ⊆ S ⇐⇒ Y S ⊆ <br />
p∈δ(P,a)<br />
F(p)<br />
⇐⇒ a · YS ⊆ <br />
F(p) = YP ⇐⇒ XP · a · YS ⊆ L<br />
p∈P<br />
<strong>David</strong> R. <strong>Piegdon</strong> RWTH Aachen University of Technology<br />
Der Universal-Automat: Konstruktion und NEA-Minimierung
Einführung Konstruktion des Universal-Automaten NEA-Minimierung Fazit<br />
Mathematische Konstruktion vom Universal-Automaten<br />
Beweis: UL ∼ VL<br />
{ (X, Y ) | ɛ ∈ X } = Q U I ∼ QV I = { P ∈ IA | qI ∈ P }<br />
<strong>David</strong> R. <strong>Piegdon</strong> RWTH Aachen University of Technology<br />
Der Universal-Automat: Konstruktion und NEA-Minimierung
Einführung Konstruktion des Universal-Automaten NEA-Minimierung Fazit<br />
Mathematische Konstruktion vom Universal-Automaten<br />
Beweis: UL ∼ VL<br />
{ (X, Y ) | ɛ ∈ X } = Q U I ∼ QV I = { P ∈ IA | qI ∈ P }<br />
X = <br />
PastA(p)<br />
p∈P<br />
⇒ qI ∈ P ↔ ɛ ∈ PastA(p)<br />
⇒ ɛ ∈ X<br />
<strong>David</strong> R. <strong>Piegdon</strong> RWTH Aachen University of Technology<br />
Der Universal-Automat: Konstruktion und NEA-Minimierung
Einführung Konstruktion des Universal-Automaten NEA-Minimierung Fazit<br />
Mathematische Konstruktion vom Universal-Automaten<br />
Beweis: UL ∼ VL<br />
{ (X, Y ) | ɛ ∈ X } = Q U I ∼ QV I = { P ∈ IA | qI ∈ P }<br />
X = <br />
PastA(p)<br />
p∈P<br />
⇒ qI ∈ P ↔ ɛ ∈ PastA(p)<br />
⇒ ɛ ∈ X<br />
<strong>David</strong> R. <strong>Piegdon</strong> RWTH Aachen University of Technology<br />
Der Universal-Automat: Konstruktion und NEA-Minimierung
Einführung Konstruktion des Universal-Automaten NEA-Minimierung Fazit<br />
Mathematische Konstruktion vom Universal-Automaten<br />
Beweis: UL ∼ VL<br />
{ (X, Y ) | ɛ ∈ X } = Q U I ∼ QV I = { P ∈ IA | qI ∈ P }<br />
X = <br />
PastA(p)<br />
p∈P<br />
⇒ qI ∈ P ↔ ɛ ∈ PastA(p)<br />
⇒ ɛ ∈ X<br />
<strong>David</strong> R. <strong>Piegdon</strong> RWTH Aachen University of Technology<br />
Der Universal-Automat: Konstruktion und NEA-Minimierung
Einführung Konstruktion des Universal-Automaten NEA-Minimierung Fazit<br />
Mathematische Konstruktion vom Universal-Automaten<br />
Beweis: UL ∼ VL<br />
{ (X, Y ) | ɛ ∈ Y } = Q U F ∼ QV F = { P ∈ IA | P ⊆ QF }<br />
(ähnlich wie bei Q U I ∼ QV I )<br />
<strong>David</strong> R. <strong>Piegdon</strong> RWTH Aachen University of Technology<br />
Der Universal-Automat: Konstruktion und NEA-Minimierung
Einführung Konstruktion des Universal-Automaten NEA-Minimierung Fazit<br />
Mathematische Konstruktion vom Universal-Automaten<br />
Beispiel<br />
VL<br />
VL = (IA, Σ, ∆ V , Q V I , QV F )<br />
<strong>David</strong> R. <strong>Piegdon</strong> RWTH Aachen University of Technology<br />
Der Universal-Automat: Konstruktion und NEA-Minimierung
Einführung Konstruktion des Universal-Automaten NEA-Minimierung Fazit<br />
Mathematische Konstruktion vom Universal-Automaten<br />
Beispiel<br />
13<br />
0123<br />
3<br />
VL<br />
23<br />
VL = (IA, Σ, ∆ V , Q V I , QV F )<br />
IA = { {0, 1, 2, 3}, {2, 3}, {1, 3}, {3} }<br />
<strong>David</strong> R. <strong>Piegdon</strong> RWTH Aachen University of Technology<br />
Der Universal-Automat: Konstruktion und NEA-Minimierung
Einführung Konstruktion des Universal-Automaten NEA-Minimierung Fazit<br />
Mathematische Konstruktion vom Universal-Automaten<br />
Beispiel<br />
13<br />
0123<br />
3<br />
VL<br />
23<br />
VL = (IA, Σ, ∆ V , Q V I , QV F )<br />
IA = { {0, 1, 2, 3}, {2, 3}, {1, 3}, {3} }<br />
Q V I = { P ∈ IA | qI = 0 ∈ P }<br />
= {{0, 1, 2, 3}}<br />
<strong>David</strong> R. <strong>Piegdon</strong> RWTH Aachen University of Technology<br />
Der Universal-Automat: Konstruktion und NEA-Minimierung
Einführung Konstruktion des Universal-Automaten NEA-Minimierung Fazit<br />
Mathematische Konstruktion vom Universal-Automaten<br />
Beispiel<br />
13<br />
0123<br />
3<br />
VL<br />
23<br />
VL = (IA, Σ, ∆ V , Q V I , QV F )<br />
IA = { {0, 1, 2, 3}, {2, 3}, {1, 3}, {3} }<br />
Q V I = { P ∈ IA | qI = 0 ∈ P }<br />
= {{0, 1, 2, 3}}<br />
Q V F = { P ∈ IA | P ⊆ QF = {1, 3} }<br />
= {{1, 3}, {3}}<br />
<strong>David</strong> R. <strong>Piegdon</strong> RWTH Aachen University of Technology<br />
Der Universal-Automat: Konstruktion und NEA-Minimierung
Einführung Konstruktion des Universal-Automaten NEA-Minimierung Fazit<br />
Mathematische Konstruktion vom Universal-Automaten<br />
Beispiel<br />
a b<br />
13<br />
a b<br />
0123<br />
a b<br />
3<br />
a<br />
a<br />
VL<br />
a b<br />
a<br />
a b<br />
a<br />
23<br />
a<br />
b a<br />
a<br />
VL = (IA, Σ, ∆ V , Q V I , QV F )<br />
IA = { {0, 1, 2, 3}, {2, 3}, {1, 3}, {3} }<br />
Q V I = { P ∈ IA | qI = 0 ∈ P }<br />
= {{0, 1, 2, 3}}<br />
Q V F = { P ∈ IA | P ⊆ QF = {1, 3} }<br />
= {{1, 3}, {3}}<br />
∆ V = { (P, a, S) | δ(P, a) ⊆ S }<br />
<strong>David</strong> R. <strong>Piegdon</strong> RWTH Aachen University of Technology<br />
Der Universal-Automat: Konstruktion und NEA-Minimierung
Einführung Konstruktion des Universal-Automaten NEA-Minimierung Fazit<br />
Komplexität<br />
Komplexität der Konstruktion<br />
• Co-Determinisierung: wie Potenzmengen-Konstruktion:<br />
Q C ⊆ 2 Q ⇒ Exponentielle Zeit, Exponentieller Speicher.<br />
• Konstruktion von IA: ebenso IA ⊆ 2 Q .<br />
• ∆ V hat max. 2 |Q| · |Σ| · 2 |Q| Elemente.<br />
• Q V I und QV F : maximal 2|Q| Elemente<br />
⇒ In Relation zur Zustandsgröße von AL:<br />
• exponentielle Zeit<br />
• exponentiell viel Speicher<br />
<strong>David</strong> R. <strong>Piegdon</strong> RWTH Aachen University of Technology<br />
Der Universal-Automat: Konstruktion und NEA-Minimierung
Einführung Konstruktion des Universal-Automaten NEA-Minimierung Fazit<br />
Komplexität<br />
Komplexität der Konstruktion<br />
• Co-Determinisierung: wie Potenzmengen-Konstruktion:<br />
Q C ⊆ 2 Q ⇒ Exponentielle Zeit, Exponentieller Speicher.<br />
• Konstruktion von IA: ebenso IA ⊆ 2 Q .<br />
• ∆ V hat max. 2 |Q| · |Σ| · 2 |Q| Elemente.<br />
• Q V I und QV F : maximal 2|Q| Elemente<br />
⇒ In Relation zur Zustandsgröße von AL:<br />
• exponentielle Zeit<br />
• exponentiell viel Speicher<br />
<strong>David</strong> R. <strong>Piegdon</strong> RWTH Aachen University of Technology<br />
Der Universal-Automat: Konstruktion und NEA-Minimierung
Einführung Konstruktion des Universal-Automaten NEA-Minimierung Fazit<br />
Inhalt<br />
1 Einführung<br />
2 Konstruktion des Universal-Automaten<br />
3 NEA-Minimierung<br />
4 Fazit<br />
<strong>David</strong> R. <strong>Piegdon</strong> RWTH Aachen University of Technology<br />
Der Universal-Automat: Konstruktion und NEA-Minimierung
Einführung Konstruktion des Universal-Automaten NEA-Minimierung Fazit<br />
NEA-Minimierung<br />
• Zustandsminimierung von NEAs ist PSPACE-Vollständig.<br />
• Vorgesteller Algorithmus ist exponentiell (Speicher, Zeit)<br />
• in Praxis meist effizienter und konkurrenzfähig.<br />
<strong>David</strong> R. <strong>Piegdon</strong> RWTH Aachen University of Technology<br />
Der Universal-Automat: Konstruktion und NEA-Minimierung
Einführung Konstruktion des Universal-Automaten NEA-Minimierung Fazit<br />
Morphismen<br />
Definition Morphismus<br />
Gegeben zwei Automaton<br />
A = (Q A , Σ, ∆ A , Q A I , QA F ) und B = (QB , Σ, ∆ B , Q B I , QB F )<br />
Eine Funktion ϕ : Q A → Q B ist ein Morphismus g.d.w.<br />
• ϕ(Q A I ) ⊆ QB I<br />
• ϕ(Q A F ) ⊆ QB F<br />
• ∀(q, a, qt) ∈ ∆ A : (ϕ(q), a, ϕ(qt)) ∈ ∆ B<br />
<strong>David</strong> R. <strong>Piegdon</strong> RWTH Aachen University of Technology<br />
Der Universal-Automat: Konstruktion und NEA-Minimierung
Einführung Konstruktion des Universal-Automaten NEA-Minimierung Fazit<br />
NEA-Minimierung über Morphismen<br />
Morphismen in Universal-Automat<br />
• Für alle Automaten AL gibt es einen Morphismus ϕA in UL.<br />
• Für alle kleineren Automaten (als UL) ohne<br />
verschmelzbare Zustände ist ϕA injektiv.<br />
<strong>David</strong> R. <strong>Piegdon</strong> RWTH Aachen University of Technology<br />
Der Universal-Automat: Konstruktion und NEA-Minimierung
Einführung Konstruktion des Universal-Automaten NEA-Minimierung Fazit<br />
NEA-Minimierung über Morphismen<br />
Morphismen in Universal-Automat<br />
• Für alle Automaten AL gibt es einen Morphismus ϕA in UL.<br />
• Für alle kleineren Automaten (als UL) ohne<br />
verschmelzbare Zustände ist ϕA injektiv.<br />
<strong>David</strong> R. <strong>Piegdon</strong> RWTH Aachen University of Technology<br />
Der Universal-Automat: Konstruktion und NEA-Minimierung
Einführung Konstruktion des Universal-Automaten NEA-Minimierung Fazit<br />
NEA-Minimierung über Morphismen<br />
Morphismen in Universal-Automat<br />
• Für alle Automaten AL gibt es einen Morphismus ϕA in UL.<br />
• Für alle kleineren Automaten (als UL) ohne<br />
verschmelzbare Zustände ist ϕA injektiv.<br />
⇒ Jeder zustandsminimale NEA für L ist Subautomat von UL.<br />
<strong>David</strong> R. <strong>Piegdon</strong> RWTH Aachen University of Technology<br />
Der Universal-Automat: Konstruktion und NEA-Minimierung
Einführung Konstruktion des Universal-Automaten NEA-Minimierung Fazit<br />
NEA-Minimierung über Morphismen<br />
Aufzählen aller Subautomaten<br />
• Jeder zustandsminimale NEA für L ist Subautomat von UL.<br />
• Finden: Jeden Subautomaten auf Sprachgleichheit testen.<br />
• Sprachäquivalenz von NEAs sehr aufwendig.<br />
Zusätzliche Tests für schnellen Ausschluss:<br />
• Heuristiken<br />
• Konsistenzbedingungen<br />
<strong>David</strong> R. <strong>Piegdon</strong> RWTH Aachen University of Technology<br />
Der Universal-Automat: Konstruktion und NEA-Minimierung
Einführung Konstruktion des Universal-Automaten NEA-Minimierung Fazit<br />
NEA-Minimierung über Morphismen<br />
Aufzählen aller Subautomaten<br />
• Jeder zustandsminimale NEA für L ist Subautomat von UL.<br />
• Finden: Jeden Subautomaten auf Sprachgleichheit testen.<br />
• Sprachäquivalenz von NEAs sehr aufwendig.<br />
Zusätzliche Tests für schnellen Ausschluss:<br />
• Heuristiken<br />
• Konsistenzbedingungen<br />
<strong>David</strong> R. <strong>Piegdon</strong> RWTH Aachen University of Technology<br />
Der Universal-Automat: Konstruktion und NEA-Minimierung
Einführung Konstruktion des Universal-Automaten NEA-Minimierung Fazit<br />
NEA-Minimierung über Morphismen<br />
Konsistenzbedingung<br />
Gegeben einen DFA AL und seinen Universalautomaton UL,<br />
ein Subautomat M hat die gleiche Sprache, falls<br />
a) <br />
F ∈QM ,F ⊆QA F = Q<br />
F<br />
A F<br />
(Alle Endzustände von A sind abgedeckt)<br />
b) ∀a ∈ Σ, ∀q ∈ Q A , ∀P ∈ Q M :<br />
[ δ A (q, a) = p ∧ p ∈ P ]<br />
→ [ ∃S ∈ Q M : q ∈ S ∧ δ A (S, a) ⊆ P ]<br />
(Induktion Rückwärts ab Endzuständen: w ∈ L ⇒<br />
es existiert Rückwärtslauf über w zu einem Startzustand)<br />
<strong>David</strong> R. <strong>Piegdon</strong> RWTH Aachen University of Technology<br />
Der Universal-Automat: Konstruktion und NEA-Minimierung
Einführung Konstruktion des Universal-Automaten NEA-Minimierung Fazit<br />
Beispiel NEA-Minimierung<br />
Beispiel für L = Σ ∗ aΣ<br />
C13<br />
C1<br />
C0123 a+b<br />
a<br />
C23<br />
a+b<br />
U0123<br />
<strong>David</strong> R. <strong>Piegdon</strong> RWTH Aachen University of Technology<br />
Der Universal-Automat: Konstruktion und NEA-Minimierung<br />
a+b<br />
a+b<br />
a+b<br />
U1<br />
a+b<br />
a<br />
U23<br />
a a<br />
U3<br />
U13<br />
a<br />
a+b<br />
a<br />
a<br />
a+b
Einführung Konstruktion des Universal-Automaten NEA-Minimierung Fazit<br />
Beispiel NEA-Minimierung<br />
Beispiel für L = Σ ∗ aΣ<br />
C1<br />
C0123 a+b<br />
a<br />
C23<br />
C13<br />
a+b<br />
M0123<br />
<strong>David</strong> R. <strong>Piegdon</strong> RWTH Aachen University of Technology<br />
Der Universal-Automat: Konstruktion und NEA-Minimierung<br />
a+b<br />
a+b<br />
M1<br />
a+b<br />
a<br />
M23<br />
M13<br />
a<br />
a+b<br />
a
Einführung Konstruktion des Universal-Automaten NEA-Minimierung Fazit<br />
Inhalt<br />
1 Einführung<br />
2 Konstruktion des Universal-Automaten<br />
3 NEA-Minimierung<br />
4 Fazit<br />
<strong>David</strong> R. <strong>Piegdon</strong> RWTH Aachen University of Technology<br />
Der Universal-Automat: Konstruktion und NEA-Minimierung
Einführung Konstruktion des Universal-Automaten NEA-Minimierung Fazit<br />
Fazit<br />
• Universalautomat durch einfache Operationen<br />
Berechenbar<br />
• Liefert Eigenschaften von Sprache und Faktorisierungen<br />
• Hilft bei NEA Zustandsminimierung<br />
<strong>David</strong> R. <strong>Piegdon</strong> RWTH Aachen University of Technology<br />
Der Universal-Automat: Konstruktion und NEA-Minimierung
Einführung Konstruktion des Universal-Automaten NEA-Minimierung Fazit<br />
Fragen?<br />
Danke für eure Aufmerksamkeit!<br />
<strong>David</strong> R. <strong>Piegdon</strong> RWTH Aachen University of Technology<br />
Der Universal-Automat: Konstruktion und NEA-Minimierung