• Nie Znaleziono Wyników

Języki, automaty i obliczenia Wykład 4: Minimalizacja automatów skończonych Sławomir Lasota

N/A
N/A
Protected

Academic year: 2022

Share "Języki, automaty i obliczenia Wykład 4: Minimalizacja automatów skończonych Sławomir Lasota"

Copied!
23
0
0

Pełen tekst

(1)

Języki, automaty i obliczenia

Wykład 4: Minimalizacja automatów skończonych

Sławomir Lasota

Uniwersytet Warszawski

23 marca 2016

(2)

Plan

1 Języki regularne mają skończenie wiele ilorazów lewostronnych

2 Minimalizacja automatów deterministycznych

3 Minimalizacja automatów niedeterministycznych?

(3)

Równoważność Myhilla-Nerode’a

Notacja

w−1L zamiast {w }−1L = { u ∈ A : w u ∈ L }

Język L ⊆ Aokreśla relację równoważności w A: w ∼Lv ⇐⇒ w−1L = v−1L

Równoważnie:

w ∼Lv ⇐⇒ ∀u ∈ A. (w u ∈ L ⇐⇒ v u ∈ L)

Fakt (∼Ljest L-niezmiennicza)

w ∼Lv =⇒ (w ∈ L ⇐⇒ v ∈ L) rysunek

Dowód:

w ∈ L ⇐⇒ ε ∈ w−1L

(4)

Języki regularne mają skończenie wiele ilorazów lewostronnych

w ∼Lv ⇐⇒ w−1L = v−1L ⇐⇒ ∀u ∈ A. (w u ∈ L ⇐⇒ v u ∈ L)

Przykład

A = {a, b} ε−1L = L ε ∼Lab ∼Labab ∼L. . . L = (ab) a−1L = bL a ∼Laba ∼Lababa ∼L. . .

b−1L = ∅ b ∼Laa ∼Labb ∼L. . .

A = {a, b} (ak)−1L = { anbn+k : n ∈ N } L = { anbn : n ∈ N }

Twierdzenie (Myhill-Nerode 1958)

Niech L ⊆ A. Następujące warunki są równoważne:

L jest regularny

Lma skończony indeks

(5)

Dowód (L regularny =⇒ ∼

L

ma skończony indeks)

Niech A = (A, Q, {q0}, F , δ) automat deterministyczny rozpoznający L.

Dla q ∈ Q, niechLq(A) = . . .

Fakt L

δ(qb 0,w )(A) = w−1L, dla każdego w ∈ A.

Zdefiniujmy relację równoważności ∼Ana A:

w ∼Av ⇐⇒ bδ(q0, w ) = bδ(q0, v ).

Relacja ta ma skończony indeks. Używamy faktu powyżej, by dowieść w ∼Av =⇒ w ∼Lv .

Czyli indeks relacji ∼Ljest niewiększy niż indeks relacji ∼A.

Wniosek

Każdy automat deterministyczny rozpoznający język L ma przynajmniej indeks(∼L) stanów.

(6)

Dowód (∼

L

ma skończony indeks =⇒ L regularny)

Fakt (∼Ljest prawą kongruencją) w ∼Lv =⇒ w a ∼Lv a

Dowód:

(w a)−1L = a−1(w−1L) = a−1(v−1L) = (v a)−1L

Konstruujemy automat deterministyczny AL: Q0 = A/∼L = { [w ]L : w ∈ A} q00 = [ε]L

F0 = { [w ]L : w ∈ L } δ0([w ]L, a) = [w a]L

Fakt L(AL) = L

Dowód:

δb0([ε]L, w ) = [w ]L∈ F ⇐⇒ w ∈ L

(7)

Automat A

L

(przykład)

Q0 = A/∼L = { [w ]L : w ∈ A} q00 = [ε]L

F0 = { [w ]L : w ∈ L } δ0([w ]L, a) = [w a]L

Przykład L = (a b)

[ε]L start

[b]L

[a]L a

b

b a

a, b

(8)

Dowód (∼

L

ma skończony indeks =⇒ L regularny)

Konstruujemy automat deterministyczny AL: Q0 = { w−1L : w ∈ A}

q00 = L = ε−1L F0 = { M ∈ Q0 : ε ∈ M } δ0(M, a) = a−1M

Fakt

0(q00, w ) = w−1L

Dowód:

