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

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

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

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

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

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.

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

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

NP-teljesség röviden

ALGORITMUSOK ÉS BONYOLULTSÁGELMÉLET Matematika MSc hallgatók számára. 12. Előadás. 2 αn. Σ n 1. 2 αn < 1, vagyis az előző megállapítás valóban

Algoritmusok bonyolultsága

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

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

Formális nyelvek - 9.

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

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

10. Előadás P[M E ] = H

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

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

14. Előadás: Kitekintés

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

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

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

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

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

Diszkrét Matematika MSc hallgatók számára. 4. Előadás

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

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

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

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

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

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

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

13. Előadás. 1. Összeszámolási problémák bonyolultsága

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

Nagy számok törvényei Statisztikai mintavétel Várható érték becslése. Dr. Berta Miklós Fizika és Kémia Tanszék Széchenyi István Egyetem

Diszkrét matematika I.

Általános algoritmustervezési módszerek

Fraktálok. Kontrakciók Affin leképezések. Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék. TARTALOMJEGYZÉK Kontrakciók Affin transzformációk

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

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

A következő feladat célja az, hogy egyszerű módon konstruáljunk Poisson folyamatokat.

Diszkrét matematika 2.C szakirány

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

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

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:

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

Algoritmuselmélet 12. előadás

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

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

1. Alapfogalmak Algoritmus Számítási probléma Specifikáció Algoritmusok futási ideje

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.

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

FEGYVERNEKI SÁNDOR, Valószínűség-sZÁMÍTÁs És MATEMATIKAI

1. megold s: A keresett háromjegyű szám egyik számjegye a 3-as, a két ismeretlen számjegyet jelölje a és b. A feltétel szerint

Az R halmazt a valós számok halmazának nevezzük, ha teljesíti az alábbi 3 axiómacsoport axiómáit.

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:

Mérhetőség, σ-algebrák, Lebesgue Stieltjes-integrál, véletlen változók és eloszlásfüggvényeik

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

Biológiai rendszerek modellellenőrzése bayesi megközelítésben

... fi. ... fk. 6. Fabejáró algoritmusok Rekurzív preorder bejárás (elsőfiú-testvér ábrázolásra)

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

Egészrészes feladatok

Nagyságrendek. Kiegészítő anyag az Algoritmuselmélet tárgyhoz. Friedl Katalin BME SZIT február 1.

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

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

KOVÁCS BÉLA, MATEMATIKA I.

Alap fatranszformátorok II

Online migrációs ütemezési modellek

Véges automaták, reguláris nyelvek

Klasszikus algebra előadás. Waldhauser Tamás április 28.

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

1.9. B - SPLINEOK B - SPLINEOK EGZISZTENCIÁJA. numerikus analízis ii. 34. [ a, b] - n legfeljebb n darab gyöke lehet. = r (m 1) n = r m + n 1

1000 forintos adósságunkat, de csak 600 forintunk van. Egyetlen lehetőségünk, hogy a

Valószínűségi változók. Várható érték és szórás

FEGYVERNEKI SÁNDOR, Valószínűség-sZÁMÍTÁs És MATEMATIKAI

A 2015/2016. tanévi Országos Középiskolai Tanulmányi Verseny döntő forduló MATEMATIKA III. KATEGÓRIA (a speciális tanterv szerint haladó gimnazisták)

Információs rendszerek elméleti alapjai. Információelmélet

Diszkrét matematika I.

Diszkrét matematika 1. estis képzés. Komputeralgebra Tanszék ősz

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

Logika és informatikai alkalmazásai kiskérdések február Mikor mondjuk, hogy az F formula a G-nek részformulája?

Programkonstrukciók A programkonstrukciók programfüggvényei Levezetési szabályok. 6. előadás. Programozás-elmélet. Programozás-elmélet 6.

Diszkrét matematika 2.

Alap-ötlet: Karl Friedrich Gauss ( ) valószínűségszámítási háttér: Andrej Markov ( )

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

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

NEM-DETERMINISZTIKUS PROGRAMOK HELYESSÉGE. Szekvenciális programok kategóriái. Hoare-Dijkstra-Gries módszere

Klasszikus algebra előadás. Waldhauser Tamás április 14.

Diszkrét matematika I.

Előfeltétel: legalább elégséges jegy Diszkrét matematika II. (GEMAK122B) tárgyból

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

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

Diszkrét matematika 2.C szakirány

Automaták mint elfogadók (akceptorok)

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

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

4. Előadás: Erős dualitás

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

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

Átírás:

