REKURSIOONI - JA KEERUKUS TEOORIA
-
Upload
desirae-rodriquez -
Category
Documents
-
view
69 -
download
0
description
Transcript of REKURSIOONI - JA KEERUKUS TEOORIA
![Page 1: REKURSIOONI - JA KEERUKUS TEOORIA](https://reader035.fdocument.pub/reader035/viewer/2022081417/56812a82550346895d8e1503/html5/thumbnails/1.jpg)
REKURSIOONI- JA KEERUKUSTEOORIA
Tiina Zingel
![Page 2: REKURSIOONI - JA KEERUKUS TEOORIA](https://reader035.fdocument.pub/reader035/viewer/2022081417/56812a82550346895d8e1503/html5/thumbnails/2.jpg)
KIRJANDUS
• H.Rogers "Theory of Recursive Functions and Effective Computability"
• J.R.Shoenfield "Recursion Theory"
• D.S.Bridges "Computability"
…
![Page 3: REKURSIOONI - JA KEERUKUS TEOORIA](https://reader035.fdocument.pub/reader035/viewer/2022081417/56812a82550346895d8e1503/html5/thumbnails/3.jpg)
Loengute kava
• Sissejuhatus
• Põhimõisted
Funktsioonid
Rekursiivsed funktsioonid ja Turingi masinad
Rekursiivselt loenduvad hulgad
• Lahenduvus ja mittelahenduvus
• Taanduvused ja hierarhiad
• Ülesannete keerukus
![Page 4: REKURSIOONI - JA KEERUKUS TEOORIA](https://reader035.fdocument.pub/reader035/viewer/2022081417/56812a82550346895d8e1503/html5/thumbnails/4.jpg)
Rekursiooniteooria = arvutatavuse teooria
Arvutus:
algoritm
SISEND VÄLJUND
• Funktsioon on arvutatav, kui leidub algoritm, mis seda arvutab.
![Page 5: REKURSIOONI - JA KEERUKUS TEOORIA](https://reader035.fdocument.pub/reader035/viewer/2022081417/56812a82550346895d8e1503/html5/thumbnails/5.jpg)
• On olemas arvutatavaid ja mittearvutatavaid funktsioone, ehk
• saab sõnastada probleeme, mille lahendamiseks ei leidu ühtki algoritmi
• Peatumisprobleem:
kas antud programm lõpetab töö antud sisendil?
![Page 6: REKURSIOONI - JA KEERUKUS TEOORIA](https://reader035.fdocument.pub/reader035/viewer/2022081417/56812a82550346895d8e1503/html5/thumbnails/6.jpg)
• Keerukus – kui palju ressursse on arvutamiseks vaja.
• On olemas arvutatavaid ülesandeid, mille lahendamine nõuab liiga palju ressursse
• Rändkaupmehe ülesanne:
kas leidub marsruut, mis antud kaardil läbib kõiki linnasid ühe korra ja mille pikkus pole suurem kui etteantud arv k?
![Page 7: REKURSIOONI - JA KEERUKUS TEOORIA](https://reader035.fdocument.pub/reader035/viewer/2022081417/56812a82550346895d8e1503/html5/thumbnails/7.jpg)
1. Funktsioonid ja relatsioonid.
• Naturaalarvude hulk: N = {0, 1, 2, …}.
• Sagedasti on tegemist algoritmidega, kus tulemuseks on “jah” või “ei”. Et tahame saada arvulist väljundit, siis samastame “jah” = 1 ja “ei” = 0.
• Algoritmid – funktsioonid naturaalarvude hulgal
![Page 8: REKURSIOONI - JA KEERUKUS TEOORIA](https://reader035.fdocument.pub/reader035/viewer/2022081417/56812a82550346895d8e1503/html5/thumbnails/8.jpg)
• Osaline funktsioon : A B on funktsioon, mille määramispiirkonnaks (domain()) on hulga A mingi alamhulk ja muutumispiirkonnaks (range()) hulk B.
• n-muutuja (n-aarne) osaline funktsioon – kujutus hulga An alamhulgast hulka B.
• Totaalne funktsioon – kui funktsiooni määramispiirkonnaks on kogu A.
![Page 9: REKURSIOONI - JA KEERUKUS TEOORIA](https://reader035.fdocument.pub/reader035/viewer/2022081417/56812a82550346895d8e1503/html5/thumbnails/9.jpg)
Olgu , : NN( + )(n) = (n) + (n), kui (n) ja (n)
on mõlemad määratud,
määramata muidu
( )(n) = (n) (n), kui (n) ja (n) on mõlemad määratud,
määramata muidu.
◦(n) = ((n)), kui (n) on määratud ja kuulub
määramispiirkonda,
määramata muidu.
![Page 10: REKURSIOONI - JA KEERUKUS TEOORIA](https://reader035.fdocument.pub/reader035/viewer/2022081417/56812a82550346895d8e1503/html5/thumbnails/10.jpg)
• n-muutuja seos – hulga An alamhulk.
• Kui R on n-muutuja seos, siis seda esindav funktsioon defineeritakse kui n-muutuja totaalne funktsioon
R(x1, …, xn) = 1, kui x1, …, xn on seoses R,
0, muidu.
• Seos R on arvutatav, kui teda esindav funktsioon on arvutatav.
![Page 11: REKURSIOONI - JA KEERUKUS TEOORIA](https://reader035.fdocument.pub/reader035/viewer/2022081417/56812a82550346895d8e1503/html5/thumbnails/11.jpg)
2. Rekursiivsed funktsioonid.
• Turingi masinad
• Kleene’i osalised rekursiivsed funktsioonid
• Churchi -arvutus
![Page 12: REKURSIOONI - JA KEERUKUS TEOORIA](https://reader035.fdocument.pub/reader035/viewer/2022081417/56812a82550346895d8e1503/html5/thumbnails/12.jpg)
Algfunktsioonid:• Naturaalarvud 0, 1, 2, …
(0-muutuja funktsioonid)• Nullfunktsioon
0: NN, 0(n) = 0• Suksessorfunktsioon
sc: NN, sc(n) = n+1• Projektsioonfunktsioonid
Pnj : N
nN, Pnj (k1, …, kn) = kj,
k1, …, kn N.
![Page 13: REKURSIOONI - JA KEERUKUS TEOORIA](https://reader035.fdocument.pub/reader035/viewer/2022081417/56812a82550346895d8e1503/html5/thumbnails/13.jpg)
• Osaline funktsioon : NnN (n1) saadakse osalistest funktsioonidest
: Nn-1N ja : Nn+1N lihtrekursiooniga, kui kõigi k1, …, kn N
korral
(0, k2, …, kn) = (k2, …, kn) ja
(k+1, k2, …, kn) =
= (k, (k,k2, …, kn), k2, …, kn)
![Page 14: REKURSIOONI - JA KEERUKUS TEOORIA](https://reader035.fdocument.pub/reader035/viewer/2022081417/56812a82550346895d8e1503/html5/thumbnails/14.jpg)
Rekursiivsete funktsioonide hulk P üle N:
• P sisaldab kõiki algfunktsioone,
• Kui g: NmN ja hk: NnN (k = 1, …, m)
kuuluvad hulka P, siis kompositsioon
g◦(h1, …, hm): NnN kuulub hulka P.
• Kui funktsioonid g: Nn-1N ja h: Nn+1N kuuluvad hulka P, siis kuulub hulka P ka funktsioon f: NnN, mis saadakse funktsioonidest g ja h rekursiooni teel.
![Page 15: REKURSIOONI - JA KEERUKUS TEOORIA](https://reader035.fdocument.pub/reader035/viewer/2022081417/56812a82550346895d8e1503/html5/thumbnails/15.jpg)
• Seega P koosneb kõigist funktsioonidest, mida võib saada algfunktsioonidest, rakendades lõplik arv kordi kompositsiooni ja rekursiooni.
![Page 16: REKURSIOONI - JA KEERUKUS TEOORIA](https://reader035.fdocument.pub/reader035/viewer/2022081417/56812a82550346895d8e1503/html5/thumbnails/16.jpg)
• Hulga Nn element (k1, …, kn) võimaldab
minimiseerimist osalise funktsiooni
: Nn+1N suhtes, kui järgmine hulk ei ole tühi:
D(k1, …, kn) = { mN (i, k1, …, kn)
domain () (0 i m)
ja (m, k1, …, kn) = 1}.
![Page 17: REKURSIOONI - JA KEERUKUS TEOORIA](https://reader035.fdocument.pub/reader035/viewer/2022081417/56812a82550346895d8e1503/html5/thumbnails/17.jpg)
• Osaline funktsioon : NnN saadakse funktsioonist minimiseerimise teel, kui määramispiirkonnaks on nende
(k1, …, kn)Nn hulk, mis võimaldavad
minimiseerimist suhtes ja
(k1, …, kn) =
= min D(k1, …, kn) (k1, …, kn)domain().
• Sellisel juhul kirjutame
(k1, …, kn) = min k [(k, k1, …, kn) = 1].
![Page 18: REKURSIOONI - JA KEERUKUS TEOORIA](https://reader035.fdocument.pub/reader035/viewer/2022081417/56812a82550346895d8e1503/html5/thumbnails/18.jpg)
Osaliste rekursiivsete funktsioonide hulk R üle N :
• R sisaldab kõiki algfunktsioone,
• Kui g: NmN ja hk: NnN (k = 1, …, m)
kuuluvad hulka R, siis kompositsioon
g◦(h1, …, hm): NnN kuulub hulka R.
![Page 19: REKURSIOONI - JA KEERUKUS TEOORIA](https://reader035.fdocument.pub/reader035/viewer/2022081417/56812a82550346895d8e1503/html5/thumbnails/19.jpg)
• Kui funktsioonid g: Nn-1N ja h: Nn+1N kuuluvad hulka R, siis kuulub hulka R ka funktsioon f: NnN, mis saadakse funktsioonidest g ja h rekursiooni teel.
• Kui osaline funktsioon : Nn+1N kuulub hulka R, siis kuulub hulka R ka osaline funktsioon : NnN, mis on saadud funktsioonist minimiseerimise teel.
![Page 20: REKURSIOONI - JA KEERUKUS TEOORIA](https://reader035.fdocument.pub/reader035/viewer/2022081417/56812a82550346895d8e1503/html5/thumbnails/20.jpg)
3. Rekursiivsete funktsioonide defineerimine.
Lause 1. Kui funktsioon f on otseselt väljendatav muutujate ja rekursiivsete funktsioonide nimede kaudu, siis on f rekursiivne.
Lause 2. Kui seos R on otseselt väljendatav muutujate ja rekursiivsete seoste nimede kaudu, siis on R rekursiivne seos.
![Page 21: REKURSIOONI - JA KEERUKUS TEOORIA](https://reader035.fdocument.pub/reader035/viewer/2022081417/56812a82550346895d8e1503/html5/thumbnails/21.jpg)
• Rekursiivsed sümbolid – need, mida võib definitsioonide paremas pooles kasutada; esialgu on nendeks muutujad, rekursiivsete funktsioonide ja seoste nimed.
• Numbrid 0, 1, 2, … on rekursiivsed sümbolid, sest võime neid vaadelda kui 0-muutuja funktsioone. Nt. 2 = sc(sc(0)).
![Page 22: REKURSIOONI - JA KEERUKUS TEOORIA](https://reader035.fdocument.pub/reader035/viewer/2022081417/56812a82550346895d8e1503/html5/thumbnails/22.jpg)
Funktsiooni f induktiivne definitsioon:
f(0, x1, …, xn) = …
f(y+1, x1, …, xn) = __ f(y, x1, …, xn) __
kus … sisaldab ainult rekursiivseid sümboleid ja __ võib sisaldada ka y.
Lause 3. Kui f omab induktiivset definitsiooni rekursiivsete sümbolite kaudu, siis on f rekursiivne.
![Page 23: REKURSIOONI - JA KEERUKUS TEOORIA](https://reader035.fdocument.pub/reader035/viewer/2022081417/56812a82550346895d8e1503/html5/thumbnails/23.jpg)
Lause 4. Olgu R1, …, Rn sellised rekursiivsed
seosed, et iga (x1, …, xn) korral on tõene täpselt
üks seostest
R1(x1, …, xn), …, Rn(x1, …, xn).
Olgu F1, …, Fn totaalsed rekursiivsed funktsioonid
ja defineerime totaalse funktsiooni F:
F(x1, …, xn) = F1(x1, …, xn), kui R1(x1, …, xn),
…
Fn(x1, …, xn), kui Rn(x1, …, xn).
Siis on F rekursiivne.
![Page 24: REKURSIOONI - JA KEERUKUS TEOORIA](https://reader035.fdocument.pub/reader035/viewer/2022081417/56812a82550346895d8e1503/html5/thumbnails/24.jpg)
Lause 5. Olgu F totaalne rekursiivne funktsioon ja G selline totaalne funktsioon, et G(x1, …, xn) = F(x1, …, xn) kõigi välja
arvatud lõpliku arvu elementide (x1, …, xn)
jaoks. Siis on G rekursiivne.
Järeldus. Iga lõplik seos on rekursiivne.
![Page 25: REKURSIOONI - JA KEERUKUS TEOORIA](https://reader035.fdocument.pub/reader035/viewer/2022081417/56812a82550346895d8e1503/html5/thumbnails/25.jpg)
4. Turingi masin.
• Tähestik – lõplik mittetühi sümbolite hulk.
• Sõna tähestikus A – tähestiku sümbolitest koosnev järjend.
• Olgu X ja Y tähestikud, XY ja *Y\X.
![Page 26: REKURSIOONI - JA KEERUKUS TEOORIA](https://reader035.fdocument.pub/reader035/viewer/2022081417/56812a82550346895d8e1503/html5/thumbnails/26.jpg)
Turingi masin (linditähestikuga Y ja sisendtähestikuga X) on nelik
M = (Q, , q0, qF), kus
• Q on lõplik seisundite hulk, on (osaline) üleminekufunktsioon
(: QY QY(L, R, ),
• q0 on algseisund, q0Q,
• qF on lõppseisund, qFQ
ja (qF, y) on määramata kõigi yY jaoks.
![Page 27: REKURSIOONI - JA KEERUKUS TEOORIA](https://reader035.fdocument.pub/reader035/viewer/2022081417/56812a82550346895d8e1503/html5/thumbnails/27.jpg)
• Osaline funktsioon : NnN on Turingi mõttes arvutatav, kui leidub binaarne TM, mis seda arvutab.
• Osaline funktsioon : NnNm (m > 1) on Turingi mõttes arvutatav, kui funktsioonid Pm
k◦: NnN (k = 1, …, m) on Turingi
mõttes arvutatavad.
![Page 28: REKURSIOONI - JA KEERUKUS TEOORIA](https://reader035.fdocument.pub/reader035/viewer/2022081417/56812a82550346895d8e1503/html5/thumbnails/28.jpg)
Lause 1. Kui on osaline funktsioon : NnN, mida arvutab TM, mille sisendtähestikus sisaldub {0,1}, siis on Turingi mõttes arvutatav.
Teoreem 2. Iga osaline rekursiivne funktsioon : NnN on Turingi mõttes arvutatav.
![Page 29: REKURSIOONI - JA KEERUKUS TEOORIA](https://reader035.fdocument.pub/reader035/viewer/2022081417/56812a82550346895d8e1503/html5/thumbnails/29.jpg)
Churchi tees. Iga arvutatav funktsioon on arvutatav Turingi mõttes.
Churchi teesi pole tõestatud, kuid üldiselt loetakse see kehtivaks.
• kõik katsed arvutatava osalise funktsiooni (NnN) formaliseerimiseks viivad sama funktsiooniklassini.
• Ei leidu ühtki näidet vastupidisest, s.t. arvutatavast funktsioonist, mis ei oleks arvutatav Turingi mõttes.