Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

Kiszámíthatóság, rekurzív függvények. (Polinomiális) Church tézis •Church 1931: Minden kiszámítható függvény kiszámítható Turing géppel…  nem kell megjelölni,

Hasonló előadás


Az előadások a következő témára: "Kiszámíthatóság, rekurzív függvények. (Polinomiális) Church tézis •Church 1931: Minden kiszámítható függvény kiszámítható Turing géppel…  nem kell megjelölni,"— Előadás másolata:

1 Kiszámíthatóság, rekurzív függvények

2 (Polinomiális) Church tézis •Church 1931: Minden kiszámítható függvény kiszámítható Turing géppel…  nem kell megjelölni, hogy egy függvény milyen géppel kiszámítható •Polinomiális: Minden „normális” gép tudja egymást polinom időben szimulálni –Működésének nincs természetellenes korlátja –Nincs távol a fizikai megvalósíthatóságtól •B gép polinom időben szimulálja az A gépet, ha van olyan n>0 szám, hogy bármely t>0 lépésszámra és bármely bemeneti stringre a B gép t n >lépésben szimulálja a t lépést.

3 Rekurzív nyelvek •Legyen  egy ábécé, ami tartalmazza a „*” speciális jelet. Legyen   =  -{„*”}. •Def: az f:        függvény rekurzív vagy kiszámítható, ha létezik Turing gép, amely egy x  bemenetre véges idő alatt kiszámítja f(x)-et. •A fenti függvényfogalom könnyen általánosítható másfajta értelmezési tartományokra •Egy halmaz karakterisztikus függvénye •Vegyünk egy   feletti L nyelvet. Az L nyelv karakterisztikus függvénye az a f L (x)=1, ha x  L; 0 egyébként. •Ha egy Turing gép ezt kiszámítja, akkor azt mondjuk: eldönti a nyelvet. •  minden véges nyelv rekurzív •  rekurzív nyelv komplementere is rekurzív

4 •Cantor tétele: Hatványhalmaz számossága határozottan nagyobb, mint az alaphalmazé. •Biz: 1. Hatványhalmaz tartalmazza az egyelemű részhalmazokat is  számossága nem lehet kisebb az alaphalmazénál •2. Nem lehet egyenlő sem: megmutatjuk, hogy nincs kölcsönösen egyértelmű megfeleltetés köztük. •Indirekt. Tfh. van egy ilyen g:A  p(A) függvény. Ez egyes elemeket olyan részhalmazokba képez, amelynek sajátmaguk elemei, másokat olyanokba, amelynek nem elemei. Legyen N  A:{x  A és x  g(x)}. Viszont kell, hogy legyen olyan y:y  A és N  g(y). Ha y  N  akkor nem lehet y  N. Viszont ha y  N  akkor y  N kell hogy legyen  Ellentmondás  Tétel

5 Következmények •1. Adott ábécé felett folytonos számosságú nyelv létezik. Biz: Adott ábécé feletti összes mondat:   számossága megszámlálhatóan végtelen. •2. Léteznek nem rekurzív nyelvek. Biz: Mivel megszámlálhatóan sok Turing gép létezik, viszont adott ábécé felett valós számosságú nyelv  kell hogy legyenek nem rekurzív nyelvek. •Def: Egy L nyelvet rekurzívan felsorolhatónak nevezünk, ha L= , vagy ha rekurzív függvénnyel előállítható. Vagyis L az f értékkészlete, és elemei felsorolhatók: L={f(w 0 ),f(w 1 ),…}, ahol   ={w 0,w 1,…}

6 Következmények •Alternatív definíció… •Lemma: Egy L nyelv rekurzívan felsorolható  ha létezik olyan T Turing gép, amely  áll meg, ha x  L állt a bemenő szalagon. •Biz:  Tfh. L nem üres rekurzívan felsorolható nyelv. Készítsünk egy Turing gépet, amely előállítja az f(y) értékeket minden y   -ra, és megáll, ha f(y)=x. (!!! Ha x  L, akkor nem feltétlenül áll meg) •  Tfh. T olyan Turing-gép, amely pontosan L elemeire áll le. Szerkesszünk T 0 Turing-gépet, amely bemenetére i természetes számot vár, előállítja   (i-SQR(i)) 2 -dik elemét x-et, szimulálja T-t i lépésen keresztül, és ha megáll, akkor kibocsátja x-t. T 0 értékkészlete L lesz. T 0 tehát olyan Turing- gép, amely a természetes számokból az L nyelvbe leképező függvény. •Az említett módszer (végtelen darab számítás szimulációja eggyel) „dovetailing”.