ALGORITMUSOK ÉS BONYOLULTSÁGELMÉLET Matematika MSc hallgatók számára 11. Előadás Előadó: Hajnal Péter Jegyzetelő: Hajnal Péter 2011. április 26. 1. Mahaney-tétel bizonyítása Emlékeztető. Mahaney-tétel feltevése SAT S, ahol S Σ egy ritka nyelv, azaz alkalmas tx N[x] polinomra S Σ n tn minden n N esetén. Ezen feltevés alapján kell egy polinomiális algoritmust adnunk SAT-ra. SAT -hoz fel kell idéznünk egy rendezést a {0, 1} n halmazon: x, y {0, 1} n esetén x y, ha x és y első eltérő bitje 0 az x-ben és 1 az y-ban vagy pedig y valódi kezdőszelete x-nek. Azonos hosszú szavakra megszorítva ez éppen a lexikografikus rendezés. Bizonyítás. Polinom időben megoldjuk a SAT problémát: Algoritmusunk futása alatt mindig lesz egy polinomiális hosszú L i listánk {0, 1} i {0, 1} n elemeiből, azaz L i elemeinek hossza mindig ugyanaz az i lesz a futás során i egyesével fog nőni. L 0 az ǫ 0-hosszú szóból áll. L i = {l 1,...,l s }-ből rekurzív módon írjuk fel L i+1 -et. Feltesszük, hogy a fenti indexelés a lexikografikus sorrendet, azaz -et követi. A rekurzió több listán keresztül jut el a céljához. L + i tartalmazza L i elemeinek összes kiterjesztését egy bittel: L + i = {l 1 0, l 1 1,...,l s 0, l s 1} Azaz listánk teljes hossza 2 L i. Feltesszük, úgy írtuk fel, hogy sorrendje a lexikografikus sorrend. Nem hagyhatjuk, hogy ez a lista mindig megduplázódjon, exponenciálisan nagy legyen. L + i minden elemére végezzük el a Karp-redukciót. Könnyű látni, hogy listánk elején NEM S-beli elemet kell kapnunk. Egy ponton lesz egy váltás és után a redukció csupa S-beli elemet ad ez a rész lehet üres is. Sajnos S nehéz nyelv a váltást nem látjuk. Először az azonos sorozatra redukálódott elemek közül csak az elsőt hagyjuk meg. Legyen L + i az így kapott lista. Ez a lista még lehet hosszú. Azonban azok a bitsorozatok, amik S-beli karaktersorozatra redukálódnak már kevesen vannak: S maga ritka és maradék listánkon már különböző elemekre képez a redukció. A polinomiális redukciót legfeljebb n hosszú bitsorozatokra futtatjuk így a redukció által kiszámolt output hosszára polinomiális becslést adhatunk. Így az ilyen S-beli szavak száma legfeljebb qn. A következő lépésben ismét ritkítjuk listánka most L + i -t. A lexikografikus rendezésben utolsó qn elemét hagyjuk csak meg. Az eredmény lesz L i+1. A rekurzióval L n -et számoljuk ki. Eljárásunk során minden listánk legfeljebb 2qn hosszú, így az L n lista elóállításának időigénye polinomiális. 11-1