a−1(w−1L) = (w a)−1L

Fakt L(AL) = L

Dowód:

w ∈ L(AL) ⇐⇒ bδ0(q00, w ) ∈ F0 ⇐⇒ ε ∈ w−1L ⇐⇒ w ∈ L

(9)

Automat A

L

(przykład)

Q0 = { w−1L : w ∈ A} q00 = L = ε−1L F0 = { M ∈ Q0 : ε ∈ M } δ0(M, a) = a−1M

Przykład L = (a b)

(a b) start

b (a b) a

b

b a

a, b

(10)

Automat minimalny

Wniosek

Każdy automat deterministyczny rozpoznający L ma przynajmniej indeks(∼L) stanów.

Automat ALma indeks(∼L) stanów.

Czyli ALtominimalnyautomat deterministyczny rozpoznający język L.

Pytanie

Czy automat minimalny jest wyznaczony jednoznacznie?

(11)

Dowodzenie minimalności (przykład)

Czy ten automat jest minimalny?

start

a

b

b a

a, b

Tak!

Każdy automat deterministyczny rozpoznający L = (a b)ma przynajmniej 3 stany.

Dowód:

ε a b

ε × b a b

a × × b

b × × ×

εb 6∈ L ab ∈ L εa b ∈ L ba b 6∈ L

ab ∈ L bb 6∈ L

(12)

Plan

1 Języki regularne mają skończenie wiele ilorazów lewostronnych

2 Minimalizacja automatów deterministycznych

3 Minimalizacja automatów niedeterministycznych?

(13)

Kongruencja i automat ilorazowy

Niech A = (A, Q, {q0}, F , δ) automat deterministyczny.

Kongruencjaw A to relacja równoważności R ⊆ Q × Q taka, że R(q, p) =⇒ (q ∈ F ⇐⇒ p ∈ F )

R(q, p) =⇒ R(δ(q, a), δ(p, a)), dla każdego a ∈ A.

start

a

b

b a

a, b a b

b a

(14)

Kongruencja i automat ilorazowy

Niech A = (A, Q, {q0}, F , δ) automat deterministyczny.

Kongruencjaw A to relacja równoważności R ⊆ Q × Q taka, że R(q, p) =⇒ (q ∈ F ⇐⇒ p ∈ F )

R(q, p) =⇒ R(δ(q, a), δ(p, a)), dla każdego a ∈ A.

Automat ilorazowyA/R:

A0 = A

Q0 = Q/R = { [q]R : q ∈ Q } q00 = [q0]R

F0 = F /R = { [q]R : q ∈ F } δ0([q]R, a) = [δ(q, a)]R

Fakt

L(A/R) = L(A)

Dowód:

0([q0]R, w ) = [bδ(q0, w )]R

(15)

Automat minimalny jako automat ilorazowy

Niech A = (A, Q, {q0}, F , δ) automat deterministyczny. Niech L = L(A).

Załóżmy, że wszystkie stany automatu A są osiągalne.

Definiujemy kongruencję w A następująco:

q ≡Ap wtw. gdy Lq(A) = Lp(A)

Czy to jest kongruencja? Należy sprawdzić:

Lq(A) = Lp(A) =⇒ (q ∈ F ⇐⇒ p ∈ F )

Lq(A) = Lp(A) =⇒ Lδ(q,a)(A) = Lδ(p,a)(A), dla każdego a ∈ A.

start

a

b

b a

a, b a b

b a

(16)

Automat minimalny jako automat ilorazowy

Niech A = (A, Q, {q0}, F , δ) automat deterministyczny. Niech L = L(A).

Załóżmy, że wszystkie stany automatu A są osiągalne.

Definiujemy kongruencję w A następująco:

q ≡Ap wtw. gdy Lq(A) = Lp(A)

Fakt

Automaty A/≡Ai ALsą izomorficzne.

Dowód:

Q0 = { Lq(A) : q ∈ Q } q00 = Lq0(A)

F0 = { Lq(A) : q ∈ F } δ0(Lq(A), a) = Lδ(q,a)(A)

Q0 = { w−1L : w ∈ A} q00 = L = ε−1L F0 = { M ∈ Q0 : ε ∈ M } δ0(M, a) = a−1M Użyjmy faktu:

Lbδ(q0,w )(A) = w−1L, dla każdego w ∈ A.

(17)

