Języki, utomty i oliczeni Wykłd 5: Wricje n temt utomtów skończonych Słwomir Lsot Uniwersytet Wrszwski 25 mrc 2015
Pln
Automty dwukierunkowe (Niedeterministyczny) utomt dwukierunkowy A = (A,,, Q, I, F, δ) δ Q (A {, }) Q { 1, 0, 1} (q,, q, k) δ: czytj, zmień stn z q n q, zmień pozycję o k Ustlmy słowo wejściowe w A, niech n = w. Konfigurcj utomtu A n słowie w to pr (q, i) Q {0... n + 1} konfigurcje początkowe I {1} q 0 1... i n n+1 konfigurcje kceptujące F {n + 1} Zrnimy przejść postci (q,, q, 1) (q,, q, 1), czyli: δ (Q { } Q { 1} Q { } Q {1}) =
Przykłd Pytnie Jki język rozpoznje ten utomt dwukierunkowy? A = {, } Q = {q 0, q 1, q 2, p 1, p 2,, r} I = {q 0 } F = {} q 0 (q 0, +1) (q 1, +1) (q 0, +1) (p 0, 1) q 1 (q 2, +1) (q 1, +1) (r, 1) q 2 (q 0, +1) (q 2, +1) (r, 1) p 0 (, +1) (p 0, 1) (p 1, 1) p 1 (r, +1) (p 1, 1) (p 0, 1) (, +1) (, +1) (, +1) r (r, +1) (r, +1) (r, +1)
Biegi utomtu dwukierunkowego Ustlmy utomt dwukierunkowy A = (A,,, Q, I, F, δ) i słowo w = 1... n A. Definiujemy relcję przejści pomiędzy konfigurcjmi utomtu A n słowie w. (q, i) (q, i + k) wtw. gdy 1 i n orz δ zwier przejście (q, i, q, k), lu i = 0 orz δ zwier przejście (q,, q, k), lu i = n + 1 orz δ zwier przejście (q,, q, k). Bieg n słowie w to ciąg konfigurcji (q 0, i 0 ),..., (q m, i m), gdzie q 0 I, i 0 = 0, orz (q j, i j ) (q j+1, i j+1 ), dl j = 0,..., m 1. Bieg jest kceptujący jeśli q m F orz i m = n + 1. Pytnie Jk długi może yć ieg utomtu dwukierunkowego n słowie w?
Język utomtu dwukierunkowego Język rozpoznwny przez A: L(A) = {w A : A m ieg kceptujący n w}. Pytnie Jki język rozpoznje ten utomt dwukierunkowy?, 1, 1, 1 strt, 1, 1, 1 (, nieużywne) Pytnie Czy utomty dwukierunkowe rozpoznją więcej języków niż utomty jednokierunkowe?
Automty dwukierunkowe jko mszyny Turing q 0 1... i n n+1 Automty dwukierunkowe = mszyny Turing ze stłą pmięcią = mszyny Turing z tśmą wejściową tylko do odczytu, ez tśmy rooczej
Deterministyczne utomty dwukierunkowe Automt dwukierunkowy A = (A,,, Q, I, F, δ) jest deterministyczny, jeśli relcj przejści jest funkcją: δ : Q A Q { 1, 0, 1} q 0 (q 0, +1) (q 1, +1) (q 0, +1) (p 0, 1) q 1 (q 2, +1) (q 1, +1) (r, 1) q 2 (q 0, +1) (q 2, +1) (r, 1) p 0 (, +1) (p 0, 1) (p 1, 1) p 1 (r, +1) (p 1, 1) (p 0, 1) (, +1) (, +1) (, +1) r (r, +1) (r, +1) (r, +1) Pytnie Ile stnów musi mieć deterministyczny utomt dwukierunkowy dl język L n = A A n 1?
Deterministyczne utomty dwukierunkowe (c.d.) Pytnie Ile stnów musi mieć deterministyczny utomt dwukierunkowy dl język L n = A A n 1 A?,, strt,,,
Deterministyczne utomty dwukierunkowe (c.d.) Pytnie Ile stnów musi mieć deterministyczny utomt dwukierunkowy dl język L n = A A n 1 A?,, strt,,, Odpowiedź idź w prwo do pierwszej idź n kroków w prwo jeśli to kceptuj w.p.p. idź n 1 kroków w lewo kontynuuj od pierwszej instrukcji wyjątek: jeśli to odrzuć
Automty dwukierunkowe jednokierunkowe Pytnie Czy utomty dwukierunkowe rozpoznją więcej języków niż utomty jednokierunkowe?
Automty dwukierunkowe jednokierunkowe Pytnie Czy utomty dwukierunkowe rozpoznją więcej języków niż utomty jednokierunkowe? Twierdzenie (Rin, Scott 1959, Sheprdson 1959) Automty dwukierunkowe rozpoznją języki regulrne. Dowód (Vrdi 1989): Niech A = (A,,, Q, I, F, δ) utomt dwukierunkowy. Fkt w = 1... n L(A) wtw. gdy P 0, P 1,..., P n+1 t.że I P 1 F P n+1 = i {0... n + 1}. (q, i, q, k) δ q P i = q P i+k(0 =, n+1 = )
Dowód (2N 1N) P 0 P 1 P 2 P 3 P 4 P 5 P 6 P 7 P 8 Dowód (c.d.): Definiujemy niedeterministyczny utomt jednokierunkowy A : Q = P(Q) P(Q) I = {(P, P ) : F = {(P, P ) : I P q P, p Q. (q,, p, 0) δ = p P q P, p Q. (q,, p, 1) δ = p P } P F = q P, p Q. (q,, p, 0) δ = p P q P, p Q. (q,, p, 1) δ = p P} δ = {((P, P ),, (P, P )) : q P, p Q. (q,, p, 1) δ = p P q P, p Q. (q,, p, 0) δ = p P q P, p Q. (q,, p, 1) δ = p P } Z fktu z poprzedniego sljdu wynik: w L(A ) w L(A)
Determinizcj? 2D utomty dwukierunkowe deterministyczne? 1N utomty jednokierunkowe niedeterministyczne 2 n O(n n ) 1D utomty jednokierunkowe deterministyczne 2N utomty dwukierunkowe niedeterministyczne O(2 n2 )
Pln
Niedeterminizm = A = {, } L n = A A A w = strt 0, 0 1 1, 2 2 3, 3
? = A = {, } A L n w = strt 0, 0 1 1 2, 2 3, 3
Alterncj Notcj Stny egzystencjlne i uniwerslne: strt 0, 0 1 1, 2 2 3, 3
Automty lternujące Automt lternujący A = (A, Q, Q, q 0, F, δ), Q Q =, Q = Q Q Zkłdmy, że dl kżdego q Q i A, istnieje p Q t.że (q,, p) δ. Ustlmy słowo wejściowe w = 1... n A. Gr o kceptcję G A,w : grcze: Automt, Przeciwnik pozycje Automtu: Q {0... n} pozycje Przeciwnik: Q {0... n} pozycj początkow: (q 0, 0) ruch (q, i 1) (q, i) jeśli (q, i, q ) δ Automt wygryw, gdy gr osiągnie pozycję (q, n), gdzie q F Język rozpoznwny przez utomt A: L(A) = {w A : Automt m strtegię wygrywjącą w grze G A,w }
Strtegi wygrywjąc Automtu Język rozpoznwny przez utomt A: L(A) = {w A : Automt m strtegię wygrywjącą w grze G A,w z (q 0, 0) } Automt m strtegię wygrywjącą w G A,w z (q, n) wtw. gdy q F W n A,w = F Automt m strtegię wygrywjącą w G A,w z (q, i 1) wtw. gdy q Q i istnieje p Q t.że (q, i, p) δ i Automt m strtegię wygrywjącą w G A,w z (p, i), lo q Q i dl kżdego p Q t.że (q, i, p) δ, Automt m strtegię wygrywjącą w G A,w z (p, i) W i 1 A,w = {q Q : p Q. (q, i, p) δ p W i A,w } {q Q : p Q. (q, i, p) δ = p W i A,w } L(A) = {w A : q 0 W 0 A,w }
Przykłd,, c c c, c strt c, c c, c c Pytnie Czy c L(A)? Jki język rozpoznje ten utomt?
Przykłd,, c c c, c strt c, c c, c c Pytnie Czy c L(A)? Jki język rozpoznje ten utomt? Odpowiedź ( (LL LcL) ) L, gdzie L = ( + c)
Pytni Pytnie Jk przeroić utomt lternujący A n utomt rozpoznjący język A L(A)?
Pytni Pytnie Jk przeroić utomt lternujący A n utomt rozpoznjący język A L(A)? Pytnie Czy utomty lternujące rozpoznją więcej języków niż utomty niedeterministyczne?
Automty lternujące języki regulrne Twierdzenie Automty lternujące rozpoznją języki regulrne. Dowód: Niech A = (A, Q, Q, q 0, F, δ) utomt lternujący. Konstruujemy utomt niedeterministyczny A = (A, Q, I, F, δ ): Q = P(Q) I = {X Q : q 0 X } F = P(F ) (X,, Y ) δ wtw. gdy X = {q Q : p Q. (q,, p) δ p Y } {q Q : p Q. (q,, p) δ = p Y } w L(A) q 0 W 0 A,w (W 0 A,w, w, W n A,w ) δ X I, Y F. (X, w, Y ) δ w L(A )
Automty lternujące języki regulrne ( ) utomty niedeterministyczne (egzystencjlne) ( ) utomty lternujące R utomty deterministyczne ( ) utomty ko-niedeterministyczne (uniwerslne) Fkt Automt (A ) R jest deterministyczny.
W nstępnym odcinku: minimlizcj utomtów niedeterministycznych utomty n drzewch czyli... prim prilis!