definiálunk. Legyen egy konfiguráció, ahol és. A következő három esetet különböztetjük meg. 1. Ha, akkor 2. Ha, akkor, ahol, ha, és egyébként.

Hasonló dokumentumok
Számításelmélet. Második előadás

Deníciók és tételek a beugró vizsgára

Turing-gépek. Számításelmélet (7. gyakorlat) Turing-gépek 2009/10 II. félév 1 / 1

Számításelmélet. Will június 13. A kiszámíthatóság fogalma és a Church-Turing tézis

Az informatika elméleti alapjai 2 elővizsga december 19.

Logika és számításelmélet. 10. előadás

Algoritmuselmélet 12. előadás

Logika és számításelmélet. 11. előadás

NP-teljesség röviden

Algoritmusok bonyolultsága

Automaták mint elfogadók (akceptorok)

Bevezetés a bonyolultságelméletbe gyakorlatok I. A(0, y) := y + 1 y 0 A(x, 0) := A(x 1, 1) x 1 A(x, y) := A(x 1, A(x, y 1)) x, y 1

A digitális számítás elmélete

Logika és számításelmélet Készítette: Nagy Krisztián

Bonyolultságelmélet gyakorlat 06 Gráfos visszavezetések II.

Turing-gép május 31. Turing-gép 1. 1

Bonyolultságelmélet. Monday 26 th September, 2016, 18:50

Véges automaták, reguláris nyelvek

Logika és számításelmélet

Bonyolultságelmélet. Thursday 1 st December, 2016, 22:21

Algoritmuselmélet. Katona Gyula Y. Számítástudományi és Információelméleti Tanszék Budapesti Műszaki és Gazdaságtudományi Egyetem. 13.

Logika és számításelmélet. 12. előadás

Formális nyelvek - 9.

Algoritmuselmélet. Bonyolultságelmélet. Katona Gyula Y.

A Formális nyelvek vizsga teljesítése. a) Normál A vizsgán 60 pont szerezhet, amely két 30 pontos részb l áll össze az alábbi módon:

Logika és számításelmélet. 7. előadás

Turing-gépek. Kiegészítő anyag az Algoritmuselmélet tárgyhoz. Friedl Katalin BME SZIT augusztus 16.

Turing-gépek. Kiegészítő anyag az Algoritmuselmélet tárgyhoz VIII. Friedl Katalin BME SZIT március 18.

Diszkrét matematika 2.C szakirány

Logika és számításelmélet. 7. előadás

A Turing-gép. Formális nyelvek III.

Diszkrét matematika 2.

A számítógépes nyelvészet elmélete és gyakorlata. Automaták

Diszkrét matematika 2.C szakirány

Diszkrét matematika 1. estis képzés

Bonyolultságelmélet feladatok

Diszkrét matematika 2. estis képzés

Diszkrét matematika 2. estis képzés

A Formális nyelvek vizsga teljesítése. a) Normál A vizsgán 60 pont szerezhet, amely két 30 pontos részb l áll össze az alábbi módon:

Algoritmuselmélet. Katona Gyula Y. Számítástudományi és Információelméleti Tanszék Budapesti Műszaki és Gazdaságtudományi Egyetem. 12.

ALGORITMUSOK ÉS BONYOLULTSÁGELMÉLET Matematika MSc hallgatók számára

1. tétel - Gráfok alapfogalmai

Tesztkérdések az ALGORITMUSELMÉLET tárgyból, 2001/ félév

Diszkrét matematika 2.

Diszkrét matematika 2. estis képzés

Diszkrét matematika 2. estis képzés

Diszkrét matematika 2.C szakirány

Alap fatranszformátorok II

ALGORITMUSOK ÉS BONYOLULTSÁGELMÉLET Matematika MSc hallgatók számára. 11. Előadás

Diszkrét matematika 2. estis képzés

Diszkrét matematika 2.C szakirány

Bonyolultságelmélet. Monday 26 th September, 2016, 18:27. Bonyolultságelmélet

Bonyolultságelmélet. Monday 26 th September, 2016, 18:28

A Számítástudomány alapjai

Kriptográfia 0. A biztonság alapja. Számítás-komplexitási kérdések

