1 / 29

REKURSIOONI - JA KEERUKUS TEOORIA

REKURSIOONI - JA KEERUKUS TEOORIA. Tiina Zingel. KIRJANDUS H.Rogers "Theory of Recursive Functions and Effective Computability" J.R.Shoenfield "Recursion Theory" D.S.Bridges "Computability" …. Loengute kava Sissejuhatus Põhimõisted Funktsioonid

Download Presentation

REKURSIOONI - JA KEERUKUS TEOORIA

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. REKURSIOONI- JA KEERUKUSTEOORIA Tiina Zingel

  2. KIRJANDUS • H.Rogers "Theory of Recursive Functions and Effective Computability" • J.R.Shoenfield "Recursion Theory" • D.S.Bridges "Computability" …

  3. Loengute kava • Sissejuhatus • Põhimõisted Funktsioonid Rekursiivsed funktsioonid ja Turingi masinad Rekursiivselt loenduvad hulgad • Lahenduvus ja mittelahenduvus • Taanduvused ja hierarhiad • Ülesannete keerukus

  4. Rekursiooniteooria = arvutatavuse teooria Arvutus: algoritm SISEND   VÄLJUND • Funktsioon on arvutatav, kui leidub algoritm, mis seda arvutab.

  5. 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?

  6. 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?

  7. 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

  8. 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.

  9. Olgu ,  : NN (+ )(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.

  10. 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.

  11. 2. Rekursiivsed funktsioonid. • Turingi masinad • Kleene’i osalised rekursiivsed funktsioonid • Churchi -arvutus

  12. Algfunktsioonid: • Naturaalarvud 0, 1, 2, … (0-muutuja funktsioonid) • Nullfunktsioon 0: NN, 0(n) = 0 • Suksessorfunktsioon sc: NN, sc(n) = n+1 • Projektsioonfunktsioonid Pnj : NnN, Pnj (k1, …, kn) = kj, k1, …, knN.

  13. Osaline funktsioon  : NnN (n1) saadakse osalistest funktsioonidest  : Nn-1Nja  : Nn+1Nlihtrekursiooniga, kui kõigi k1, …, knN korral (0, k2, …, kn) = (k2, …, kn) ja (k+1, k2, …, kn) = =  (k, (k,k2, …, kn), k2, …, kn)

  14. Rekursiivsete funktsioonide hulk P üle N: • P sisaldab kõiki algfunktsioone, • Kui g: NmN ja hk: NnN (k = 1, …, m) kuuluvad hulka P, siis kompositsioon g◦(h1, …, hm): NnN kuulub hulka P. • Kui funktsioonid g: Nn-1N ja h: Nn+1N kuuluvad hulka P, siis kuulub hulka P ka funktsioon f: NnN, mis saadakse funktsioonidest g ja h rekursiooni teel.

  15. Seega P koosneb kõigist funktsioonidest, mida võib saada algfunktsioonidest, rakendades lõplik arv kordi kompositsiooni ja rekursiooni.

  16. Hulga Nn element (k1, …, kn) võimaldab minimiseerimist osalise funktsiooni :Nn+1N suhtes, kui järgmine hulk ei ole tühi: D(k1, …, kn) = { mN (i, k1, …, kn)  domain () (0 i m) ja (m, k1, …, kn) = 1}.

  17. Osaline funktsioon : NnN 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].

  18. Osaliste rekursiivsete funktsioonide hulk R üle N : • R sisaldab kõiki algfunktsioone, • Kui g: NmN ja hk: NnN (k = 1, …, m) kuuluvad hulka R, siis kompositsioon g◦(h1, …, hm): NnN kuulub hulka R.

  19. Kui funktsioonid g: Nn-1N ja h: Nn+1N kuuluvad hulka R, siis kuulub hulka R ka funktsioon f: NnN, mis saadakse funktsioonidest g ja h rekursiooni teel. • Kui osaline funktsioon : Nn+1N kuulub hulka R, siis kuulub hulka R ka osaline funktsioon : NnN, mis on saadud funktsioonist  minimiseerimise teel.

  20. 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.

  21. 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)).

  22. 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.

  23. 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.

  24. 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.

  25. 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, XY ja *Y\X.

  26. 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 (: QYQY(L, R, ), • q0 on algseisund, q0Q, • qF on lõppseisund, qFQ ja  (qF, y) on määramata kõigi yY jaoks.

  27. Osaline funktsioon : NnN on Turingi mõttes arvutatav, kui leidub binaarne TM, mis seda arvutab. • Osaline funktsioon : NnNm (m > 1) on Turingi mõttes arvutatav, kui funktsioonid Pmk◦: NnN (k = 1, …, m) on Turingi mõttes arvutatavad.

  28. Lause 1. Kui  on osaline funktsioon : NnN, mida arvutab TM, mille sisendtähestikus sisaldub {0,1}, siis on  Turingi mõttes arvutatav. Teoreem 2. Iga osaline rekursiivne funktsioon : NnN on Turingi mõttes arvutatav.

  29. 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 (NnN) formaliseerimiseks viivad sama funktsiooniklassini. • Ei leidu ühtki näidet vastupidisest, s.t. arvutatavast funktsioonist, mis ei oleks arvutatav Turingi mõttes.

More Related