Végül L n mindegyik elemére ellenőrizzük kielégíti-e ϕ-t. Ha bármelyik kiélegítő értékadás, akkor elfogadjuk az inputot. Különben elvetjük. Ez a lépés időigénye is polinomiális L n qn. Csak az algoritmus helyességét kell ellenőrizni. Egyetlen módon tévedhet: Egy kielégíthető formula esetén L n elemi közt nem lesz kielégítő értékadás. A következő állítás i = n esete ezt zárja ki és így bizonyítja a tételt. 1. Lemma. Tegyük fel, ho ϕ-nek van kielégítő értékadása. Legyen a rendezésünkben az első ilyen értékadás, e, továbbá i hosszú kezdőszelete legyen e i. Ekkor e i az L i listán lesz. Lemma bizonyítása. i = 0 esetén nyilvánvaló az állítás. Tegyük fel, hogy e i L i. Ekkor nyilván e i+1 L i+1. Az első ritkítást megelőző redukciókban e i+1 lesz az első elem, ami S-beli elemre képződik, azaz megmarad. A második ritkítást úgyválasztottuk, hogy biztos megmaradjon L + i összes olyan eleme, ami S-beli elemre redukálódik ezek a listánk hátulsó részében legfeljebb qn elem. Így e i+1 ismét megmarad. Kaptuk, hogy e i+1 L i+1, ahogy bizonyítani kellett. 2. Véletlen számokat használó/valószínűségszámítási Turing-gépek Definíció. Egy T Turing-gépet véletlen számokat használó röviden véletlen Turinggépnek nevezünk eldöntési feladatok esetén, ha az input- és munkaszalag mellett van egy harmadik szalag, egy úgy nevezett véletlenszalag, amely véletlen számok egy sorozatát tartalmazza, és az szalaghoz tartozó fej egyetlen műveletre képes: jobbra lépni és olvasni az elé kerülő mezőt. Általában a véletlenszalag ábécéje Σ v = {0, 1} ez nem szükségszerű, továbbá a szalag bitjei uniform eloszlásúak. Az ilyen T futása az ω Σ n input inputszalag-tartalomból és ρ véletlenszalag-tartalomból egyértelműen determinisztikusan meghatározható a kiszámolt értéket/leálló állapotot jelöljük Tω, ρ-val. s01: t2,r inputszalag 0 0 1 1 0 1 0 1 0 1 1 a v a w @ a! 5 5 5 a munkaszalag... 0 1 0 1 0 0 0 1 0 1 1 0 0 1 1 0... veletlen biteket tartalmazo szalag 1. ábra. Megjegyzés. Ha csak ω-t rögzítjük, akkor a futás már szereteágazó lesz függ a véletlen biteket tartalmazó szalag tartalmától. A fa, amley a futás lehetőségeit leírja hasonlít a nem-determinizmus esetén látott képhez. Ott a futást egy zseniális elme irányította, most a véletlen mozgatja. Adott input esetén a futásra úgy gondolhatunk, mint a Galton-deszkán lefutó golyó utjára. 11-2

Akár a nem-determinizmusnál most is gondot kell fordítanunk az elfogadás/elvetés definiációjára. Erre több lehetőségünk is van. Mi csak polinomiális időkorlát mellett definiálunk két lehetőséget. Definíció. Egy L nyelvre L BPP pontosan akkor, ha létezik polinom idejű véletlen T Turing-gép, amelyre teljesül a következő két feltétel: BP 1 ω L esetén P ρ Tω, ρ = ELFOGAD 2/3, BP 2 ω / L esetén P ρ Tω, ρ = ELVET 2/3. Megjegyzés. 1. Tehát annak az esélye, hogy T jó értéken áll le, 2/3 minden ω-ra. Egyszerűen megfogalmazva, ha L BPP, akkor ELFOGAD = VALÓ- SZÍNŰLEG-JÓ, ELVET = VALÓSZÍNŰLEG-ROSSZ. 2. A BPP nyelvosztály elnevezésében B a bounded error szóra, a két P pedig a probabilistic illetve polinomial szavakra utal. Definíció. Egy L nyelvre L RP pontosan akkor, ha létezik polinom idejű T Turing-gép, amelyre teljesül a következő két feltétel: R 1 ω L esetén P ρ Tω, ρ = ELFOGAD 1/2, R 2 ω / L esetén P ρ Tω, ρ = ELVET = 1. Megjegyzés. 1. Vagyis ha L RP, akkor ha Tω, ρ ELFOGAD, akkor ω L biztosan teljesül. Így elég ELVET = VALÓSZÍNŰLEG-ROSSZ átírást elvégezni, hogy a leálló állapotok kifejezzék az RP gépek filozófiáját. 2. A nyelvosztály nevében R a random szóból származik. Megjegyzés. A BPP nyelvosztály definiciójában az elfogadás/elvetés között szimmetria volt. Azt monddhatjuk, hogy co BPP = BPP. Ez nem igaz RP esetén. Így természetesen bevezethető a co RP nyelvosztály. A részletek kidolgozása nem okozhat problémát a halgató számára. A következő diagram a bevezetett és néhány ismerős osztály viszonyát fogalalja össze. PSPACE N P BPP co N P RP P co RP Már a RP osztály definíciójából könnyen látszik, hogy P RP N P illetve P corp con P. Az első tartalmazási lánc az alábbi megfigyelések eredménye: Ha az R 1 -ben szereplő esemény valószínűségéről azt kötjük ki, hogy pontosan 1 így R 1 és R 2 is teljesül akkor P definícióját kapjuk a véletlenszalag olvasása helyett mindig 0 értéket képzelve. Ha pedig az R 1 -ben szereplő esemény valószínűségről azt kötjük ki, hogy 0-nál szigorúan nagyobb, akkor N P definícióját kapjuk 11-3