ÍTÉLETKALKULUS (NULLADRENDŰ LOGIKA)

Formális nyelvek és automaták vizsgához statisztikailag igazolt várható vizsgakérdések

Államvizsga kérdések a matematikus szakon, 2001.

Felismerhető nyelvek zártsági tulajdonságai II... slide #30. Véges nemdeterminisztikus automata... slide #21

ALGORITMUSOK ÉS BONYOLULTSÁGELMÉLET Matematika MSc hallgatók számára. 3. Előadás

Diszkrét matematika 2.C szakirány

Logika es sz am ıt aselm elet I. r esz Logika 1/36

Diszkrét matematika 1. estis képzés

KOVÁCS BÉLA, MATEMATIKA I.

Hadamard-mátrixok Előadó: Hajnal Péter február 23.

Számítógép és programozás 2

Algoritmuselmélet 18. előadás

ZH feladatok megoldásai

Nagyordó, Omega, Theta, Kisordó

Diszkrét matematika 2.

Modern irányzatok a bonyolultságelméletben: éles korlátok és dichotómia tételek

minden x D esetén, akkor x 0 -at a függvény maximumhelyének mondjuk, f(x 0 )-at pedig az (abszolút) maximumértékének.

Logika es sz am ıt aselm elet I. r esz Logika Hatodik el oad as 1/33

LOGIKA ÉS SZÁMÍTÁSELMÉLET KIDOLGOZOTT JEGYZET

Bonyolultságelmélet. SZTE Informatikai Tanszékcsoport

ALAPFOGALMAK 1. A reláció az program programfüggvénye, ha. Azt mondjuk, hogy az feladat szigorúbb, mint az feladat, ha

Kiegészítő részelőadás 1. Az algoritmusok hatékonyságának mérése

Alap fatranszformátorok I. Oyamaguchi [3], Dauchet és társai [1] és Engelfriet [2] bebizonyították hogy egy tetszőleges alap

Sorozatok, sorok, függvények határértéke és folytonossága Leindler Schipp - Analízis I. könyve + jegyzetek, kidolgozások alapján

Halmazelmélet. 1. előadás. Farkas István. DE ATC Gazdaságelemzési és Statisztikai Tanszék. Halmazelmélet p. 1/1

Általános algoritmustervezési módszerek

Számításelmélet Tamás Herendi

SzA II. gyakorlat, szeptember 18.

Diszkrét matematika 2 (C) vizsgaanyag, 2012 tavasz

Gráfalgoritmusok ismétlés ősz

Bevezetés a számításelméletbe

ALGORITMUSOK ÉS BONYOLULTSÁGELMÉLET Matematika MSc hallgatók számára. 9. Előadás. Előadó: Hajnal Péter Jegyzetelő: Hajnal Péter április 12.

Diszkrét matematika 2.C szakirány

Nagy Gábor compalg.inf.elte.hu/ nagy ősz

3. Fuzzy aritmetika. Gépi intelligencia I. Fodor János NIMGI1MIEM BMF NIK IMRI

9. előadás Veremautomaták 1.

A matematika nyelvér l bevezetés

2010. október 12. Dr. Vincze Szilvia

BOOLE ALGEBRA Logika: A konjunkció és diszjunkció tulajdonságai

Funkcionálanalízis. n=1. n=1. x n y n. n=1

6. előadás A reguláris nyelvek jellemzése 2.

Ítéletkalkulus. 1. Bevezet. 2. Ítéletkalkulus

Automaták és formális nyelvek

Számítógép és programozás 2

9. előadás. Programozás-elmélet. Programozási tételek Elemi prog. Sorozatszámítás Eldöntés Kiválasztás Lin. keresés Megszámolás Maximum.

Átírás:

