• Nem Talált Eredményt

Az NP nyelvoszt´ aly

In document Nyelvek ´e sautomat ´a k (Pldal 138-141)

9. Turing-g´ epek 89

11.3. Az NP nyelvoszt´ aly

Az eddig vizsg´alt nyelvoszt´alyok k¨oz¨ul k¨ul¨on¨osen ´erdekes az NP nyelvoszt´aly. Ez az osz-t´aly az algoritmikus kisz´am´ıthat´os´ag gyorsas´ag´aval kapcsolatos alapvet˝o k´erd´esek vizsg´ a-lat´aban j´atszik jelent˝os szerepet. A fejezet h´atralev˝o r´esz´eben el˝osz¨or azzal foglalkozunk, hogy milyen (az eredeti defin´ıci´ot´ol l´atsz´olag k¨ul¨onb¨oz˝o) alternat´ıv jellemz´es´et adhatjuk ennek az oszt´alynak, majd az NP ´es P oszt´alyok kapcsolat´at t´argyaljuk.

A k¨ovetkez˝o t´etel lehet˝ov´e teszi, hogy ne kelljen Turing-g´epekben gondolkodni, amikor az NP nyelvoszt´alyba tartoz´asr´ol van sz´o. Emiatt t¨obb helyen a most megismerend˝o jellemz´est tekintik az NP nyelvoszt´aly defin´ıci´oj´anak, p´eld´aul olyankor, ha a Turing-g´epek megker¨ul´es´evel akarunk err˝ol a fontos nyelvoszt´alyr´ol besz´elni. Egy ilyen lehets´eges bevezet´es´ert l´asd pl. [2]-et.

11.23. T´etel (Tan´u t´etel) L∈NPakkor ´es csak akkor teljes¨ul, ha tal´alhat´o egy olyan c > 0 konstans ´es egy L1 sz´op´arokb´ol ´all´o nyelv, melyre L1 ∈P ´es

L={x:∃ y

tan´u

,|y| ≤ |x|c,(x, y)∈L1}

Miel˝ott nekil´atn´ank a t´etel bizony´ıt´as´anak, n´ezz¨uk meg, hogy pontosan miben is ´all ez az alternat´ıv jellemz´es. A jobb oldalon ´all´oL1 nyelv sz´op´arokb´ol ´all ´es polinom id˝oben felismerhet˝o. Ez azt jelenti, hogy polinom id˝oben el tudjuk d¨onteni k´et sz´or´ol, hogy ˝ok j´o p´art alkotnak-e (az ´altaluk alkotott p´ar benne van-eL1-ben). Ezt a k´erd´est olyan p´arokat vizsg´alva fogjuk majd feltenni, ahol a p´ar els˝o tagj´ar´ol, x-r˝ol el akarjuk d¨onteni, hogy L-beli-e. A tan´u t´etel azt mondja, hogy ha azLnyelv NP-beli, akkor tudunk olyanL1-et tal´alni, hogy egy x pontosan akkor van L-ben, ha van neki nem t´ul hossz´u (|y| ≤ |x|c), j´o p´arja, azaz van hozz´a olyan y, amivel egy¨utt az (x, y) p´ar L1-ben van. Ezt a j´o p´art szok´as x tan´uj´anak is nevezni, hiszen a l´etez´ese tan´us´ıtja, hogy x∈L.

R¨oviden teh´at azt mondja a tan´u t´etel, hogyLpontosan akkor NP-beli, azaz polinom-id˝oben felismerhet˝o egy nemdeterminisztikus Turing-g´eppel, ha van olyan polinomid˝oben eld¨onthet˝o, sz´op´arokb´ol ´all´o L1 nyelv, melynek a seg´ıts´eg´evel egy x sz´or´ol eld¨onthet˝o, hogy L-beli-e: ha l´etezik hozz´a r¨ovid tan´u, akkor L-beli, k¨ul¨onben pedig nincs L-ben.

