rekursiooniteooria põhiteoreemid · ioc.pdf järgmine punkt 1 funktsioonide ühekohalised...

29
ioc.pdf Rekursiooniteooria põhiteoreemid Teema 3.3 Jaan Penjam, email: [email protected] Rekursiooniteooria põhiteoreemid 1 / 24

Upload: others

Post on 09-Jul-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

ioc.pdf

Rekursiooniteooria põhiteoreemid

Teema 3.3

Jaan Penjam, email: [email protected] Rekursiooniteooria põhiteoreemid 1 / 24

ioc.pdf

Loengu kava

1 Funktsioonide ühekohalised esindajad ja Gödeli numbrid

2 Kleene’ teoreemid

3 Rice’i teoreem

Jaan Penjam, email: [email protected] Rekursiooniteooria põhiteoreemid 2 / 24

ioc.pdf

Järgmine punkt

1 Funktsioonide ühekohalised esindajad ja Gödeli numbrid

2 Kleene’ teoreemid

3 Rice’i teoreem

Jaan Penjam, email: [email protected] Rekursiooniteooria põhiteoreemid 3 / 24

ioc.pdf

n-kohaliste funktsioonide ühekohalised esindajad

Teoreem

Kui superpositsioonioperaatori suhtes kinnine funktsioonide klass sisaldab korteežide kodeerimiseja dekodeerimise funktsioone cm,cm1 , . . . ,cmm , siis leidub iga m-kohalise funktsiooni f jaokssamasse klassi kuuluv ühekohaline esindaja g .

Tõestus. Kui f ,cm,cm1 , . . . ,cmm ∈ F , siis kuulub funktsioonide klassi F kag(n) = f (cm1 (n), . . . ,cmm (n)) iga n = cm(x1, . . . ,x) korral. m.o.t.t.

Jaan Penjam, email: [email protected] Rekursiooniteooria põhiteoreemid 4 / 24

ioc.pdf

Funktsiooni plus(x ,y) ühekohaline esindaja

g(n) =

⌊√1+8n−1

2

Jaan Penjam, email: [email protected] Rekursiooniteooria põhiteoreemid 5 / 24

ioc.pdf

Operaatorid ühekohaliste funktsioonidegenereerimiseks

• summa: h = f +g ∀n [h(n) = f (n)+g(n)]

• kompositsioon: h = f ◦g ∀n [h(n) = f (g(n))]

• pööramine: h = f −1 ∀n [h(n) = µz [f (z)−n]

• iteratsioon: h = ιf ∀n [h(n) = f n(0)], kus n > 0

Teoreem (Raphael & Julia Robinson)

Kõik ühekohalised lihtrekursiivsed funktsioonid on genereeritavad elementaarfunktsioonidests(n) = n+1 ja q(n) = n−b

√nc2 („ruutjääk”), kasutades liitmise, kompositsiooni- ja

iteratsioonioperaatorit.

Teoreem (Raphael & Julia Robinson)

Kõik ühekohalised osalised rekursiivsed funktsioonid on genereeritavad elementaarfunktsioonidests(n) = n+1 ja q(n) = n−b

√nc2, kasutades liitmise, kompositsiooni- ja pööramisoperaatorit.

Jaan Penjam, email: [email protected] Rekursiooniteooria põhiteoreemid 6 / 24

ioc.pdf

Gödeli numbrid

Definitsioon

Funktsiooni h teatud formaalses keeles esitatud kirjeldusele vastavsuusse seatud unikaalsetnaturaalarvu Gh nimetatakse selle funktsiooni Gödeli numbriks.

Jaan Penjam, email: [email protected] Rekursiooniteooria põhiteoreemid 7 / 24

ioc.pdf

Gödeli numbridDefinitsioon (Gödeli number erijuhul)

Funktsioonile h vastavusse seatud naturaalarv Gh, mis arvutatakse järgmise valemi kohaselt:

Gh =

2,kui h = s;3,kui h = q;5Gf ·7Gg ,kui h = f +g ;11Gf ·13Gg ,kui h = f ◦g ;17Gf ,kui h = f −1;19Gf ,kui h = ιf .

on selle funktsiooni Gödeli number.

Näiteid•G(x +1) = Gs = 2

•G(2x +1−

⌊√x⌋2)

= G(s +q) = 52 ·73 = 8575

•G(2x +1−

⌊√x⌋2)

= G(q+ s) = 53 ·72 = 6125

•G (2x −1) = G (ι(2x +1)) = G (ι(ι(x +2) +1)) = G (ι(ι(s ◦ s)◦ s)) =

= 19G(ι(s◦s)◦s)) = 19132·11G(ι(s◦s))= 19169·1119G(s◦s)

