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ő)‏ Adott egy dominó készlet Minden dominó négyzet alakú Minden oldalukra egy természetes szám van írva Ki van tüntetve egy.

Hasonló előadás


Az előadások a következő témára: "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."— 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ő)‏ L KIRAK azon szavak melyek:  Dominó készletet kódolnak  A kódolt dominó készlettel ki lehet rakni a síkot L NEMRAK azon szavak melyek:  Dominó készletet kódolnak  A kódolt dominó készlettel nem lehet kirakni a síkot Tétel: L NEMRAK 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: L KIRAK és L NEMRAK 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 L KIRAK nem rekurzív, és L NEMRAK rekurzív felsorolható, akkor L KIRAK nem lehet rekurzív felsorolható sem

5 Dominó probléma Tétel: L KIRAK 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 L KIRAK 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 a 1,..., a n 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 1..., en az n-dimenziós euklideszi tér egységvektorai.  A {0, e 1,..., e n } pontok konvex burkát standard szimplexnek nevezzük.  A szimplex lapjai a {0, e 1,..., e n } 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:  Szótárnak nevezünk véges sok (u i, v i ); 1 ≤ i ≤ N párt, ahol minden i-re u i  * 0 és v i  * 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 i 1, i 2,..., i K sorozata, hogy u i1 u i2... u iK = v i1 v i2... v iK ?  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 2 2^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 time T (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 time T (n) ≥ n Tárigény  space T (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!  space T (n) ≥ 1

16 Idő és tár korlátos nyelvosztályok Egy TG polinomiális ha:  time T (n) = O(n c ) (Alkalmas C > 0 val)‏ Egy TG exponenciális ha:  time T (n) = O(2 n^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=1 DTIME(c n )‏ 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 time T (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 time S (n) ≤ c time T (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=1 DTIME(c f(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 m f(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 T 1, T 2, T 3, … Definiáljuk f-et így: f(n):=max i≤n time Ti (n)‏ Minden L rekurzív nyelvre van j, hogy T j eldönti, és n≥j esetén time Ti (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 p S programmal T-n. Ekkor T az (x,p S ) bemeneten pont akkor áll meg amikor S, és ilyenkor c S c f(|x|) 2 idöben.

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


Letölteni ppt "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."

Hasonló előadás


Google Hirdetések