Ha nem akarunk Turing-g´epeket bevezetni, akkor a Church–Turing-t´ezis ´ertelm´eben azL1 ∈P felt´etelt helyettes´ıthetj¨uk azzal, hogy polinomidej˝u algoritmussalL1 eld¨ onthe-t˝o, ´ıgy el˝o´all´ıtv´an egy olyan jellemz´es´et az NP nyelvoszt´alynak melyben Turing-g´epekr˝ol sz´o sem esik.

Most l´assuk a t´etel bizony´ıt´as´at.

Bizony´ıt´as. A bizony´ıt´as l´enyege, hogyxpontosan akkor vanL-ben, ha azL-et felismer˝o nemdeterminisztikus Turing-g´epnek van x-et elfogad´o sz´am´ıt´asi ´aga. Ebben az esetben tekinthetj¨uk ezt a sz´am´ıt´asi ´agatxtan´uj´anak. Kiss´e pontosabban a k¨ovetkez˝o mondhat´o:

⇒ ir´anyban: Ha L∈NP, akkor van olyanM nemdeterminisztikus Turing-g´ep, amely

´

eppen L-et ismeri fel, azaz pontosan akkor van legal´abb egy elfogad´o sz´am´ıt´asi ´aga M-nek azxinput eset´en, haxbenne vanL-ben. A sz´am´ıt´asi ´ag l´enyeg´eben annak a le´ır´asa, hogy egy adott helyzetb˝ol melyik lehets´eges tov´abbl´ep´est v´alasztva jut v´eg¨ul elfogad´o ´allapotba a nemdeterminisztikus g´ep. Az M g´ep le´ır´as´ab´ol kisz´amolhat´o egy fels˝o korl´at arra, hogy egy adott helyzetb˝ol h´anyf´ele lehets´eges tov´abbl´ep´es van (h´any lehets´eges k¨ovetkez˝o ´allapot van, h´any szalagon h´anyf´ele ´uj szalagjel ´ır´asa t¨ort´enhet meg illetve h´any szalagon h´anyf´ele ir´anyba mozoghat a fej). Jel¨olj¨uk ezt a konstanst d-vel. Ha valamilyen sorrendet defini´alunk a lehets´eges tov´abbl´ep´esek k¨oz¨ott (pl. el˝osz¨or j¨onnek azok a tov´abbl´ep´esek, amikn´el a g´ep az els˝o ´allapotba ker¨ul, ezen bel¨ul el˝osz¨or azok, amelyekn´el az els˝o szalagon az els˝o szalagjelet ´ırjuk, ezeken bel¨ul azok amikn´el az els˝o szalagon a fej az ´ır´as ut´an balra mozog, stb.), akkor minden egyes csom´opontban el´eg megadnunk egy legfeljebbdnagys´ag´u eg´esz sz´amot, hogy tudjuk, melyik tov´abbl´ep´est v´alasztotta a g´ep. ´Igy egy tetsz˝oleges x-hez tartoz´o sz´am´ıt´asi ´ut ´at´ırhat´o egy legfeljebb TM(|x|) hossz´u, sz´amsorozatt´a, amiben minden tag 1 ´es d k¨ozti eg´esz sz´am. Mivel az M g´ep O(nk) id˝okorl´atos, ez´ert egy sz´am´ıt´asi ´ut megad´asa legfeljebb logd·c1· |x|k ≤ |x|chossz´u, alkalmasan nagy ckonstanst v´alasztva.

Legyen teh´at azytan´u egy elfogad´o sz´am´ıt´asi ´ut le´ır´asa ´esL1 legyen az olyan (x, y) p´arok halmaza, aholyegy, azxbemenethez tartoz´o elfogad´o sz´am´ıt´asi ´ut le´ır´asa.L1 eld¨ont´ese lehets´eges polinomid˝oben, hiszen azM g´ep ´es a lehets´eges tov´abbl´ep´esek rendez´es´ere adott szab´aly ismeret´eben egyszer˝uen csak el kell d¨onteni, hogy y egy lehets´eges sz´am´ıt´asi utat ´ır-e le, ´es ha igen, akkor ennek az ´utnak a v´eg´enM val´oban elfogad-e.

