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

Dominó probléma (emlékeztető)‏

Hasonló előadás


Az előadások a következő témára: "Dominó probléma (emlékeztető)‏"— Előadás másolata:

1 Dominó probléma (emlékeztető)‏
Adott egy dominó készlet Minden dominó négyzet alakú Minden oldalukra egy természetes szám van írva Ki van tüntetve egy kezdő dominó Van továbbá véges sok típusú dominó mindegyikéből végtelen sok darab

2 Dominó probléma (emlékeztető)‏
Feladat: rakjuk ki a síkot ezen dominókkal úgy, hogy: A dominókat nem szabad elforgatni A kitüntetett kezdő dominónak szerepelni kell Az egymáshoz illeszkedő oldalakon azonos szám kell szerepeljen

3 Dominó probléma (emlékeztető)‏
LKIRAK azon szavak melyek: Dominó készletet kódolnak A kódolt dominó készlettel ki lehet rakni a síkot LNEMRAK azon szavak melyek: A kódolt dominó készlettel nem lehet kirakni a síkot Tétel: LNEMRAK rekurzív felsorolható Azon múlt, hogy elég ha bármekkora véges részt ki tudunk rakni

4 Dominó probléma (emlékeztető)‏
Megjegyzés: LKIRAK és LNEMRAK nem egymás komplementerei, de uniójuk rekurzív nyelv. (Dominót kódoló szavak nyelve.) Mivel rekurzív (felsorolható) nyelvek uniója is az, ezért ha LKIRAK nem rekurzív, és LNEMRAK rekurzív felsorolható, akkor LKIRAK nem lehet rekurzív felsorolható sem

5 Dominó probléma Tétel: LKIRAK NEM rekurzív Bizonyítás alap ötlete:
Minden Turing géphez készítünk egy olyan dominó készletet úgy, hogy a sík pontosan akkor rakható ki ezzel a készlettel, ha a TG nem áll le az üres inputon Ha ez meg van, akkor LKIRAK rekurzivitásából következne a megállás probléma eldönthetősége, amiről viszont tudjuk, hogy nem az!

6 Dominó készlet konstrukciója
Számok helyett jeleket fogunk írni Nem gond: helyettesíthető véges sok természetes számmal. Feltehető, hogy csak egy szalagos a gép Az is feltehető, hogy a gép soha nem tér vissza a start állapotba

7 Egy futás elejének megfelelő kirakás
A sorok felelnek meg a gép lépeseinek Az alsó és felső élek tárolják a szalagon lévő karaktereket A fej helyénél még az alsó és felső élek az állapotot is tárolják. A fejmozgást átviteli dominók kódolják

8 Dominó készlet konstrukciója

9 Kirakás vs. futás Ha a TG nem áll le, akkor a felső fél síkot ki tudjuk rakni. Alsó fél síkot tükrözött dominókkal oldjuk meg Alternatív lehetőség, hogy csinálunk olyan dominókat amik egyformák, de csak a 0.sor alá tudunk belőlük rakni. A a sík kirakható akkor ez a kirakás a dominók konstrukciója miatt egyértelmű, és a felső fél sík az üres inputon való nem leálló futást ír le.

10 További eldönthetetlen nyelvek
Akkor is eldönthetetlen a dominó probléma, ha nem jelölünk ki kezdő dominót, de a bizonyítás jóval bonyolultabb. Diophantoszi egyenlet: Adott egy egész együtthatós n változós p(x1, ..., xn) polinom, döntsük el, hogy van-e a p = 0 egyenletnek egész számokból álló megoldása? Csoportok szóproblémája: Adott az a1, , an szimbólumok által generált szabad csoportban n + 1 szó: α1, , αn és β. Benne van-e β az α1, , αn által generált részcsoportban?

11 Poliéderek összehúzhatósága
Definíciók: Legyenek e , en az n-dimenziós euklideszi tér egységvektorai. A {0, e1, , en} pontok konvex burkát standard szimplexnek nevezzük. A szimplex lapjai a {0, e1, , en} halmaz részhalmazainak konvex burkai. Poliédernek nevezzük a standard szimplex lapjai tetszőleges halmazának az egyesítését. Probléma: Összehúzható-e egy poliéder folytonosan egy ponttá? Ez is eldönthetetlen!

