NP-teljesség röviden



Hasonló dokumentumok
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.

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

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

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

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

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

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

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.

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

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

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

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

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

A Számítástudomány alapjai

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

A Számítógépek felépítése, mőködési módjai. A Számítógépek hardverelemei

Automaták mint elfogadók (akceptorok)

Algoritmuselmélet 12. előadás

Algoritmusok bonyolultsága

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

Formális nyelvek - 9.

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

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. 11. előadás

Véges automaták, reguláris nyelvek

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:

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

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.

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

Diszkrét matematika 2.

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

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

Bonyolultságelmélet. Monday 10 th October, 2016, 17:44

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

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

Automaták és formális nyelvek

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

1. Bevezetés. A számítógéptudomány ezt a problémát a feladat elvégzéséhez szükséges erőforrások (idő, tár, program,... ) mennyiségével méri.

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

Bonyolultságelmélet feladatok

Atomataelmélet: A Rabin Scott-automata

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

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

Nemkonvex kvadratikus egyenlőtlenségrendszerek pontos dualitással

P, NP, NP-C, NP-hard, UP, RP, NC, RNC

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

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

Informatika 1 2. el adás: Absztrakt számítógépek

Leképezések. Leképezések tulajdonságai. Számosságok.

ÚJ ELV SZÁMÍTÓGÉPEK (Bevezetés az új számítási modellekbe és a nem-klasszikus "számítógépek" tudományába)

2014. szeptember 24. és 26. Dr. Vincze Szilvia

KOVÁCS BÉLA, MATEMATIKA I.

Online algoritmusok. Algoritmusok és bonyolultságuk. Horváth Bálint március 30. Horváth Bálint Online algoritmusok március 30.

Chomsky-féle hierarchia

2. Logika gyakorlat Függvények és a teljes indukció

Bevezetés az informatikába

SZAKDOLGOZAT. Major Sándor Roland

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

Ritmikus kémia. Szalai István ELTE

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

ZH feladatok megoldásai

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

KOVÁCS BÉLA, MATEMATIKA I.

Alap fatranszformátorok II

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

1/50. Teljes indukció 1. Back Close

Algoritmuselmélet 18. előadás

A programozás alapjai előadás. Amiről szólesz: A tárgy címe: A programozás alapjai

Algoritmusok Tervezése. 6. Előadás Algoritmusok 101 Dr. Bécsi Tamás

Számításelmélet 2 - El adás jegyzet

Predikátumkalkulus. 1. Bevezet. 2. Predikátumkalkulus, formalizálás. Predikátumkalkulus alapfogalmai, formalizálás, tagadás, logikailag igaz formulák.

Programozási módszertan

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

Totális Unimodularitás és LP dualitás. Tapolcai János

Diszkrét matematika 2.

Emlékeztető: LR(0) elemzés. LR elemzések (SLR(1) és LR(1) elemzések)

Elsőrendű logika szintaktikája és szemantikája. Logika (3. gyakorlat) 0-adrendű szemantika 2009/10 II. félév 1 / 1

Diszkrét matematika 2.C szakirány

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

Számítógépek felépítése

Relációk. 1. Descartes-szorzat. 2. Relációk

Más szavakkal formálisan:, ahol olyan egész szám, hogy. Más szavakkal formálisan:, ahol olyan egész szám, hogy.

Chomsky-féle hierarchia

A számítógépes nyelvészet elmélete és gyakorlata. Formális nyelvek elmélete

Formális módszerek GM_IN003_1 Program verifikálás, formalizmusok

Matematika alapjai; Feladatok

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

A valós számok halmaza

A lineáris algebrában központi szerepet betöltı vektortér fogalmát értelmezzük most, s megvizsgáljuk e struktúra legfontosabb egyszerő tulajdonságait.

Dr. Schuster György február / 32

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

Kaposi Ambrus. University of Nottingham Functional Programming Lab. Hackerspace Budapest január 6.

A szemantikus elemzés elmélete. Szemantikus elemzés (attribútum fordítási grammatikák) A szemantikus elemzés elmélete. A szemantikus elemzés elmélete

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

Diszkréció diszkrét logaritmussal

Relációk Függvények. A diákon megjelenő szövegek és képek csak a szerző (Kocsis Imre, DE MFK) engedélyével használhatók fel!

HALMAZELMÉLET feladatsor 1.

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

A félév során előkerülő témakörök

RE 1. Relációk Függvények. A diákon megjelenő szövegek és képek csak a szerző (Kocsis Imre, DE MFK) engedélyével használhatók fel!