Az is vil´agos, hogy x-hez pontosan akkor tudunk j´o p´art, j´o tan´ut tal´alni, ha van elfogad´o sz´am´ıt´asi ´ut, azaz amikor x∈L.

⇐ ir´anyban: Most egy olyanM0 nemdeterminisztikus Turing-g´epet kellL-hez mutat-nunk, amely polinom id˝oig´eny˝u.

Mivel x ∈ L pontosan akkor teljes¨ul, ha van hozz´a legfeljebb |x|c hossz´u y, ami-vel (x, y) ∈ L1 ´es az L1-be tartoz´as k¨onnyen ellen˝orizhet˝o, ez´ert egy j´o strat´egia x∈Leld¨ont´es´ere a k¨ovetkez˝o: az ¨osszes potenci´alis (legfeljebb|x|chossz´u) tan´uval

¨osszep´aros´ıtjuk x-et ´es mindegyik p´arr´ol megk´erdezz¨uk azL1 nyelvet polinomid˝ o-ben eld¨ont˝o Turing-g´epet. Ez ´ıgy egy determinisztikus (a potenci´alis tan´uk sz´ama miatt exponenci´alis idej˝u) algoritmus lenne, de mi most nemdeterminisztikus poli-nomidej˝u g´epet akarunk szerkeszteni.

Ezt ´ugy tehetj¨uk meg, hogy a nemdeterminisztikus M0 g´ep x ismeret´eben el˝osz¨or nemdeterminisztikusan gener´al egy legfeljebb|x|chossz´uytan´ut (ezyhossza miatt polinomid˝oben megtehet˝o), azt´an az ´ıgy kapott (x, y) p´arra lefuttatja az L1 nyel-vet polinomid˝oben elfogad´o Turing-g´epet. (Vagyis a sz´am´ıt´asi ´agak a sz´am´ıt´asi fa tetej´en tartalmaznak csak el´agaz´asokat, azt´an minden ´ag v´ege egy el´agaz´as n´elk¨uli

´

ut.) Mivel az L1-et elfogad´o g´ep fut´asi ideje O((|x|+|y|)k) valami k eg´esszel ´es

|y| ≤ |x|c, ez´ert az L1-et elfogad´o g´ep futtat´asa polinomidej˝u|x|-ben is, vagyis M0 eg´esz fut´asa legfeljebb polinom sok l´ep´esben v´eget ´er.

Vil´agos a konstrukci´ob´ol, hogy M0-nek ´eppen L szavaira lesz elfogad´o sz´am´ıt´asa

´

aga, vagyis M0 azL nyelvet ismeri fel.

Most n´ezz¨unk n´eh´any p´eld´at NP-beli nyelvekre a tan´u t´etel felhaszn´al´as´aval. A p´ el-d´akhoz sz¨uks´eg¨unk lesz arra, hogy gr´afokat bin´aris szavakk´ent k´odoljunk. A k´odol´asnak nem nagyon van jelent˝os´ege, l´enyeg´eben b´armi ´ertelmes, nem t´uls´agosan pazarl´o le´ır´as j´o. Tegy¨uk most ezt ´ugy, hogy egy n cs´ucs´u egyszer˝u gr´afn×n-es n´egyzetes adjacencia-m´atrix´at sor-folytonosan le´ırjuk, ´ıgy a gr´afot egy n2 hossz´u bin´aris sz´ov´a alak´ıtjuk.

11.24. P´elda Legyen H a Hamilton-k¨ort tartalmaz´o gr´afokat k´odol´o szavak nyelve. H∈ NP, mert L1-nek v´alaszthat´o az olyan sz´op´arok halmaza, ahol a p´ar els˝o tagja egy gr´af le´ır´asa, a m´asodik tag pedig a gr´af cs´ucsainak egy olyan permut´aci´oja, ami Hamilton-k¨ort alkot. (A cs´ucssorozat le´ır´asa t¨ort´enhet alognhossz´u bitsorozatok egym´as ut´an ´ır´as´aval.) Vil´agos, hogy L1 ∈ P, mert azt k¨onny˝u eld¨onteni egy adott gr´afr´ol ´es adott egy per-mut´aci´or´ol, hogy ez a permut´aci´o val´oban egy Hamilton-k¨or-e: le kell ellen˝orizni, hogy minden cs´ucs pontosan egyszer szerepelt ´es hogy a szomsz´edos cs´ucsok k¨ozt val´oban fut