12 Post szóproblémája Definíciók: Probléma:
Szótárnak nevezünk véges sok (ui, vi); 1 ≤ i ≤ N párt, ahol minden i-re ui*0 és vi*0 Probléma: A bemenet egy szótár. Van-e olyan mondat, ami mindkét nyelven ugyanazt jelenti (ha a betűközöktől eltekintünk)? Precízebben: van-e az indexek olyan i1, i2, , iK sorozata, hogy ui1ui uiK = vi1vi viK? Ez is eldönthetetlen!

13 Idő és tár korlátos nyelvosztályok
Probléma 1: a gyakorlatban hiába áll le egy TG ha túl későn ad választ. Van olyan probléma ami eldönthető, de a leggyorsabb algoritmus is 22^n ideig fut legrosszabb esetben. Probléma 2: a gyakorlatban nem végtelen a szalag. (Tárterület)‏

14 Idő és tár korlátos nyelvosztályok
Továbbiakban legyen adott a T Turing gép a rögzített  ábécé felett. Feltesszük, hogy van egy csak olvasható bemeneti, és egy csak írható kimeneti szalag. (Ezek majd a tárkorlátosság miatt kellenek.)‏ Ezeken kívül még legyen legalább egy munka szalag is ami irható és olvasható is.

15 Idő és tár korlátos nyelvosztályok
Időigény Az a timeT(n) függvény, mely a gép lépésszámának maximumát adja meg n hosszúságú bemenet esetén Sokszor kényelmes feltenni, hogy a gép az inputot mindenképp végig olvassa. Ekkor timeT(n) ≥ n Tárigény spaceT(n) gép szalagjain azon különböző mezők maximális száma az n hosszúságú bemenetek esetén melyekre a gép írt A bemenet által elfoglalt helyet tehát nem számítjuk ide! spaceT(n) ≥ 1

16 Idő és tár korlátos nyelvosztályok
Egy TG polinomiális ha: timeT(n) = O(nc) (Alkalmas C > 0 val)‏ Egy TG exponenciális ha: timeT(n) = O(2n^c) (Alkalmas C > 0 val)‏

17 Idő és tár korlátos nyelvosztályok
Egy L*0 nyelv időbonyolultsága legfeljebb f(n) ha a nyelv egy legfeljebb ilyen időigényű TG-vel eldönthető. Az ilyen nyelvek osztályát jelölje DTIME(f(n))‏ P = PTIME = U∞n=1DTIME(cn)‏ Egy L*0 nyelv tárbonyolultsága … … DSPACE(f(n))‏ PSPACE = … Gyakorlathoz RAM gép közelebb áll, de a fontos nyelvosztályok a TG-re és RAM-ra egybe esnek.

18 Polinomiális idő A gyakorlatban főleg a polinomiális algoritmusokat szeretjük alkalmazni. Rengeteg ilyen algoritmust tanultunk korábban! Néhány a teljesség igénye nélkül: Összefüggőség-teszt Legrövidebb út keresése Maximális folyam keresése Összeadás, szorzás, osztás Euklideszi algoritmus Gauss elimináció

19 Általános tételek a tár- és időbonyolultságról
Ha egy L nyelvhez van olyan L-et eldöntő Turing-gép, melyre minden elég nagy n-re timeT(n) ≤ f(n), (ahol f(n) ≥ n minden n-re), akkor olyan L-et felismerő Turing-gép is van, melyre ez az egyenlőtlenség minden n-re fönnáll. Kis n esetén az eldöntést a vezérlö egységre bizzuk.

20 Lineáris gyorsítási tétel
Tétel: Minden T Turing-géphez és c > 0-hoz található olyan S Turing-gép, mely ugyanazt a nyelvet dönti el, és melyre timeS(n) ≤ c timeT (n) + n Bizonyítás Egyszerűség kedvéért csak 1 szalagosra biz. Feltehető tovább, hogy c=1/p valamilyen p egészre. Felveszünk 2p-1 „induló” és 2p-1 „munka” szalagot, ezeket (1-p) től (p-1) számozzuk. Az i sorszámú szalag j-edik mezejének indexe legyen a j(2p − 1) + i szám. A t indexű mező felel majd meg a t-edik mezőnek az eredeti gép szalagján Legyen még egy kimeneti szalag is.

21 Lineáris gyorsítási tétel (biz.folyt.)‏
S az első fázisban átmásolja az inputot a bemeneti szalagról az induló szalagokra. (A t. mezőt a bemeneti szalagon a t-indexű indulószalag mezőre.)‏ A művelet végén minden fejet vissza állit az alap helyzetbe. Továbbiakban a bemeneti szalaggal nem törődünk

