Bonyolultságelmélet. SZTE Informatikai Tanszékcsoport
|
|
|
- Flóra Papp
- 8 évvel ezelőtt
- Látták:
Átírás
1 Bonyolultságelmélet Ésik Zoltán SZTE Informatikai Tanszékcsoport Számítástudomány Alapjai Tanszék
2 A kiszámíthatóság elméletének kialakulása 1900: Hilbert 10. problémája Adott f(x 1,..., x n ) = g(x 1,... x n ) diofantikus egyenlet, ahol f és g egész együtthatós polinomok, létezik-e (egész értékű) megoldása. 1971: Matijasevič Hilbert 10. problémája algoritmikusan megoldhatatlan. 1928: Hilbert Találjunk olyan algoritmust, amellyel a predikátumkalkulus (függvénykalkulus) tetszőleges kijelentéséről eldönthetjük, hogy érvényes-e as évek közepe: Church, Turing Ilyen algoritmus nem létezik. Bonyolultságelmélet 2 / 184
3 A kiszámíthatóság elméletének kialakulása 1931, Gödel: Primitív rekurzív függvények 1934, Gödel: Általános rekurzív függvények 1930-as évek eleje, Church, Kleene, Rosser (Princeton): λ-definiálhatóság 1935: AMS New York-i összejövetele Church tézise: Az általános rekurzív függvények (matematikai fogalom) megfelelnek az algoritmikusan kiszámítható függvény fogalmának (intuitív fogalom). 1936: Kleene Az általános rekurzív függvények megegyeznek a λ-definiálható függvényekkel. Bonyolultságelmélet 3 / 184
4 A kiszámíthatóság elméletének kialakulása 1936: Turing Bebizonyítja, hogy a Turing-gép ekvivalens a λ-definiálhatósággal, és megfogalmazza azt a tézist, hogy a Turing-gép megfelel az algoritmussal kiszámítható függvényeknek. A Church-Turing tézist tapasztalati tények és matematikai eredmények támasztják alá: Minden intuitív értelemben megoldható problémáról sikerült kimutatni, hogy azok megoldhatók a matematikai modellekben is. A matematikai modellek ekvivalensek. onyolultságelmélet 4 / 184
5 Kiszámíthatóság és bonyolultság Kiszámíthatóságelmélet Melyek az algoritmikusan megoldható problémák? Bonyolultságelmélet Melyek a gyakorlatilag megoldható problémák, erőforrásigény. 1971: Cook P és NP osztályok, NP-teljesség, SAT NP-teljes 1972: Karp Rámutat az NP-teljes problémák változatosságára. 1973: Levin Több kombinatorikus probléma,,univerzális a kimerítő keresésre. onyolultságelmélet 5 / 184
6 További bonyolultsági osztályok és számítási módok L, NL, PSPACE, EXP,... Valószínűségi modellek Párhuzamos számítás stb. Bonyolultságelmélet 6 / 184
7 Polinom időben megoldható problémák ELÉRHETŐSÉG Adott: egy G = (V, E) irányított gráf. Feltehetjük, hogy V = {1, 2,..., n}. Kérdés: létezik-e 1-ből n-be vezető irányított út? Módszer: 1. S := {1}. 2. Jelöljük meg az 1 csúcsot. 3. Amíg S nem üres: 3.1 Választunk egy i S csúcsot. 3.2 S := S {i}. 3.3 j = 1..n: Ha (i, j) E és j nem megjelölt, akkor S := S {j} és jelöljük meg j-t. Ha n megjelölt csúcs, adjunk igen választ, különben adjunk nem választ. onyolultságelmélet 7 / 184
8 Polinom időben megoldható problémák Néhány kimaradt részlet A bemenet megadása pl. szomszédsági mátrix (Függ a modelltől, de lényeges szerepet nem játszik.) S reprezentálása sor: szélességi keresés verem: egyfajta mélységi keresés Hatékonyság A mátrix minden elemét legfeljebb egyszer használjuk fel. Ha az egyszerű műveletek (S egy elemének kiválasztása, megjelölése, stb.) konstans időigényűek, akkor O(n 2 ). Az ELÉRHETŐSÉG egy eldöntési probléma. Bonyolultságelmélet 8 / 184
9 Polinom időben megoldható problémák MAXIMÁLIS FOLYAM Adott: egy (V, E, s, t, c) hálózat, ahol (V, E) egy irányított gráf, s V forrás, t V nyelő, t elérhető s-ből (u, v) E c(u, v) N + kapacitás Kérdés: mekkora a legnagyobb értékű folyam? Folyam: f : E N 0 leképezés, amire: (u, v) E 0 f(u, v) c(u, v); v / {s, t} f(u, v) = f(v, u). (u,v) E (v,u) E A folyam értéke: f(s, u). (s,u) E Bonyolultságelmélet 9 / 184
10 Segédhálózat Állítás Akkor és csak akkor létezik az f folyamnál nagyobb értékű f folyam, ha az alábbi N(f) hálózatban t elérhető s-ből: N(f) = (V, E, s, t, c ) E = (E {(u, v) : f(u, v) = c(u, v)}) c (u, v) = {(v, u) : (u, v) E, f(u, v) > 0} { c(u, v) f(u, v) ha (u, v) E E ; f(v, u) különben. (N(f) tartalmazhat ellentétes élpárokat.) onyolultságelmélet 10 / 184
11 Javító út Az f folyam javítása Tegyük fel, hogy N(f)-ben adott egy s-ből t-be vezető út. Legyen d az úton előforduló minimális élkapacitás. Minden (u, v) élre legyen f(u, v) + d ha (u, v) E E előfordul az úton f (u, v) = f(u, v) d ha (v, u) / E előfordul az úton f(u, v) különben. Ekkor az f az f -nél d-vel nagyobb értékű folyam. Bonyolultságelmélet 11 / 184
12 Módszer 1. Kezdetben f legyen az azonosan nulla folyam. 2. Készítsük el az N(f) hálózatot. 3. Ha N(f)-ben t nem érhető el s-ből, akkor f maximális. 4. Különben egy s-ből t-be vezető úthoz és annak minimális kapacitású éléhez készítsük el az f folyamot, legyen f := f és menjünk vissza a 2. pontra. Hatékonyság C := max{c(u, v) : (u, v) E}. O(nC) lépés, lépésenként O(n 2 ) idő: O(n 3 C). Ez NEM POLINOMIÁLIS. (C miatt.) Az útkeresés szélességi változatával: O(n 5 ). A MAXIMÁLIS FOLYAM optimalizálási probléma. Eldöntési változata: MAXIMÁLIS FOLYAM(E). Bonyolultságelmélet 12 / 184
13 Az utazóügynök probléma TSP Adott: az 1, 2,..., n városok és bármely két i, j város távolsága: d i,j. Kérdés: találjunk egy, az összes várost pontosan egyszer érintő legrövidebb körutat. Eldöntési változata: TSP(E). Triviális módszer: az összes (n 1)! 2 lehetséges körút megvizsgálásával. Nem ismert, hogy TSP megoldható-e polinom idejű algoritmussal. (NP-teljes probléma.) onyolultságelmélet 13 / 184
14 Definíció Legyenek f, g : N N függvények. f(n) = O(g(n)), ha létezik olyan c > 0, hogy f(n) c g(n) majdnem minden n-re. f(n) = Ω(g(n)), ha g(n) = O(f(n)). f(n) = Θ(g(n)), ha f(n) = O(g(n)) és g(n) = O(f(n)). Példa p(n) = a 0 n k + a 1 n k a k q(n) = b 0 n l + b 1 n l b l ahol a i, b j N, a 0, b 0 > 0. Ekkor: p(n) = O(q(n)) k l; p(n) = Θ(q(n)) k = l. Legyen a N, a > 1. Ekkor p(n) = O(a n ), de a n O(p(n)). onyolultságelmélet 14 / 184
15 A P osztály Definíció Egy probléma a P osztályba esik, ha megoldható polinom időigényű (vagy O(n k ) időigényű) algoritmussal. A polinomiális tézis Egy algoritmus akkor ad gyakorlatilag kielégítő megoldást egy problémára, ha polinom időigényű. Egy problémát akkor tekintünk gyakorlatilag megoldhatónak, ha a P osztályba esik. onyolultságelmélet 15 / 184
16 Néhány ellenvetés Elfogadható-e a gyakorlatban egy O(n 100 ) időigényű algoritmus? A konstansok nagysága. Kisméretű adatokon egy exponenciális algoritmus is jobban viselkedhet, mint egy polinomiális (de csak véges sok adaton). Legrosszabb eset várható viselkedés. Hatékony párhuzamosítás. Ugyanakkor A gyakorlatban előforduló P-beli problémák rendje kicsi. A P osztály robusztus, és elegáns matematikai elmélethez vezet. Fontos információkat szolgáltat a hatékonyan megoldható problémák szerkezetéről. onyolultságelmélet 16 / 184
17 Turing-gépek definíciója Definíció Turing-gép: egy (K,Σ,δ, s) négyes, ahol K az állapotok véges, nemüres halmaza; Σ a betűk (szimbólumok) véges, nemüres halmaza; δ : K Σ (K {,,igen,,,nem, h}) Σ {,, } az átmenetfüggvény; s K a kezdőállapot., Σ, Σ {, }, δ(q, ) = (p,σ, d) σ =, d = (legalábbis d ). Bonyolultságelmélet 17 / 184
18 Példa: jobbra tolás p K σ Σ δ(p,σ) s (s,, ) s 0 (s, 0, ) s 1 (s, 1, ) s (q,, ) q (h,, ) q (q,, ) q 0 (q 0,, ) q 1 (q 1,, ) q 0 (h,, ) q 0 (s, 0, ) q 0 0 (s, 0, ) q 0 1 (s, 0, ) q 1 (h,, ) q 1 (s, 1, ) q 1 0 (s, 1, ) q 1 1 (s, 1, ) s s s s s q q 0 s q q 1 s q q 0 s q h Példa futás Bonyolultságelmélet 18 / 184
19 Konfigurációk Definíció A számítási folyamat adott pillanatának teljes leírását konfigurációnak nevezzük. Formálisan: egy (q, w, u) hármas, ahol q K {,,igen,,,nem, h}; w Σ +, a mutatótól balra eső szó, beleértve azt a betűt is, amelyet a mutató kijelöl; u Σ, a mutatótól jobbra lévő, esetleg üres szó. Bonyolultságelmélet 19 / 184
20 Átmenetreláció Definíció: (q, wσ, u) M (q, w, u ) q K, δ(q,σ) = (q,ρ, D) és D = esetén w = w és u = ρu; D = esetén w = wρ és u = u; D = esetén { w wρτ ha u = τu1 = wρ ha u = ε u = { u1 ha u = τu 1 ε ha u = ε Definíció (q, wσ, u) (q Mk, w, u ), (q, wσ, u) (q M, w, u ) a szokásos módon. onyolultságelmélet 20 / 184
21 A Turing-gép által kiszámított függvény Definíció Legyen x (Σ {, }). M(x) =,,igen ha (s,, x) (,,igen, M w, u) valamely w, u szavakra;,,nem ha (s,, x) (,,nem, M w, u) valamely w, u szavakra; y ha (s,, x) (h, M w, u) valamely w, u szavakra úgy, hogy wu = y k alakú és y nem -ra végződik; ր különben, azaz ha M nem áll meg az (s,, x) kezdőkonfigurációból indítva. onyolultságelmélet 21 / 184
22 Bináris növelés p K σ Σ δ(p,σ) s (s,, ) s 0 (s, 0, ) s 1 (s, 1, ) s (q,, ) q (h,, ) q 0 (h, 1, ) q 1 (q, 0, ) Példa futás 1. (s,, 11011) (s, 1, 1011) (s, 11, 011) (s, 110, 11) (s, 1101, 1) (s, 11011, ε) (s, 11011, ε) (q, 11011, ) (q, 1101, 0 ) (q, 110, 00 ) (h, 111, 00 ) Példa futás 2. (s,, 111) (s, 1, 11) (s, 11, 1) (s, 111,ε) (s, 111, ε) (q, 111, ) (q, 11, 0 ) (q, 1, 00 ) (q,, 000 ) (h, 0, 00 ) Bonyolultságelmélet 22 / 184
23 A palindromák eldöntése p K σ Σ δ(p,σ) s (s,, ) s 0 (q 0,, ) s 1 (q 1,, ) s (,,igen,, ) q 0 0 (q 0, 0, ) q 0 1 (q 0, 1, ) q 0 (q 0,, ) q 1 0 (q 1, 0, ) q 1 1 (q 1, 1, ) q 1 (q 1,, ) p K σ Σ δ(p,σ) q 0 0 (q,, ) q 0 1 (,,nem, 1, ) q 0 (,,igen,, ) q 1 0 (,,nem, 0, ) q 1 1 (q,, ) q 1 (,,igen,, ) q 0 (q, 0, ) q 1 (q, 1, ) q (s,, ) Bonyolultságelmélet 23 / 184
24 Turing-gépek mint algoritmusok ւ Nyelvek eldöntése ց Szófüggvények kiszámítása Definíció Azt mondjuk, hogy az M Turing-gép eldönti az L (Σ {, }) nyelvet, ha bármely x (Σ {, }) szóra: x L M(x) =,,igen x / L M(x) =,,nem Definíció Azt mondjuk, hogy az M Turing-gép felismeri az L (Σ {, }) nyelvet, ha bármely x (Σ {, }) szóra: x L M(x) =,,igen x / L M(x) =ր [x / L M(x),,igen ] Bonyolultságelmélet 24 / 184
25 Definíció Egy L (Σ {, }) nyelvet rekurzívnak vagy eldönthetőnek nevezünk, ha létezik olyan M Turing-gép, mely eldönti az L nyelvet. Rekurzívan felsorolhatónak nevezzük az L nyelvet, ha létezik olyan Turing-gép, amely felismeri L-et. Állítás Minden rekurzív nyelv rekurzívan felsorolható. (A fordított irányú implikáció nem igaz.) Definíció Legyen f : (Σ {, }) Σ. Azt mondjuk, hogy f rekurzív függvény, ha létezik olyan M Turing-gép, hogy bármely x (Σ {, }) szóra M(x) = f(x). onyolultságelmélet 25 / 184
26 Példák Példák eldönthető nyelvekre palindromák a {0, 1} ábécé fölött; {0 n c0 m c0 n+m : n, m 0}; {0 n c0 m c0 nm : n, m 0}; {0 n c0 2n : n 0}; {x 1 cx 2 cx 1 + x 2 : x 1, x 2 0}, ahol x jelöli az x szám bináris alakját; {x : x prímszám}. Példák rekurzív függvényekre x x x {0, 1} ; x x+1 x 0; xcy x+y x, y 0; n p n n 0, p n := az n. prímszám. onyolultságelmélet 26 / 184
27 Nyelvek eldöntési problémák Rekurzív nyelvek algoritmikusan megoldható eldöntési problémák Szófüggvények optimalizálási problémák Rekurzív függvények algoritmikusan megoldható optimalizálási problémák Bármely véges matematikai objektum (algoritmikusan) kódolható szavakkal. Bármely két,,elfogadható kódolás polinomiális kapcsolatban áll egymással. A kiszámíthatóság és bonyolultság elmélete független a kódolástól. Bonyolultságelmélet 27 / 184
28 Többszavas Turing-gépek Definíció Egy k szavas Turing-gépen egy M = (K,Σ,δ, s) rendszert értünk, ahol K, Σ, s ugyanazok, mint közönséges Turing-gép esetén, δ pedig K Σ k (K {h,,,igen,,,nem }) (Σ {,, }) k leképezés. Kikötés: nem írható át és,,nem léphető át. Definíció Konfiguráció: (q, w 1, u 1,...,w k, u k ), q K {h,,,igen,,,nem }, w i Σ +, u i Σ. Az M, M t, M relációk értelem szerint definiáltak. onyolultságelmélet 28 / 184
29 Palindromák eldöntése két szalaggal p σ 1 σ 2 δ(p,σ 1,σ 2 ) s (s,,,, ) s 0 (s, 0,, 0, ) s 1 (s, 1,, 1, ) s (q,,,, ) q 0 (q, 0,,, ) q 1 (q, 1,,, ) q (p,,,, ) p 0 0 (p, 0,, 0, ) p 1 1 (p, 1,, 1, ) p 0 1 (,,nem, 0,, 1, ) p 1 0 (,,nem, 1,, 0, ) p (,,igen,,,, ) Példa futás (s,, 010,,ε) (s, 010,ε, 010,ε) (q, 010,, 010,ε) (q,, 010, 010,ε) (p, 0, 10, 010, ) (p, 01, 0, 01, 0 ) (p, 010,, 0, 10 ) (p, 010,ε,, 010 ) (,,igen, 010, ε, 0, 10 ) Bonyolultságelmélet 29 / 184
30 Definíció Legyen x (Σ {, }). M(x) =,,igen, ha (s,, x,,ε,...,,ε) (,,igen, M w 1, u 1,..., w k, u k ); M(x) =,,nem, ha (s,, x,,ε,...,,ε) (,,nem, M w 1, u 1,..., w k, u k ); M(x) = y, ha (s,, x,,ε,...,,ε) (h, M w 1, u 1,..., w k, u k ) és y a w k u k szó elején álló és a végén esetleg előforduló jelek elhagyásával kapott szó; M(x) =ր, különben. Eldöntés, felismerés stb. közönséges Turing-gépekhez hasonlóan. onyolultságelmélet 30 / 184
31 Időkorlát Definíció Legyen f : N N, M pedig többszavas Turing-gép. M f(n) időkorlátos Turing-gép, ha M minden x bemeneten legfeljebb f( x ) lépésben megáll. ( x az x szó hosszát jelöli.) Más elnevezés: M időigénye (legfeljebb) f(n). Definíció TIME(f(n))= {L : M f(n) időkorlátos L-et eldöntő Turing-gép}. Példa L {0, 1}, palindromák. Ekkor: L TIME ( (n+1)(n+2)) 2 ; L TIME(3n+3). Időkorlát esetén mindig kikötjük, hogy f(n) > n. onyolultságelmélet 31 / 184
32 k-szavas gép szimulálása egyszavassal Tétel Bármely k-szavas f(n) > n időkorlátos M Turing-géphez megadható vele ekvivalens O((f(n)) 2 ) időkorlátos egyszavas M Turing-gép. Ekvivalens: M (x) = M(x) minden x-re. Bizonyítás M egyetlen szóban tárolja M k szavának konkatenációját. Minden egyes szóban egy betű,,alá van húzva. Egy lépés szimulálásához M végigolvassa az egész szót. Esetleg jobbra lépteti a szót. Időigény lépésenkénto(f(n)). Teljes időigény: O((f(n)) 2 ). Bonyolultságelmélet 32 / 184
33 Lineáris felgyorsítás Tétel Tegyük fel, hogy L TIME(f(n)). Ekkor minden ǫ > 0 valós számra L TIME(f (n)) is teljesül, ahol f (n) = ǫf(n)+n+2. Bizonyítás Legyen M k-szavas, f(n) időkorlátos Turing-gép. { k k ha k > 1 = 2 ha k = 1 Belátjuk, hogy M szimulálható k -szavas, f (n) időkorlátos Turing-géppel (M -vel). onyolultságelmélet 33 / 184
34 Lineáris felgyorsítás M az M szavait m hosszú blokkokra bontja, és minden blokkot egyetlen betűként tárol. Első menet: tömörítés. M második szavában elkészíti az első szó (bemenet) tömörített változatát: n + 2 lépés. A második szó elejére mozgatja a mutatót: n m lépés. M állapotai: (q, i 1,..., i k ), 1 i j m. M az M gép m egymást követő lépését 6 lépésben szimulálja: 6 f(n) m lépés. Teljes időigény: n+2+ n m +6 f(n) m n+2+7 f(n) m. Ha m elég nagy, akkor ez ǫf(n)+n+2. Bonyolultságelmélet 34 / 184
35 A P osztály Következmény Ha L TIME(f(n)), ahol f(n) = an+b, a, b N, a > 0, akkor n együtthatóját tetszőlegesen közel vihetjük 1-hez: L TIME(f (n)), ahol f (n) = (1+ǫ)n+c, valamely tetszőlegesen kicsi pozitív ǫ-ra és valamely c-re. Ha L TIME(f(n)), ahol f(n) másodfokú polinom, akkor a másodfokú tag együtthatóját tetszőlegesen közel vihetjük 0-hoz. Definíció P = TIME(n k ), azaz P = TIME(n i ). i=1 Tehát L P p(n) polinom, hogy L TIME(p(n)). Bonyolultságelmélet 35 / 184
36 Tárkorlátok Definíció Legyen k > 2. Egy k-szavas lyukszalagos Turing-gép olyan k-szavas Turing-gép, mely első szalagját csak olvassa, utolsó szalagjára csak ír. (itt a,,szalag a,,szó szinonimája.) δ(q,σ 1,...,σ k ) = (p, 1, D 1,..., k, D k ) σ 1 = 1 és D k. Továbbá ha σ 1 =, akkor D 1 =. Állítás Bármely k-szavas f(n) időkorlátos M Turing-géphez elkészíthető egy vele ekvivalens, O(f(n)) időkorlátos (k+ 2)-szavas lyukszalagos M Turing-gép. onyolultságelmélet 36 / 184
37 Tárigény Definíció Legyen M egy k-szavas Turing-gép és x egy bemenő szó. Tegyük fel, hogy (s,, x,,ε,...,,ε) (p, M w 1, u 1,..., w k, u k ), ahol p {,,igen,,,nem, h}. Ekkor M tárigénye x-en k w i u i. i=1 Kivéve, ha M (hangsúlyozottan) lyukszalagos. Ekkor a tárigény: k 1 w i u i. i=2 Definíció Azt mondjuk, hogy M egy f(n) tárigényű Turing-gép, ha M minden x bemeneten megáll és tárigénye minden x bemeneten legfeljebb f( x ). Bonyolultságelmélet 37 / 184
38 Tárbonyolultsági osztályok Definíció Azt mondjuk, hogy az L nyelv a SPACE(f(n)) bonyolultsági osztályban van, ha létezik az L nyelvet eldöntő, f(n) tárkorlátos lyukszalagos Turing-gép. Jelölés L = SPACE(log n) Példa A palidromák nyelve az L osztályba esik. Egy lyukszalagos Turing-gép második szavában egy 1 i n szám bináris alakját tárolja. Az i-edik menetben megnézi, hogy a bemenet i-dik betűje megegyezik-e a hátulról i-dik betűjével. A számláláshoz egy harmadik munkaszót használ. onyolultságelmélet 38 / 184
39 Lineáris tárösszehúzás Tétel L SPACE(f(n)) ǫ > 0 : L SPACE(ǫf(n)). Bizonyítás Legyen M az L-et eldöntő f(n) tárkorlátos lyukszalagos Turing-gép. Legyen m > 0. Készítünk egy M-et szimuláló M lyukszalagos Turing-gépet, mely M munkaszalagjait m-es blokkokban tárolja egyetlen munkaszalagján. M tárigénye: De f(n) m f(n) m. ǫf(n), ha m 1 ǫ. Bonyolultságelmélet 39 / 184
40 Nemdeterminisztikus Turing-gép Definíció k-szavas nemdeterminisztikus Turing-gép egy N = (K, Σ,, s) rendszer, ahol K, Σ és s ugyanazok, mint közönséges k-szavas Turing-gép esetén, és [ K Σ k] [ (K {,,igen,,,nem, h}) (Σ {,, }) k]. A konfiguráció, közvetlen átmenet ( N ), t lépéses átmenet ( ), Nt közvetett átmenet ( ) N relációkat az előzőeknek megfelelően definiáljuk. (p, w 1, u 1,..., w k, u k ) (p, w 1, u 1,..., w k, u k ) ց (p, w 1, u 1,..., w k, u k ) onyolultságelmélet 40 / 184
41 Definíció Legyen L (Σ {, }). Azt mondjuk, hogy N eldönti az L nyelvet, ha minden x (Σ {, }) szóra: x L w 1, u 1,...,w k, u k : (s,, x,,ε,...,,ε) (,,igen, N w 1, u 1,..., w k, u k ) Tehát nem követeljük meg, hogy N minden bemeneten megálljon és létezhetnek végtelen számítási sorozatok is! Definíció Legyen L (Σ {, }), f : N N. Azt mondjuk, hogy N f(n) időben eldönti L-t, ha eldönti, és valahányszor egy x szóra, t 0 számra és (q, w 1, u 1,..., w k, u k ) konfigurációra: (s,, x,,ε,...,,ε) (q, Nt w 1, u 1,..., w k, u k ), mindig fennáll, hogy t f( x ). Tehát minden számítási sorozat véges. onyolultságelmélet 41 / 184
42 Az NTIME(f(n)) osztályok Definíció NTIME(f(n)) = { L : létezik L-t f(n) időben eldöntő nemdeterminisztikus Turing-gép}. Itt is feltesszük, hogy f(n) > n. Állítás Tétel Minden ǫ > 0 valós számra TIME(f(n)) NTIME(f(n)). NTIME(f(n)) NTIME(ǫf(n)+n+2). Bonyolultságelmélet 42 / 184
43 Az NP osztály Definíció NP = NTIME(n k ) = NTIME(n i ). i=1 Példa TSP(E) NP. Nem ismert (de nagyon valószínűtlen), hogy létezik-e módszer nemdeterminisztikus Turing-gépek,,hatékony szimulálására. P? = NP Bonyolultságelmélet 43 / 184
44 Nemdeterminisztikus gépek szimulálása Tétel NTIME(f(n)) c>1 TIME(c f(n) ). Bizonyítás Legyen N = (K,Σ,, s) egy f(n) időkorlátos nemdeterminisztikus Turing-gép. Belátjuk, hogy N szimulálható egy 3-szavas, c f(n) időkorlátos (determinisztikus) M Turing-géppel valamely c > 1 számra. Minden (q,σ) K Σ rendezett párra legyen C q,σ d Feltehető, hogy d > 1. = {(q,σ, D) : ((q,σ),(q,σ, D)) }, = max q,σ C q,σ. onyolultságelmélet 44 / 184
45 Minden t lépésből álló nemdeterminisztikus választási sorozat reprezentálható egy c 1...c t, c i {0,..., d 1} sorozattal. A sorozatokat rendezzük lexikografikusan. M az egyik munkaszalagján sorra előállítja a c 1... c t választási sorozatokat, a másikon az adott sorozatra szimulálja N működését. M akkor áll meg,,igen állapotban, ha valamely választási sorozatra N ugyanezt teszi. M akkor áll meg,,nem állapotban, ha valamely t esetén N az összes t hosszú választási sorozatra egy,,igen -től különböző állapotban áll meg. Időigény: Választások száma: f(n) t=0 d t = df(n)+1 1 d 1 = O(d f(n) ). Sorozatonként: O(f(n)). Összesen: O(f(n)d f(n) ) = O(d f(n) 1 ). Bonyolultságelmélet 45 / 184
46 Az NSPACE(f(n)) osztályok Definíció Azt mondjuk, hogy a k-szavas N = (K,Σ,, s) nemdeterminisztikus lyukszalagos Turing-gép f(n) tárral (vagy tárkorláttal) eldönti az L (Σ {, }) nyelvet, ha eldönti, és valahányszor (s,, x,,ε,...,,ε) N (q, w 1, u 1,...,w k, u k ), ahol x (Σ {, }), q K {,,igen,,,nem, h}, w i, u i Σ, fennáll, hogy Definíció k 1 w i u i f( x ). i=2 NSPACE(f(n)) = {L : létezik olyan nemdeterminisztikus Turing-gép, mely f(n) tárral eldönti L-et}. onyolultságelmélet 46 / 184
47 NL Definíció NL = NSPACE(log n). A Turing-gépnek létezhet végtelen számítási sorozata is! Állítás SPACE(f(n)) NSPACE(f(n)). onyolultságelmélet 47 / 184
48 ELÉRHETŐSÉG Példa ELÉRHETŐSÉG NL. Bizonyítás 4-szavas lyukszalagos nemdeterminisztikus Turing-gépet tervezünk. Egyik munkaszalag: i aktuális csúcs bináris alakja (kezdetben 1). Másik munkaszalag: nemdeterminisztikusan generál a gép egy j csúcsot (binárisan). Ellenőrzi, hogy (i, j) él-e. Ha nem, akkor,,nem állapotban megáll. Ha igen, akkor j = n esetén,,igen állapotban megáll; j n esetén kicseréli i-t j-vel és folytatja az eljárást. Az,,igen választ az output szalagra kiírja. onyolultságelmélet 48 / 184
49 Megjegyzés Később azt is belátjuk, hogy Tétel ELÉRHETŐSÉG SPACE(log 2 (n)). ǫ > 0 : NSPACE(f(n)) NSPACE(ǫf(n)). onyolultságelmélet 49 / 184
50 Közvetlen hozzáférésű gépek (RAM) A Church-Turing tézis legfőbb bizonyítéka: az algoritmusfogalom bármely két matematikai modellje ekvivalens. Erősebb tézis,,az algoritmusok és időigényük matematikai eszközökkel való modellezésére tett bármely ésszerű kísérlet szükségképpen olyan modellhez és időigény-fogalomhoz vezet, mely polinomiálisan ekvivalens a Turing-géppel. Ezt demonstráljuk RAM esetén. Bonyolultságelmélet 50 / 184
51 RAM Adatszerkezet: regiszterek, melyek 0-tól kezdve sorszámozottak. Minden regiszter tetszőleges (pozitív vagy negatív) egész számot tárolhat. A 0. regiszter: akkumulátor. Címzési módok: direkt: j indirekt: j közvetlen: = j utasításszámláló: κ bemenet: (i 0, i 1,..., i t ) egész számok sorozata A j. regiszter tartalmát r j jelöli. onyolultságelmélet 51 / 184
52 Utasítások READ j r 0 := i j READ j r 0 := i rj STORE j r j := r 0 STORE j r rj := r 0 x {j, j,= j} esetén LOAD x r 0 := x ADD x r 0 := r 0 + x SUB x r 0 := r 0 x HALF r 0 := r 0 /2 JUMP j κ := j JZERO j ha r 0 = 0, akkor κ := j JPOS j ha r 0 > 0, akkor κ := j JNEG j ha r 0 < 0, akkor κ := j HALT onyolultságelmélet 52 / 184
53 RAM időigény Program: Utasítások véges sorozata. A program szemantikáját természetes módon definiáljuk. Hibás utasítás a program működésének terminálását eredményezi. Időigény számítása Minden utasítás egységnyi Túlzottan liberális nem Bemenet mérete I = (i 0, i 1,..., i t ) mérete: l(i) = t l(i j ). j=0 l(i j ) az i j szám bináris reprezentációjának hossza. Tehát O(n) időigény azt jelenti, hogy a lépésszám arányos a bemeneten adott számok logaritmusával. Bonyolultságelmélet 53 / 184
54 Tétel A Turing-gép polinomiálisan ekvivalens a RAM-mal. Pontosabban: A és B A Legyen L (Σ {, }) a T, f(n) időkorlátos Turing-géppel eldöntött nyelv. Legyen Σ = {σ 1,...,σ k } és D Σ = {(i 1,...,i n, 0) : n 0, 1 i j k}. (Tehát D Σ a Σ -nak felel meg.) Legyen ϕ L : D Σ {0, 1} ϕ L (i 1,...,i n, 0) = 1 σ i1...σ in L. Ekkor létezik olyan RAM-program, mely O(f(n)) időben kiszámítja ϕ L -t. onyolultságelmélet 54 / 184
55 B Legyen D egész számok véges sorozatainak halmaza, ϕ pedig D-t az egész számok halmazába képező függvény. Adott i egészre jelölje b(i) az i szám bináris reprezentációját, I = (i 0, i 1,..., i t ) esetén pedig legyen b(i) = b(i 0 ); b(i 1 );...; b(i t ). Ha ϕ,,kiszámítható RAM programmal, akkor létezik olyan M Turing-gép, mely kiszámítja ϕ-t a következő értelemben: tetszőleges I D esetén M(b(I)) = b(ϕ(i)). Továbbá, ha ϕ f(n) lépésben kiszámítható RAM programmal, akkor kiszámítható O((f(n) 3 ) időkorlátos Turing-géppel. onyolultságelmélet 55 / 184
56 Univerzális Turing-gép Tétel Létezik olyan U Turing-gép, amelynek ha adott egy M Turing-gép és annak egy x bemenete, úgy viselkedik, mint M az x-en, vagyis U(M; x) = M(x). Természetesen M és x kódolva adottak U számára, és U az M(x)-et ezen kódolás szerint számítja ki. Bonyolultságelmélet 56 / 184
57 A kódolás M = (K,Σ,δ, s). Feltehető, hogy Σ = {1, 2,..., Σ } K = { Σ +1,..., Σ + K } s = Σ +1 Így M megadható a K, Σ számok bináris alakjával, melyet δ leírása követ, amely ((q,σ),(p,, D)) alakú párok sorozata. A q, p, σ,, D mindegyike bináris számmal megadható. A (, ),, stb. karakterek is kódolhatók binárisan.,,,,,igen,,,nem, h feleljen meg a Σ + K +1,..., Σ + K +6 számoknak. Az x bemenet szintén megadható bináris számok sorozatával. onyolultságelmélet 57 / 184
58 U működése Kétszavas Turing-gép. 1. szó: M; x bemenet 2. szó: M aktuális konfigurációjának kódja U az M minden lépését egy menetben szimulálja, melyben Végigolvassa a 2. szót Meghatározza a 2. szón elvégzendő transzformációt, és azt elvégzi Ha M megáll, U is azt teszi. Amennyiben az U bemenete nem M; x alakú, akkor (mondjuk) végtelen ciklusba esik. onyolultságelmélet 58 / 184
59 A megállási probléma Definíció Legyen H = {M; x : M(x) ր}. Tétel H rekurzívan felsorolható, de nem rekurzív. Bizonyítás Rekurzívan felsorolhatóság: az univerzális Turing-gép létezéséből. H nem rekurzív: indirekt bizonyítás. Tegyük fel, hogy H eldönthető egy M H Turing-géppel. Legyen D olyan Turing-gép, melyre Ekkor: D(M) = if M H (M; M) then ր else halt. D(D) =ր M H (D; D) =,,igen D(D) ր, ami ellentmondás. onyolultságelmélet 59 / 184
60 MEGÁLLÁS Adott: M és x Kérdés: Megáll-e M az x-en? MEGÁLLÁS eldönthetetlen probléma. Megjegyzés H teljes a rekurzívan felsorolható nyelvek között: H rekurzívan felsorolható Minden rekurzívan felsorolható nyelv (rekurzívan) visszavezethető H-ra: Legyen L az M Turing-gép által felismert nyelv. x L M; x H Tehát az x? L kérdés eldöntését visszavezettük az M; x? H kérdésre. Bonyolultságelmélet 60 / 184
61 Állítás Az alábbi probléma algoritmikusan eldönthetetlen. Adott: M Turing-gép Kérdés: M megáll-e minden bemenetén? Bizonyítás Adott M és x esetén legyen M olyan Turing-gép, hogy az M minden y bemenő szavára: Így M (y) = M(x). M(x) ր M megáll minden bemenetén. Ha tehát az adott probléma eldönthető lenne, akkor MEGÁLLÁS is az lenne. Bonyolultságelmélet 61 / 184
62 Rice tétele Rice tétele A rekurzívan felsorolható nyelvek egyetlen nemtriviális tulajdonsága sem dönthető el algoritmikusan. Bonyolultságelmélet 62 / 184
63 Állítás Ha L rekurzív, akkor L is az. Bizonyítás Az,,igen és a,,nem állapotok felcserélésével. Állítás Egy L nyelv akkor és csak akkor rekurzív, ha L és L rekurzívan felsorolhatók. Bizonyítás L rekurzív L rekurzívan felsorolható L rekurzív L rekurzív, így L rekurzívan felsorolható Tegyük fel, hogy L és L rekurzívan felsorolhatók. Ekkor L felismerhető egy M, L pedig egy M Turing-géppel. Szimuláljuk M-et és M-et párhuzamosan! onyolultságelmélet 63 / 184
64 coc Definíció Legyen C nyelvek egy osztálya. Ekkor Jelölés coc = {L : L C}. R = {L : L rekurzív} RE = {L : L rekurzívan felsorolható} onyolultságelmélet 64 / 184
65 R, RE és core viszonya Következmény R = cor RE core R = RE core RE core R Bonyolultságelmélet 65 / 184
66 Hilbert 10. problémája Adott: f(x 1,..., x n ) = g(x 1,... x n ) diofantikus egyenlet, ahol f és g egész együtthatós polinomok. Kérdés: Létezik-e egész értékű megoldás? Tétel (Matijasevič) Hilbert 10. problémája algoritmikusan megoldhatatlan. Post megfelelkezési problémája Adott: u 1, v 1,...,u n, v n Σ. Kérdés: Létezik-e olyan i 1,..., i k (k > 0, 1 i j n) sorozat, hogy u i1...u ik = v i1...v ik? Tétel (Post) A fenti probléma algoritmikusan megoldhatatlan. onyolultságelmélet 66 / 184
67 Egy dominó probléma Adott: Dominó típusok véges halmaza. Kérdés: Kirakható-e ezekkel a dominókkal az egész sík hézagmentesen? Típus: u 1 u 2 u 3 u 4, u i Σ. A dominók nem forgathatóak. Tétel A dominó probléma algoritmikusan megoldhatatlan. Bonyolultságelmélet 67 / 184
68 Egy megoldatlan probléma Adott: m pozitív egész szám. Kérdés: Kongruens-e m? Tehát azt kérdezzük, hogy létezik-e olyan derékszögű háromszög, mely oldalai racionális hosszúságúak és melynek területe m. Példa 1, 2, 3, 4 nem kongruensek. 5 kongruens (Fibonacci): a = 3 2, b = 20 3, c = 41 6 Nem ismert, hogy a probléma algoritmikusan eldönthető-e. Bonyolultságelmélet 68 / 184
69 Bonyolultsági osztályok Bonyolultsági osztály megadása számítási modell (általában nem túl fontos) számítási mód korlátozandó erőforrás korlát: f : N N Definíció Az f(n) függvény megengedett bonyolultsági függvény, ha monoton nemcsökkenő, és létezik olyan M f k-szavas lyukszalagos Turing-gép, mely O(n + f(n)) időben és O(f(n)) tárban kiszámítja f -et a következő értelemben: Minden n hosszú x bemenetre (s,, x,,ε,...,,ε) M t f (h,, x,, j 1,...,, j k 2, f(n),ε), ahol a t = O(f(n)+n) és j i = O(f(n)) csak n-től függnek. Idő esetén f(n) > n is kikötés! Bonyolultságelmélet 69 / 184
70 Példák Minden konstans függvény. log n, 2 n, n. f,g f + g, f g, f g. Tehát minden polinom. Definíció Egy M (lyukszalagos vagy nem, determinisztikus vagy nemdeterminisztikus) Turing-gép pontos, ha léteznek olyan f és g függvények, hogy M bármely n hosszú bemenetéhez tartozó számítási sorozata pontosan f(n) hosszú és a megállás pillanatában M minden szava (lyukszalagos gép esetében az első és az utolsó kivételével) pontosan g(n) hosszú. onyolultságelmélet 70 / 184
71 Állítás Tegyük fel, hogy az M (determinisztikus vagy nemdeterminisztikus) Turing-gép f(n) időben (vagy tárral) eldönti az L nyelvet, ahol f megengedett. Ekkor létezik olyan M pontos Turing-gép, mely O(f(n)) időben (vagy tárral) dönti el az L nyelvet. (Tehát M még nemdeterminisztikus esetben is mindig megáll!) Bizonyítás M egy adott n hosszú x bemeneten az,,f(n)-t kiszámító Turing-gép szimulálásával kezdi működését, melynek végén egy munkaszalagon előáll az f(n) szó. Feltehető, hogy minden további munkaszalag hossza is ennyi az első fázis után. Ezután idő esetén az f(n) szót mint órát használva pontosan f(n) lépésig szimulálja M működését (esetleg üres lépésekkel). Tár esetén valamely alkalmas c konstansra c f(n) lépésig szimulálja M-et. onyolultságelmélet 71 / 184
72 Jelölések TIME( f(n)), NTIME( f(n)) SPACE( f(n)), NSPACE( f(n)) P = TIME(n k ), NP = NTIME(n k ) PSPACE = SPACE(n k ), NPSPACE= NSPACE(n k ) L = SPACE(log n), NL = NSPACE(log n) EXP = TIME(2 nk ) onyolultságelmélet 72 / 184
73 A hierarchia tételek Tétel Ha f(n) > n megengedett bonyolultsági függvény, akkor Bizonyítás Legyen TIME(f(n)) TIME( (f(2n+1)) 3 ). H f = {M;x : M legfeljebb f( x ) lépésben elfogadja x-et}, ahol M tetszőleges többszavas Turing-gép. Állítás: H f TIME( (f(n)) 3 ). Állítás: H f / TIME( f( n/2 ) ). Tétel Ha f(n) > n megengedett bonyolultsági függvény, akkor TIME(f(n)) TIME( f(n) log 2 (f(n)) ). onyolultságelmélet 73 / 184
74 A hierarchia tételek Példa P TIME(2 n ) TIME( (2 2n+1 ) 3 ) TIME(2 n2 ) EXP. Tehát P EXP. Tétel Ha f(n) n megengedett bonyolultsági függvény, akkor Példa SPACE(f(n)) SPACE( f(n) log f(n) ). Tehát L PSPACE. L SPACE(n) SPACE(n 2 ) PSPACE. onyolultságelmélet 74 / 184
75 Néhány alapvető összefüggés bonyolultsági osztályokra Tétel (a) TIME( f(n)) NTIME( f(n)) és hasonlóan tárra (b) NTIME( f(n)) SPACE( f(n)) (c) NSPACE( f(n)) TIME( k log n+f(n) ) Bizonyítás (a) triviális. Bonyolultságelmélet 75 / 184
76 NTIME( f(n)) SPACE( f(n)) (b) Legyen M f(n) időkorlátos nemdeterminisztikus Turing-gép. Feltehető, hogy minden számítási sorozat f(n) lépésből áll n hosszú x bemeneten, és minden nem megállási konfigurációnak d > 0,,leszármazottja van. Így a nemdeterminisztikus választási sorozatokat reprezentálhatjuk az {1,..., d} f(n) halmaz elemeivel. M ezeket generálja lexikografikusan, és a,,tárat újra felhasználva szimulálja minden sorozatra M működését. M megáll,,igen állapotban, ha M,,igen állapotban áll meg. M akkor áll meg,,nem állapotban, ha M egyetlen választási sorozat esetén sem állt meg,,igen állapotban. Mivel f(n) megengedett, az első választási sorozatot generálni tudjuk (1 f(n) ). Tárigény: f(n). onyolultságelmélet 76 / 184
77 NSPACE( f(n)) TIME( k log n+f(n) ) (c) bizonyítása: M legyen az L nyelvet f(n) tárral eldöntő nemdeterminisztikus Turing-gép. Mivel M lyukszalagos, az utolsó szalag tartalmára nincs szükség. Adott x, n-hosszú bemenethez tartozó konfiguráció: (q, i, w 2, u 2,..., w k 1, u k 1 ) log n+f(n) Ezek száma: nc f(n) 1 = c1. Kérdés: Elérhető-e az x-hez tartoz konfigurációból egy (,,igen,... ) alakú konfiguráció? Ez az ELÉRHETŐSÉG probléma, mely lineáris időben megoldható. Tehát létezik olyan c konstans, hogy L eldönthető Turing-géppel c log n+f(n) időben. onyolultságelmélet 77 / 184
78 A konfigurációs gráf elkészíthető,,előre is, de szebb megoldás az, hogy szükség esetén az x bemenet és M gép ismeretében eldöntjük minden esetben, hogy két konfiguráció között van-e él. Következmény L NL P NP PSPACE EXP. Bizonyítás L NL (a) NL = NSPACE(log n) TIME(k log n ) P (c) P NP (a) NP = NTIME(n k ) SPACE(n k ) = PSPACE (b) PSPACE = SPACE(n k ) TIME(2 nk ) = EXP (c) onyolultságelmélet 78 / 184
79 Mivel P EXP, a P NP, NP PSPACE, PSPACE EXP valamelyike biztosan valódi. Mivel L PSPACE, az L NL, NL P, P NP, NP PSPACE valamelyike biztosan valódi. Sejtés Mindegyik az. onyolultságelmélet 79 / 184
80 Savitch tétele Tétel ELÉRHETŐSÉG SPACE(log 2 (n)). Bizonyítás (Itt n akár a csúcsok számát, akár a szomszédsági mátrix tárolásához szükséges bitek számát is jelölheti.) Legyen G egy n csúcsú gráf, azt kérdezzük, létezik-e 1-ből n-be vagy általánosabban x 0 -ból y 0 -ba. ÚT(x, y, i) létezik x-ből y-ba vezető legfeljebb 2 i hosszúságú út Világos, hogy akkor és csak akkor érhető el y 0 az x 0 -ból, ha ÚT(x 0, y 0, log n ). onyolultságelmélet 80 / 184
81 ÚT(x, y, i) számítása i = 0 : ÚT(x, y, 0) = {,,igen ha x = y vagy (x, y) él,,nem különben. i > 0 : Ellenőrizzük minden z-re, hogy ÚT(x, z, i 1) és ÚT(z, y, i 1) igaz-e. Ha létezik ilyen z, akkor ÚT(x, y, i) =,,igen, különben ÚT(x, y, i) =,,nem. Bonyolultságelmélet 81 / 184
82 Készíthetünk olyan 3-szavas lyukszalagos Turing-gépet, mely ezt az algoritmust megvalósítja. 1. szalag: G, x 0, y 0 bemenet 2. szalag: verem, rekurzív hívási lánc, kezdetben (x 0, y 0, log n ) 3. szalag: válasz Hívási lánc hossza: log n Egy elem hossza: O( log n ) Összes tárigény: O(log 2 n) Bonyolultságelmélet 82 / 184
83 Következmény Ha f(n) log n megengedett bonyolultsági függvény, akkor Speciálisan: NSPACE(f(n)) SPACE((f(n)) 2 ). PSPACE = NPSPACE. Bizonyítás Legyen N nemdeterminisztikus, f(n) tárkorlátos lyukszalagos Turing-gép. Az N egy x bemenetén való szimulálásához futtassuk le az előző algoritmust az N konfigurációs gráfján. (Feltehető, hogy N mindig megáll.) A gráf mérete: c f(n), így adódik a log 2 (c f(n) ) = O((f(n)) 2 ) tárkorlát. (A konfigurációs gráfot nem készítjük el előre.) onyolultságelmélet 83 / 184
84 Az Immerman-Szelepcsényi tétel Tétel Létezik olyan nemdeterminisztikus lyukszalagos Turing-gép, mely logaritmikus tárral kiszámítja adott G gráfra és annak x csúcsára az x-ből elérhető csúcsok számát. Megjegyzés Egy nemdeterminisztikus gép akkor számít ki egy F(x) függvényt, ha minden x bemenetre minden számítási sorozat végén vagy h vagy,,nem állapotban áll meg (tehát nem léteznek végtelen számítási sorozatok), és minden x bemenetre létezik olyan számítási sorozat, melynek végén h állapotban áll meg. Ebben az esetben az utolsó szalag tartalma mindig F(x). Ha még a munkaszavak hosszának összege mindig legfeljebb f( x ), akkor a gép f(n) tárral számítja ki F(x)-et. Bonyolultságelmélet 84 / 184
85 Bizonyítás Jelölje n a csúcsok számát és k = 0, 1,..., n 1 esetén legyen S(k) az x-ből legfeljebb k hosszú úton elérhető csúcsok halmaza. Nekünk S(n 1) -et kell meghatároznunk. Világos, hogy S(0) = {x}, S(0) = 1. Az S(k) meghatározásához S(k 1) -et használjuk fel, továbbá egy olyan eljárást, mely választ ad az u? S(k) kérdésre. u = 1, 2,..., n-re meghívjuk ezt az eljárást: 1. m := 0; válasz := nem; 2. Minden v = 1, 2,..., n csúcsra 2.1 ha v S(k 1), akkor m := m+1; 2.2 ha továbbá (v, u) él vagy v = u, akkor válasz := igen; 3. ha végül m < S(k 1), akkor,,nem 4. különben az eredmény válasz értéke. onyolultságelmélet 85 / 184
86 Itt a v S(k 1) kérdésre egy,,pontatlan nemdeterminisztikus algoritmus ad választ, mely megsejt egy legfeljebb k hosszú csúcssorozatot és ellenőrzi, hogy az egy x-ből v-be vezető út-e. Tárigény: arányos az egy csúcs tárolásához szükséges területtel: O(log n). (Az út egyes pontjait egyenként sejtjük meg.) Következmény Ha f(n) log n megengedett bonyolultsági függvény, akkor NSPACE(f(n)) = conspace(f(n)). Bonyolultságelmélet 86 / 184
87 Bizonyítás Tegyük fel, hogy L-et eldönti egy f(n) tárkorlátos nemdeterminisztikus Turing-gép, melyről feltehető, hogy mindig megáll. Adott n hosszú bemeneten a konfigurációk száma c f(n), így nemdeterminisztikus Turing-géppel O(f(n)) tárral meghatározhatjuk a kezdő konfigurációból elérhető konfigurációk számát, majd ennek alapján az előző algoritmusban adott módszerhez hasonlóan eldönthetjük, hogy ezek között van-e (,,igen,...) alakú. Megjegyzés TIME(f(n)) = cotime(f(n)) SPACE(f(n)) = cospace(f(n)) Bonyolultságelmélet 87 / 184
88 Visszavezetések Legyenek A és B problémák. B legalább olyan nehéz, mint A, ha létezik olyan hatékony módszer, azaz f rekurzív függvény, mely az A tetszőleges x bemenetéhez hozzárendeli a B egy f(x) bemenetét (példányát) úgy, hogy az A-nak x akkor és csak akkor,,igen példánya, ha B-nek f(x),,igen példánya. Az f függvényre további megszorításokat teszünk. Definíció Azt mondjuk, hogy az L 1 nyelv (logaritmikus tárral) visszavezethető az L 2 nyelvre, ha létezik olyan O(log n) tárral kiszámítható R szófüggvény, hogy minden x bemenetre x L 1 R(x) L 2. Bonyolultságelmélet 88 / 184
89 Állítás Ha R egy M (lyukszalagos) Turing-géppel kiszámított visszavezetés, akkor M minden x bemeneten polinom időben megáll. Bizonyítás Adott n hosszú x bemeneten a konfigurációk száma O(nc log n ) = O(n k ). Ezek egyike sem fordulhat elő kétszer egy számítási sorozatban. Tehát minden logaritmikus tárral kiszámított visszavezetés egyben polinom idejű visszavezetés is. Továbbá R(x) az x polinom függvényével korlátozható. Példa PÁROSÍTÁS visszavezethető MAXIMÁLIS FOLYAM(E)-re. Bonyolultságelmélet 89 / 184
90 HAMILTON-ÚT Adott: G irányított gráf. Kérdés: létezik-e olyan út, mely minden csúcsot pontosan egyszer látogat meg? SAT Adott: konjunktív normálalakú Boole-formula. Kérdés: kielégíthető-e? Állítás HAMILTON-ÚT visszavezethető SAT-ra. Bizonyítás G csúcsai: 1, 2,..., n. A formula felírásához az x i,j, 1 i, j n változókat használjuk. (Az x i,j igaz volta annak felel meg, hogy a j csúcs az i-edik egy Hamilton-úton.) Bonyolultságelmélet 90 / 184
91 A formulát öt részformula konjunkciójaként állítjuk elő: j i x i,j j j i 1 < i 2 ( x i1,j x i2,j) j (x 1,j x 2,j... x n,j ) i 1 <i 2 ( x i1,j x i2,j) A kettő együtt: j!ix i,j i j x i,j (x i,1 x i,2... x i,n ) i j 1 < j 2 ( x i,j1 x i,j2 ) i Együtt: i!jx i,j. Eddig csak n-től függ. i j 1 <j 2 ( x i,j1 x i,j2 ) Bonyolultságelmélet 91 / 184
92 (i, j) / E(G) az i csúcs után nem következhet j: n 1 ( x k,i x k+1,j ) (i,j)/ E(G) k=1 Adott G gráfra a formula logaritmikus tárral elkészíthető, és G-ben akkor és csak akkor van Hamilton-út, ha a formula kielégíthető. onyolultságelmélet 92 / 184
93 Logikai hálózatok Definíció Hálózat: körmentes irányított gráf, a csúcsok címkézettek:,,, igaz, hamis, x i, címke esetén a csúcs befoka 2, címke esetén a csúcs befoka 1, igaz, hamis, x i címke esetén a csúcs befoka 0. Általában megköveteljük még, hogy pontosan egy csúcs kifoka legyen 0. Amennyiben a változók közül az x 1,..., x n fordulnak elő a hálózatban (legfeljebb), akkor a hálózat kiszámít egy {igaz, hamis} n {igaz, hamis} Boole-függvényt. onyolultságelmélet 93 / 184
94 HÁLÓZAT-KIÉRTÉKELÉS Adott: változómentes hálózat. Kérdés: igaz-e az értéke? HÁLÓZAT-KIELÉGÍTHETŐSÉG Adott: hálózat. Kérdés: a változóknak lehet-e úgy értéket adni, hogy a hálózat értéke igaz legyen? Állítás Az ELÉRHETŐSÉG visszavezethető a HÁLÓZAT-KIÉRTÉKELÉS-re. Állítás A HÁLÓZAT-KIELÉGÍTHETŐSÉG visszavezethető a SAT-ra. onyolultságelmélet 94 / 184
95 Minden g csúcsnak feleljen meg a g változó. g címkéje x x g, azaz ( x g) (x g) g címkéje igaz g g címkéje hamis g g címkéje : g ր տ g (g 1 g 2 ), azaz ( g g g 1 g 1 g 2 ) ( g 1 g) ( g 2 g) 2 g címkéje : g ր տ g (g 1 g 2 ), azaz ( g g g 1 g 1 ) ( g g 2 ) ( g 1 g 2 g) 2 g címkéje : g g ( g 1 ), azaz ( g g 1 ) (g 1 g) g 1 g kimenő kapu g onyolultságelmélet 95 / 184
96 A keresett formula: a fenti formulák konjunkciója. Adott hálózathoz a formula elkészíthető logaritmikus tárral. Továbbá a hálózat akkor és csak akkor kielégíthető, ha a formula az. Ha ugyanis a formula kielégíthető, akkor tekintsünk egy h kielégítő értékelését. Ez minden egyes g kapuhoz és x i változóhoz meghatároz egy logikai értéket. Rendeljük minden kapuhoz ezt a logikai értéket. Ekkor a kimeneti kapu értéke a hálózat értéke, amikor minden x i változó értékét h(x i )-nek választjuk. Ha a hálózat kielégíthető, akkor válasszuk meg minden x i értékét úgy, hogy a hálózat értéke igaz legyen. Számítsuk ki a hálózat minden kapujának értékét. Az így kapott értékelés kielégíti a formulát. Bonyolultságelmélet 96 / 184
97 Az egyik irány: ha H g -t kielégíti a H g változóinak egy h kiértékelése, akkor h-nak az a folytatása, mely H g minden g csúcsához (mint változóhoz) a H g értékét rendeli a h értékelés mellett, kielégíti F g -t. A másik irány: ha F g -t kielégíti egy h értékelés (mely értéket ad H g változóinak és minden csúcsának), akkor h megszorítása H g változóira kielégíti a H g hálózatot. Bonyolultságelmélet 97 / 184
98 A visszavezetés tranzitivitása Világos, hogy a visszavezetés reflexív. Tétel A visszavezetés tranzitív: Ha R az L 1 -nek L 2 -re, R pedig az L 2 -nek L 3 -ra való visszavezetése, akkor az R R összetett függvény L 1 -nek L 3 -ra való visszavezetése. Bizonyítás Legyen M R és M R az R-et ill. R -t logaritmikus tárral kiszámító lyukszalagos Turing-gépek. Elkészítünk egy olyan lyukszalagos Turing-gépet, mely logaritmikus tárral kiszámítja R R -t. (Ez nem lehet a hagyományos szuperpozíció, mert R(x) sokkal hosszabb lehet, mint log x.) Bonyolultságelmélet 98 / 184
99 A visszavezetés tranzitivitása A trükk Nem tároljuk el M R kimenő szalagját, csak a mutató pozícióját (kezdetben ez 1). x M R { i { M R (R R )(x) M R -nek szüksége van a következő karakterre: folytatjuk M R szimulálását. M R -nek szüksége van az előző karakterre: elölről kezdjük M R szimulálását. onyolultságelmélet 99 / 184
100 Definíció Azt mondjuk, hogy egy C bonyolultsági osztály zárt a visszavezetésre, ha valahányszor L visszavezethető L -re és L C, mindig teljesül, hogy L C. Állítás Az L, NL, P, NP, PSPACE, EXP osztályok zártak a visszavezetésre. Bizonyítás L és NL esetén az előző tételhez (tranzitivitás) hasonlóan. A többi osztály esetében a hagyományos szuperpozíció is megfelel. Megjegyzés L bármely két nemtriviális L, L elemére igaz, hogy L visszavezethető L -re. Bonyolultságelmélet 100 / 184
101 Definíció Legyen C egy bonyolultsági osztály. Egy L nyelvet C-nehéznek nevezünk, ha minden L C nyelv visszavezethető L-re. Ha még L C is teljesül, akkor L C-teljes. Speciálisan: P-teljes, NP-teljes stb. problémák. Állítás Tegyük fel, hogy C zárt a visszavezetésre és az L nyelv C-teljes. Akkor C pontosan azon L nyelvekből áll, melyek visszavezethetők L-re. Tehát L reprezentálja az egész osztályt! Állítás Tegyük fel, hogy L egy C-teljes nyelv, L C és L visszavezethető L -re. Akkor L is C-teljes. Állítás L nyelv C-teljes L coc-teljes. onyolultságelmélet 101 / 184
102 Egy P-teljes probléma Tétel A HÁLÓZAT-KIÉRTÉKELÉS probléma P-teljes. Bizonyítás Csak azt mutatjuk meg, hogy a probléma P-nehéz. E célból legyen L P, be kell látnunk, hogy L visszavezethető a HÁLÓZAT-KIÉRTÉKELÉS problémára. Mivel L P, létezik olyan polinom időkorlátos egyszavas M Turing-gép, mely eldönti L-et. Tegyük fel, hogy p(n) 2 az M polinom időkorlátja, ahol p(n) > 2. Ha megengedünk üres átmeneteket is, úgy feltehető, hogy M minden n hosszú x bemeneten pontosan p(n) 2 lépésben áll meg,,igen vagy,,nem állapotban. Bonyolultságelmélet 102 / 184
103 Egy P-teljes probléma Azt is feltehetjük, hogy M a megálláskor a mutató a szimbólumot követő karakteren áll, és ez a karakter az,,igen vagy a,,nem állapot. M működését az n hosszú x bemeneten leírhatjuk egy (p(n) 1) p(n) méretű T = (T i,j ) táblázattal, T i,j Γ = Σ {σ q : σ Σ, q K}. Itt σ q jelentése: a gép q állapotban van, a mutató az adott karaktert jelöli ki, mely σ. Az egyszerűség kedvéért most feltesszük, hogy induláskor a gép a szimbólumot követő karakterre mutat, és a szimbólumra sosem kerül a mutató. onyolultságelmélet 103 / 184
104 Egy P-teljes probléma x...,,igen v.,,nem Bonyolultságelmélet 104 / 184
105 Egy P-teljes probléma A szélső elemek adottak. Minden belső elem a fölötte levő három függvénye valamely M-től függő f : Γ 3 Γ függvény szerint. Amennyiben Γ elemeit bitsorozatokkal kódoljuk, f helyettesíthető f l : {igaz, hamis} 3m {igaz, hamis} (l = 1, 2,..., m, m = log Γ ) függvényekkel. Az x bemenethez tartozó R(x) hálózatot úgy kapjuk, hogy a táblázat minden belső pozícióját helyettesítjük egy egyszerű hálózattal (melyek véges sok, x-től függetlenül megadható hálózattípusból kerülnek ki). onyolultságelmélet 105 / 184
106 Egy P-teljes probléma szélső elem: a megfelelő elem bináris kódjához tartozó, csak kezdőcsúcsokat tartalmazó hálózat. belső elem: 3m bemenettel és m kimenettel rendelkező, az f 1,...,f m függvényeket kiszámító hálózat. A belső elemek helyére kerülő hálózatok bemeneteit rendre azonosítjuk a fölötte levő három hálózat kimeneteivel. Az egész hálózat kimenete: az utolsó sor második hálózatának első kimenete. Világos, hogy R(x) elkészíthető logaritmikus tárigényű Turing-géppel; x L R(x) értéke igaz. Bonyolultságelmélet 106 / 184
107 Cook tétele Tétel A SAT probléma NP-teljes. Az nyilvánvaló, hogy SAT NP. Mivel a HÁLÓZAT-KIELÉGÍTHETŐSÉG visszavezethető SAT-ra, így elegendő belátni, hogy a HÁLÓZAT-KIELÉGÍTHETŐSÉG NP-nehéz. (Persze akkor NP-teljes is.) onyolultságelmélet 107 / 184
108 Cook tétele Tétel A HÁLÓZAT-KIELÉGÍTHETŐSÉG NP-teljes. Bizonyítás Legyen L egy M nemdeterminisztikus egyszavas Turing-géppel polinom időben eldöntött nyelv. A HÁLÓZAT-KIÉRTÉKELÉS P-teljességének bizonyítását követve, adott x bemenethez elkészítünk egy T táblázatot, mely a nemdeterminisztikus választásoktól is függ. Feltehető, hogy minden konfigurációban 2 választás lehetséges, így c egy t = p( x ) hosszú bitsorozat, ahol p az M időkorlátját megadó polinom függvény. onyolultságelmélet 108 / 184
109 Cook tétele A belső T i,j elemek értéke most a T i 1,j 1, T i 1,j, T i 1,j+1 értékeken kívül a c i -től is függ, ami 0 vagy 1. Így az f l függvények: {igaz, hamis} 3m+1 {igaz, hamis}. Az R(x) hálózatot a korábbiakhoz hasonlóan készítjük el azzal a különbséggel, hogy a hálózat rendelkezik még c 1,...,c t bemeneti kapukkal, amelyek x 1,..., x t változókkal címkézettek. Bonyolultságelmélet 109 / 184
110 Az NP osztály egy jellemzése Definíció Legyen R Σ Σ. Azt mondjuk, hogy R polinom időben eldönthető, ha az L R = {x; y : R(x, y)} nyelv az. Azt mondjuk, hogy R polinomiálisan kiegyensúlyozott, ha van olyan p(n) polinom, hogy R(x, y) y p( x ). Állítás L NP R polinom időben eldönthető, polinomiálisan kiegyensúlyozott reláció, hogy L = {x : y R(x, y)}. onyolultságelmélet 110 / 184
111 Bizonyítás Tegyük fel, hogy L NP. Létezik L-et eldöntő, p(n) polinom időkorlátos nemdeterminisztikus Turing-gép. Legyen R = {(x, y) : y az x-hez tartozó elfogadó számítási sorozatot kódol}. Legyen L = {x : y R(x, y)}, ahol R polinom időben eldönthető és polinomiálisan kiegyensúlyozott: R(x, y) y p( x ). Az N nemdeterminisztikus Turing-gép adott x esetén nemdeterminisztikusan generáljon egy tetszőleges y szót, amire y p( x ), majd az L R -et polinom időben eldöntő Turing-gépet szimulálva ellenőrizze, hogy R(x, y) teljesül-e. onyolultságelmélet 111 / 184
112 A kielégíthetőség változatai Definíció Legyen k 1. A ksat a SAT azon speciális esete, amelyben minden tag pontosan k (nem feltétlenül különböző) literálból áll. Bonyolultságelmélet 112 / 184
113 3SAT Állítás 3SAT NP-teljes, és így k 3 esetén ksat NP-teljes. Bizonyítás l l l l l 1 l 2 l 1 l 2 l 2 l 1 l 2 l 3 l 1 l 2 l 3 l 1 l 2 l 3 l 4 (l 1 l 2 x) ( x l 3 l 4 ) l 1 l 2... l n.. (l 1 l 2 x) ( x l 3 y) ( y l 4 z)... ( u l n 1 l n ) onyolultságelmélet 113 / 184
114 3SAT Állítás Legyen ϕ = c 1 c 2... c k konjunktív normálformájú formula. Minden c i taghoz legyen c i az előzőekben adott kifejezés, ahol minden kifejezésben új változókat használunk. Ekkor ϕ akkor és csak akkor kielégíthető, ha ϕ = c 1 c 2... c k az. Mivel SAT visszavezethető 3SAT-ra és 3SAT NP, ezért SAT NP-teljességéből következik, hogy 3SAT is NP-teljes. Bonyolultságelmélet 114 / 184
115 2SAT Legyen ϕ olyan k.n.f., hogy ϕ minden tagja 2 literálból áll. G(ϕ) csúcsok: a ϕ-ben előforduló változók és negáltjaik. élek: (α,β) él α β vagy β α a ϕ tagja (azaz ha α β vagy β α a ϕ tagja.) Állítás Akkor és csak akkor vezet α-ból β-ba irányított út, ha létezik β-ból α-ba vezető irányított út. Tétel A ϕ formula akkor és csak akkor kielégíthető, ha nincs olyan x változó, amelyre létezik G(ϕ)-ben irányított út x-ből x-be és vissza. onyolultságelmélet 115 / 184
116 2SAT Bizonyítás Tegyük fel, hogy létezik olyan x változó, hogy x-ből elérhető x, és x-ből elérhető x. Belátjuk, hogy a változók tetszőleges T kiértékelésére ϕ hamis. Tegyük fel, hogy T(x) igaz (a T(x) hamis eset hasonlóan kezelhető). Mivel T( x) hamis, az x-ből x-be vezető úton létezik olyan (α,β) él, hogy T(α) igaz és T(β) hamis. Ekkor G(ϕ) konstrukciója szerint a megfelelő tag (α β vagy β α) hamis, így ϕ hamis. Tegyük fel, hogy egyetlen x változóra sem létezik x-ből x-be és x-ből x-be vezető út. Elkészítjük a változók egy olyan T kiértékelését, melyre ϕ igaz. onyolultságelmélet 116 / 184
117 2SAT Válasszunk egy olyan x változót, amelynek igazságértékét még nem rögzítettük. Ha x-ből nem érhető el x, akkor legyen α := x, különben (ekkor x-ből nem érhető el x) α := x. α-hoz és minden α-ból elérhető csúcshoz rendeljük az igaz értéket és tagadásaikhoz rendeljük a hamis értéket. (Ezek pontosan azok, melyekből elérhető α.) T jól definiált, nem lehet: α β és α β, mert ekkor β α és β α miatt α α lenne. α β esetén nem lehet, hogy β korábban hamis értéket kapjon, mert akkor β α alapján α már korábban hamis értéket kapott volna. Valahányszor (α,β) él és T(α) igaz, T(β) is igaz. Ezért ϕ a T kiértékelés mellett igaz. Bonyolultságelmélet 117 / 184
118 2SAT Következmény 2SAT NL, így 2SAT P. Bizonyítás Mivel NL = conl, elegendő azt belátni, hogy 2SAT KOMPLEMENTER NL. Ehhez azt kell eldönteni adott ϕ esetén, hogy létezik-e G(ϕ)-ben valamely x változóra x-ből x-be és vissza vezető út. Ez ugyanúgy eldönthető nemdeterminisztikusan logaritmikus tárral, mint az ELÉRHETŐSÉG. Bonyolultságelmélet 118 / 184
119 NP-teljes gráfelméleti problémák FÜGGETLEN CSÚCSHALMAZ Adott: G = (V, E) irányítatlan gráf, K szám. Kérdés: Létezik-e K elemű független csúcshalmaz? Tétel A FÜGGETLEN CSÚCSHALMAZ probléma NP-teljes. Bizonyítás Világos, hogy a probléma NP-ben van. Megmutatjuk, hogy 3SAT visszavezethető a FÜGGETLEN CSÚCSHALMAZ-ra. Legyen ϕ a 3SAT egy példánya, ϕ = c 1... c m. A G gráf álljon m darab háromszögből, melyek a c i tagoknak felelnek meg, s melyek csúcsai a c i -kben lévő literáloknak felelnek meg. Ezen kívül még kössünk össze éllel minden ellentétes literált. Végül legyen K = m. ϕ kielégíthető G-ben létezik K elemű független csúcshalmaz. onyolultságelmélet 119 / 184
120 NP-teljes gráfelméleti problémák KLIKK Adott: G = (V, E) irányítatlan gráf, K szám. Kérdés: Létezik-e K elemű klikk (teljes részgráf)? Tétel KLIKK NP-teljes. Bizonyítás Világos, hogy KLIKK NP. Legyen (G = (V, E), K) a FÜGGETLEN CSÚCSHALMAZ probléma egy példánya. Feltehető, hogy K V. Legyen G c = (V, E c ) a G komplementer gráfja. Világos, hogy G-ben akkor és csak akkor létezik K elemű független csúcshalmaz, ha G c -ben létezik K elemű klikk. Bonyolultságelmélet 120 / 184
121 NP-teljes gráfelméleti problémák CSÚCSLEFEDÉS Adott: G = (V, E) irányítatlan gráf, K szám. Kérdés: Létezik-e olyan K elemű csúcshalmaz, hogy minden él illeszkedik a halmaz egy csúcsához? Tétel A CSÚCSLEFEDÉS probléma NP-teljes. Bizonyítás Legyen (G = (V, E), K) a FÜGGETLEN CSÚCSHALMAZ probléma egy példánya, ahol K V. G-nek akkor és csak akkor létezik K elemű független csúcshalmaza, ha élei lefedhetőek V K elemű csúcshalmazzal. Bonyolultságelmélet 121 / 184
122 HAMILTON-ÚT Adott: G = (V, E) irányítatlan gráf. Kérdés: Létezik-e olyan út, melyben minden csúcs pontosan egyszer fordul elő? Tétel A HAMILTON-ÚT probléma NP-teljes. Tétel A TSP(E) probléma NP-teljes. Bizonyítás A HAMILTON-ÚT problémát visszavezetjük a TSP(E) problémára. Legyen G egy n csúcsú gráf az {1,..., n} halmazon. Ha i j és (i, j) él, akkor d i,j legyen 1, különben legyen d i,j = 2. G-ben akkor és csak akkor létezik Hamilton-út, ha létezik n+1 összköltségű körút. onyolultságelmélet 122 / 184
123 NP-teljes gráfelméleti problémák 3-SZÍNEZÉS Adott: G = (V, E) irányítatlan gráf. Kérdés: Kiszínezhetőek-e a gráf csúcsai 3 színnel úgy, hogy a szomszédos csúcsok különböző színűek legyenek? Tétel A 3-SZÍNEZÉS probléma NP-teljes. Megjegyzés A 2-SZÍNEZÉS probléma P-ben van. A 4-SZÍNEZÉS probléma triviális síkbarajzolható gráfokra. Bonyolultságelmélet 123 / 184
124 NP-teljes problémák halmazokra és számokra HÁRMASÍTÁS Adott: Három azonos méretű halmaz, F (fiúk), L (lányok), H (házak), és egy R F L H reláció. Kérdés: Megadható-e az R-beli hármasok egy olyan részhalmaza, melyben minden fiú, lány és ház pontosan egyszer szerepel? Világos, hogy HÁRMASÍTÁS NP. Tétel A HÁRMASÍTÁS probléma NP-teljes. Megjegyzés PÁROSÍTÁS P. onyolultságelmélet 124 / 184
125 Bizonyítás A 3SAT-ot vezetjük vissza HÁRMASÍTÁS-ra. ϕ = c 1... c m Adott x változóra jelölje k az x és x előfordulásainak maximumát. Az x változóhoz felveszünk 2k hármast, az ábrán látható háromszögeket: h 1 l k f 1 h 2 l 1 h 3 f 2 l 2 h 4 onyolultságelmélet 125 / 184
126 HÁRMASÍTÁS Bizonyítás folytatása Az x minden egyes előfordulásához hozzárendelünk egy páratlan indexű h i -t, a x minden előfordulásához pedig egy páros indexű h i -t. Mivel az ábrán szereplő fiúk és lányok más hármasokban nem szerepelnek, minden hármasításban minden második háromszög szerepel: (f 1,l 1, h 2 ),(f 2,l 2, h 4 ),... x igaz (f 1,l k, h 1 ),(f 2,l 1, h 3 ),... x hamis Minden c j taghoz felveszünk még 3 hármast, melyek (f,l, h) alakúak, ahol f,l csak a c j -től függnek, h pedig azon három ház valamelyike, melyek a tagban szereplő literáloknak felelnek meg. Az eddig elkészített R relációra érvényes: Akkor és csak akkor adható meg az R egy olyan részhalmaza, melyben minden fiú és lány pontosan egyszer, és minden ház legfeljebb egyszer szerepel, ha ϕ kielégíthető. Bonyolultságelmélet 126 / 184
127 HÁRMASÍTÁS A konstrukció befejezése Eddig H 3m házat és H 2 + m H 2 + H 3 fiút és ugyanannyi lányt használtunk. Jelölje K a H ( H 2 + m) különbséget. Felveszünk még K lányt és fiút, melyek mindegyik házba belerakhatók. Bonyolultságelmélet 127 / 184
128 HALMAZLEFEDÉS Adott: Egy U halmaz részhalmazainak C = (S 1,..., S n ) rendszere és egy K szám. Kérdés: Kiválasztható-e K darab az S i -k közül úgy, hogy ezek egyesítése U? HALMAZPAKOLÁS Adott: Egy U halmaz részhalmazainak C = (S 1,..., S n ) rendszere és egy K szám. Kérdés: Kiválasztható-e az S i -k közül K páronként diszjunkt halmaz? PONTOS LEFEDÉS HÁRMASOKKAL Adott: Egy 3m elemű U halmaz és 3-elemű részhalmazainak (S 1,..., S n ) rendszere. Kérdés: Kiválasztható-e m darab S i úgy, hogy ezek egyesítése U? (A kiválasztott S i -k nyilván diszjunktak.) onyolultságelmélet 128 / 184
129 NP-teljes problémák halmazokra Tétel A HALMAZLEFEDÉS, HALMAZPAKOLÁS, PONTOS LEFEDÉS HÁRMASOKKAL problémák NP-teljesek. Bizonyítás A HÁRMASÍTÁS a PONTOS LEFEDÉS HÁRMASOKKAL speciális esete. A PONTOS LEFEDÉS HÁRMASOKKAL a HALMAZLEFEDÉS, valamint a HALMAZPAKOLÁS speciális esete is. Bonyolultságelmélet 129 / 184
130 EGÉSZ ÉRTÉKŰ PROGRAMOZÁS Adott: Egy n-változós, egész együtthatós lineáris egyenlőtlenség-rendszer. Kérdés: Létezik-e egész értékű megoldás? A HALMAZLEFEDÉS felfogható az EGÉSZ ÉRTÉKŰ PROGRAMOZÁS speciális eseteként: n Ax 1, x i B, 0 x i 1, i=1 ahol A oszlopai a halmazrendszer elemeinek felelnek meg. Azt is meg lehet mutatni, hogy az EGÉSZ ÉRTÉKŰ PROGRAMOZÁS NP-ben van. Tétel Az EGÉSZ ÉRTÉKŰ PROGRAMOZÁS probléma NP-teljes. onyolultságelmélet 130 / 184
131 NP-teljes problémák halmazokra és számokra Az EGÉSZ ÉRTÉKŰ PROGRAMOZÁS egy másik speciális esete: HÁTIZSÁK Adott: n elem mindegyikének w i súlya és c i értéke, valamint W és K. Kérdés: Kiválasztható-e ismétlés nélkül néhány elem úgy, hogy összértékük K és összsúlyuk W? Tétel A HÁTIZSÁK probléma NP-teljes. onyolultságelmélet 131 / 184
132 A conp osztály Definíció conp = {L : L NP} Példák ÉRVÉNYESSÉG Adott: ϕ Boole-formula Kérdés: Érvényes-e, azaz azonosan igaz-e ϕ? HAMILTON-ÚT KOMPLEMENTER Adott: G gráf Kérdés: Igaz-e, hogy G nem tartalmaz Hamilton-utat? Állítás Az ÉRVÉNYESSÉG és HAMILTON-ÚT KOMPLEMENTER problémák conp-ben vannak. onyolultságelmélet 132 / 184
133 NP és conp Egy probléma akkor van NP-ben, ha minden igen példányához létezik tömör, polinom időben ellenőrizhető bizonyíték, és csak az igen példányokhoz létezik ilyen bizonyíték. conp-ben, ha minden nem példányhoz létezik tömör, polinom időben ellenőrizhető cáfolat, és csak a nem példányokhoz létezik ilyen cáfolat. Állítás Az ÉRVÉNYESSÉG és HAMILTON-ÚT KOMPLEMENTER problémák conp-teljesek. onyolultságelmélet 133 / 184
134 NP és conp Állítás P NP conp. Állítás Tegyük fel, hogy C zárt a visszavezetésre és L C-teljes. Ekkor C = coc L coc. Következmény NP = conp SAT conp ÉRVÉNYESSÉG NP. onyolultságelmélet 134 / 184
135 PRÍMEK Adott: p szám (binárisan). Kérdés: Prímszám-e p? Állítás PRÍMEK conp. Tétel (Lucas) Egy p > 1 szám akkor és csak akkor prímszám, ha létezik olyan 1 r < p, amelyre: (a) r p 1 1 mod p (b) A p 1 minden q prímszám osztójára r (p 1)/q 1 mod p. Példa p = 5 r = 3: mod 5, mod 5. onyolultságelmélet 135 / 184
136 Pratt tétele Tétel (Pratt, 1975) PRÍMEK NP conp. Bizonyítás Legyen adott p. Feltehető, hogy p > 2. A p prímszám voltának bizonyítéka: (r, q 1,..., q k ), ahol 1 r < p, r p 1 1 mod p, továbbá q 1,...,q k a p 1 összes prímosztói, és így k log p és r (p 1)/q i 1 mod p, i = 1,..., k. onyolultságelmélet 136 / 184
137 Pratt tétele Az input mérete n = log p. Állítás r p 1 mod p meghatározható valamely m-re O(n m ) időben. Bizonyítás Képezzük az r mod p, r 2 mod p,..., r 2n mod p számokat, majd ezek közül összeszorozzuk azon r 2i -ket, melyekre p 1 bináris reprezentációjában az i-edik helyiértékű bit 1. Bonyolultságelmélet 137 / 184
138 Pratt tétele Állítás n-ben polinom időben ellenőrizhető, hogy eljuthatunk-e p 1-ből az 1-be q i -kkel való osztások segítségével, ahol minden egyes q i -t legalább egyszer felhasználjuk. Továbbá n-ben polinom időben ellenőrizhető az is, hogy minden i-re érvényes-e az r (p 1)/q i 1 mod p egyenlőtlenség. De (r, q 1,...,q k ) nem teljes bizonyíték, mert valahányszor q i 2, annak is bizonyítékát kell adni, hogy q i prím. A teljes bizonyíték: C(p) = (r, q 1, C(q 1 ),..., q k, C(q k )), ahol C(q i ) a q i prímszám voltának bizonyítéka (ez üres, ha q i = 2). Bonyolultságelmélet 138 / 184
139 Pratt tétele Állítás A teljes bizonyíték hossza O(n 2 ). Állítás Adott p-re a C(p) bizonyíték helyessége n-ben polinom időben leellenőrizhető. Bizonyítás A fentiek alapján, ld. könyv. Tétel (M. Agrawal, N. Kayal, N. Saxena, 2002) PRÍMEK P. Bonyolultságelmélet 139 / 184
140 Néhány további eredmény a P és NP osztályokról Tétel Ha P NP, akkor létezik olyan L NP P, mely nem NP-teljes. NPC NPI vagy P = NP P NPC: NP-teljes nyelvek (NP-complete) NPI: azon (NP P)-beli nyelvek, amelyek nem NP-teljesek (NP-intermediate). Bonyolultságelmélet 140 / 184
141 Orákulumos Turing-gép Definíció Az M? orákulumos, determinisztikus vagy nemdeterminisztikus Turing-gép olyan többszavas Turing-gép, mely rendelkezik egy speciális kérdés szóval (szalaggal), valamint q?, q igen, q nem állapotokkal. Definíció Legyen A Σ, ahol Σ az M ábécéje. Ekkor az M A Turing-gép, melyben az orákulumot az A nyelvvel realizáljuk, úgy működik, mint egy közönséges Turing-gép, kivéve, ha a q? állapotban van. Ekkor a q igen vagy a q nem állapotba megy át annak megfelelően, hogy a kérdés szó az A nyelvben van-e. Időbonyolultság Mint a közönséges esetben, minden kérdés egyetlen lépésnek számít. Bonyolultságelmélet 141 / 184
142 Orákulumos Turing-gép Definíció Legyen C bonyolultsági osztály, A tetszőleges nyelv. C A : Azon nyelvek, amelyek eldönthetőek ugyanolyan típusú orákulumos Turing-géppel az orákulum A-val való realizálása mellett, mint a C osztályba eső nyelveket eldöntő Turing-gépek. Legyen C is bonyolultsági osztály. Ekkor C C = A C C A. Példa P P = P NP conp P NP = P SAT onyolultságelmélet 142 / 184
143 Orákulumos Turing-gép Tétel Van olyan A orákulum, melyre P A = NP A. Lemma Ha A PSPACE, akkor P A PSPACE és NP A NPSPACE = PSPACE. Lemma Ha A PSPACE-teljes, akkor PSPACE P A. A tétel bizonyítása Legyen A PSPACE-teljes, később látni fogjuk, hogy ilyen A létezik. Ekkor: PSPACE P A NP A PSPACE. onyolultságelmélet 143 / 184
144 Orákulumos Turing-gép Tétel Van olyan B, melyre P B NP B. Tehát a P NP sejtés csak olyan gondolatmenettel bizonyítható, mely nem relativizálható tetszőleges orákulumra. onyolultságelmélet 144 / 184
145 Logaritmikus tár Tétel Az ELÉRHETŐSÉG probléma NL-teljes. Bizonyítás Azt már tudjuk, hogy a probléma NL-ben van. Legyen most az L egy NL-beli nyelv. Ekkor L eldönthető egy N, log n tárkorlátos nemdeterminisztikus lyukszalagos Turing-géppel. Egy n hosszú x bemeneten a konfigurációk száma O(n k ) valamely k-ra. Feltehető, hogy csak egy elfogadó konfiguráció van. Így a konfigurációs gráfot tekintve az ELÉRHETŐSÉG egy példányához jutunk, mely akkor és csak akkor igen példány, ha x L. Mivel a konfigurációs gráf elkészíthető logaritmikus tárral, készen vagyunk. Bonyolultságelmélet 145 / 184
146 Logaritmikus tár Következmény Az ELÉRHETETLENSÉG probléma NL-teljes. Bizonyítás NL = conl onyolultságelmélet 146 / 184
147 Tétel A 2SAT probléma NL-teljes. Bizonyítás Azt már tudjuk, hogy 2SAT NL. Tekintsük az ELÉRHETETLENSÉG egy példányát. Az előző tétel bizonyítása miatt feltehető, hogy az adott gráf körmentes. Minden csúcshoz rendeljünk egy x változót. A 2SAT azon ϕ példányát készítjük el, mely az összes x y tagokból áll, ahol (x, y) él, továbbá az s és t tagokból, ahol s a kezdőcsúcs és t a cél. Így ϕ kielégíthető s-ből nem érhető el t. Tegyük fel, hogy T a ϕ kielégítő kiértékelése. Ekkor T(x) = 1, valahányszor x elérhető s-ből, és T(t) = 0. Így t nem érhető el. Tegyük fel, hogy t nem érhető el s-ből. Legyen T azon kiértékelés, melyre T(x) = 1 akkor és csak akkor, ha x elérhető s-ből. Ekkor T kielégíti ϕ-t. onyolultságelmélet 147 / 184
148 Alternáló Turing-gép Definíció Az alternáló Turing-gép olyan N = (K,Σ,, s) nemdeterminisztikus Turing-gép, melyben K a KÉS és K VAGY diszjunkt halmazok egyesítése, és amelynek minden számítási sorozata véges (feltehető, hogy a gép pontos). Tekintsük az N számítási fáját az x bemeneten. Azt mondjuk, hogy egy C konfiguráció végül elfogadó, ha C-ben a gép,,igen állapotban van, vagy KÉS -állapotban van, és minden közvetlen leszármazottja végül elfogadó, vagy K VAGY -állapotban van, és valamely közvetlen leszármazottja végül elfogadó. Az N gép akkor fogadja el az x bemenetet, ha a kezdő konfiguráció végül elfogadó, különben elutasítja azt. Az f(n) idő- vagy tárkorlátos Turing-gép fogalmát értelemszerűen definiáljuk. Bonyolultságelmélet 148 / 184
149 Alternáló Turing-gép Definíció Legyen f(n) megengedett bonyolultsági függvény. (Idő esetén f(n) > n.) ATIME(f(n)): az összes f(n) időkorlátos alternáló Turing-géppel eldönthető nyelvek. ASPACE(f(n)): az összes f(n) tárkorlátos alternáló Turing-géppel eldönthető nyelvek. AL = ASPACE(log n) AP = ATIME(n k ) Világos, hogy NTIME(f(n)) ATIME(f(n)) és NSPACE(f(n)) ASPACE(f(n)). onyolultságelmélet 149 / 184
150 AL = P Tétel AL = P. Bizonyítás Láttuk, hogy a HÁLÓZAT-KIÉRTÉKELÉS probléma P-teljes. Valójában már a MONOTON-HÁLÓZAT-KIÉRTÉKELÉS is P-teljes, mert minden változómentes hálózat monotonná tehető. Mivel mindkét osztály zárt a visszavezetésre, AL = P teljesül, ha a MONOTON-HÁLÓZAT-KIÉRTÉKELÉS AL-teljes. Bonyolultságelmélet 150 / 184
151 P AL Tétel MONOTON-HÁLÓZAT-KIÉRTÉKELÉS AL. Bizonyítás Adott monoton hálózat kiértékelését kezdje az alternáló Turing-gép a kimeneti kapunál. Ha ez igaz vagy hamis, a kiértékelésnek vége. Ha ÉS-kapu, akkor a gép ÉS-állapotba, különben VAGY-állapotba lép, és nemdeterminisztikusan a két ős valamelyikénél folytatja a kiértékelést. Ha végül igaz kapuhoz ér,,,igen állapotba, különben,,nem állapotba megy át. Eközben mindig csak az aktuális kapu sorszámát kell tárolni. onyolultságelmélet 151 / 184
152 AL P Tétel A MONOTON-HÁLÓZAT-KIÉRTÉKELÉS probléma AL-nehéz. Bizonyítás Megmutatjuk, hogy tetszőleges L AL nyelv visszavezethető a MONOTON-HÁLÓZAT-KIÉRTÉKELÉS-re. Legyen N = (K,Σ,, s) olyan pontos, alternáló Turing-gép, mely log n tárral eldönti az L nyelvet. Feltehető, hogy minden nem elfogadó vagy elutasító konfigurációnak 2 leszármazottja van. A konfigurációs gráf adott x bemenet esetén körmentes. Minden C csúcsot helyettesítünk egy C kapuval. Ez ÉS kapu, ha az állapot KÉS -ben van, VAGY kapu, ha az állapot K VAGY -ban van, igaz kapu, ha az állapot,,igen, hamis kapu, ha az állapot,,nem. onyolultságelmélet 152 / 184
153 AL P Amennyiben C közvetlen leszármazottai C 1 és C 2, akkor a hálózatban C ősei C 1 és C 2. A kimeneti csúcs a kezdőkonfiguráció. Világos, hogy a hálózat értéke akkor és csakis akkor igaz, ha x L. Minden konfiguráció mérete O(log n). Így könnyen látható, hogy a hálózat elkészíthető logaritmikus tárral. Tétel Ha f(n) log n megengedett, akkor ASPACE(f(n)) = TIME(k f(n) ). onyolultságelmélet 153 / 184
154 A polinomiális tár QSAT Adott: x 1 x 2... Q m x m ϕ kvantifikált Boole-formula prenex normálalakban úgy, hogy a ϕ konjunktív normálalakú kvantormentes formula, melyben legfeljebb az x 1,..., x m változók fordulnak elő. Kérdés: Igaz-e az adott formula? Megjegyzés A kvantorok szigorú alternálása nem lényeges. Az sem lényeges, hogy az első kvantor. Bonyolultságelmélet 154 / 184
155 Állítás A QSAT probléma PSPACE-ben van. Bizonyítás Legyen adott a x 1 x 2...Q m x m ϕ formula. Ebből O(m) tárral elkészítünk egy olyan hálózatot, mely gráfja egy m mélységű, kiegyensúlyozott bináris fa. Páratlan szinten: VAGY kapu Páros szinten: ÉS kapu Levél: igaz vagy hamis attól függően, hogy a,,megfelelő kiértékelés mellett ϕ igaz vagy hamis. Egy rekurzív algoritmussal a mélységgel arányos, tehát O(m) tárral kiértékeljük a hálózatot. A visszavezetés tranzitivitásának bizonyításában megismert módszer szerint a két algoritmust összetehetjük O(m) tárkorlátos Turing-gépet kapunk. Bonyolultságelmélet 155 / 184
156 Megjegyzés A probléma akkor is PSPACE-ben van, ha ϕ tetszőleges kvantormentes Boole-formula. a kvantorok nem feltétlenül váltakoznak. ϕ-ben az x 1,...,x m változókon kívül egyéb változók is előfordulnak, és azt kérdezzük, kielégíthető-e az egész formula. a formula nem feltétlenül prenex alakú. azt kérdezzük, hogy a formula hamis-e. onyolultságelmélet 156 / 184
157 Tétel A QSAT probléma PSPACE-teljes. Bizonyítás Mivel PSPACE = copspace, a QSAT probléma akkor és csakis akkor PSPACE-teljes, ha QSAT-KOMPLEMENTER PSPACE-teljes. Ez utóbbi probléma akkor és csakis akkor PSPACE-teljes, ha a QSAT azon változata PSPACE-teljes, melyben az adott formula magja (a ϕ a x 1 x 2... Q m x m ϕ formulában) diszjunktív normálformában van. Legyen adott az L PSPACE nyelv, melyet eldönt az O(n k ) tárkorlátos M Turing-gép. Adott x, n hosszú bemeneten a konfigurációk száma O(2 nk ) valamely k-ra. Az egyszerűség kedvéért feltesszük, hogy a konfigurációk száma legfeljebb 2 nk és hogy pontosan egy elfogadó konfiguráció van. onyolultságelmélet 157 / 184
158 Minden konfigurációt kódoljunk egy n k hosszú bitsorozattal. Legyen ÚT(a, b, i) akkor és csakis akkor, ha a-ból elérhető a b legfeljebb 2 i hosszú úton. Megmutatjuk, hogyan lehet felírni olyan ψ i (A, B) formulát az A = {a 1,...,a n k}, B = {b 1,...,b n k} szabad változókkal, hogy ψ i akkor és csakis akkor igaz a változók valamely kiértékelése mellett, ha a változók értékei olyan a, b konfigurációkat kódolnak, hogy ÚT(a, b, i) teljesül. Így x L ψ n k(a, B) igaz, amikor A helyébe a kezdő konfigurációt, B helyébe az elfogadó konfigurációt kódoló kiértékelést helyettesítjük. A formulák logaritmikus tárral elkészíthetők lesznek. Bonyolultságelmélet 158 / 184
159 A konstrukció ψ 0 (A, B): azt fejezi ki, hogy minden i-re a i = b i vagy a B konfiguráció egy lépésben következik A-ból. MegadhatóO(n 2k ) hosszú kvantifikált formulával, aminek a magja diszjunktív normálalakú. ψ i+1 (A, B) : Z(ψ i (A, Z) ψ i (Z, B)). A formulák exponenciálisan hosszúak lesznek! ψ i+1 (A, B): Z X Y ( ((X = A Y = Z) (X = Z Y = B)) ψ i (X, Y) ). ψ i kvantorai előre hozhatóak. A mag diszjunktív normálformája ψ i magjának normálformája, plusz egy O(n 2k ) hosszú tag. onyolultságelmélet 159 / 184
160 Most egy összefüggést igazolunk az alternáló polinom idő és a polinomiális tár között. Már definiáltuk az AP = ATIME(n k ) osztályt. Tétel A QSAT probléma AP-teljes. Bizonyítás A QSAT AP bizonyításához: egy alternáló Turing-gép egymás után megsejti az x 1, x 2,... változók értékét, az egzisztenciálisan kvantifikált változókét K VAGY állapotban, az univerzálisan kvantifikált változókét KÉS állapotban. Végül ellenőrzi, hogy a megtalált kiértékelés kielégíti-e a formula magját. Időigény: polinomiális. onyolultságelmélet 160 / 184
161 Teljesség A Cook-tétel bizonyításának változata. A nemdeterminisztikus választásokhoz tartozó változókat lekötjük vagy kvantorral aszerint, hogy az állapot a K VAGY vagy KÉS halmazba esik-e. Feltehető, hogy csak alternálnak minden második azonosan kvantifikált. Következmény AP = PSPACE. Bizonyítás Mindkét osztály zárt a visszavezetésre és QSAT mindkettőben teljes. onyolultságelmélet 161 / 184
162 Kétszemélyes játékok A QSAT felfogható kétszemélyes játékként: Játékosok:, Lépések felváltva: x 1 értéke, x 2 értéke,... célja: kielégíteni a formula magját célja: hamissá tenni Bonyolultságelmélet 162 / 184
163 FÖLDRAJZI JÁTÉK Adott: G = (V, E) irányított gráf, 1 kezdőcsúcs. Kérdés: Az I. játékos nyer-e az alábbi játékban? Az I. játékos kezd az 1 csúcs megnevezésével. Minden lépésben minden játékosnak egy olyan csúcsot kell választani, amely még nem szerepelt, és amelybe vezet él az előzőleg megnevezett csúcsból. Egy játékos veszít, ha végül nem tud ilyen csúcsot megnevezni. onyolultságelmélet 163 / 184
164 Állítás A FÖLDRAJZI JÁTÉK probléma PSPACE-ben van. Bizonyítás A lépéssorozatok hossza a bemenet méretében polinomiális. Létezik olyan polinom tárigényű algoritmus, mely adott állásra megkonstruálja az állás rákövetkezőit, vagy ha ilyen nincs, eldönti, melyik játékos nyert. Minden ilyen kétszemélyes játék PSPACE-ben van: Polinom tárral elkészítjük az adott játék fáját. Mélységgel arányos tárral eldöntjük, kinek van nyerő stratégiája. A két algoritmus összetehető: polinom tárkorlát. Állítás A FÖLDRAJZI JÁTÉK probléma PSPACE-teljes. onyolultságelmélet 164 / 184
165 x y z u(y x) (y z) ( y u) ( x y) 1 x x y y z z u u onyolultságelmélet 165 / 184
166 Az első játékos dönti el az egzisztenciálisan, a második az univerzálisan kvantifikált változó értékét, mely a címkével ellentétes. A második játékos választ egy tagot. Az első játékos akkor és csak akkor nyer, ha a tag valamely literálja igaz (visszavezető él választható). Mivel ez minden tagra igaz, az első játékos nyer a formula igaz. onyolultságelmélet 166 / 184
167 HELYBEN ELFOGADÁS Adott: M determinisztikus Turing-gép és x bemenő szó. Kérdés: Elfogadja-e M az x-et úgy, hogy szava valamikor is hosszabb lenne, mint x + 1? Tétel A HELYBEN ELFOGADÁS probléma PSPACE-teljes. REGULÁRIS KIFEJEZÉSEK EKVIVALENCIÁJA Adott: Két reguláris kifejezés. Kérdés: Ugyanazt a nyelvet jelölik-e? Tétel A REGULÁRIS KIFEJEZÉSEK EKVIVALENCIÁJA probléma PSPACE-teljes. onyolultságelmélet 167 / 184
168 VÉGES AUTOMATÁK EKVIVALENCIÁJA Adott: M 1 és M 2 véges nemdeterminisztikus automaták. Kérdés: M 1 és M 2 ekvivalensek-e? Tétel A VÉGES AUTOMATÁK EKVIVALENCIÁJA probléma PSPACE-teljes. onyolultságelmélet 168 / 184
169 Túl a PSPACE osztályon Definíció EXP = TIME(2 nk ) NEXP = NTIME(2 nk ) Világos, hogy EXP NEXP és tudjuk, hogy PSPACE EXP. Nem ismert, hogy az EXP és NEXP osztályok megegyeznek-e. Tétel Ha P = NP, akkor EXP = NEXP. onyolultságelmélet 169 / 184
170 Gráfok tömör reprezentációja G = (V, E), V = {0, 1,..., 2 m 1} Megadható egy f( x, y), 2m-változós Boole-függvénnyel. Az f megadható egy 2m bemeneti kapuval rendelkező hálózattal. Hálózatok hasonló módszerrel megadhatók tömören. Tétel A TÖMÖR HAMILTON-ÚT és TÖMÖR HÁLÓZAT-KIELÉGÍTHETŐSÉG problémák NEXP-teljesek. Tétel A TÖMÖR HÁLÓZAT-KIÉRTÉKELÉS probléma EXP-teljes. onyolultságelmélet 170 / 184
171 Definíció EXPSPACE = SPACE(2 nk ) Világos, hogy NEXP EXPSPACE. Tétel Az alábbi probléma EXPSPACE-teljes: adott két reguláris kifejezés, melyekben négyzetreemelés is szerepelhet, ekvivalensek-e a kifejezések? Bonyolultságelmélet 171 / 184
172 R 2EXP EXPSPACE conexp NEXP EXP PSPACE conp NP P onyolultságelmélet 172 / 184
173 Randomizált számítások PÁROSÍTÁS Adott: G = (U, V, E) páros gráf, ahol U = {u 1,..., u n }, V = {v 1,..., v n }, E U V Kérdés: Létezik-e teljes párosítás, azaz olyan M E halmaz, hogy u i!v j (u i, v j ) M v j!u i (u i, v j ) M? Bonyolultságelmélet 173 / 184
174 Szimbolikus determináns Legyen A G az az n n-es mátrix, melynek (i, j)-dik eleme az x i,j változó, ha (u i, v j ) E, 0 különben. Állítás A det(a G ) szimbolikus determináns akkor és csakis akkor nem nulla, ha létezik teljes párosítás. Bizonyítás det(a G ) = σ(π) n A G i,π(i). π i=1 n π : 0 π teljes párosítás. A G i,π(i) i=1 π 1 π 2, 0 n A G i,π 1 (i) i=1 nem fordul elő n A G i,π 2 (i) -ben. i=1 tartalmaz olyan változót, mely Bonyolultságelmélet 174 / 184
175 Lemma Legyen π(x 1,..., x m ) adott m-változós, nem azonosan nulla, minden változójában legfeljebb d-ed fokú polinom, és legyen M > 0. Ekkor azon (x 1,...,x m ) {0, 1,..., M 1} m rendezett m-esek száma, melyekre π(x 1,..., x m ) = 0, legfeljebb mdm m 1. Bizonyítás m szerinti teljes indukcióval. m = 1: Legfeljebb d zérushely. m > 1: Legyen π(x 1,..., x m ) = p 0 (x 1,..., x m 1 )x r m + p 1 (x 1,...,x m 1 )x r 1 m +...+p r (x 1,...,x m 1 ). Tegyük fel, hogy (x 1,...,x m ) {0, 1,..., M 1} m, melyre π(x 1,..., x m ) = 0. (a) p 0 (x 1,...,x m 1 ) = 0 (m 1)dM m 2 M (b) p 0 (x 1,...,x m 1 ) 0 dm n 1 Összesen: mdm m 1. Bonyolultságelmélet 175 / 184
176 Következmény Az előző feltételek esetén, ha M = 2m és d = 1, akkor azon (x 1,..., x m ) {0, 1,..., M 1} m rendezett m-esek száma, melyekre π(x 1,...,x m ) = 0, legfeljebb Mm 2, azaz az összes m-esek fele. Randomizált algoritmus PÁROSÍTÁS-ra 1. Válasszunk véletlenszerűen i 1,..., i m egész számokat a {0, 1,..., 2m 1} halmazból, ahol m az élek száma. 2. Számítsuk ki Gauss eliminációval a det(a G (i 1,...,i m )) értéket. 3. Ha ez nem 0, akkor a válasz igen: létezik teljes párosítás. 4. Különben a válasz nem: G-ben (valószínűleg) nem létezik teljes párosítás. onyolultságelmélet 176 / 184
177 Megjegyzés Igen válasz sohasem téves. Nem válasz esetén a tévedés valószínűsége 1/2. Így k-szori megismétlés esetén nem válasz esetén a tévedés valószínűsége 1/2 k. Polinom időigény. onyolultságelmélet 177 / 184
178 A,,Fermat próba Tétel Tegyük fel, hogy p prímszám és 0 < a < p egész. Ekkor a p 1 1 mod p. Hipotézis Ha n > 1 nem prímszám, akkor a nemnulla a maradékok legalább felére igaz, hogy a n 1 1 mod n. Adódna egy randomizált polinomidejű algoritmus az problémára. ÖSSZETETT-SZÁM = PRÍMEK Bonyolultságelmélet 178 / 184
179 A,,Fermat próba Adott n > 2 esetén: 1. Válasszunk ki egy a 0 véletlen maradékot. 2. Ha a n 1 1 mod n, akkor n összetett szám. 3. Ellenkező esetben n valószínűleg prím. Téves (negatív) válasz valószínűsége 1/2, k-szori ismétlés után pedig legfeljebb 1/2 k. De a HIPOTÉZIS nem igaz... Bonyolultságelmélet 179 / 184
180 Legendre-szimbólum Definíció Legyen p páratlan prímszám, az a pedig p nemnulla maradéka. Ekkor az (a p) = a (p 1)/2 mod p kifejezést az a és p Legendre-szimbólumának nevezzük. Állítás (a p) {p 1, 1} ((a p) { 1, 1}) onyolultságelmélet 180 / 184
181 Legendre-szimbólum Definíció Legyenek M, N relatív prímek, N páratlan. Legyen N = q 1...q k, ahol minden q i prím. Ekkor k (M N) = (M q i ). Tétel Ha N páratlan összetett szám, akkor az N-nel relatív prím M < N számok legalább felére teljesül, hogy i=1 (M N) M (N 1)/2 mod N. onyolultságelmélet 181 / 184
182 Az algoritmus Adott N 1 páratlan egész. 1. Generáljunk 1 és N 1 között egy véletlen egész számot, legyen ez M. 2. Számoljuk ki (M, N) értékét. 3. Ha (M, N) > 1, akkor a válasz igen: N összetett szám. 4. Ellenkező esetben számítsuk ki (M N) és M (N 1)/2 mod N értékét, majd hasonlítsuk össze a két eredményt. Ha nem egyeznek meg, a válasz ismét igen: N összetett szám. Ellenkező esetben a válasz nem: N valószínűleg prím. Bonyolultságelmélet 182 / 184
183 Definíció Legyen L nyelv L-hez tartozó polinom idejű, Monte-Carlo típusú Turing-gép olyan pontos, nemdeterminisztikus, p(n) polinom idejű Turing-gép, melynek minden nem végső konfigurációjában pontosan két nemdeterminisztikus választása van, és amelyikre teljesül: x L esetén a számítási sorozatok legalább fele,,igen válasszal végződik. x / L esetén minden számítási sorozat,,nem válasszal végződik. Definíció RP: polinom idejű, Monte-Carlo típusú Turing-géppel eldönthető nyelvek. Bonyolultságelmélet 183 / 184
184 Állítás P RP NP. Következmény P corp conp. Definíció ZPP = RP corp. Polinom idejű, Las Vegas-algoritmussal (Turing-géppel) eldönthető nyelvek, ill. problémák. Ha egy ilyen algoritmust k-szor függetlenül végrehajtunk, annak valószínűsége, hogy nem kapunk végleges választ, legfeljebb 1/2 k. Bonyolultságelmélet 184 / 184
Bonyolultságelmélet. Monday 26 th September, 2016, 18:27. Bonyolultságelmélet
Monday 26 th September, 2016, 18:27 A kurzus teljesítési követelményei Gyakorlat Három kisdolgozat 6 6 pontért kb. a 4., 7. és 10. gyakorlaton Egy nagydolgozat 28 pontért utolsó héten előadáson Pontszám:
Bonyolultságelmélet. Thursday 1 st December, 2016, 22:21
Bonyolultságelmélet Thursday 1 st December, 2016, 22:21 Tárbonyolultság A futásidő mellett a felhasznált tárterület a másik fontos erőforrás. Ismét igaz, hogy egy Ram-program esetében ha csak a használt
Bonyolultságelmélet. Monday 26 th September, 2016, 18:28
Bonyolultságelmélet Monday 26 th September, 2016, 18:28 A kurzus teljesítési követelményei 2 Gyakorlat Három kisdolgozat 6 6 pontért kb. a 4., 7. és 10. gyakorlaton Egy nagydolgozat 28 pontért utolsó héten
Deníciók és tételek a beugró vizsgára
Deníciók és tételek a beugró vizsgára (a szóbeli viszgázás jogáért) Utolsó módosítás: 2008. december 2. 2 Bevezetés Számítási problémának nevezünk egy olyan, a matematika nyelvén megfogalmazott kérdést,
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.
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
Logika és számításelmélet. 12. előadás
Logika és számításelmélet 12. előadás NP lehetséges szerkezete NP-köztes nyelv L NP-köztes, ha L NP, L P és L nem NP-teljes. Ladner tétele Ha P NP, akkor létezik NP-köztes nyelv. (biz. nélkül) NP-köztes
Számításelmélet. Will június 13. A kiszámíthatóság fogalma és a Church-Turing tézis
Számításelmélet Will 2010. június 13. A kiszámíthatóság fogalma és a Church-Turing tézis. A Turing gép, mint algoritmus modell. A rekurzív és a rekurzívan felsorolható nyelvek. Algoritmikusan eldönthet
Számításelmélet. Második előadás
Számításelmélet Második előadás Többszalagos Turing-gép Turing-gép k (konstans) számú szalaggal A szalagok mindegyike rendelkezik egy független író / olvasó fejjel A bemenet az első szalagra kerül, a többi
Logika és számításelmélet
Logika és számításelmélet 12. előadás Irányítatlan/irányított Hamilton út/kör Hamilton út/kör Adott egy G = (V, E) irányítatlan / irányított gráf ( V = n). Egy P = v i1,..., v in felsorolása a csúcsoknak
Az informatika elméleti alapjai 2 elővizsga december 19.
Név (aláírás): Az informatika elméleti alapjai 2 elővizsga 2017. december 19. A vizsgadolgozat 1. feladatára helyes válaszonként 1-1 pont kapható, a 2-3. feladatok megoldásáért 6-6 pont, a 4. feladatra
Bonyolultságelmélet. Monday 26 th September, 2016, 18:50
Bonyolultságelmélet Monday 26 th September, 2016, 18:50 A kiszámítás modelljei 2 De milyen architektúrán polinom? A kiszámításnak számos (matematikai) modellje létezik: Általános rekurzív függvények λ-kalkulus
Logika és számításelmélet. 10. előadás
Logika és számításelmélet 10. előadás Rice tétel Rekurzíve felsorolható nyelvek tulajdonságai Tetszőleges P RE halmazt a rekurzívan felsorolható nyelvek egy tulajdonságának nevezzük. P triviális, ha P
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.
Algoritmuselmélet NP-teljes problémák Katona Gyula Y. Számítástudományi és Információelméleti Tanszék Budapesti Műszaki és Gazdaságtudományi Egyetem 13. előadás Katona Gyula Y. (BME SZIT) Algoritmuselmélet
Algoritmuselmélet 12. előadás
Algoritmuselmélet 12. előadás Katona Gyula Y. Budapesti Műszaki és Gazdaságtudományi Egyetem Számítástudományi Tsz. I. B. 137/b [email protected] 2002 Április 9. ALGORITMUSELMÉLET 12. ELŐADÁS 1 Turing-gépek
Turing-gépek. Számításelmélet (7. gyakorlat) Turing-gépek 2009/10 II. félév 1 / 1
Turing-gépek Logika és számításelmélet, 7. gyakorlat 2009/10 II. félév Számításelmélet (7. gyakorlat) Turing-gépek 2009/10 II. félév 1 / 1 A Turing-gép Az algoritmus fogalmának egy intuitív definíciója:
Algoritmusok bonyolultsága
Algoritmusok bonyolultsága 11. előadás http://www.ms.sapientia.ro/~kasa/komplex.htm () 1 / 1 NP-telesség Egy L nyelv NP-teles, ha L NP és minden L NP-re L L. Egy Π döntési feladat NP-teles, ha Π NP és
Bonyolultságelmélet feladatok
Bonyolultságelmélet feladatok Hajgató Tamás Iván Szabolcs Updated: November 26, 2009 1 Függvények nagyságrendje A következő definíciókat használjuk, ahol f, g két N N függvény (mindig fel fogjuk tenni,
Logika és számításelmélet. 11. előadás
Logika és számításelmélet 11. előadás NP-teljesség Emlékeztetőül: NP-teljes nyelv Egy L probléma NP-teljes (a polinom idejű visszavezetésre nézve), ha L NP L NP-nehéz, azaz minden L NP esetén L p L. Azaz
Algoritmuselmélet. Bonyolultságelmélet. Katona Gyula Y.
Algoritmuselmélet Bonyolultságelmé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. előadás Katona Gyula Y. (BME SZIT) Algoritmuselmélet
A digitális számítás elmélete
A digitális számítás elmélete 8. előadás ápr. 16. Turing gépek és nyelvtanok A nyelvosztályok áttekintése Turing gépek és a természetes számokon értelmezett függvények Áttekintés Dominó Bizonyítások: L
Turing-gép május 31. Turing-gép 1. 1
Turing-gép 2007. május 31. Turing-gép 1. 1 Témavázlat Turing-gép Determinisztikus, 1-szalagos Turing-gép A gép leírása, példák k-szalagos Turing-gép Univerzális Turing-gép Egyéb Turing-gépek Nemdeterminisztikus
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:
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: 1. Öt rövid kérdés megválaszolása egyenként 6 pontért, melyet minimum
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
Bevezetés a bonyolultságelméletbe gyakorlatok I. B. Az Ackermann függvény avagy nem minden olyan egyszerű, mint amilyennek látszik Legyen A(x, y) a következő, rekurzív módon definiált függvény: A(0, y)
NP-teljesség röviden
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
Logika és számításelmélet. 7. előadás
Logika és számításelmélet 7. előadás Elérhetőség, fóliasorok, ajánlott irodalom Előadó: Kolonits Gábor Elérhetőség: 2-708, [email protected] Előadások innen tölthetők le: www.cs.elte.hu/ tichlerk Ajánlott
Logika és számításelmélet. 7. előadás
Logika és számításelmélet 7. előadás Elérhetőség, fóliasorok, ajánlott irodalom Előadó: Tichler Krisztián Elérhetőség: 2-708, [email protected] Előadások itt lesznek: www.cs.elte.hu/ tichlerk Elérhetőség,
Függvények növekedési korlátainak jellemzése
17 Függvények növekedési korlátainak jellemzése A jellemzés jól bevált eszközei az Ω, O, Θ, o és ω jelölések. Mivel az igények általában nemnegatívak, ezért az alábbi meghatározásokban mindenütt feltesszük,
Algoritmusok Tervezése. 6. Előadás Algoritmusok 101 Dr. Bécsi Tamás
Algoritmusok Tervezése 6. Előadás Algoritmusok 101 Dr. Bécsi Tamás Mi az algoritmus? Lépések sorozata egy feladat elvégzéséhez (legáltalánosabban) Informálisan algoritmusnak nevezünk bármilyen jól definiált
1. Alapfogalmak Algoritmus Számítási probléma Specifikáció Algoritmusok futási ideje
1. Alapfogalmak 1.1. Algoritmus Az algoritmus olyan elemi műveletekből kompozíciós szabályok szerint felépített összetett művelet, amelyet megadott feltételt teljesítő bemeneti adatra végrehajtva, a megkívánt
Automaták mint elfogadók (akceptorok)
Automaták mint elfogadók (akceptorok) Ha egy iniciális Moore-automatában a kimenőjelek halmaza csupán kételemű: {elfogadom, nem fogadom el}, és az utolsó kimenőjel dönti el azt a kérdést, hogy elfogadható-e
ALGORITMUSOK ÉS BONYOLULTSÁGELMÉLET Matematika MSc hallgatók számára. 11. Előadá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
Algoritmuselmélet 18. előadás
Algoritmuselmélet 18. előadás Katona Gyula Y. Budapesti Műszaki és Gazdaságtudományi Egyetem Számítástudományi Tsz. I. B. 137/b [email protected] 2002 Május 7. ALGORITMUSELMÉLET 18. ELŐADÁS 1 Közelítő algoritmusok
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 (a Rónyai Ivanyos Szabó: Algoritmusok könyv mellé) Friedl Katalin BME SZIT [email protected] 2017. augusztus 16. A veremautomatáknál az, hogy
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:
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: 1. Öt kis kérdés megválaszolása egyenként 6 pontért, melyet minimum 12
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.
Algoritmuselmélet NP-teljes problémák Katona Gyula Y. Számítástudományi és Információelméleti Tanszék Budapesti Műszaki és Gazdaságtudományi Egyetem 12. előadás Katona Gyula Y. (BME SZIT) Algoritmuselmélet
Tesztkérdések az ALGORITMUSELMÉLET tárgyból, 2001/2002 2. félév
1. oldal, összesen: 6 Tesztkérdések az ALGORITMUSELMÉLET tárgyból, 2001/2002 2. félév NÉV:... 1. Legyenek,Q,M páronként diszjunkt halmazok; /= Ř, Q > 2, M = 3. Egyszalagos, determinisztikus Turing gépnek
A félév során előkerülő témakörök
A félév során előkerülő témakörök rekurzív algoritmusok rendező algoritmusok alapvető adattípusok, adatszerkezetek, és kapcsolódó algoritmusok dinamikus programozás mohó algoritmusok gráf algoritmusok
Államvizsga kérdések a matematikus szakon, 2001.
Államvizsga '01, 12. tétel: Algoritmusok bonyolultsága... 1 Államvizsga kérdések a matematikus szakon, 2001. 10. tétel : Algoritmusok bonyolultsága (Számítási modellek, véges automaták, Turinggépek, eldönthet
A Számítástudomány alapjai
Mechatronika, Optika és Gépészeti Informatika Tanszék A Számítástudomány alapjai Szemelvények az Elméleti Számítástudomány területéről Fogalmak: Számítástechnika Realizáció, technológia Elméleti számítástudomány
Nagyordó, Omega, Theta, Kisordó
A növekedés nagyságrendje, számosság Logika és számításelmélet, 6. gyakorlat 2009/10 II. félév Számításelmélet (6. gyakorlat) A növekedés nagyságrendje, számosság 2009/10 II. félév 1 / 1 Nagyordó, Omega,
Véges automaták, reguláris nyelvek
Véges automaták, reguláris nyelvek Kiegészítő anyag az lgoritmuselmélet tárgyhoz (a Rónyai Ivanyos Szabó: lgoritmusok könyv mellé) Friedl Katalin BME SZIT [email protected] 27. augusztus 3. véges automata
Algoritmusok bonyolultsága
Algoritmusok bonyolultsága 5. előadás http://www.ms.sapientia.ro/~kasa/komplex.htm 1 / 27 Gazdaságos faváz Kruskal-algoritmus Joseph Kruskal (1928 2010) Legyen V = {v 1, v 2,..., v n }, E = {e 1, e 2,...,
Nagyságrendek. Kiegészítő anyag az Algoritmuselmélet tárgyhoz. Friedl Katalin BME SZIT február 1.
Nagyságrendek Kiegészítő anyag az Algoritmuselmélet tárgyhoz (a Rónyai Ivanyos Szabó: Algoritmusok könyv mellé) Friedl Katalin BME SZIT [email protected] 018. február 1. Az O, Ω, Θ jelölések Az algoritmusok
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.
Számításelmélet Dr. Olajos Péter Miskolci Egyetem Alkalmazott Matematika Tanszék e mail: [email protected] 2011/12/I. Készült: Péter Gács and László Lovász: Complexity of Algorithms (Lecture Notes,
Modern irányzatok a bonyolultságelméletben: éles korlátok és dichotómia tételek
Modern irányzatok a bonyolultságelméletben: éles korlátok és dichotómia tételek Marx Dániel Paraméteres Algoritmusok és Bonyolultság Kutatócsoport Informatikai Kutatólaboratórium SZTAKI 05. június 5. Kombinatorikus
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.
Függvények határértéke és folytonossága Egy f: D R R függvényt korlátosnak nevezünk, ha a függvényértékek halmaza korlátos. Ha f(x) f(x 0 ) teljesül minden x D esetén, akkor x 0 -at a függvény maximumhelyének
Hadamard-mátrixok Előadó: Hajnal Péter február 23.
Szimmetrikus kombinatorikus struktúrák MSc hallgatók számára Hadamard-mátrixok Előadó: Hajnal Péter 2012. február 23. 1. Hadamard-mátrixok Ezen az előadáson látásra a blokkrendszerektől független kombinatorikus
Kriptográfia 0. A biztonság alapja. Számítás-komplexitási kérdések
Kriptográfia 0 Számítás-komplexitási kérdések A biztonság alapja Komplexitás elméleti modellek független, egyenletes eloszlású véletlen változó értéke számítással nem hozható kapcsolatba más információval
Algoritmuselmélet 7. előadás
Algoritmuselmélet 7. előadás Katona Gyula Y. Budapesti Műszaki és Gazdaságtudományi Egyetem Számítástudományi Tsz. I. B. 137/b [email protected] 2002 Március 11. ALGORITMUSELMÉLET 7. ELŐADÁS 1 Múltkori
Predikátumkalkulus. 1. Bevezet. 2. Predikátumkalkulus, formalizálás. Predikátumkalkulus alapfogalmai, formalizálás, tagadás, logikailag igaz formulák.
Predikátumkalkulus Predikátumkalkulus alapfogalmai, formalizálás, tagadás, logikailag igaz formulák. 1. Bevezet Nézzük meg a következ két kijelentést: Minden almához tartozik egy fa, amir l leesett. Bármely
Diszkrét matematika 2. estis képzés
Diszkrét matematika 2. estis képzés 2018. tavasz 1. Diszkrét matematika 2. estis képzés 7. előadás Nagy Gábor [email protected] [email protected] compalg.inf.elte.hu/ nagy Komputeralgebra Tanszék
Formális nyelvek - 9.
Formális nyelvek - 9. Csuhaj Varjú Erzsébet Algoritmusok és Alkalmazásaik Tanszék Informatikai Kar Eötvös Loránd Tudományegyetem H-1117 Budapest Pázmány Péter sétány 1/c E-mail: [email protected] 1 Véges
Alap fatranszformátorok II
Alap fatranszformátorok II Vágvölgyi Sándor Fülöp Zoltán és Vágvölgyi Sándor [2, 3] közös eredményeit ismertetjük. Fogalmak, jelölések A Σ feletti alaptermek TA = (T Σ, Σ) Σ algebráját tekintjük. Minden
Kiegészítő részelőadás 1. Az algoritmusok hatékonyságának mérése
Kiegészítő részelőadás 1. Az algoritmusok hatékonyságának mérése Dr. Kallós Gábor 2014 2015 1 Az Ordó jelölés Azt mondjuk, hogy az f(n) függvény eleme az Ordó(g(n)) halmaznak, ha van olyan c konstans (c
Diszkrét matematika II., 8. előadás. Vektorterek
1 Diszkrét matematika II., 8. előadás Vektorterek Dr. Takách Géza NyME FMK Informatikai Intézet [email protected] http://inf.nyme.hu/ takach/ 2007.??? Vektorterek Legyen T egy test (pl. R, Q, F p ). Definíció.
Diszkrét matematika 2.C szakirány
Diszkrét matematika 2.C szakirány 2015. ősz 1. Diszkrét matematika 2.C szakirány 3. előadás Nagy Gábor [email protected] [email protected] compalg.inf.elte.hu/ nagy Komputeralgebra Tanszék 2015.
f(x) vagy f(x) a (x x 0 )-t használjuk. lim melyekre Mivel itt ɛ > 0 tetszőlegesen kicsi, így a a = 0, a = a, ami ellentmondás, bizonyítva
6. FÜGGVÉNYEK HATÁRÉRTÉKE ÉS FOLYTONOSSÁGA 6.1 Függvény határértéke Egy D R halmaz torlódási pontjainak halmazát D -vel fogjuk jelölni. Definíció. Legyen f : D R R és legyen x 0 D (a D halmaz torlódási
Felismerhető nyelvek zártsági tulajdonságai II... slide #30. Véges nemdeterminisztikus automata... slide #21
A számítástudomány alapjai Ésik Zoltán SZTE, Számítástudomány Alapjai Tanszék Bevezetes Bevezetés.................................................... slide #2 Automaták és formális nyelvek Szavak és nyelvek...............................................
Bonyolultságelmélet. Monday 10 th October, 2016, 17:44
Monday 10 th October, 2016, 17:44 NP-teljes gráfelméleti problémák Tétel A Hamilton-Út probléma NP-teljes. NP-teljes gráfelméleti problémák Tétel A Hamilton-Út probléma NP-teljes. Ötlet,,Értékválasztó
A továbbiakban Y = {0, 1}, azaz minden szóhoz egy bináris sorozatot rendelünk
1. Kódelmélet Legyen X = {x 1,..., x n } egy véges, nemüres halmaz. X-et ábécének, elemeit betűknek hívjuk. Az X elemeiből képzett v = y 1... y m sorozatokat X feletti szavaknak nevezzük; egy szó hosszán
Specifikáció. B logikai formula, a bemeneti feltétel, K logikai formula, a kimeneti feltétel, A az algoritmus, amelyre az állítás vonatkozik.
Algoritmus Az algoritmus olyan elemi műveletekből kompozíciós szabályok szerint felépített összetett művelet, amelyet megadott feltételt teljesítő bemeneti adatra végrehajtva, a megkívánt kimeneti adatot
Logika és informatikai alkalmazásai
Logika és informatikai alkalmazásai 2. gyakorlat Németh L. Zoltán http://www.inf.u-szeged.hu/~zlnemeth SZTE, Informatikai Tanszékcsoport 2011 tavasz Irodalom Szükséges elmélet a mai gyakorlathoz Előadás
Diszkrét matematika 2. estis képzés
Diszkrét matematika 2. estis képzés 2018. tavasz 1. Diszkrét matematika 2. estis képzés 10. előadás Nagy Gábor [email protected] [email protected] compalg.inf.elte.hu/ nagy Komputeralgebra Tanszék
Logika és informatikai alkalmazásai kiskérdések február Mikor mondjuk, hogy az F formula a G-nek részformulája?
,,Alap kiskérdések Logika és informatikai alkalmazásai kiskérdések 2012. február 19. 1. Hogy hívjuk a 0 aritású függvényjeleket? 2. Definiálja a termek halmazát. 3. Definiálja a formulák halmazát. 4. Definiálja,
Mindent olyan egyszerűvé kell tenni, amennyire csak lehet, de nem egyszerűbbé.
HA 1 Mindent olyan egyszerűvé kell tenni, amennyire csak lehet, de nem egyszerűbbé. (Albert Einstein) HA 2 Halmazok HA 3 Megjegyzések A halmaz, az elem és az eleme fogalmakat nem definiáljuk, hanem alapfogalmaknak
ÍTÉLETKALKULUS (NULLADRENDŰ LOGIKA)
ÍTÉLETKALKULUS SZINTAXIS ÍTÉLETKALKULUS (NULLADRENDŰ LOGIKA) jelkészlet elválasztó jelek: ( ) logikai műveleti jelek: ítéletváltozók (logikai változók): p, q, r,... ítéletkonstansok: T, F szintaxis szabályai
2014. szeptember 24. és 26. Dr. Vincze Szilvia
2014. szeptember 24. és 26. Dr. Vincze Szilvia Mind a hétköznapi, mind a tudományos életben gyakran előfordul, hogy bizonyos halmazok elemei között kapcsolat figyelhető meg. A kapcsolat fogalmának matematikai
Diszkrét matematika 1. estis képzés
Diszkrét matematika 1. estis képzés 2019. tavasz 1. Diszkrét matematika 1. estis képzés 9. előadás Nagy Gábor [email protected] [email protected] compalg.inf.elte.hu/ nagy Mérai László diái alapján
Diszkrét matematika 2.C szakirány
Diszkrét matematika 2.C szakirány 2015. tavasz 1. Diszkrét matematika 2.C szakirány 1. előadás Nagy Gábor [email protected] [email protected] Komputeralgebra Tanszék 2015. tavasz Gráfelmélet Diszkrét
VEKTORTEREK I. VEKTORTÉR, ALTÉR, GENERÁTORRENDSZER október 15. Irodalom. További ajánlott feladatok
VEKTORTEREK I. VEKTORTÉR, ALTÉR, GENERÁTORRENDSZER 2004. október 15. Irodalom A fogalmakat, definíciókat illetően két forrásra támaszkodhatnak: ezek egyrészt elhangzanak az előadáson, másrészt megtalálják
Nagy Gábor compalg.inf.elte.hu/ nagy ősz
Diszkrét matematika 3. estis képzés 2016. ősz 1. Diszkrét matematika 3. estis képzés 4. előadás Nagy Gábor [email protected] [email protected] compalg.inf.elte.hu/ nagy Komputeralgebra Tanszék
Predikátumkalkulus. Predikátumkalkulus alapfogalmai, formalizálás, tagadás, logikailag igaz formulák. Vizsgáljuk meg a következ két kijelentést.
Predikátumkalkulus Predikátumkalkulus alapfogalmai, formalizálás, tagadás, logikailag igaz formulák. 1. Bevezet Vizsgáljuk meg a következ két kijelentést. Minden almához tartozik egy fa, amir l leesett.
Logika és informatikai alkalmazásai
Logika és informatikai alkalmazásai 2. gyakorlat Németh L. Zoltán http://www.inf.u-szeged.hu/~zlnemeth SZTE, Informatikai Tanszékcsoport 2008 tavasz Irodalom Szükséges elmélet a mai gyakorlathoz Előadás
A számítógépes nyelvészet elmélete és gyakorlata. Automaták
A számítógépes nyelvészet elmélete és gyakorlata Automaták Nyelvek és automaták A nyelvek automatákkal is jellemezhetőek Automaták hierarchiája Chomsky-féle hierarchia Automata: új eszköz a nyelvek komplexitásának
Diszkrét matematika 2.C szakirány
Diszkrét matematika 2.C szakirány 2017. tavasz 1. Diszkrét matematika 2.C szakirány 11. előadás Nagy Gábor [email protected] [email protected] compalg.inf.elte.hu/ nagy Komputeralgebra Tanszék
17. előadás: Vektorok a térben
17. előadás: Vektorok a térben Szabó Szilárd A vektor fogalma A mai előadásban n 1 tetszőleges egész szám lehet, de az egyszerűség kedvéért a képletek az n = 2 esetben szerepelnek. Vektorok: rendezett
1: Bevezetés: Internet, rétegmodell Alapok: aszimptótika, gráfok. HálózatokII, 2007
Hálózatok II 2007 1: Bevezetés: Internet, rétegmodell Alapok: aszimptótika, gráfok 1 Az előadáshoz Előadás: Szerda 17:00 18:30 Gyakorlat: nincs Vizsga írásbeli Honlap: http://people.inf.elte.hu/lukovszki/courses/g/07nwii
Matematika alapjai; Feladatok
Matematika alapjai; Feladatok 1. Hét 1. Tekintsük a,, \ műveleteket. Melyek lesznek a.) kommutativok b.) asszociativak c.) disztributívak-e a, műveletek? Melyik melyikre? 2. Fejezzük ki a műveletet a \
Funkcionálanalízis. n=1. n=1. x n y n. n=1
Funkcionálanalízis 2011/12 tavaszi félév - 2. előadás 1.4. Lényeges alap-terek, példák Sorozat terek (Folytatás.) C: konvergens sorozatok tere. A tér pontjai sorozatok: x = (x n ). Ezen belül C 0 a nullsorozatok
Specifikáció. B logikai formula, a bemeneti feltétel, K logikai formula, a kimeneti feltétel, A az algoritmus, amelyre az állítás vonatkozik.
Algoritmus Az algoritmus olyan elemi műveletekből kompozíciós szabályok szerint felépített összetett művelet, amelyet megadott feltételt teljesítő bemeneti adatra végrehajtva, a megkívánt kimeneti adatot
Mindent olyan egyszerűvé kell tenni, amennyire csak lehet, de nem egyszerűbbé. (Albert Einstein) Halmazok 1
Halmazok 1 Mindent olyan egyszerűvé kell tenni, amennyire csak lehet, de nem egyszerűbbé. (Albert Einstein) Halmazok 2 A fejezet legfontosabb elemei Halmaz megadási módjai Halmazok közti műveletek (metszet,
Logika es sz am ıt aselm elet I. r esz Logika 1/36
1/36 Logika és számításelmélet I. rész Logika 2/36 Elérhetőségek Tejfel Máté Déli épület, 2.606 [email protected] http://matej.web.elte.hu Tankönyv 3/36 Tartalom 4/36 Bevezető fogalmak Ítéletlogika Ítéletlogika
Logika es sz am ıt aselm elet I. r esz Logika Negyedik el oad as 1/26
1/26 Logika és számításelmélet I. rész Logika Negyedik előadás Tartalom 2/26 Az elsőrendű logika szemantikája Formulák és formulahalmazok szemantikus tulajdonságai Elsőrendű logikai nyelv interpretációja
Rendezések. A rendezési probléma: Bemenet: Kimenet: n számot tartalmazó (a 1,a 2,,a n ) sorozat
9. Előadás Rendezések A rendezési probléma: Bemenet: n számot tartalmazó (a 1,a 2,,a n ) sorozat Kimenet: a bemenő sorozat olyan (a 1, a 2,,a n ) permutációja, hogy a 1 a 2 a n 2 Rendezések Általánosabban:
Bevezetés az algebrába 2
B U D A P E S T I M Ű S Z A K I M A T E M A T I K A É S G A Z D A S Á G T U D O M Á N Y I I N T É Z E T E G Y E T E M Bevezetés az algebrába 2 BMETE91AM37 Mátrixfüggvények H607 2018-05-02 Wettl Ferenc
Algoritmuselmélet. Mélységi keresés és alkalmazásai. Katona Gyula Y.
Algoritmuselmélet Mélységi keresés és alkalmazásai Katona Gyula Y. Számítástudományi és Információelméleti Tanszék Budapesti Műszaki és Gazdaságtudományi Egyetem 9. előadás Katona Gyula Y. (BME SZIT) Algoritmuselmélet
Nagy Gábor compalg.inf.elte.hu/ nagy
Diszkrét matematika 3. estis képzés 2016. ősz 1. Diszkrét matematika 3. estis képzés 3. előadás Nagy Gábor [email protected] [email protected] compalg.inf.elte.hu/ nagy Komputeralgebra Tanszék
Markov-láncok stacionárius eloszlása
Markov-láncok stacionárius eloszlása Adatbányászat és Keresés Csoport, MTA SZTAKI dms.sztaki.hu Kiss Tamás 2013. április 11. Tartalom Markov láncok definíciója, jellemzése Visszatérési idők Stacionárius
KOVÁCS BÉLA, MATEMATIKA I.
KOVÁCS BÉLA, MATEmATIkA I. 4 IV. FÜGGVÉNYEk 1. LEkÉPEZÉSEk, függvények Definíció Legyen és két halmaz. Egy függvény -ből -ba egy olyan szabály, amely minden elemhez pontosan egy elemet rendel hozzá. Az
Automaták és formális nyelvek
Automaták és formális nyelvek Bevezetés a számítástudomány alapjaiba 1. Formális nyelvek 2006.11.13. 1 Automaták és formális nyelvek - bevezetés Automaták elmélete: információs gépek általános absztrakt
22. GRÁFOK ÁBRÁZOLÁSA
22. GRÁFOK ÁBRÁZOLÁSA A megoldandó feladatok, problémák modellezése során sokszor gráfokat alkalmazunk. A gráf fogalmát a matematikából ismertnek vehetjük. A modellezés során a gráfok több változata is
Diszkrét matematika 2.
Diszkrét matematika 2. 2018. november 23. 1. Diszkrét matematika 2. 9. előadás Fancsali Szabolcs Levente [email protected] www.cs.elte.hu/ nudniq Komputeralgebra Tanszék 2018. november 23. Diszkrét matematika
Az R halmazt a valós számok halmazának nevezzük, ha teljesíti az alábbi 3 axiómacsoport axiómáit.
2. A VALÓS SZÁMOK 2.1 A valós számok aximómarendszere Az R halmazt a valós számok halmazának nevezzük, ha teljesíti az alábbi 3 axiómacsoport axiómáit. 1.Testaxiómák R-ben két művelet van értelmezve, az
ALGORITMUSOK ÉS BONYOLULTSÁGELMÉLET Matematika MSc hallgatók számára. 1. Előadás
ALGORITMUSOK ÉS BONYOLULTSÁGELMÉLET Matematika MSc hallgatók számára 1. Előadás Előadó: Hajnal Péter Jegyzetelő: Hajnal Péter 2011. február 1. Az algoritmus naív fogalma Az algoritmus egy eljárás, ami
Formális nyelvek és automaták vizsgához statisztikailag igazolt várható vizsgakérdések
1. Feladat Az első feladatban szereplő - kérdések 1 Minden környezet független nyelv felismerhető veremautomatával. Minden környezet független nyelv felismerhető 1 veremmel. Minden 3. típusú nyelv felismerhető
Algoritmuselmélet gyakorlat (MMN111G)
Algoritmuselmélet gyakorlat (MMN111G) 2014. január 14. 1. Gyakorlat 1.1. Feladat. Adott K testre rendre K[x] és K(x) jelöli a K feletti polinomok és racionális törtfüggvények halmazát. Mutassuk meg, hogy
