12.08.2013 Aufrufe

Seminar Angewandte Automatentheorie, WS ... - David R. Piegdon

Seminar Angewandte Automatentheorie, WS ... - David R. Piegdon

Seminar Angewandte Automatentheorie, WS ... - David R. Piegdon

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!