290 likes | 656 Views
8 . Rekursiivsed ja rekursiivselt loenduvad hulgad. Olgu X hulk ja A X . Def. A on loenduv hulk , kui A = või leidub totaalne funktsioon f : N A . Funktsiooni f nimetatakse hulga A numeratsiooniks. Olgu meil defineeritud arvutatavad osalised funktsioonid N X .
E N D
8. Rekursiivsed ja rekursiivselt loenduvad hulgad. • Olgu X hulk ja A X. Def. A on loenduv hulk, kui A = või leidub totaalne funktsioon f: NA. Funktsiooni f nimetatakse hulga Anumeratsiooniks.
Olgu meil defineeritud arvutatavad osalised funktsioonid NX. Def. Hulga Aefektiivseks numeratsiooniks nimetatakse totaalset arvutatavat funktsiooni f: NA ja sellisel juhul nimetatakse hulka Aefektiivselt loenduvaks. • Ka hulga X tühja alamhulka tavatsetakse nimetada efektiivselt loenduvaks.
Kõige olulisem on juht X = N. Siis ütleme ka, et f on hulga Arekursiivne numeratsioon ja A on rekursiivselt loenduv. Def. Hulka A nimetatakse rekursiivselt loenduvaks, kui kas A = või leidub selline rekursiivne funktsioon f, et A = range f. (Intuitiivselt, leidub efektiivne protseduur, mis loeb üles hulga kõik liikmed, lubatud on ka kordused.)
Def. Naturaalarvude hulga alamhulka nimetatakse rekursiivseks, kui ta omab rekursiivset karakteristlikku funktsiooni S: SN S(n)= 1, kui nS, 0, kui nS • Seega on hulk rekursiivne siis ja ainult siis, kui leidub algoritm, mis iga naturaalarvu korral otsustab, kas see kuulub hulka või ei.
Näited. • Paaristäisarvud. • N, . • Iga lõplik hulk. • Iga hulk, mille täiend on lõplik. Teoreem 1. Kui hulk A on rekursiivne, siis A on rekursiivselt loenduv. Teoreem 2. Hulk A on rekursiivne parajasti siis, kui A ja A on rekursiivselt loenduvad.
Def. Hulk A on mittekahanevalt rekursiivselt loenduv, kui leidub selline (totaalne) rekursiivne funktsioon f, et A = range f ja f on mittekahanev funktsioon (s.t. x, y (x<y) => (f(x)f(y)). ) Def.Hulk A on kasvavalt rekursiivselt loenduv, kui leidub selline (totaalne) rekursiivne funktsioon f, et A = range f ja f on kasvav funktsioon (s.t. x, y (x<y) => (f(x) < f(y)). )
Teoreem 3. (a) Hulk A on rekursiivne ja A parajasti siis, kui A on mittekahanevalt rekursiivselt loenduv. (b) Hulk A on rekursiivne ja A on lõpmatu parajasti siis, kui A on kasvavalt rekursiivselt loenduv. Teoreem 4. Igal lõpmatul rekursiivselt loenduval hulgal on lõpmatu rekursiivne alamhulk.
Teoreem 5. (rekursiivselt loenduvate hulkade põhiteoreem) Hulk A on rekursiivselt loenduv parajasti siis, kui A on osalise rekursiivse funktsiooni määramis-piirkonnaks. Def. Wz = domain z. Järeldus 6. A on rekursiivselt loenduv parajasti siis, kui A on osalise rekursiivse funktsiooni muutumispiirkonnaks.
Järeldus 7. Leiduvad sellised rekursiivsed funktsioonid f ja g, et kõigi x jaoks range f(x) = domain x, domain g(x) = range x. Teoreem 8. Rekursiivselt loenduvate hulkade klass on kinnine ühendi, ühisosa ja otsekorrutise võtmise suhtes. Teoreem 9. Rekursiivsete hulkade klass on kinnine ühendi, ühisosa, otsekorrutise ja täiendi võtmise suhtes.
9. Lõplikud hulgad • Lõplikele hulkadele saab anda veel ühe indeksi (nime), mis üheselt kodeerib selle elementide nimekirja. Def. Olgu A mittetühi hulk {x1, …, xk}, kus x1<…< xk. Siis nimetatakse arvu 2x1+ 2x2+ … 2xk hulga Akanooniliseks indeksiks.
Def.Dxon hulk kanoonilise indeksiga x. Teoreem. • Leidub selline rekursiivne funktsioon f, et iga x korral f(x) võrdub hulga Dx elementide arvuga. • Ei leidu sellist osalist rekursiivset funktsiooni , et iga x korral, kui x on hulga A karakteristlik funktsioon, siis (x) on määratud ja (x) on hulga A elementide arv.
10. Rekursiivne invariantsus. • Olgu X objektide ruum ja G sellel toimivate transformatsioonide rühm. • X alamhulkade omadust nimetatakse G-invariantseks, kui alati, kui mingil alamhulgal on antud omadus, on see ka kõigil selle alamhulga kujutistel rühma G kuuluvate kujutustega.
Olgu A ja BX alamhulgad. • A ja B on G-isomorfsed, A GB, kui B = g(A), gG. • G* = { ff on üksühene, pealekujutus ja rekursiivne funktsioon }
Def. Hulgad A ja B on rekursiivselt isomorfsed, AB, kui f [fG* ja f(A) = B] Def. Naturaalarvude hulga N alamhulkade omadust nimetatakse rekursiivselt invariantseks, kui see on G*-invariantne. Näide. Vaatleme omadusi: • sisaldab arvu 7, • omab vähemalt 2 elementi, • omab karakteristlikku funktsiooni.
Toodud mõisteid saab laiendada ka seostele, funktsioonidele ja osalistele funktsioonidele. • Olgu RNk (mingi kN korral) ning gG*. Defineerime g(R) = { (y1, …, yk) (x1, x2, …, xk) (x1, …, xk) R ning y1= g(x1),…, yk = g(xk)} Def. Olgu RNk ja QNk . R ja Q on rekursiivselt isomorfsed, kui g [gG* ja Q = g(R)]
Def. N-aarsete seoste omadus on rekursiivselt invariantne, kui seos R on antud omadusega siis ja ainult siis, kui g(R) on antud omadusega gG*. • Osaliste funktsioonide puhul defineeritakse rekursiivne isomorfism järgmiselt: Teoreem 1. Osalised funktsioonid ja on rekursiivselt isomorfsed, , parajasti siis, kui f [fG* ja = f-1f ].
11. Rekursiivsed ja rekursiivselt loenduvad seosed. Def. (x,y) = ½(x2 + 2xy + y2 + 3x + y) Lause 1. : N×NN on rekursiivne bijektiivne kujutus. Def. 1 ja 2 on ühe muutuja funktsioonid, mis annavad pöördkujutuse, s.t. z ((1(z),2(z)) = z ) 1 ja 2 on rekursiivsed funktsioonid.
Def. Tähistame ‹x,y› = (x,y). Defineerime A×B = {‹x,y›xA ja yB}. Def. Defineerime kodeeringu :NkN (k > 0) järgmiselt: 1(x) = x k+1(x1, …, xk+1) = (k(x1, …, xk), xk+1) k pöördfunktsioonideks olgu 1k,…, kk. Ka kõik need funktsioonid on rekursiivsed. Tähistame ka ‹x1,…, xk› = k(x1, …, xk).
k abil võime igalt k-aarselt seoselt ja seega ka igalt funktsioonilt ja osaliselt funktsioonilt minna üle vastavale “kodeeritud” täisarvude hulgale. Hulkade omadus laieneb k-aarsete seoste omaduseks just selle kodeeringu kaudu. • Olgu P hulkade omadus. Öeldakse, et k-aarsel seosel R on omadus P, kui hulgal k(R) on omadus P.
Projektsiooniteoreemid Def. Hulka {< x1, …, xj-1, xj+1, …, xk> (xj) R(x1, …, xk) } nimetatakse seose R projektsiooniks j.koordinaadi järgi. Teoreem 1. Kui R on rekursiivselt loenduv seos, siis leidub selline rekursiivselt loenduv seos S , et seos R on seose S projektsiooniks.
Teoreem 2. Kui R on rekursiivselt loenduv seos, siis iga tema projektsioon on rekursiivselt loenduv. Järeldus.R on rekursiivselt loenduv R on mingi rekursiivse seose S projektsioon. Näide. A = {x 7 range x}
12. Peatumisprobleem. • Peatumisprobleem: kas leidub algoritm, mis otsustab, kas antud Turingi masin peatub antud sisendil? • Võrdsusprobleem: kas leidub algoritm, mis otsustab, kas antud kaks Turingi masinat arvutavad sama osalise funktsiooni? • Lahenduvusprobleem: kas naturaalarvude hulga iga rekursiivselt loenduv alamhulk on rekursiivne?
Üldisemalt uurime, kas antud hulga S elementidel x on omadus P, s.t. otsime totaalset arvutatavat funktsiooni f: S {0,1}, mille korral f(x) = 1P(x) kehtib. • Kui selline algoritm leidub, siis ütleme, et vastav probleem (või omadus P) on lahenduv, muidu on see mittelahenduv. (Kui S = N, siis on P(x) lahenduv parajasti siis, kui {xN : P(x)} on rekursiivne hulk.)
Tänu Churchi teesile võime selle sõnastada järgmiselt: Kas leidub selline rekursiivne funktsioon g, et g(x,y) = 1, kui x(y) on määratud, 0, kui x(y) pole määratud. Teoreem 1. Ei leidu rekursiivset funktsiooni g, nii et iga x,y korral g(x,y) = 1, kui x(y) on määratud, 0, kui x(y) pole määratud.
K = {nNndomain(n)} = {nNn(n) on määratud} Järeldus. K ei ole rekursiivne hulk. Lause 1. K on rekursiivselt loenduv. Lause 2. K täiend ei ole rekursiivselt loenduv. • Otsene meetod – tõestada otse, sageli diagonalisatsiooni abil, et eeldades mingi konkreetse probleemi lahenduvust jõuame vastuoluni.
Lause 3. Leidub arvutatav osaline funktsioon määramispiirkonnaga K, mida ei saa laiendada totaalseks arvutatavaks funktsiooniks. Lause 4. Kui f0, f1, … on totaalsete arvutatavate (NN) funktsioonide jada efektiivne numeratsioon, siis leidub selline totaalne arvutatav funktsioon f: NN, et f fnn korral. Järeldus. Hulk {nNn on totaalne} ei ole rekursiivselt loenduv ega seega ka rekursiivne.
Kaudne meetod – võtta probleem, mille kohta on teada, et see pole lahenduv, ja näidata, et uuritava probleemi lahenduvus annaks ka tolle teise probleemi lahenduvuse.
Teoreem 2. Vaatleme probleeme • 1) Kas x korralx on konstantne? • 2) Kas x,y korral y kuulub x muutumispiirkonda? • 3) Kas x,y,z korralx(y) = z ? • 4) Kas x,y korral x = y ? • 5) Kas x korral x muutumispiirkond on lõpmatu? • 6) Kas fikseeritud y0 ja x korral y0range(x)? • 7) Kas fikseeritud x0 ja y korral yrange(x0)?
Probleemid 1, 2, 3, 4, 5 on mittelahenduvad, 6 on mittelahenduv igasuguse y0 valiku korral, 7 võib olla lahenduv või mittelahenduv sõltuvalt x0 valikust. Teoreem 3 (Rice’i teoreem) . Olgu C osaliste 1-muutuja rekursiivsete funktsioonide kogum. Siis omab hulk { xxC } rekursiivset karakteristlikku funktsiooni parajasti siis, kui C on tühi või kui C sisaldab kõiki osalisi 1-muutuja rekursiivseid funktsioone.