=

= 19169·61159090448414546291112 ·132= 19169·6115909044841454629120449

Jaan Penjam, email: [email protected] Rekursiooniteooria põhiteoreemid 7 / 24

ioc.pdf

Gödeli numbrid (2)

Järeldus

Turingi mõttes arvutatavad on vaid need ühekohalised funktsioonid, mille jaoks leidub Gödelinumber.

Tähistus:ϕa – funktsioon, mille Gödeli number on a, seega

f = ϕGf

ϕ(n)a – n-kohaline funktsioon, mille ühekohalise esindaja Gödeli number on a, seega

f = ϕ(n)a = ϕG(g) ◦cn,

kus g on funktsiooni f ühekohaline esindaja, cn on Cantori number ja a = G(g).

Näited

ϕ2 = s ϕ6125 = q+ s ϕ8575 = s +q

Jaan Penjam, email: [email protected] Rekursiooniteooria põhiteoreemid 8 / 24

ioc.pdf

Universaalne funktsioonTähistagu F (k) funktsioonide klassi F kõigi k-kohaliste funktsioonide alamklass.

Definitsioon

k +1-kohaline funktsioon U on alamklassi F (k) universaalne funktsioon, kui1 iga fikseeritud väärtuse a korral kuulub muutujatest x1, . . . ,xk sõltuv funktsioon

U(a,x1, . . . ,xk ) klassi F (k);2 iga funktsiooni f ∈ F (k) jaoks leidub selline arv b, nii et iga x1, . . . ,xk korral

f (x1, . . . ,xk ) = U(b,x1, . . . ,xk ).

Osaliste (ühekohaliste) funktsioonide klassi universaalne funktsioon:

U(a,x) =

s(x), kui a = 2;q(x), kui a = 3;U(b,x) +U(c,x), kui a = 5b ·7c ;U(b,U(c,x)), kui a = 11b ·13c ;µz [U(b,z)−x] , kui a = 17b;ιU(b,x), kui a = 19b;määramata ülejäänud juhtudel

Jaan Penjam, email: [email protected] Rekursiooniteooria põhiteoreemid 9 / 24

ioc.pdf

Universaalse funktsiooni rakendamise näideOlgu antud Gödeli number

Gf =2972769025299604962110703970644102769430026193174942367659766495612994610243698517042117354404911210111147369415756655053631212246340365560799691343718091675275776025641187700994877993484266374700455796870148403231637556028602530790318513355564770249220574209752768212979854161749017306525191845477413459631046546890285205918033548756249462877206113116984611178037670741125716244368813366766874182347011052524862037181864751197611332201855259292842183278944142791885532489289255041236814402713999076992265228565112502687174551339874486467209332119240209887819878289077350158519421271848388389421379787950229720326822536336878388826648745804431107791000932084280480562833342790953943210843412307590267806419492024740991991470632212149208008411654647774354675039068511537274827024101790396911008059578809041330462359976083589829259830614365364519667121702808954813740912701980568619429320424424065517182069948512213044943955010869160068031602246084480332368897333850548940071826504990146123408547758973168929296277384713501770440173897384938780086544380805602665438229459392628825568816671072783086013435996472765381997203950376599171881041382982124172709590094597117701569607097929304585659570215618423463540041073947546005159579941191927014494950714974166663537704576856147763821640091405250766183737855415128845048335893833585513233364437986913433794644175752065623071959159849689028371229380838851062088481064106957405134592322649948683394126700905050676784798379991295377239438596920750179845612890657425807761705814302433483229079583898277212310648342875929744499

Jaan Penjam, email: [email protected] Rekursiooniteooria põhiteoreemid 10 / 24

ioc.pdf