Átírás:

NP-teljesség röviden Bucsay Balázs earthquake[at]rycon[dot]hu http://rycon.hu 1

Turing gépek 1/3 Mi a turing gép? 1. Definíció. [Turing gép] Egy Turing-gép formálisan egy M = (K, Σ, δ, s) rendezett négyessel adható meg, ahol K állapotok egy véges halmaza (ezek az imént említett utasítások), s K a kezdőállapot, Σ pedig betűk egy véges halmaza (azt mondjuk, hogy Σ az M gép ábécéje). Mindig feltesszük, hogy K és Σ diszjunktak, és hogy Σ tartalmazza a (üres) és a (kezdet) szimbólumokat. Végezetül, δ az átmenetfüggvény, mely a K Σ halmazból a (K {h, igen, nem }) Σ {,, } halmazba képez. Mindig feltesszük, hogy a h (megállási állapot), "igen" (elfogadó állapot) és "nem" (elutasító állapot), tovább a ("lépés balra"), ("lépés jobbra") és ("helyben marad") mozgási irányok nem elemei a K Σ halmaznak. Bucsay Balázs 2

Turing gépek 2/3 Turing gép ábra Bucsay Balázs 3

Turing gépek 3/3 Gép működése: 1. Olvasás a szalagról 2. Szimbólum szerint szabály alkalmazása vagyis: 2a. Új szimbólum visszírása, vagy eredeti meghagyása 2b. fej mozgatása jobbra vagy balra egyet. 3. Állapotváltás vagy STOP szimbólum 4. Ugrás az 1. pontra, ha nem volt STOP szimbólum Bucsay Balázs 4

Wikipedia: Alan Mathison Turing Alan Mathison Turing (1912. június 23. 1954. június 7.) brit matematikus, a modern számítógéptudomány egyik atyja. Nagy hatással volt az algoritmus és a számítógépes adatfeldolgozás hivatalos koncepciójának kidolgozására az általa feltalált Turing-gép. Szabályba foglalta a ma már széles körben elfogadott Church Turing-tézist, ami alapján tudniillik minden más számítási modell és más gyakorlati számítási modell azonos a Turing-géppel vagy annak egy részegységével. A II. világháború alatt sikeres erőfeszítéseket tett a német rejtjelkódok feltörésére. A háború után az egyik legkorábbi digitális számítógépen dolgozott, és később közreadott egy provokatív írást, a gondolatébresztő Tudnak a gépek gondolkodni? címűt. Alan Mathison Turing Bucsay Balázs 5

RAM modell Random Access Machine (véletlen elérésű gép) Rendelkezik memóriával Memóriában bárhova bármikor írhat illetve olvasható Így tárolhat a memóriában eredményeket A memóriában tárolt eredményeket felhasználhatja újabb eredményekhez Ez a gép áll a legközelebb a Neumann elvekhez illetve a manapság használt PC-khez Bevezethető egy ekvivalencia reláció, amivel ezt a modellt ekvivalenssé tehetjük más modellekkel, így a Turing géppel is, vagy a PC-vel. Ez azt jelenti, hogy polinom időveszteséggel, de az algoritmusok lefutnak egyik vagy másik gépen is, vagyis lényegi különbség nem igazán van köztük, vagyis bármely matematikai problémára amelyre megkonstruálható algoritmus, az leprogramozható Turing gépre is akár, ami az egyik legegyszerűbb modell. Bucsay Balázs 6

Nemdeterminisztikus Turing gép Lényegében megegyezik az eredeti (determinisztikus) Turing gép definíciójával Különbségek: Egy szimbólumhoz tartozhat 0, 1 vagy több szabály A szabályok közül a gép bármelyiket választhatja ha több van A választás előre nem megmondható, a gép az aktuális pozícióban tud csak dönteni Amit egy determinisztikus Turing gép elfogad (STOP állapotba kerül) azt ő is. Bucsay Balázs 7