7 •Lemma: Minden rekurzív nyelv rekurzívan felsorolható. •Biz: L nyelvet eldöntő Turing géphez készíthető egy másik, amely megáll, ha x  L, és végtelen ciklusba esik egyébként. •Tétel: Egy L nyelv rekurzív  mind az L, mind a   -L nyelvek rekurzívan felsorolhatók. •Biz:  Ha L rekurzív, akkor ~L szintén rekurzív, és az előző lemma miatt rekurzívan felsorolható is. •  Az L és ~L nyelvhez készíthető Turing gép, amely felsorolja a nyelvek elemeit. Készítsünk egy olyan Turing gépet, amely párhuzamosan szimulálja a kettőt. Előbb vagy utóbb valamelyik kiadja az x bemenő stringet, vagy hosszabbakat állít elő. Ilyenkor megállítjuk a szimulációt és elkészítjük az eredményt.

8 •Tétel: Létezik rekurzívan felsorolható, de nem rekurzív nyelv. •Biz: Legyen L T az önmaguk leírását elfogadó Turing gépek leírását tartalmazó nyelv. L T rekurzívan felsorolható, hiszen a Turing gépek maguk is felsorolhatók. Ha L T rekurzív is lenne, akkor ~L T (az önmaguk leírását elutasító Turing gépek nyelve) is az lenne, vagyis létezne olyan T1 Turing gép, amelyik x inputra  állna meg, ha x  L T. Adjuk oda T1-nek a saját leírását: – ha elfogadja, akkor ~L T definíciója miatt el kellene utasítania. – ha elutasítja, akkor viszont el kellene fogadnia. •Megjegyzés: A fenti technikát a halmazelmélet, logika, komplexitástan több esetben alkalmazza (pl. a Cantor tételnél is), a neve: diagonális módszer. •Hasonló esetekben: azt mondjuk: az L nyelv eldönthetetlen.

9 •A Turing gépek megállási problémája: a (T,x) párok eldönthetősége, ahol T egy Turing gép leírása, x a bemenő string •Tétel: A Turing gépek megállási problémája eldönthetetlen •Korollárium: Eldönthetetlen, hogy egy Turing gép elfogadja-e az üres stringet. (A (T,””) pár is eldönthetetlen.) •Korollárium: Eldönthetetlen, hogy a T Turing gép által elfogadott L T nyelv üres-e. •Korollárium: Eldönthetetlen, hogy egy T Turing gép L T nyelve véges-e, reguláris-e, tartalmaz-e egy adott szót… stb. •Def: A   -on értelmezett egy f(x) függvényt parciálisan rekurzívnak nevezünk, ha létezik olyan Turing gép, amely bármely x   -re véges időn belül akkkor áll meg, ha f(x) kiszámítható, és ilyenkor f(x)-et vissza is írja a szalagra…

10 Egyéb eldönthetetlen kérdések •Kétdimenziós dominó: Legyen egy dominó egy négyzet, minden oldalán egy számmal (nem forgatható). Legyen egy készlet ilyen dominók véges halmaza, amelynek egyik eleme a kitüntetett kezdőelem. •Egy adott K készlet esetén a teljes tér betöltése alatt az egész koordinátájú pontokhoz a K készlet elem-másolatainak olyan hozzárendelését értjük, amely –A szomszéd dominók ugyanolyan számot viselnek az érintkező oldalukon –A kezdőelem legalább egyszer szerepel

11 •Megadhatók olyan készletek, amellyel a tér nyilvánvalóan betölthető, vagy betölthetetlen, de általánosságban: a dominó probléma eldönthetetlen •Ábrázoljuk a készletet a {0,1,+} ábécé felett: 1 dominó: 4 bináris szám + elválasztójel, a készlet ezek konkatenációja, a legelső a kezdő dominó. Jelöljük L D - vel azon K készletek leírásának nyelvét, amelyekre a lefedési probléma megoldható, és L ND -vel pedig azokat, amelyekre nem. •Tétel: A dominó lefedési probléma eldönthetetlen, a L D nyelv nem rekurzív… •Tétel: Az L ND nyelv rekurzívan felsorolható… •Lemma: A tér a dominókkal akkkor kirakható, ha minden n-re a tér 2n+1 méretű része kirakható, a kezdeti dominóval a középpontban.