Számításelmélet Kiszámítási problémának nevezünk egy olyan, a matematika nyelvén megfogalmazott kérdést, amire számítógéppel szeretnénk megadni a választ. (A matematika nyelvén precízen megfogalmazott kérdés). Egy problémát a hozzá tartozó konkrét bemenettel együtt a probléma egy példányának nevezünk. Speciális számítási probléma az eldöntési probléma. (a probléma egy példányára a válasz igen vagy nem ) Egy számítási probléma reprezentálható egy praciális függvénnyel. Az halmaz tartalmazza a probléma egyes példányait, jellemzően egy megfelelő ábécé feletti szóban elkódolva, míg a halmaz tartalmazza az egyes példányokra a függvény által adott értékeket, szintén valamely alkalmas ábécé feletti szóban elkódolva. Egy fv kiszámítható, ha van olyan algoritmus, ami -ra véges sok lépésben kiszámolja -t. Egy probléma megoldható (eldöntési probléma esetén eldönthető), ha kiszámítható. Egy eldöntési probléma tekinthető úgy, mint egy igen bemenete} ( = D egy elkódolása egy megfelelő ábécé felett) Formális nyelvek terminológia - Ábécé: T (Σ) véges, nem üres halmaz - T-feletti szó:,, : - Üres szó: ε - T feletti összes szó h lm z - T feletti formális nyelv: - Függvények: Legyenek függvények, ahol N a természetes számok halmaza. Azt mondjuk, hogy f legfeljebb olyan gyorsan nő, mint g (jel: ) ha létezik olyan szám és, hogy minden számra. Az jelöli azt, hogy teljesül, és jelöli azt, hogy és is teljesül. Tétel: Minden polinomiális függvény lassabban nő, mint bármely exponenciális függvény, azaz minden polinomhoz és c pozitív valós számhoz van olyan egész szám, hogy minden esetén. A Turing-gép egy olyan Σ rendszer, ahol - Q az állapotok véges, nem üres halmaza, -, a kezdő-, az elfogadó és az elutasító állapot, - Σ, ábécék, a bemenő jelek illetve a szalag szimbólumok ábécéje úgy, hogy és Σ tartalmaz egy speciális szimbólumot, - } } az átmenetfüggvény. Az M konfiguráció-átmenete egy olyan reláció, amit a következőképpen definiálunk. Legyen egy konfiguráció, ahol és. A következő három esetet különböztetjük meg. 1. Ha, akkor 2. Ha, akkor, ahol, ha, és egyébként. 1 / 7

3. Ha, akkor ahol valamely -ra és -ra, ha és, egyébként. Azt mondjuk, hogy M véges sok lépésben eljut a C konfigurációból C konfigurációba (jele ), ha van olyan és konfigurációsorozat, hogy, és minden i -re,. Ha }, akkor azt mondjuk, hogy az uqv konfiguráció egy megállási konfiguráció. Továbbá, esetén elfogadó, míg esetében elutasító konfigurációról beszélünk. Az M által felismert nyelv (jel: L(M)) azoknak az Σ szavaknak a halmaza, melyekre igaz, hogy valamely, szavakra. Egy Σ nyelv Turing-felismerhető, ha valamely Turing-gépre. ( } (azaz egy L nyelvet Turing-felismerhetőnek nevezünk, ha van olyan M Turing-gép ami az összes L-beli szóra -ben áll meg, a többi szóra pedig -ben áll meg vagy esetleg nem áll meg. Egy Σ nyelv eldönthető, ha létezik olyan Turing-gép, mely minden bemeneten megállási konfigurációba jut és felismer az -et. ( ö } A Turing-felismerhető nyelveket szokás rekurzívan felsorolhatónak, az eldönthető nyelveket pedig rekurzívnak is nevezni. Tekintsünk egy Σ Turing-gépet és annak egy Σ bemenő szavát. Azt mondjuk, hogy futási ideje (időigénye) az szón ( ), ha M a kezdőkonfigurációból n lépésben el tud jutni egy megállási konfigurációba. Ha nincs ilyen szám, akkor M futási ideje az u-n végtelen. Legyen egy függvény. Azt mondjuk, hogy időigénye (vagy azt, hogy M egy időkorlátos gép), ha minden Σ input szóra, M időigénye az u szón legfeljebb. Legyen. Egy k-szalagos Turing-gép egy olyan Σ rendszer, ahol a komponensek a δ kivételével megegyeznek az egyszalagos Turing-gép komponenseivel, δ pedig a következőképpen adódik. } }. Legyenek,, és }. Ha, akkor a gép a q állapotból, ha a szalagjain rendre az betűket olvassa, át tud menni a p állapotba, miközben az betűket átírja a betűkre és a szalagon a fejeket a irányokba mozgatja. A korábbi foglamak kiterjeszthetők k-szalagos esetre. A továbbiakban egy nyelven időben eldönthetőnek nevezzük, ha eldönthető egy időkorlátos (akár többszalagos) Turing-géppel. Két Turing-gép ekvivalens, ha ugyanazt a nyelvet ismerik fel. Tétel: Minden k-szalagos, időkorlátos Turing-géphez van vele ekvivalens egyszalagos, időkorlátos Turing-gép. (vázlat) Legyen M egy k-szalagos Turing-gép valamely. Megadunk egy M egyszalagos Turing-gépet ami képes szimulálni M működését. Tétel: Minden többirányú Turing-géphez van vele ekvivalens egyirányú Turing-gép. Egy M nemdeterminisztikus Turing-gép átmenetfüggvénye: } } alakú. Tehát M minden konfigurációjából néhány (esetleg nulla) különböző konfigurációba mehet át. 2 / 7

