Nierozstrzygalnosc i problem stopu
Transkrypt
Nierozstrzygalnosc i problem stopu
Z ŁO ŻONO Ś Ć OBLICZENIOWA ALGORYTMÓW
N IEROZSTRZYGALNO Ś Ć I PROBLEM STOPU
Bartosz Zieliński
Katedra Fizyki Teoretycznej i Informatyki
Zima 2011-2012
W PROWADZENIE
O CZYWISTE
FAKTY :
Istnieje nieprzeliczalna ilość je˛ zyków nad skończonym
alfabetem.
Istnieje przeliczalna ilość maszyn Turinga.
W NIOSEK
Istnieja˛ jezyki
˛
których nie można rozstrzygać ani nawet
rozpoznawać.
B AR TOSZ Z IELI ŃSKI (KFT I I)
Z ŁO ŻONO Ś Ć ...
2011/12
2 / 16
W ŁA ŚCIWO ŚCI J EZYKÓW
˛
R EKURENCYJNIE
P RZELICZALNYCH I R EKURENCYJNYCH
T WIERDZENIE
Dopełnienie L̄ := Σ∗ − L je˛ zyka rekurencyjnego L nad alfabetem
Σ jest rekurencyjne.
D OWÓD
Niech M rozstrzyga L. Wtedy L̄ rozstrzyga maszyna −M która
działa tak jak M, ale gdy M kończy na “tak” to −M kończy na
“nie” i na odwrót.
B AR TOSZ Z IELI ŃSKI (KFT I I)
Z ŁO ŻONO Ś Ć ...
2011/12
3 / 16
Niech M1 i M2 b˛eda˛ maszynami Turinga. Niech M1 + M2 bedzie
˛
maszyna˛ która symuluje niedeterministycznie maszyny M1 i M2
(alternatywnie symuluje na przemian po jednym ruchu M1 i M2 )
i (M1 + M2 )(x) = “tak” wtedy i tylko wtedy gdy M1 (x) = “tak” lub
M2 (x) = “tak”.
T WIERDZENIE
Unia L1 ∪ L2 dwóch j˛ezyków rekurencyjnie przeliczalnych jest
rekurencyjnie przeliczalna
D OWÓD
Jeśli M1 rozpoznaje L1 a M2 rozpoznaje L2 to
M1 + M2 rozpoznaje L1 ∪ L2 .
B AR TOSZ Z IELI ŃSKI (KFT I I)
Z ŁO ŻONO Ś Ć ...
2011/12
4 / 16
T WIERDZENIE
Jeśli jezyki
˛
L1 i L2 sa˛ rekurencyjne to L1 ∪ L2 jest także
rekurencyjny.
D OWÓD
Niech M1 rozstrzyga L1 i M2 rozstrzyga L2 . Wtedy M1 ⊕ M2
rozstrzyga L1 ∪ L2 gdzie M1 ⊕ M2 najpierw symuluje działanie M1
i zwraca “tak” gdy symulacja M1 kończy sie˛ “tak”. W
przeciwnym wypadku M1 ⊕ M2 symuluje M2 i kończy działanie
jak M2 .
B AR TOSZ Z IELI ŃSKI (KFT I I)
Z ŁO ŻONO Ś Ć ...
2011/12
5 / 16
T WIERDZENIE
Jeśli L i L̄ sa˛ rekurencyjnie przeliczalne to L jest rekurencyjny.
D OWÓD
Niech M1 rozpoznaje L a M2 rozpoznaje L̄. Wtedy L jest
rozstrzygane przez maszyne˛ M1 − M2 która symuluje
jednocześnie (na przemian po jednym ruchu) M1 i M2 . Jeśli M1
zwraca “tak” to M1 − M2 zwraca “tak”. Jeśli M2 zwraca “tak” to
M1 − M2 zwraca “nie”.
B AR TOSZ Z IELI ŃSKI (KFT I I)
Z ŁO ŻONO Ś Ć ...
2011/12
6 / 16
W NIOSKI
Dla dowolnego j˛ezyka L i jego dopełnienia L̄ zachodzi jedna z
trzech możliwości:
L i L̄ sa˛ rekurencyjne.
Ani L ani L̄ nie sa˛ rekurencyjnie przeliczalne.
Jeden z j˛ezyków L i L̄ jest rekurencyjnie przeliczalny ale nie
rekurencyjny. Drugi nie jest rekurencyjnie przeliczalny.
B AR TOSZ Z IELI ŃSKI (KFT I I)
Z ŁO ŻONO Ś Ć ...
2011/12
7 / 16
U NIWERSALNA M ASZYNA T URINGA
U NIWERSALNA
MASZYNA
T URINGA U
interpretuje swoje słowo wejściowe jako opis innej maszyny M
połaczony
˛
ze słowem wejściowym x dla M i symuluje
zachowanie M na x. Zapisujemy to jako
U (M; x) = M(x).
Uniwersalna maszyna Turinga może symulować dowolna˛ inna˛
maszyne˛ na dowolnym słowie.
B AR TOSZ Z IELI ŃSKI (KFT I I)
Z ŁO ŻONO Ś Ć ...
2011/12
8 / 16
K ODOWANIE ALFABETU I STANÓW DOWOLNEJ
MASZYNY M
Kodujemy stany i symbole dowolnej MT jako liczby.
Tzn., dla dowolnej maszyny Turinga M = (K, Σ, δ, s) mamy
Σ ≈ {1, 2, . . . , |Σ|},
K ≈ {|Σ| + 1, |Σ| + 2, . . . , |Σ| + |K|}.
Stan poczatkowy
˛
reprezentujemy zawsze jako |Σ| + 1.
Znaki . i t reprezentujemy jako 1 i 2.
Liczby |K| + |Σ| + 1, . . . , |K| + |Σ| + 6 służa˛ do zakodowania
symboli specjalnych ←, →, −, h, “tak”, “nie”.
Wszystkie liczby w czasie symulacji reprezentujemy w
zapisie binarnym, o stałej szerokości dlog(|K| + |Σ| + 6)e
(uzupełnienie zerami od lewej w miare˛ potrzeby).
“Stała szerokość” nie dotyczy danych poczatkowych.
˛
B AR TOSZ Z IELI ŃSKI (KFT I I)
Z ŁO ŻONO Ś Ć ...
2011/12
9 / 16
K ODOWANIE OPISU DOWOLNEJ MASZYNY T URINGA
Niech M = (K, Σ, δ, s). Be˛ dziemy oznaczać opis maszyny M w
je˛ zyku maszyny uniwersalnej U jako b(M).
W skład alfabetu U wchodza˛ oprócz “0”, “1” i “.”
także “(”, “)”, “,”, “:” i “;”.
b(M) = b(|K|), b(|Σ|) : b(δ),
gdzie b(n) to binarny zapis liczby n, a
b(δ) to ciag
˛ oddzielonych przecinkami par ((q, σ), (p, ρ, D)
gdzie δ(q, σ) = (p, ρ, D).
B AR TOSZ Z IELI ŃSKI (KFT I I)
Z ŁO ŻONO Ś Ć ...
2011/12
10 / 16
P RZYKŁAD OPISU
Niech M = (K, Σ, δ, s), gdzie
Σ = {., t, 1}, K = {s, p},
δ(., s) = (., s, →), δ(1, s) = (1, s, →), δ(t, s) = (t, p, ←),
δ(1, p) = (t, h, −), δ(., p) = (., h, →).
Wtedy
b(M) = 11, 10 : ((1, 100), (1, 100, 111)), ((11, 100), (11, 100, 111)),
((10, 100), (10, 101, 110)), ((11, 101), (10, 1001, 1000)),
((1, 101), (1, 1001, 111))
B AR TOSZ Z IELI ŃSKI (KFT I I)
Z ŁO ŻONO Ś Ć ...
2011/12
11 / 16
K ONSTRUKCJA U NIWERSALNEJ M ASZYNY T URINGA
Używamy trzech ciagów.
˛
Ciag
˛ 1: słowo wejściowe b(M); b(x) gdzie x jest słowem
wejściowym dla M.
Obliczamy a nast˛epnie umieszczamy w drugim ciagu
˛
reprezentacj˛e binarna˛ |Σ| + |K| + 6.
Trzeci ciag
˛ jest wykorzystywany do przechowywania
bieżacej
˛
konfiguracji symulowanej maszyny M: konfiguracja
(q, w, u) reprezentowana jest jako słowo .b(w), b(q), b(u)
(pamietać
˛
że symbole sa˛ reprezentowane jako liczby
binarne stałej szerokości).
Najpierw odpowiednio kopiowane jest x z pierwszego ciagu
˛
tak by utworzyć symulacje˛ stanu poczatkowego
˛
., b(s), b(x).
Aby maszyna znała stała˛ szerokość kodowania
wykorzystywana jest wartość |Σ| + |K| + 6 z drugiego ciagu.
˛
B AR TOSZ Z IELI ŃSKI (KFT I I)
Z ŁO ŻONO Ś Ć ...
2011/12
12 / 16
Aby symulować ruch maszyna U szuka w ciagu
˛ 1
reprezentacji binarnej pary (σ, q) odpowiadajacej
˛
symbolowi
pod kurosorem symulowanej maszyny i jej stanowi.
Jeśli taki opis znajdzie symuluje ruch.
B AR TOSZ Z IELI ŃSKI (KFT I I)
Z ŁO ŻONO Ś Ć ...
2011/12
13 / 16
P ROBLEM S TOPU
Je˛ zyk H = {b(M); b(x) | M(x) 6=%} nad alfabetem U .
O BSERWACJA
Je˛ zyk H jest rekurencyjnie przeliczalny.
T WIERDZENIE
Je˛ zyk H nie jest rekurencyjny.
D OWÓD
Przypuśćmy że istnieje MH rozstrzygajaca
˛ H. Zdefiniujmy D:
D(M) := if MH (b(M); b(M)) = “tak” then % else “tak”.
Czym jest D(D)?
B AR TOSZ Z IELI ŃSKI (KFT I I)
Z ŁO ŻONO Ś Ć ...
2011/12
14 / 16
T WIERDZENIE R ICE ’ A
Podzbiór R j˛ezyków rekurencyjnie przeliczalnych (w
ustalonym alfabecie, np. maszyny U ) nazywamy własnościa˛
jezyków
˛
rekurencyjnie przeliczalnych.
R nazywamy własnościa˛ trywialna˛ jeśli jest pusty albo
składa si˛e ze wszystkich je˛ zyków rekurencyjnie
przeliczalnych.
Niech L(M) b˛edzie je˛ zykiem rozpoznawanym przez M.
Niech LR := {b(M) | L(M) ∈ R}.
T WIERDZENIE
Każda nietrywialna własność R je˛ zyków rekurencyjnie
przeliczalnych jest nierozstrzygalna (tzn. LR jest
nierozstrzygalny).
B AR TOSZ Z IELI ŃSKI (KFT I I)
Z ŁO ŻONO Ś Ć ...
2011/12
15 / 16
D OWÓD T WIERDZENIA R ICE ’ A
Zakładamy że ∅ ∈
/ R. Jeśli nie to rozważamy R̄.
R nietrywialna ⇒ istnieje L ∈ R i niech ML rozpoznaje L.
Załóżmy że LR jest rozstrzygalny. czyli istnieje MR
rozstrzygajacy
˛ LR . Skonstruujemy maszyne˛ rozstrzygajac
˛ a˛
H (a zatem sprzeczność bo H jest nierekurencyjny).
Dla każdej maszyny M i słowa w można skonstruować
b(M 0 ) gdzie M 0 to maszyna taka że L(M 0 ) ∈ R wtedy i tylko
wtedy gdy M akceptuje w (czyli b(M); b(w) ∈ H):
Niech x be˛ dzie słowem wejściowym dla M 0 .
M 0 symuluje M na w. Jeśli M(w) =% to M 0 nie akceptuje
dowolnego x ( L(M 0 ) = ∅ ∈
/ R).
Jeśli M(w) = “tak” to M 0 symuluje ML na x czyli
M 0 (x) = ML (x). Stad
˛ L(M 0 ) = L ∈ R.
Jeśli MR (b(M 0 )) = “tak” to b(M); b(w) ∈ H. Jeśli
MR (b(M 0 )) = “tak” to b(M); b(w) ∈
/ H.
B AR TOSZ Z IELI ŃSKI (KFT I I)
Z ŁO ŻONO Ś Ć ...
2011/12
16 / 16