12 •Biz:  nyilvánvaló •  Létrehozunk egy olyan N 1, N 2, … kirakási sorozatot, amely oldalhossza páratlan és növekszik. Tfh. a kezdeti dominó a középpontjukban van. Vegyük először a 3x3 kirakást. Ezt mindegyik N i kirakás tartalmazza. Ez még csak véges sokféleképpen tehető meg, de lehetséges végtelen kirakás, amelynek a vmelyik 3x3 kirakás része. Vegyük az N i sorozatnak csak azon részét, amelyek a fenti 3x3 négyzet egy konkrét kirakását tartalmazzák. •Tfh. Rögzítsük az N i sorozatnak csak a belső (2k+1)x(2k+1) térrészt lefedő egy kirakását tartalmazó részét. Ekkor a (2k+3)x(2k+3) térrészt lefedő kirakások véges sokan vannak, és van ezek között olyan, amely végtelen sok kirakásban szerepel, és tartalmazza a már rögzített kirakásokat. Mivel a sík minden négyzetét rögzítjük előbb utóbb.

13 •Tétel: Az L ND nyelv rekurzívan felsorolható… •Biz. Készítsünk egy T-gépet. 1. eldönti, hogy egy x   szó tényleg egy készletet kódol-e. Ha nem, akkor végtelen ciklusba fordul. Ha igen, akkor ezzel a készlettel elkezdi lefedni a tér véges részeit (1x1, 2x2, 3x3,…stb.). Minden véges térrészre véges idő alatt eldönthető, hogy kirakható-e. Ha egy nem kirakható négyzetet talál, akkor megáll. x  L ND esetén (vagyis ha x készletet ír le, de azzal nem rakható ki a tér) az előző lemma miatt már véges kxk térrész sem lesz kirakható, ezért a T-gép véges lépés után megáll. •Ellenkezőleg, ha x  L ND, akkor a T-gép végtelen ciklusba fordul.  Állítás…

14 •Tétel: A dominó lefedési probléma eldönthetetlen, a L D nyelv nem rekurzív… •Biz: Legyen T=(Q, , , ,q 0,F) egy T-gép. Létre fogunk hozni egy olyan K készletet, amely akkkor fedi le az egész teret, ha a T gép megáll üres bemenetre. Ez viszont eldönthetetlen… •Készítsük el a gép alapján a köv lefedést: –Ha a p-ik szalagjel tartalma a q-ik lépés után h, akkor írjuk a (p;q) négyzet felső élére és a (p;q+1) négyzet alsó élére a h jelet. –Ha a q-ik lépés után a p-ik szalagjelet olvassuk, és a gép g állapotban van, akkor írjuk a (p;q) négyzet felső élére és a (p;q+1) négyzet alsó élére a g jelet. –Ha a q-ik lépés után a fej jobbra/balra mozdul, (a p-1/p+1 jelről a p-re), és a gép g állapotban van, akkor akkor írjuk a -1,g/1g jelet a (p;q) négyzet bal/jobboldalára és a (p- 1,q)/p+1,q) négyzet jobb/baloldalára.

15 –Írjuk az N jelet az alsó sorban a függőleges élekre mindenhová a kezdőponttól balra, és a P jelet jobbra. •Állapítsuk meg, milyen dominók fordulnak elő… –A felső féltérben négyféle:

16 •Gráf útkeresési probléma: G=(V,E), ahol V csúcspontok véges halmaza, E  VxV élek halmaza. v1,v2  V: vajon létezik-e v1  v2 út? •REACHABILITY algoritmus: 1.Legyen S={v1}, a v1 csúcsot megjelöljük 2.Minden lépésnél kiveszünk egy v csúcsot S-ből 3.Keressük a v’ csúcsokat, hogy (v,v’)  E. Ha v’ nincs megjelölve, akkor megjelöljük és felvesszük S-be. 4.Megállunk, ha S=0 5.IGEN, ha v2 jelölve van, egyébként NEM. • Az algoritmus megoldása kb. O(n 2 ) időbe kerül •REACHABILITY  TIME(n 2 ) •Az algoritmus tárigénye kb O(n) •REACHABILITY  SPACE(n) Problémák és algoritmusok

17 Utazó ügynök (Travelling Salesman) •Adott n db. Város, dij>=0, ahol 1=NP. •Tárigény: O(n)

18 Palindrómakeresés •PALINDROME  TIME(n) •Def: TIME(f(n)) – Idő-komplexitásosztály (complexity class) •Def: SPACE(f(n)) – Tárigény- komplexitásosztály •DTIME: csak determinisztikus algoritmusokra •PTIME: Turing géppel polinomiális időben eldönthető algoritmusok •PSPACE, DSPACE….


Letölteni ppt "Kiszámíthatóság, rekurzív függvények. (Polinomiális) Church tézis •Church 1931: Minden kiszámítható függvény kiszámítható Turing géppel…  nem kell megjelölni,"

Hasonló előadás


Google Hirdetések