Problem minimalizacji

Wniosek

AutomatminimalnyALjest wyznaczony jednoznacznie (z dokładnością do izomorfizmu).

L = (a b)

start

a

b

b a

a, b a b

b a

start

a b

b a

a, b

(18)

Problem minimalizacji

Problem obliczeniowy

Dane: automat deterministyczny A

Wynik: automat (izomorficzny do automatu) AL

Algorytm minimalizacji

usuń stany nieosiągalne z automatu A

oblicz relację ≡A q ≡Ap wtw. gdy Lq(A) = Lp(A) oblicz automat ilorazowy A/≡A

(19)

Jak obliczyć relację ≡

A

?

q ≡Ap wtw. gdy Lq(A) = Lp(A)

q0 start

q4

q2

q1 q3

a

b

b a

a, b

a b

b a

q0 q1 q2 q3 q4

q0 × × ×

q1 × × ×

q2 × ×

q3 × ×

q4 × × ×

q0 q1 q2 q3 q4

q0 × × ×

q1 × × ×

q2 × × ×

q3 × × ×

q4 × × × ×

Początkowa równoważność:

q ≡0 p ⇐⇒ (q ∈ F ⇐⇒ p ∈ F ) Uszczegółowienie:

q ≡n+1 p ⇐⇒ q ≡np ∧ ∀a ∈ A δ(q, a) ≡n δ(p, a)

q ≡Ap ⇐⇒ ∀n q ≡np

(20)

Plan

1 Języki regularne mają skończenie wiele ilorazów lewostronnych

2 Minimalizacja automatów deterministycznych

3 Minimalizacja automatów niedeterministycznych?

(21)

Brak jednoznaczności

start a

b

c b, c

a, c

a, b

start b, c

a, c

a, b a

b c

(22)

Relacja ≡

A

dla automatów niedeterministycznych

q ≡Ap ⇐⇒ ∀n q ≡np

Dla automatów deterministycznych:

q ≡0 p ⇐⇒ (q ∈ F ⇐⇒ p ∈ F )

q ≡n+1 p ⇐⇒ q ≡np ∧ ∀a ∈ A δ(q, a) ≡n δ(p, a)

Dla automatów niedeterministycznych:

q ≡0 p ⇐⇒ (q ∈ F ⇐⇒ p ∈ F ) q ≡n+1 p ⇐⇒ q ≡np ∧ ∀a ∈ A

∀q0 δ(q, a, q0) =⇒ ∃p0δ(p, a, p0) ∧ δ(p, a) ≡n δ(q, a)

∀p0 δ(p, a, p0) =⇒ ∃q0δ(q, a, q0) ∧ δ(p, a) ≡n δ(q, a)

q ≡Ap ⇐⇒ Duplikator ma strategię wygrywającą z pozycji (q, p)

(23)

Gra bisymulacyjna

Dwaj graczeSpoileriDuplikator, gra rozgrywana w rundach. Runda rozpoczyna się w pozycji (q, p) ∈ Q2i przebiega następująco:

Spoilerwybiera jeden ze stanów (powiedzmy q), literę a ∈ A, i stan q0taki, że δ(q, a, q0);

w odpowiedziDuplikatorwybiera stan p0taki, że δ(p, a, p0) i kolejna runda zaczyna się w pozycji (q0, p0).

Kto nie może wykonać ruchu, natychmiast przegrywa. Rozgrywkę nieskończoną wygrywa zawszeDuplikator.

start start

a

b c

a a

b c

Cytaty

Powiązane dokumenty

L niebezkontekstowy ⇐= ∀n ∃x ∀x =wyuzv ∃m.. Pompowanie –

Poza obszarem używanym przez maszynę, na wszystkich pozycjach taśmy jest symbol B.. Nieistotne, na której pozycji taśmy zaczyna się obszar używany przez maszynę (przesunięcie

Maszyna M jest całkowita, jeśli zatrzymuje się dla każdego słowa wejściowego.... Czy

Wynik: czy da się pokolorować wierzchołki G trzema kolorami tak, żeby kolory sąsiadów były różne.. Problem plecakowy

Języki będziemy utożsamiać z zadaniami obliczeniowymi, albo problemami

Języki, automaty i obliczenia. Wykład 2:

(Każdy język regularny jest rozpoznawany przez automat

Wykład 5: Wariacje na temat automatów skończonych.