számítási sorozatai egy szón egy fával reprezentálhatók. A fa csúcsa kezdőkonfigurációja, a szögpontjai pedig konfigurációi. A fa minden levele megfelel egy számítási sorozatának az -n. akkor fogadja el -t, ha a fa valamelyik levele elfogadó konfiguráció. ( nemdeterminisztikus számítási fája az -n) Az M által felismert nyelv a determinisztikus esethez hasonlóan definiálható. Egy nemdeterminisztikus Turing-gép eldönt egy Σ nyelvet ha felismeri, és minden Σ szóra számítási sorozatai végesek és elfogadási vagy elutasítási konfigurációba vezetnek. A nemdeterminisztikus Turing-gép definiciója kiterjeszthető a többszalagos esetre is. Legyen egy függvény és egy nemdeterminisztikus Turing-gép. Azt mondjuk, hogy az időigénye ha egy hosszú bemeneten nincsenek -nek -nél hosszabb számítási sorozatai, azaz az számítási fája az -n legfeljebb magas. Tétel: Minden nemdeterminisztikus Turing-géphez megadható egy ekvivalens determinisztikus Turing-gép. Továbbá, ha időigényű valamely függvényre, akkor időigényű. (vázlat) Legyen M egy nemdeterminisztikus Turing-gép. Megadunk egy M háromszalagos Turing-gépet ami ekvivalens M-mel. M első szalagja tartalmazza a u bemenő szót. A második szalagon történik az M számítási sorainak a szimulációja. Ez a szalag tartalmazza M egy konkrét számítási sorozatának a lépésenkénti eredményét. A harmadik szalagon lévő szó alapján szimulálja M az M egy számítási sorozatát. A szalagon a fej poziciója mutatja azt, hogy melyik lépésnél tart M a szimulációban. A harmadik szalagon tulajdonképpen az u-t elfogadó konfigurációk egy szélességi keresése történik a nemdeterminisztikus számítási fában. R valódi részhalmaza az RE-nek, azaz van olyan nyelv (probléma) ami Turingfelismerhető, de nem eldönthető. ó } ( ó } lentebbi konstrukció) } ( { } lentebbi konstrukció) Feltesszük, hogy a Turing-gép bemenő ábécéje {0,1} Legyen Σ } } irányok: } Egy ( ) M átmenetei: ó ó ó M és w elkódolása: ó } elemei felsorolhatóak: ε, 0, 1, 00, 01, 10, 11, lt l ó lt T i h le lis ó { tetsz l T i mel e e t Tétel: ó Legyen T egy két irányban végtelen, 0,1-eket tartalmazó táblázat 3 / 7

- T i.-ik sora az karakterisztikus függvénye - T átlójának komplementere a ó karakterisztikus függvénye - T átlójának komplementere T minden sorától különbözik - Minden nyelv bármelyik függvénye megegyezik T valamelyik sorával - Következik, hogy ó különbözik minden nyelvtől, vagyis ó Tétel: (vázlat) Megadunk egy U Turing-gépet, ami -t felismeri. Ezt a Turing-gépet Univerzális Turing-gépnek nevezzük, mert U szimulálja a bemenetén kapott szó által kódolt Turing-gép működését a szón. U-nak négy szalagja van. Először leellenőrzi, hogy a bemenete egy <M,w> alakú szó-e. Ha igen, akkor elkezdi szimulálni M működését. U második szalagján tárolja az M szalagját, mégpedig ugyanolyan kódolással, mint amilyen az M elkódolásánál is használatos. A harmadik szalagon tárolja U az M aktuális állapotát a szokásos módon kódolva. Belátható, hogy U akkor fogad el egy alakú bemenetet, ha, vagyis. Tehát U felismeri -t. Tétel: indirekt módon. Tfh (eldönthető) és legyen M az a Turing-gép, ami eldönti -t. M-ből megkonstruálunk egy olyan M Turing-gépet, ami ó-t dönti el. ó ellentmondás ó w Másol w111w M M Tétel: Ha, akkor Legyen egy rekurzív nyelv. Akkor van olyan Turing-gép, ami eldönti -et. Tudjuk, hogy ekkor olyan, hogy a nyelv elemein indítva -ben áll meg, az összes többi szón pedig -ben áll meg, vagyis minden szón megáll. Legyen az a Turinggép, amit úgy kapunk -ből, hogy összes olyan átmenetét, ami -be megy -be irányítjuk, a -be menő átmeneteket pedig -be. Az így definiált az nyelvet dönti el. Tétel: Legyen egy nyelv. Ha, akkor. Ha és is rekurzívan felsorolható, akkor vannak olyan és Turing-gépek, melyek rendre L-et és -et ismerik fel. és felhasználásával megkonstruálunk egy olyan Turing-gépet, ami eldönti -et. M egy olyan kétszalagos gép, ami egy w bemeneten az alábbiakat teszi. Első lépésként a második szalagra másolja w-t. Ezután egy ciklusban szimulálja az egy lépését a másodikon. A ciklus addig fut, amíg és közül valamelyik elfogadó állapotba nem lép. Mivel w vagy az -nek vagy az -nek az eleme, véges számú szimulációs lépés után, vagy vagy elfogadja w-t, tehát valamelyik előbb-utóbb biztosan -be lép. Ha lép -be, akkor M elfogadja a bemenetet, ha, akkor pedig 4 / 7

elutasítja azt. Látható, hogy M is L-et ismeri fel ráadásul minden bemeneten megáll, tehát el is dönti L-et. Következésképpen. Egy Σ függvény kiszámítható, ha van olyan M determinisztikus Turing-gép, ami egy Σ szóval a szalagján indítva véges sok lépésben megáll, és ekkor az utolsó szalagján van. Legyen Σ és két nyelv (eldöntési probléma). visszavezethető -re, ha van olyan Σ kiszámítható függvény, hogy minden Σ szóra, akkor és csak akkor teljesül, ha is teljesül. Legyen Σ és eldöntési probléma és Tfh visszavezethető -re. Akkor igazak: 1. Ha eldönthetetlen, akkor is az. 2. Ha, akkor. Legyen az a Turing-gép, ami kiszámolja a visszavezetést és az, ami felismeri -t. Konstruáljuk meg M-et: w f(w) M 1 M 2 M Ekkor, vagyis. Továbbá, ha, akkor választható úgy, hogy minden bemeneten megáll. Ekkor M is minden bemeneten megáll, vagyis M eldönti -et, azaz. Köv: Ha, akkor. me ll } Tétel: (Az nyelv eldönthetetlen) Visszavezetjük az problémátra az problémát, mivel eldönthetetlen, bizonyítja hogy is az. A visszavezetés a következő módon történik. Legyen az a függvény, ami tetsz. v szóhoz az alábbi szót rendeli. Ha nem kódol Turing-gépbemenet párost, akkor legyen. Ellenkező esetben tfh az Turing-gépbemenet párost kódolja. Ekkor legyen, ahol az alábbiakban definiált Turing-gép. egy tetszőleges bemeneten a következőket teszi: 1. Futtatja -et az szón 2. Ha azt látja, hogy elfogadja az u bemenetet, akkor is elfogadja azt. 3. Ha elutasítja -t, akkor egy olyan állapotba megy, ahol egy végtelen ciklusban lépteti a fejet jobbra, tehát ebben az esetben soha nem áll meg. Az így definiált függvény kiszámítható. Továbbá akkor és csak akkor teljesül, ha teljesül. Azt kaptuk, hogy visszavezethető -ra, amiből következik, hogy eldönthetetlen. Tétel: Tekintsük az nyelvet felismerő Univerzális Turing-gépet. Ezt a gépet fogjuk módosítani úgy, hogy -t ismerje fel. minden olyan átmenetét, ami -be megy irányítsuk -be, és jelöljük a kapott Turing-gépet -vel. Egy Turing-gépre és annak w bemenő szavára az szó pontosan akkor eleme -nek, ha megáll a w bemeneten ( -ben vagy -ben). Ez pedig azt jelenti, hogy, vagyis. 5 / 7