´

el a gr´afban, ez egy n cs´ucs´u gr´af eset´en O(n) l´ep´eses algoritmussal (´es Turing-g´eppel is polinom id˝oben) megtehet˝o.

Az is vil´agos, hogy csak akkor van egy x gr´afle´ır´ashoz j´o p´ar, ha a gr´afban van Hamilton-k¨or. Azt kell m´eg bel´atnunk, hogy a tan´u m´erete polinomi´alis a gr´af m´eret´ehez k´epest, de ez is teljes¨ul, hiszen a gr´af le´ır´asa n2, a tan´u le´ır´asa pedigO(n·logn)m´eret˝u.

11.25. P´elda Legyen 3SZ´INa h´arom sz´ınnel sz´ınezhet˝o gr´afokat k´odol´o szavak nyelve.

3SZ´IN∈ NP, mert L1-nek v´alaszthat´o az olyan sz´op´arok halmaza, ahol a p´ar els˝o tagja

egy gr´af le´ır´asa, a m´asodik tag pedig a gr´af egy j´o sz´ınez´es´enek megad´asa p´eld´aul ´ugy, hogy sorban felsoroljuk, hogy melyik cs´ucs melyik sz´ınt kapta (pl. 00 =piros , 01 = s´arga, 11 = k´ek).

L1 ∈ P, mert k¨onny˝u eld¨onteni egy adott gr´afr´ol ´es egy adott sz´ınez´esr˝ol, hogy ez a gr´afnak egy j´o sz´ınez´ese-e: miut´an megbizonyosodtunk r´ola, hogy a p´ar m´asodik tagja egy sz´ınez´es k´odja, csak azt kell eld¨onten¨unk minden ´elre, hogy a v´egpontjai k¨ul¨onb¨oz˝o sz´ınt kapnak-e, ez pedig polinom id˝oben (pl. egy O(n2) l´ep´es˝u algoritmussal) megtehet˝o.

Az is vil´agos, hogy csak akkor van egy x gr´afhoz j´o p´ar, ha a gr´afnak van j´o sz´ınez´ e-se. A tan´u m´erete polinomi´alis a gr´af m´eret´ehez k´epest, hiszen n-szer konstans bittel a sz´ınez´es megadhat´o.

11.26. Megjegyz´es Kor´abban (a nemdeterminisztikus Turing-g´epek determinisztikus-sal val´o szimul´aci´oj´at felhaszn´alva) l´attuk m´ar, hogy NP ⊆ EXPTIME. A tan´u t´etel bizony´ıt´as´anak elv´et k¨ovetve egy ´ujabb bizony´ıt´ast adhatunk erre a t´enyre. Ennek l´enyege a k¨ovetkez˝o: egy x sz´o pontosan akkor van benne az L NP-beli nyelvben, ha van hozz´a

≤ |x|c hossz´u tan´u. Mivel egy tan´u ellen˝orz´ese polinomid˝oben lehets´eges ´es exponenci´alis sok potenci´alis tan´ut kell ellen˝orizn¨unk, ¨osszesen exponenci´alis sok l´ep´esben eld¨onthet˝o egy x sz´or´ol, hogy van-e j´o p´ar hozz´a, azaz hogy x L-beli-e.

Nem ismert, hogy az NP⊆EXPTIME tartalmaz´as val´odi tartalmaz´as-e vagy esetleg a k´et oszt´aly egybeesik. Hasonl´oan nem ismert, hogy a P ⊆ NP tartalmaz´as val´odi-e, ez a sz´am´ıt´astudom´any egyik legnagyobb nyitott k´erd´ese, ezzel foglalkozunk a k¨ovetkez˝o r´eszben.

In document Nyelvek ´e sautomat ´a k (Pldal 138-141)