22 Lineáris gyorsítási tétel (biz.folyt.)‏
S a második fázisban minden lépésével T p egymást követő lépését szimulálja Cél: Az S k. lépésében az álljon a t-indexű mezőn, ami a t. mezőn ált T-ben pk lépés után. Vezérlő egység állapotába kódoljuk: A k szalag közül melyik szalagon van az a mező amelyiknél a fej állna T-ben. Mi lenne T belső állapota ebben a lépésben A fejek úgy állnak, hogy T-ben a fej jobb ill. bal oldalán lévő p mezőt tudják olvasni. Vegyük észre, hogy p lépés alatt ezt az intervallumot T olvasó felye nem hagyhatja el!

23 Lineáris gyorsítási tétel (biz.folyt.)‏
Miután olyan TG-ről beszélünk mely nyelvet fogad el, ezért a kimeneti szalagra csak egyszer ír: akkor mikor leáll, ilyenkor is 0-t vagy 1-et Ez tehát könnyen átvihető S-re. Megjegyzések: Ha nem engedünk meg több szalagot, de megengedjük az ábécé bővítését, akkor hasonló tétel lesz igaz! Tárra csak úgy ismert hasonló tétel, ha az ábécé-t bővítjük!

24 További egyszerű relációk idő- és tárbonyolultság között
DTIME(f(n))  DSPACE(f(n))‏ Tehát P  PSPACE Biz.: k szalagos TG minden lépésben legfeljebb k új mezőre tud írni DSPACE(f(n))  U∞c=1DTIME(cf(n)) ha f(n)>log n A különböző helyzetek (ide számolva a felhasznált tárban szereplő értékeket, és a gép és a fejek állapotait is) legfeljebb c f(n)k mf(n)‏ m a jelkészlet elemszáma

25 Tételek idő bonyolultsági osztályokról
1.Téltel: Van olyan f(n) függvény, hogy minden rekurzív nyelv benne van DTIME(f(n)) osztályban. Valahol meglepő, hiszen nagyon gyorsan kell nőjön! ↓↓↓ Pl. gyorsabban mint bármely rekurzív függvény. ↓↓↓ 2.Téltel: Minden rekurzív f(n) függvényre van olyan rekurzív L nyelv, mely nem eleme DTIME(f(n))-nek. Azaz bizonyos értelemben van tetszőlegesen bonyolult nyelv.

26 1. tétel bizonyítása Soroljuk fel az olyan TG-ket melyek minden bemenetre megállnak (csak megsz. sok van)‏ Legyenek ezek T1, T2, T3, … Definiáljuk f-et így: f(n):=maxi≤n timeTi(n)‏ Minden L rekurzív nyelvre van j, hogy Tj eldönti, és n≥j esetén timeTi(n)≤f(n) időben. De ekkor van olyan is, ami minden n-re f(n) időben dönti el.

27 2. tétel bizonyítása A bizonyítás hasonlít a megállási probléma eldönthetetlenségének bizonyításához. Feltehetjük, hogy f(n)>n Legyen T egy 2 szalagos univerzális TG, és álljon L azokból a szavakból, melyeket T mindkét szalagjára felírva T legfeljebb f(|x|)3 lépésben megáll. L nyilván rekurzív Azt állítjuk, hogy nem dönthető el f(n) időben.

28 2. tétel bizonyítása (folyt.)‏
Indirekt tegyük fel, hogy L  DTIME(f(n))‏ Ekkor van Turing gép mely f(n) időben felismeri. Ebből konstruálható 1 szalagos mely c f(n)2 időben dönti el. Módosítsuk úgy, hogy ha x  L akkor ne álljon le, legyen a kapott gép S S szimulálható valamilyen pS programmal T-n. Ekkor T az (x,pS) bemeneten pont akkor áll meg amikor S, és ilyenkor cS c f(|x|)2 idöben.

29 2. tétel bizonyítása (folyt.)‏
Van n0 hogy n≥n0 esetén cS c f(n)2 < f(n)3 Megoldható, hogy pS hossza legalább n0 legyen Mármost ha pS  L, akkor: Definíció szerint mindkét szalagra pS-t írva T megáll f(n)3 lépésben pS azonban az S gépet szimulálja, és pS eleme L-nek, tehát T mindkét szalagra pS-t írva az nem állhat meg Ha viszont pS nem eleme L-nek: S megáll pS inputon c f(|pS|)2 időben, azaz T megáll f(|pS|)3 időben. L definíciója szerint ekkor pS  L


Letölteni ppt "Dominó probléma (emlékeztető)‏"

Hasonló előadás


Google Hirdetések