Bonyolultsági osztályok Jelölésmód: Példa: T IM E(f(n)) -nel jelöljük azon algoritmusok osztályát, amelyek legfeljebb f(n) időbonyolultságúak N T IM E(f(n)) -nel jelöljük azon algoritmusok osztályát, amelyek legfeljebb f(n) időbonyolultságúak egy nemdeterminisztikus Turing gépen SP ACE(f(n)) -nel jelöljük azon algoritmusok osztályát, amelyek legfeljebb f(n) tárbonyolultságúak N SP ACE(f(n)) -nel jelöljük azon algoritmusok osztályát, amelyek legfeljebb f(n) tárbonyolultságúak egy nemdeterminisztikus Turing gépen Polinom időbonyolulságú algoritmusok osztálya: P = T IME(n k ), ahol k N, n N re Nem determinisztikus Turing gépen polinom időben lefutó algoritmusok osztálya: N P = NT IME(n k ), ahol k N, n N re (P időben ellenőrizhetők) NP-teljes bonyolultsági osztály azon problémák osztálya, amely problémák legalább olyan nehezek mint bármelyik NP-beli probléma Bucsay Balázs 8

Döntési és optimalizálási problémák Döntési problémáknál a felvetett kérdésre két válasz létezhet, az igen vagy a nem. Még az optimalizálási problémáknál a válasz egy érték vagy egy teljes struktúra is lehet. Példák: LEGRÖVIDEBB-ÚT: optimalizálási, megadja a legrövidebb utat a gráfban LEGRÖVIDEBB-ÚT(E): döntési, egy útról megadja, hogy a legrövidebb út-e HAMILTON-KÖR: optimalizálási, megad egy Hamilton kört a gráfban HAMILTON-KÖR(E): döntési, egy részgráfról megmondja, hogy Hamilton kör-e a gráfban Minden optimalizálási problémához létezik döntési probléma A döntési problémák gyengébbek mint az optimalizálási problémák, viszont erős kapcsolat van köztük Az NP-teljesség elmélete csak a döntési problémákkal foglalkozik. Bucsay Balázs 9

Visszavezetések 1/2 Rövid deiníciók: Eset: a probléma egy bemenete A és B két különböző probléma α az A probléma esete, β a B egy esete f(x) egy visszavezető algoritmus A probléma visszavezethető B-re ha: A bármelyik α esetét f(α)-val B egy β esetére vezethetjük vissza polinomiális időben Ha Aα esete f(α)b problémában "igaz" a döntési probléma megoldása, akkor A problémában az α eset is "igaz" lesz. Ezzel A problémát visszavezettük a B problémára. Ha minden esetre igaz ez, akkor A ugyanolyan könnyű mint B Bucsay Balázs 10

Visszavezetések 2/2 Ha B probléma nehézséget akarjuk bizonyítani akkor más a dolgunk: Szükségünk van egy nehéz problémára, amihez viszonyíthatunk Ez a probléma lesz a SAT probléma, ami NP-teljes Fogjuk a SAT (vagy vele ekvivalens) problémát és a B probléma esetere visszavezetjük Indirekten bizonyítjuk, hogy létezik polinomiális algoritmus B-re Ezzel beláttuk, hogy B is legalább olyan nehéz mint a rá visszavezetett NP-teljes probléma Bucsay Balázs 11

P? NP 1/2 NP-beli problémák minden esetére létezik P-beli tanú, vagyis P időben tudjuk ellenőrizni a probléma esetének helyességét A visszavezetési függvények felhasználhatók ekvivalencia relációknak, melyek osztályai a bonyolultsági osztályok természetesen. Ezzel az ekvivalencia relációval megmutathatjuk, hogy minden NP-teljes probléma nehézsége ekvivalens polinom idő erejéig Ebből következik, hogy ha egy NP-teljes problémára találunk P-beli algoritmust, akkor az összesre találtunk A hierarchia összeomlik és P = NP lesz. Ilyen megoldást nem sikerült a utóbbi évtizedekben találni, úgy hiszik, hogy P NP Bucsay Balázs 12

P? NP 2/2 2. Definíció. [Polinomális visszavezető függvény] Azt mondjuk, hogy L 1 probléma visszavezethető L 2 problémára (jelölése: L 1 p L 2 ), ha létezik olyan f polinom időben kiszámítható függvény, melyre minden x L 1 esetén f(x) L 2 3. Definíció. [NP-teljes] Egy L probléma NP-teljes, ha: L NP és L NP-re teljesül hogy: L p L 1. Tétel. [P=NP] Ha létezik polinomiális időben megoldható NP-teljes probléma, akkor P=NP. Más szóval: ha létezik NP-ben polinom időben nem megoldható probléma, akkor egyetlen NP-teljes probléma sem polinomiális. Bucsay Balázs 13

Hierarchia Egyszerűsített, lehetséges hierarchiák Bucsay Balázs 14

Chomsky hierarchia Chomsky hierarchia Bucsay Balázs 15

Vége Köszönöm a figyelmet. Bucsay Balázs 16