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

Slides:



Advertisements
Hasonló előadás
Készítette: Kosztyán Zsolt Tibor
Advertisements

Integritási tartományok
A digitális számítás elmélete
Lineáris egyenletrendszerek
Egy szélsőérték feladat és következményei
Lineáris egyenletrendszerek megoldása Gauss elimináció, Cramer-szabály Dr. Kovács Sándor DE GVK Gazdaságelemzési és Statiszikai Tanszék.
Készítette: Kosztyán Zsolt Tibor
Kiszámíthatóság, rekurzív függvények
Algebrai struktúrák.
KÉSZÍTETTE: Takács Sándor
Programozási tételek, és „négyzetes” rendezések
Kódelmélet.
A digitális számítás elmélete
Függvények Egyenlőre csak valós-valós függvényekkel foglalkozunk.
Matematika és Tánc Felkészítő tanár: Komáromi Annamária
Kötelező alapkérdések
Vektormező szinguláris pontjainak indexe
Illeszkedési mátrix Villamosságtani szempontból legfontosabb mátrixreprezentáció. Legyen G egy irányított gráf, n ponton e éllel. Az n x e –es B(G) mátrixot.
Matematika II. 2. előadás Geodézia szakmérnöki szak 2012/2013. tanév Műszaki térinformatika ágazat őszi félév.
Prímtesztelés Témavezető: Kátai Imre Komputeralgebra Tanszék Nagy Gábor:
Euklidészi gyűrűk Definíció.
Egy f  R[x] polinom cS -beli helyettesítési értéke
Algebrai struktúrák 1.
Csoport részcsoport invariáns faktorcsoport részcsoport
Gyűrűk Definíció. Az (R, +, ·) algebrai struktúra gyűrű, ha + és · R-en binér műveletek, valamint I. (R, +) Abel-csoport, II. (R, ·) félcsoport, és III.
4. VÉGES HALMAZOK 4.1 Alaptulajdonságok
Programozási alapismeretek 8. előadás. ELTE 2/  További programozási tételek További programozási tételek 
Dominók és kombinatorika
Algoritmizálás Göncziné Kapros Katalin humaninformatika.ektf.hu.
Lineáris programozás Modellalkotás Grafikus megoldás Feladattípusok
OPERÁCIÓKUTATÁS Kalmár János, 2012 Tartalom A nulla-egy LP megoldása Hátizsák feladat.
A digitális számítás elmélete
A digitális számítás elmélete
A digitális számítás elmélete
Determinisztikus véges automaták csukva nyitva m s kbsm csukva nyitva csukva nyitva csukvanyitva 1. Példa: Fotocellás ajtó s b m m= mindkét helyen k= kint.
Év eleji információk Előadó: Hosszú Ferenc II. em Konzultáció: Szerda 9:50 – 10:35 II. em
Differenciál számítás
Valós számok Def. Egy algebrai struktúra rendezett test, ha test és rendezett integritási tartomány. Def. Egy (T; +,  ;  ) rendezett test felső határ.
6. SZÁMELMÉLET 6.1. Oszthatóság
Reprezentációs függvény. Adva egy adattípus absztrakt és konkrét specifikációja: d a = ( A, F, E a ); d c = ( C, G, E c ); A = {A 0,..., A n };C = {C 0,...,
A számfogalom bővítése
MATEMATIKA ÉS INFORMATIKA I.
Algoritmusok bonyolultsága és kommunikációs bonyolultság Gáspár Merse Előd fizika szeminárium 2004 szeptember Algoritmusok bonyolultsága és kommunikációs.
Algoritmusok bonyolultsága Gáspár Merse Előd Györgyi Géza féle statisztikus fizika szeminárium 2004.
Lineáris programozás Definíció: Olyan matematikai programozási feladatot nevezünk lineáris programozási feladatnak, amelyekben az L halmazt meghatározó.
Lineáris programozás.
Lineáris programozás Elemi példa Alapfogalmak Általános vizsg.
Gazdaságstatisztika 11. előadás.
Alapsokaság (populáció)
Vektorterek Definíció. Legyen V Abel-csoport, F test, továbbá
A Turing-gép.
1. MATEMATIKA ELŐADÁS Halmazok, Függvények.
Lineáris algebra.
Rövid összefoglaló a függvényekről
Kijelentések könyve: mindegyik oldalon egy kijelentés. Egyes igaz kijelentések axiómák. Az axiómákból bizonyítható kijelentések mind igazak, és a cáfolható.
Dodekaéder Hamilton köre
2005. Információelmélet Nagy Szilvia 2. A forráskódolás elmélete.
Programozási alapismeretek 8. előadás. ELTE Szlávi-Zsakó: Programozási alapismeretek 8.2/  További programozási.
előadások, konzultációk
T.5. tétel (minimálpolinom egyértelmű létezése)
1 Relációs kalkulusok Tartománykalkulus (DRC) Sorkalkulus (TRC) - deklaratív lekérdezőnyelvek - elsőrendű logikát használnak - relációs algebra kifejezhető.
HÁLÓZAT Maximális folyam, minimális vágás
Lineáris programozás Elemi példa Alapfogalmak Általános vizsg.
Mediánok és rendezett minták
II. konzultáció Analízis Sorozatok Egyváltozós valós függvények I.
Lineáris egyenletrendszerek megoldása Gauss elimináció, Cramer-szabály Dr. Kovács Sándor DE GVK Gazdaságelemzési és Statiszikai Tanszék.
P és NP teljes problémák
A Számítástudomány alapjai A Számítógépek felépítése, működési módjai
Gráfok - 1 Definíció: Irányított gráf (digráf) G=(V,E) rendezett pár.
Absztrakt problémák Q  I  S, az absztrakt probléma kétváltozós reláció az esetek (I) és a megoldások (S) halmazán Példa: legrövidebb út Eset: gráf és.
Előadás másolata:

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

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

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

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

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!

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

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

Dominó készlet konstrukciója

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.

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?

Poliéderek összehúzhatósága Definíciók: Legyenek e1 . . . , 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!

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 ui1ui2 . . . uiK = vi1vi2 . . . viK? Ez is eldönthetetlen!

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

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.

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

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

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.

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ó

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

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.

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

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!

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!

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

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.

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.

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.

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.

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