a véletlenszalagot tanúszalagként elképzelve. A másik tartalmazási lánc pedig a komplementálás/negálás tulajdonságából következik. A BPP osztály beillesztése a következő tétel után nyilvánvaló. Az alábbi tétel alapvető jelentőségű. 2. Tétel. RP és BPP is robosztus a hibázás valószínűségének korlátozását tekintve a következő értelemben: i RP definíciója nem változik, ha R 1 -et R1 -szal vagy R+ 1 -szal helyettesítjük, ahol ezek rendre R 1 : ω L = P ρ Tω, ρ = ELFOGAD 1/p ω, R + 1 : ω L = P ρ Tω, ρ = ELFOGAD 1 1/2 p ω, ahol p N[x] tetszőleges minden egész helyen pozitív polinom. ii BPP definíciója nem változik, ha BP k -t BP k -szal vagy BP+ k -szal helyettesítjük k {1, 2}, ahol ezek rendre BP 1 : ω L = P ρ Tω, ρ = ELFOGAD 1/2 + 1/p ω, BP 2 : ω L = P ρ Tω, ρ = ELFOGAD 1/2 + 1/p ω, BP + 1 : ω / L = P ρ Tω, ρ = ELVET 1 1/2 p ω, BP + 2 : ω / L = P ρ Tω, ρ = ELVET 1 1/2 p ω. ahol p hasonló az előző pontban szereplőhöz. Bizonyítás. i legyen T P idejű L-t eldöntő véletlen Turing-gép. A hibázás valószínűségét vizsgáljuk. Legyen ω L úgy, hogy ω = n. A hibázás csak ω L esetén lehetséges. Tegyük fel, hogy egy T polinomiális algoritmus esetén R 2 mellett teljesül, hogy ω L = P ρ Tω, ρ = ELFOGAD κ. Konstruáljuk meg a T Turing-gépet úgy, hogy T futását ismételje meg r-szer mindegyik futásnál a véletlen bitek szalagjának újabb blokkját használva. Ezek a futások független eredményt adnak, mert a véletlenszalag egy-egy futásnál felhasznált bitsorozatai is függetlenek. Egy ω inputra T futása ELFOGAD-dal ér végget, ha valamelyik futás elfogadó. Könnyen látszik, hogy T polinomiális idejű, ha r polinomiális ω -ban, továbbá teljesül hogy P T hibázik = PT hibázik r κ r. Tegyük fel, hogy T teljesítette R 1 feltevést. Ha az r = 1/κ = 10p ω -t választással élünk, akkor következik T elfogadja ugyanazt a nyelvet az R 1 feltétel mellett. Ha az r = 1/κ = 10p 2 ω -t választással élünk, akkor következik T elfogadja ugyanazt a nyelvet az R 1 + feltétel mellett. EbbőL adódik a bizonyítandó. ii Hasonlóan dolgozunk az i ponthoz. Legyen T egy L nyelvet BPP módon eldöntő Turing-gép, amely legalább 1/2+κ valószínűséggel a korrekt választ adja. T pedig az a Turing-gép, amit T r-szeri most r páratlan szám ismételt futtatásával 11-4

kapunk úgy, hogy T eredménye az r eredményből adódik többségi szavazással, vagyis az dönt, hogy ELFOGAD vagy ELVET futás volt több. r-et az input méret polinomjának választhatjuk. Minden futtatáshoz tartozzon egy 0-1 értékű X i valószínűségi változó: 1 érték az ELFOGADÁS-nak felel meg, a 0 érték az ELVETÉS-nek. ω L esetén E[X i ] 1/2+κ. A hibázás eseménye, hogy S r < r/2, amit felülről becsül, hogy S r re[x] > rκ. ω L esetén E[X i ] 1/2 κ, A hibázás eseménye, hogy S r > r/2, amit felülről becsül, hogy S r re[x] > rκ. A bizonyítás befejezéséhez egy valószínűségszámítási tételt idézünk fel bizonyítása nélkül. 3. Tétel. Chernoff-becslés Legyenek {X i } r i=1 független, azonos eloszlású, 0-1 értékű valószínűségi változók P[X i = 1] = p és így P[X i = 0] = 1 p. Legyen S r = X 1 + X 2 +... + X r így ES r = rp. Ekkor P[ S r rp ] 2e 2 2 /r. Ebből a bizonyítás vége egyszerűen adódik: Ha κ értéke BP 1 szerint adott, akkor r választásával elérhetjük, hogy κ2 r < 1/10 legyen. Azaz T BP 1 szerint hibázzon. Ha κ értéke BP 1 szerint adott, akkor r választásával elérhetjük, hogy κ 2 r < 10p ω legyen. Azaz T BP + 1 szerint hibázzon. ω L esetén teljesen hasonlóan dolgozhatunk. 11-5