5. Maszyna Turnga = <Q, q 0, F, Γ, T, δ> T Q skończony zór stanów q 0 stan początkowy F zór stanów końcowych Γ skończony zór symol taśmy T Γ alfaet wejścowy T Γ symol pusty (lank) δ: Q Γ! 2 Q Γ {L,R} funkcja przejśca (L w lewo, R w prawo) dwustronne neskończona taśma C q 1 Q Konfguracja: (q,α β) q stan αβ nepusta część taśmy wskazane położena głowcy urządzene sterujące pracujące według funkcj δ Funkcja przejśca: (dla automatu determnstycznego) δ(q 1,C)=(q 2,,R) (q 1, C) " (q 2, ) Konfguracja początkowa: (q 0, α), α T * Przykład: Q = {q 0, q 1, q 2, q 3, q 4, q 5 } F = {q 5 } Γ = {1,2,} T = {1} δ: 1 2 q 0 q 1,2,L q 0,1,R q 1 q 2,,R q 1,1,L q 1,2,L q 2 q 3,,R q 4,,R q 3 q 4,1,R q 3,1,R q 3,2,R q 4 q 1,1,L q 5,1,R q 5 q 5,1,R Start: (q 0, 11), Stop: (q 0, 1111 )
q 0 1 1 q 0 1 1 q 0 1 1 q 1 1 1 2 q 1 1 1 2 q 1 1 1 2 q 2 1 1 2 q 3 1 2 q 3 1 2 q 3 1 2 q 4 1 2 1 q 1 1 2 1 1 q 1 1 2 1 1 q 1 1 2 1 1 q 1 1 2 1 1 q 2 1 2 1 1 q 3 2 1 1 q 3 2 1 1 q 3 2 1 1 q 3 2 1 1 q 4 2 1 1 1 q 1 2 1 1 1 1 q 1 2 1 1 1 1 q 1 2 1 1 1 1 q 1 2 1 1 1 1 q 1 2 1 1 1 1 q 2 2 1 1 1 1 q 4 1 1 1 1 q 5 1 1 1 1.............. q 5 1 1 1 1 Olczalność funkcj w sense Turnga defncja N = {0,1,2, } (zór lcz naturalnych z zerem) Funkcję f f: (x 1,,x k ) N k! N f(x 1,,x k ), k=1,2, nazywamy olczalną w sense Turnga jeżel ( T ) ((q 0, 1 x1 1 x2 1 x2 ) "* (q,1 f(x1,,xk) )) gdze: q F, T={1}, Γ={1,, } Funkcje rekurencyjne defncja: 1. Funkcją rekurencyjną jest: a) Z(x) = 0 zero ) S(x) = x+1 następnk c) I,n (x 1,,x, x n ) = x projekcja (dentyczność)
2. Jeśl f 1,,f n są funkcjam rekurencyjnym m argumentów, g jest funkcją rekurencyjną n argumentów, to funkcją rekurencyjną jest h(x 1,,x m ) = g(f 1 (x 1,,x m ),, f n (x 1,,x m )) podstawene 3. Jeśl f jest funkcją rekurencyjną n argumentów, g jest funkcją rekurencyjną n+2 argumentów, to h(y,x 1,,x n ) (funkcja n+1 argumentów) jest funkcją rekurencyjną określoną jako: h(0,x 1,,x n ) = f(x 1,,x n ) h(y+1,x 1,,x n ) = g(y, h(y,x 1,,x n ),x 1,,x n ) rekursja prosta 4. Jeśl f jest funkcją rekurencyjną n+1 zmennych to funkcja h(x 1,,x n ) ędąca funkcją n zmennych jest funkcją rekurencyjną określoną jako: h(x 1,,x n )= µ y (f(y,x 1,,x n )) gdze µ y (f(y,x 1,,x n )) oznacza najmnejszą lczę y spełnającą równane: f(y,x 1,,x n )=0 dla danych x 1,,x n mnmum efektywne 5. Nc nnego ne jest funkcją rekurencyjną. Funkcje udowane przy pomocy operacj 1,2,3 ( 5) nazywają sę funkcjam perwotne rekurencyjnym F PR klasa funkcj perwotne rekurencyjnych F R klasa funkcj rekurencyjnych F PR F R F PR F R Przy rozpatrywanu olczalnośc funkcj perwotne rekurencyjnych możemy oszacować lczę taktów potrzenych maszyne Turnga do olczena takej funkcj, czyl określć złożoność czasową algorytmu realzowanego przez maszynę Turnga. Dla funkcj rekurencyjnych tworzonych przy pomocy operacj 4 (mnmum efektywne) ne da sę w przypadku ogólnym przeprowadzć takego oszacowana. Jednakże dowodz sę, że maszyna Turnga w skończonej lcze kroków jest w stane funkcje te olczyć (pod warunkem, że są one określone dla wszystkch argumentów swojej dzedzny). Przykłady: a) D(y,x)=y+x jest funkcją rekurencyjną, gdyż można ją otrzymać w drodze podstawena rekursj prostej funkcj podstawowych: D(0,x) = I 1,1 (x) = x D(y+1,x) = S(I 2,3 (y,d(y,x),x)) = S(D(y,x)) = y+x+1 ) H(x)=2x jest funkcją rekurencyjną, gdyż można ją otrzymać w drodze podstawena funkcj rekurencyjnych do funkcj D(y,x), o której wemy z punktu a), że jest rekurencyjna: H(x) = D(I 1,1 (x), I 1,1 (x)) = D(x,x) = x+x = 2x c) M(y,x)=yx jest rekurencyjna, gdyż: M(0,x)=Z(x)=0 M(y+1,x) = I 2,2 (y,d(m(y,x),x)) = D(M(y,x),x) = yx+x = (y+1)x d) E(y,x)=x y jest rekurencyjna, gdyż wykorzystując c) otrzymujemy: E(0,x) = S(Z(x)) = S(0) = 1 = x 0 E(y+1,x) = I 2,2 (y,m(x,e(y,x)) = M(x,E(y,x)) = xx y = x y+1
Zór N nazywamy przelczalne rekurencyjnym, gdy jego funkcja charakterystyczna f(x): 0, dla x f(x)={ 1, dla x jest funkcją rekurencyjną. Maszyna Turnga jest wtedy w stane w skończonej lcze kroków stwerdzć, czy x, czy też x, czyl potraf olczyć funkcję charakterystyczną dla tego x. Zór N nazywamy przelczalne rekurencyjnym, jeżel = ( jest pusty) lu stneje taka funkcja rekurencyjna f(x,y), taka że: ( x ) ( y N) (f(x,y)=0) Klasa zorów rekurencyjnych Z R jest podklasą właścwą klasy zorów rekurencyjne przelczalnych Z RP Z R Z RP ale Z R Z RP Jeżel N jest zorem rekurencyjne przelczalnym, to maszyna Turnga jest w stane w skończonej lcze kroków określć, czy x tylko wtedy, gdy x rzeczywśce należy do. Gdy natomast x to ( y N) (f(x,y)=0), ale ay to sprawdzć trzea przeadać wszystke lczy naturalne, a tych jest neskończene wele, węc adana ne da sę przeprowadzć w skończonej lcze kroków. Pojęca zorów rekurencyjnych rekurencyjne przelczalnych odnosły sę do zorów lcz naturalnych. Można je wszakże przeneść na grunt języków. Numeracja Gödla: Można ponumerować słowa języka: 1. numerujemy elementy alfaetu T={a 1,a 2,,a n } 2. nech p 1 p 2 p 3 p 4 ędze cągem rosnącym lcz perwszych, np. 2,3,5,7,11,13, 3. określamy funkcję num(x) dla x T * num ( ε ) = 0 num ( a a # 1 2 a k ) = k j = 1 p j Można pokazać, że odwzorowane num: T *! N jest wzajemne jednoznaczne (funkcja num(x) jest różnowartoścowa). Przykład: 1. T={a,}, numerujemy ltery => T={a 1,a 2 } 2. określamy rosnący cąg lcz perwszych: p 1, p 2, p 3, jako 2, 3, 5, 7, 3. analzujemy słowo x = aaa T *, x = a 1 a 2 a 1 a 1, num(x) = p 1 1 p 2 2 p 3 1 p 4 1 = 2 1 *3 2 *5 1 *7 1 = 2*9*5*7 = 630 j Nech L T * ędze językem. Zór num(l) określony jako num(l) = {n N n=num(x) x L} jest zorem numerów słów tego języka. Język L nazywamy rekurencyjnym, gdy jego zór num(l) jest zorem rekurencyjnym. Język L nazywamy rekurencyjne przelczalnym, gdy jego zór num(l) jest zorem rekurencyjne przelczalnym.
kceptowalność języka L przez maszynę Turnga = <Q, q 0, F, Γ, T, δ> T Q zór stanów (q 0 stan początkowy, F zór stanów końcowych) Γ alfaet taśmy T Γ alfaet wejścowy T Γ symol pusty (lank) δ funkcja przejśca Maszyna Turnga akceptuje język L() = {x T * ( q F) ( y Γ * ) ((q 0, x)" * (q,y ))} gdze: (q,y ) konfguracja stopująca Stwerdzena dotyczące zorów rekurencyjnych rekurencyjne przelczalnych przenoszą sę na akceptowalność języków rekurencyjnych rekurencyjne przelczalnych przez maszynę Turnga. L R klasa języków rekurencyjnych L RP klasa języków rekurencyjne przelczalnych L TUR klasa języków akceptowanych przez maszynę Turnga Jeżel L L R to maszyna Turnga potraf stwerdzć czy x L, czy też x L w skończonej lcze kroków. Jeżel L L RP to maszyna Turnga potraf stwerdzć, że x L tylko wtedy, gdy x rzeczywśce należy do L, w przecwnym raze w przypadku ogólnym ne zatrzyma sę po wykonanu skończonej lczy kroków. L R L TUR ale L R L TUR L RP =L TUR =L KOM gdze: L KOM klasa języków komnatorycznych (klasa 0 (zero) w klasyfkacj Chomsky ego) Tw: Klasa zorów rekurencyjnych Z R jest zamknęta ze względu na operacje sumy, przecęca (loczynu mnogoścowego) oraz uzupełnena do N. Jeżel Z R to (N ) Z R Tw. Klasa zorów rekurencyjne przelczalnych Z RP jest zamknęta ze względu na operacje sumy, przecęca (loczynu mnogoścowego), ne jest natomast zamknęta ze względu na uzupełnene do N. Jeżel Z RP to o zorze (N ) nc ne można powedzeć, w szczególnośc ne można powedzeć, że (N ) jest rekurencyjne przelczalny. Gdyy (N ) Z RP to korzystając z faktu, że jeżel x to x (N ) maszyna Turnga potrafłay w skończonej lcze kroków stwerdzć, że x (N ), a zatem mogłay efektywne określać, że x. To nestety ne ma mejsca.