Absztrakt problmk Q I S az absztrakt problma
Absztrakt problémák Q I S, az absztrakt probléma kétváltozós reláció az esetek (I) és a megoldások (S) halmazán Példa: legrövidebb út Eset: gráf és két pontja Megoldás: csúcsok sorozata. (üres, ha nincs út) (egy esethez több megoldás is tartozhat) Döntési probléma: a megoldás “igen” vagy “nem” (1 vagy 0) Példa: van-e k-nál rövidebb út a két pont között Optimalizálási problémák -> Döntési problémák (optimum<t? igen, nem) (ha a döntési probléma nehéz, akkor az optimum probléma is az) 2021. 09. 14. ADAT-13 1
Absztrakt problémák Kódolás: Az S absztrakt objektumhalmaz ködolása egy e leképezés a bináris sorozatokba. Pl: ASCII kód betűkre, összetett objektum esetén az összetevők kódkombinációja Konkrét probléma: esetei a bináris sorozatok Absztrakt probléma – kódolás – konkrét probléma Q(i) {0; 1} e: I {0; 1}* e(i) esetre is Q(i) a megoldás e(Q) 2021. 09. 14. ADAT-13 2
Absztrakt problémák Algoritmus konkrét problémát O(T(n)) idő alatt megold: bármely n hosszú i esetre a megoldás O(T(n)) lépést igényel. Polinom időben megoldható a probléma: Létezik algoritmus, ami O(nk) alatt megoldja valamely k-ra P bonyolultsági osztály: a polinom időben megoldható konkrét problémák halmaza 2021. 09. 14. ADAT-13 3
Absztrakt problémák Terjesszük ki a polinomiális idejűek definícióját az absztrakt problémákra kódolás felhasználásával. (ne legyen függés a konkrét kódolástól) Az f: {0, 1}* függvény polinom időben kiszámítható, ha létezik olyan A polinomiális algoritmus, amely minden x {0, 1}* bemenetre f(x)-et adja eredményül. Az e 1 és e 2 kódolások polinomiálisan kapcsoltak, ha létezik olyan f 12 és f 21 polinom időben kiszámítható függvény, hogy minden i I esetén f 12(e 1(i))=e 2(i) és f 21(e 2(i))=e 1(i). Lemma: Legyen Q absztrakt döntési probléma az I esethalmazzal és legyenek e 1, e 2 I-nek polinomiálisan kapcsolt kódolásai. Ekkor: e 1(Q) P e 2(Q) P 2021. 09. 14. ADAT-13 4
Formális nyelvi megközelítés Ábécé: véges szimbólumhalmaz Szavak: ábécé elemeiből képzett véges sorozatok. (üres szó jele ( )) Nyelv: szimbólumaiból készített szavak halmaza (Üres nyelv jele( )) * az összes lehetséges szó halmaza beleértve az üres szót is. Műveletek a nyelveken: unió, metszet, komplemens ( *-L), konkatenáció (két nyelv szavait egymás után írjuk) Nyelv lezártja (Kleene csillag) L*={ } L L 2 L 3… A Q döntési probléma esethalmaza lehet * , ahol ={0, 1}. Ekkor Q tekinthető, mint egy L nyelv felett, ahol L={x * : Q(x)=1} Az A algoritmus elfogadja az x {0, 1}* szót, ha A(x)=1 és elutasítja, ha A(x)=0. A elfogadja az L nyelvet, ha minden szavát elfogadja A eldönti az L nyelvet, ha x L esetén A(x)=1 és x L esetén A(x)=0 2021. 09. 14. ADAT-13 5
Formális nyelvi megközelítés A polinom időben elfogadja az L-et, ha minden n hosszú szavát a nyelvnek O(nk) időben elfogad valamely k-ra. A polinom időben eldönti az L-et, ha minden n hosszú szavát a nyelvnek O(nk) időben elfogad, vagy elutasít valamely k-ra. Az L nyelv polinom időben elfogadható vagy elutasítható, ha létezik algoritmus, amely polinom időben elfogadja vagy elutasítja. Tétel: P={L: L polinom időben elfogadható} 2021. 09. 14. ADAT-13 6
Polinomiális ellenőrzés Az ellenőrző algoritmusnak két bemenete van: az x eset és az y tanú. Az ellenörző algoritmus bizonyítja az x szót, ha létezik y tanú, hogy A(x, y)=1 Az ellenörző algoritmus bizonyítja az L nyelvet, ha annak mind szavát bizonyítja, és amit bizonyít, az a nyelvnek szava. L={x {0; 1}*: y {0; 1}*, A(x, y)=1} 2021. 09. 14. ADAT-13 7
NP bonyolultsági osztály: nyelvosztály, mely polinomiális algoritmussal bizonyítható L NP-hez tartozik, ha létezik olyan kétbemenetű polinomiális algoritmus és c konstans, hogy minden x szavához létezik y tanú, hogy y hossza O( x c) és A(x, y)=1 P NP fennáll P=NP ? Fennáll-e? co-NP azon nyelvek halmaza, melyekre fennáll, hogy L komplementere NP-hez tartozik. L NP C(L) NP ? ? ? Nem világos? P ( NP co-NP) fennáll. Az egyenlőség nem ismert. 2021. 09. 14. ADAT-13 8
Lehetséges relációk NP=co-NP P=NP=co-NP P=NP co-NP NP P 2021. 09. 14. ADAT-13 9
Karp redukció és NP teljes problémák Az L 1 nyelv polinomiálisan visszavezethető L 2 -re (L 1 p L 2) Ha létezik f: {0; 1}* x{0; 1}* polinomiális időben kiszámítható fóggvény amelyre minden x {0; 1}* esetén x L 1 f(x) L 2 Lemma: Ha L 1 , L 2 {0; 1}* , L 1 p L 2 és L 2 P, akkor L 1 P NPC (NP teljes nyelv): L {0; 1}* 1. L NP, 2. Minden L’ NP-re L’ p L Tétel: Ha létezik polinomiális időben megoldható NP teljes probléma, akkor P=NP. 2021. 09. 14. ADAT-13 10
NP teljes problémákra példák Klikk probléma Minimális lefedő csúcshalmaz Részletösszeg probléma Hamilton kör Utazó ügynök SAT (Cook-Levin tétel, 1971) 2021. 09. 14. ADAT-13 11
- Slides: 11