Ha a rekurzívan felsorolható nyelvek egy halmaza, akkor -t a reku zív fels lh tó elve e t l s evezzü T v e em t ivi lis t l s h s. Azt mondjuk, hogy egy nyelv rendelkezik a t l s l h. ( }) Tétel: Legyen e zív fels lh tó elve e em t ivi lis t l s Akkor az elv el ö thetetle h em t ivi lis ) el ö thet li m i e ete mi iszti s T i el} el ö thet li m i e em ete mi iszti s T i el} Triviális: Sejtés: Egy probléma -teljes, ha 1. 2.. Legyen Σ és két ábécé és f egy Σ -ból -ba képező függvény. Azt mondjuk, hogy f polinom időben kiszámítható, ha kiszámítható egy polinom időigényű Turing-géppel. Legyen Σ és két nyelv. Azt mondjuk, hogy polinom időben visszavezethető -re (jel: ), ha és az visszavezetésben alkalmazott f függvény polinom időben kiszámítható. Tétel: Legyen egy -teljes probléma. Ha, akkor. köv. az alábbi tételből Tétel: Legyen és két probléma úgy, hogy. 1. Ha, akkor 2. Ha, akkor Tétel: Legyen egy -teljes és egy -beli probléma. Ha, akkor is -teljes. Literálnak nevezünk egy ítéletváltozót (melynek értéke igaz illetve hamis lehet) illetve annak negáltját. Tagnak nevezzük a literálok diszjunkcióját ( vagy kapcsolatát) és konjunktív normlálformának (KNF) a tagok konjunkcióját ( és kapcsolatát). Tétel: (Cook) SAT NP-teljes. iel íthet tív m lf m tt l i i f m l } Tehát SAT azon konjunktív normálformákat tartalmazza, egy megfelelő ábécé felett elkódolva, melyek kielégíthetőek. Legyen. mi e t lite l v } Tétel: 3SAT NP-teljes. TELJES RÉSZGRÁF(KLIKK)={ véges gráf, -nek létezik k csúcsú teljes részgráfja} (tehát a KLIKK azon G és k párokat tartalmazza megfelelő ábécé feletti szavakban elkódolva, melyekre igaz, hogy G-ben van k csúcsú teljes részgráf, azaz olyan részgráf, melyben bármely két csúcs között van él.) FÜGGETLEN CSÚCSHALMAZ(FH)={ véges gráf, -nek van k elemű független csúcshalmaza} (azon G és k párokat tartalmazza, melyekre igaz, hogy G-ben van k olyan csúcs, melyek közül egyik sincs összekötve a másikkal) 6 / 7

CSÚCSLEFEDÉS(CSF)={ véges gráf, -nek van olyan k elemű csúcshalmaza, mely tartalmazza G minden élének legalább egy végpontját} Tétel: TELJES RÉSZGRÁF NP-teljes Tétel: FÜGGETLEN CSÚCSHALMAZ NP-teljes Tétel: CSÚCSLEFEDÉS NP-teljes Tétel: A HAMILTON-ÚT probléma NP-teljes. Tétel: Az IRÁNYÍTATLAN HAMILTON-ÚT probléma NP-teljes. Tétel: Az UTAZÓÜGYNÖK probléma NP-teljes. Tétel: Ha, akkor van olyan nyelv, hogy, de L nem is NP-teljes. 7 / 7