rekursiooni - ja keerukus teooria

29
REKURSIOONI- JA KEERUKUSTEOORIA Tiina Zingel

Upload: desirae-rodriquez

Post on 30-Dec-2015

70 views

Category:

Documents


0 download

DESCRIPTION

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 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: REKURSIOONI - JA KEERUKUS TEOORIA

REKURSIOONI- JA KEERUKUSTEOORIA

Tiina Zingel

Page 2: REKURSIOONI - JA KEERUKUS TEOORIA

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

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

Rekursiooniteooria = arvutatavuse teooria

 

Arvutus:

algoritm

SISEND  VÄLJUND

• Funktsioon on arvutatav, kui leidub algoritm, mis seda arvutab.

Page 5: REKURSIOONI - JA KEERUKUS TEOORIA

• 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

• 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

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

• 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

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

• 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

2. Rekursiivsed funktsioonid.

• Turingi masinad

• Kleene’i osalised rekursiivsed funktsioonid

• Churchi -arvutus

Page 12: REKURSIOONI - JA KEERUKUS TEOORIA

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

• 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

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

• 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

• 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

• 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

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

• 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

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

• 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

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

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

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

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

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

• 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

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

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.