rekursiooni - ja keerukus teooria

Post on 30-Dec-2015

70 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

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

REKURSIOONI- JA KEERUKUSTEOORIA

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

Rekursiivsed funktsioonid ja Turingi masinad

Rekursiivselt loenduvad hulgad

• Lahenduvus ja mittelahenduvus

• Taanduvused ja hierarhiad

• Ülesannete keerukus

Rekursiooniteooria = arvutatavuse teooria

 

Arvutus:

algoritm

SISEND  VÄLJUND

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

• 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?

• 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?

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

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

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.

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

2. Rekursiivsed funktsioonid.

• Turingi masinad

• Kleene’i osalised rekursiivsed funktsioonid

• Churchi -arvutus

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.

• 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)

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.

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

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

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

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.

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

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.

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

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.

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.

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.

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.

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.

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

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.

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.

top related