Universaalse funktsiooni rakendamise näide (2)

Lahutades arvu teguriteks saame:

Gf = 191225 = 1952·72

Seega on tegemist funktsiooniga

f (n) = U(Gf ,n) = ι(s + s)(n) = ι(n+1+n+1) = ι(2n+2)

ehk

f (n) =

{0, kui n = 0;2f (n−1) +2, kui n > 0

Selle rekurrentse võrrandi lahendiks on funktsioon f (n) = 2n+1−2.

Jaan Penjam, email: [email protected] Rekursiooniteooria põhiteoreemid 11 / 24

ioc.pdf

Järgmine punkt

1 Funktsioonide ühekohalised esindajad ja Gödeli numbrid

2 Kleene’ teoreemid

3 Rice’i teoreem

Jaan Penjam, email: [email protected] Rekursiooniteooria põhiteoreemid 12 / 24

ioc.pdf

Stephen Cole Kleene

(1909– 1994)

Foto: Wikipedia, autor Konrad Jacobs, Erlangen,Copyright: MFO - Mathematisches Forschungsinstitut Oberwolfach.

Jaan Penjam, email: [email protected] Rekursiooniteooria põhiteoreemid 13 / 24

ioc.pdf

S-m-n teoreem

Teoreem

Leidub selline m+1-kohaline arvutatav funktsioon Smn , et iga väärtuste komplekti a,y1,y2, . . . ,ym

korral kehtib võrdus

ϕ (n)Smn (a,y1,...,ym)(z1, . . . ,zn) = λz1, . . . ,zn.ϕ

(m+n)a (y1, . . . ,ym,z1, . . . ,zn)

Tõestus.Teoreemi esitus funktsioonide ühekohaliste esindajate kaudu:

ϕSmn (a,y)(z) = λz .ϕa(c(y ,z)),

kus y = cm(y1, . . . ,ym) ja z = cn(z1, . . . ,zn).

1. Leiduvad järgmised arvutatavad funktsioonid:ϕp(z) = c(0,z)ϕq(n) = c(l(n) +1, r(n)) ehk ϕq(c(y ,z)) = c(y +1,z)k(i , j), kus ϕk(i ,j)(x) = ϕi ◦ϕj (x) ehk k(i , j) = 11i ·13j

Jätkub ...

Jaan Penjam, email: [email protected] Rekursiooniteooria põhiteoreemid 14 / 24

ioc.pdf

S-m-n teoreem (2)

Tõestus jätkub ...

2. Olgu arutatav funktsioon R(x) defineeritud rekursioonioperaatori abiljärgmiselt: {

R(0) = pR(x +1) = k(q,R(x))

3. Kehtib võrdus ϕR(x)(y) = c(x ,y). Tõepoolest:

ϕR(0)(y) = ϕp(y) = c(0,y)ϕR(x+1)(y) = ϕk(q,R(x))(y) = (ϕq ◦ϕR(x))(y) = ϕq(ϕR(x)(y)) =

= ϕq(c(x ,y)) = c(x +1,y)

4. Valime Smn (a,y) = k(a,R(y)). See funktsioon rahuldab teoreemi tingimusi:

ϕSmn (a,y)(z) = ϕk(a,R(y))(z) = (ϕa ◦ϕR(y))(z) = ϕa(ϕR(y)(z)) = ϕa(c(y ,z))

m.o.t.t.

Jaan Penjam, email: [email protected] Rekursiooniteooria põhiteoreemid 15 / 24

ioc.pdf

Näide S-m-n teoreemi rakendamisest

Funktsioon exp(x ,y) = xy on arvutatav

exp = R[S2[s,O1],S3[times,I31,I33]], kus

times = R[O1,S3[plus,I33,I31]]

plus = R[I11,S2[s,I33]]

S-m-n teoreemi põhjal on siis arvuatavad ka

I astmefunktsioonas(x) = λx .exp(x ,a) = xa

I eksponentfunktsioon

ex(y) = λy .exp(c ,y) = cy

Seejuures on teisendused exp as ja exp ex on algoritmiliselt teostatavad.

Jaan Penjam, email: [email protected] Rekursiooniteooria põhiteoreemid 16 / 24

ioc.pdf

S-m-n teoreemi analoog M.Sipseri õpikus

Teoreem 6.3 (rekursiooniteoreem)

Olgu T Turingi masin, mis arvutab funktsiooni t : Σ∗×Σ∗ −→Σ∗. Siis leidub Turingi masin R,mis arvutab funktsiooni r : Σ∗ −→Σ∗, nii et iga w korral

r(w) = t(〈R〉 ,w).

Jaan Penjam, email: [email protected] Rekursiooniteooria põhiteoreemid 17 / 24

ioc.pdf

Veel üks näide S-m-n teoreemi rakendamisest

Funktsiooni f (n,x) = xn arvutamise programm

f ( n , x ) = i f n ==0 then 1e l s e i f even ( n ) then squa r e ( f ( n /2 , x ) )e l s e x ∗ f ( n−1 , x )

Selle spetsialiseeritud variandid:

n = 5 korral: f5(x) = x ∗ square(square(x))

n = 12 korral: f12(x) = square(square(x ∗ square(x)))

Jaan Penjam, email: [email protected] Rekursiooniteooria põhiteoreemid 18 / 24

ioc.pdf

Veel üks näide S-m-n teoreemi rakendamisest

Funktsiooni f (n,x) = xn arvutamise programm

f ( n , x ) = i f n ==0 then 1e l s e i f even ( n ) then squa r e ( f ( n /2 , x ) )e l s e x ∗ f ( n−1 , x )

Selle spetsialiseeritud variandid:

n = 5 korral: f5(x) = x ∗ square(square(x))

n = 12 korral: f12(x) = square(square(x ∗ square(x)))

Üldjuhul:

Programmiprog : Istatic × Idynamic →O

spetsialiseerimise tulemus kontekstis 〈prog , Istatic 〉 on programm

prog∗ : Idynamic →O

Jaan Penjam, email: [email protected] Rekursiooniteooria põhiteoreemid 18 / 24

ioc.pdf

Kleene’ rekursiooniteoreem (Teoreem arvutatavate funktsioonide

püsipunktist)

Teoreem

Iga arvutatava funktsiooni h jaoks leidub selline naturaalarv n, et kehtib võrdus

ϕn(x) = ϕh(n)(x).

Tõestus.Universaalne funktsioon on arvutatav, seega leidub number U nii et

ϕU(i ,x) = ϕi (x).

Defineerime funktsiooni g , nii et

ϕg(i)(x) = ϕU(ϕU(i , i),x).

Funktsioon g on s-m-n teoreemi põhjal arvutav.Olgu v selline number, et ϕv (x) = h ◦g(x):

ϕg(v)(x) = ϕU(ϕU(v ,v),x) = ϕU(ϕv (v),x) =

= ϕU(h ◦g(v),x) = ϕh◦g(v)(x) =

= ϕh(g(v))(x)

Seega, valides n = g(v), saamegi ϕn(x) = ϕh(n)(x). m.o.t.t.

Jaan Penjam, email: [email protected] Rekursiooniteooria põhiteoreemid 19 / 24

ioc.pdf

Järgmine punkt

1 Funktsioonide ühekohalised esindajad ja Gödeli numbrid

2 Kleene’ teoreemid

3 Rice’i teoreem

Jaan Penjam, email: [email protected] Rekursiooniteooria põhiteoreemid 20 / 24

ioc.pdf

Rice’i teoreem

Definitsioon

Hulka H nimetatakse lahenduvaks, kui leidub Turingi masin, mis realiseerib selle hulgakarateristliku funktsiooni

h(x) =

{0, kui x /∈H,1, kui x ∈H.

Definitsioon

Arvutatavate funktsioonide mittetühja hulka H, mis ei võrdu osaliste rekursiivsete funktsioonidehulgaga, nimetatakse mittetriviaalseks.

Teoreem (Henry Gordon Rice)

Iga arvutatavate funktsioonide Gödeli numbrite mittetriviaalne hulk on mittelahenduv.

Jaan Penjam, email: [email protected] Rekursiooniteooria põhiteoreemid 21 / 24

ioc.pdf

Rice’i teoreem (2)

Teoreem

Iga arvutatavate funktsioonide Gödeli numbrite mittetriviaalne hulk on mittelahenduv.

Tõestus.Oletame vastuväiteliselt, et mittetriviaalne arvutatavate funktsioonide hulga H Gödeli numbritehulk HG = {n|n = Gf , f ∈H} on lahenduv. Siis leidub arvutatav karakteristlik funktsioon

h(x) =

{0, kui x /∈HG ,1, kui x ∈HG .

Konstrueerime funktsiooni:

k(x) = sg(h(x))µz [h(z)] + sg(h(x))µz [h(z)−1] .

Funktsioon k on arvutatav, seega, tähistades sümboliga HG = ORFG −HG (paneme tähele, etmittetriviaalse hulga H korral HG 6= ∅ ja HG 6= ∅) saame:

Jätkub ...

Jaan Penjam, email: [email protected] Rekursiooniteooria põhiteoreemid 22 / 24

ioc.pdf

Rice’i teoreem (3)

Tõestus jätkub ...

k(x) =

{c ∈HG , kui x ∈HG ehk ϕx ∈H;c ∈HG , kui x /∈HG ehk ϕx /∈H.

Kleene’ püsipunkti printsiibi kohaselt leidub selline naturaalarv u, et

ϕu = ϕk(u).

Seega, kui ϕu ∈H, siis k(u) = c ∈HG , s.t. ϕk(u) /∈H ( vastuolu eelmise seosega).Analoogiliselt viib vastuoluni juhtum, kui ϕu /∈H, siis k(u) = c ∈HG , s.t. ϕk(u) ∈H.

m.o.t.t.

Jaan Penjam, email: [email protected] Rekursiooniteooria põhiteoreemid 23 / 24

ioc.pdf

Järeldusi Rice’i teoreemist

Järeldus

Ei leidu algoritmi, mis etteantud Gödeli numbri n põhjal otsustaks, kas funktsioon ϕn on kõikjalmääratud või mitte.

Jaan Penjam, email: [email protected] Rekursiooniteooria põhiteoreemid 24 / 24

ioc.pdf

Järeldusi Rice’i teoreemist

Järeldus

Ei leidu algoritmi, mis etteantud Gödeli numbri n põhjal otsustaks, kas funktsioon ϕn on kõikjalmääratud või mitte.

Näide

vaatleme funktsiooni

g(x) =

{x +1, kui ∃z(ϕx (z) = 1);0, vastasel juhul .

Mõned väärtused

g(2) = 3, sest ϕ2 = s ja s(0) = 1;

g(1225) = 0, sest ϕ1225 = 2x +2 = h(x) ja 6 ∃z(h(z) = 1).

Funktsiooon g(x) pole arvutatav, sest kui oleks, siis leiduks algoritm, mis otsustaks kasfunktsioon

v(x) = µz [h(z) = 1 ja z = x]

on kõikjal määratud või mitte.

Jaan Penjam, email: [email protected] Rekursiooniteooria põhiteoreemid 24 / 24

ioc.pdf

Järeldusi Rice’i teoreemist

Järeldus

Ei leidu algoritmi, mis etteantud Gödeli numbri n põhjal otsustaks, kas funktsioon ϕn on kõikjalmääratud või mitte.

Järeldus

Ei leidu algoritmi, mis etteantud Gödeli numbrite m ja n põhjal otsustaks, kas ϕm = ϕn või mitte

Jaan Penjam, email: [email protected] Rekursiooniteooria põhiteoreemid 24 / 24

ioc.pdf

Järeldusi Rice’i teoreemist

Järeldus

Ei leidu algoritmi, mis etteantud Gödeli numbri n põhjal otsustaks, kas funktsioon ϕn on kõikjalmääratud või mitte.

Järeldus

Ei leidu algoritmi, mis etteantud Gödeli numbrite m ja n põhjal otsustaks, kas ϕm = ϕn või mitte

Järeldus

Ei leidu algoritmi, mis etteantud suvalise arvutatava funktsiooni f põhjal teeks kindlaks, kasvõrrand f (x) = 0 on lahenduv või mitte.

Jaan Penjam, email: [email protected] Rekursiooniteooria põhiteoreemid 24 / 24