A sz´ am´ıt´ astudom´ any alapjai
Algoritmusok bonyolults´aga
2021. november 30.
Bevezet´ es: algoritmusok l´ ep´ essz´ ambecsl´ ese
A mai ´or´an azt j´arjuk k¨or¨ul, hogy mit˝ol hat´ekony egy algoritmus,
´es milyen szempontokra ´erdemes figyelni algoritmusok tervez´esekor. Az algoritmust a tov´abbiakban olyan elj´ar´asnak tekintj¨uk, ami egy Π probl´em´at old meg: az I input ´altal megadott konkr´et esethez kisz´am´ıt egy megold´ast az O output k´ep´eben. (Az outputnak mindig helyes megold´asnak kell lennie.)
Mikor gyors egy algoritmus? Akkor ha kev´es l´ep´est v´egez. ´Am a l´ep´essz´am f¨ugg az inputt´ol: fA(I) jel¨oli az Aalgoritmus l´ep´essz´ama azI inputon. C´el: ,,bonyolult” input eset´en is csak ,,kev´es” l´ep´esre legyen sz¨uks´eg. Mi a bonyolult input? H´at az, amit bonyolult le´ırni. Def: AzI input |I|m´erete azI le´ır´as´ahoz sz¨uks´eges bitek sz´ama. AzAalgoritmus bonyolults´ag´at azzal szeretn´enk m´erni, hogy mennyire gyorsan n˝o a l´ep´essz´am az input bonyolultabb´a v´al´as´aval, azaz az input m´eret´enek n¨ovekedt´evel. Jel¨olje az Aalgoritmus maxim´alis l´ep´essz´am´at a legfeljebbn-m´eret˝u inputokon
fA(n) = max{fA(I) :|I| ≤n}. Ezt neh´ez pontosan kisz´am´ıtani, de ez ´altal´aban sz¨uks´egtelen. El´eg egy (min´el jobb) fels˝o becsl´es: ha plfA(n)≤g(n), akkor azAalgoritmus a legfeljebbn m´eret˝u inputokon sosem v´egezg(n)-n´el t¨obb l´ep´est.
Ebben a modellben az algoritmusnak garant´altan id˝oben kell v´egeznie minden sz´oba j¨ov˝o inputon, ez´ert innent˝ol ´ugy tekintj¨uk, hogy azn m´eret˝u inputon mindig fA(n) (ill. g(n)) a l´ep´essz´am.
Bevezet´ es: algoritmusok l´ ep´ essz´ ambecsl´ ese
A mai ´or´an azt j´arjuk k¨or¨ul, hogy mit˝ol hat´ekony egy algoritmus,
´es milyen szempontokra ´erdemes figyelni algoritmusok tervez´esekor. Az algoritmust a tov´abbiakban olyan elj´ar´asnak tekintj¨uk, ami egy Π probl´em´at old meg: az I input ´altal megadott konkr´et esethez kisz´am´ıt egy megold´ast az O output k´ep´eben. (Az outputnak mindig helyes megold´asnak kell lennie.)
Π mkffa sz´el. keres´es m´elys´egi keres´es legr¨ovidebb ´ut I G,k G,(r) G,(r) G, `,r
Alg Kruskal BFS DFS Dijkstra, Ford
Π legh. ´ut gr´afsz´ınez´es maxfolyam max. p´aros´ıt´as
I G,c G G,s,t,c G = (A,B;E)
Alg PERT moh´o (!) jav. utas Alt. utas
Π lnko ¨osszed´as kanonikus alak Pr´ımteszt
I a,b a,b n n
O (a,b) a+b n= Πki=1pαii i/n
Alg Euklideszi ´ır´asbeli ?? ??
Mikor gyors egy algoritmus? Akkor ha kev´es l´ep´est v´egez. ´Am a l´ep´essz´am f¨ugg az inputt´ol: fA(I) jel¨oli az Aalgoritmus l´ep´essz´ama azI inputon. C´el: ,,bonyolult” input eset´en is csak ,,kev´es” l´ep´esre legyen sz¨uks´eg. Mi a bonyolult input? H´at az, amit bonyolult le´ırni. Def: AzI input |I|m´erete azI le´ır´as´ahoz sz¨uks´eges bitek sz´ama. AzAalgoritmus bonyolults´ag´at azzal szeretn´enk m´erni, hogy mennyire gyorsan n˝o a l´ep´essz´am az input bonyolultabb´a v´al´as´aval, azaz az input m´eret´enek n¨ovekedt´evel. Jel¨olje az Aalgoritmus maxim´alis l´ep´essz´am´at a legfeljebbn-m´eret˝u inputokon
fA(n) = max{fA(I) :|I| ≤n}. Ezt neh´ez pontosan kisz´am´ıtani, de ez ´altal´aban sz¨uks´egtelen. El´eg egy (min´el jobb) fels˝o becsl´es: ha plfA(n)≤g(n), akkor azAalgoritmus a legfeljebbn m´eret˝u inputokon sosem v´egezg(n)-n´el t¨obb l´ep´est.
Ebben a modellben az algoritmusnak garant´altan id˝oben kell v´egeznie minden sz´oba j¨ov˝o inputon, ez´ert innent˝ol ´ugy tekintj¨uk, hogy azn m´eret˝u inputon mindig fA(n) (ill. g(n)) a l´ep´essz´am.
Bevezet´ es: algoritmusok l´ ep´ essz´ ambecsl´ ese
A mai ´or´an azt j´arjuk k¨or¨ul, hogy mit˝ol hat´ekony egy algoritmus,
´es milyen szempontokra ´erdemes figyelni algoritmusok tervez´esekor. Az algoritmust a tov´abbiakban olyan elj´ar´asnak tekintj¨uk, ami egy Π probl´em´at old meg: az I input ´altal megadott konkr´et esethez kisz´am´ıt egy megold´ast az O output k´ep´eben. (Az outputnak mindig helyes megold´asnak kell lennie.)
Mikor gyors egy algoritmus? Akkor ha kev´es l´ep´est v´egez. ´Am a l´ep´essz´am f¨ugg az inputt´ol: fA(I) jel¨oli az Aalgoritmus l´ep´essz´ama azI inputon. C´el: ,,bonyolult” input eset´en is csak ,,kev´es” l´ep´esre legyen sz¨uks´eg. Mi a bonyolult input? H´at az, amit bonyolult le´ırni. Def: AzI input |I|m´erete azI le´ır´as´ahoz sz¨uks´eges bitek sz´ama.
AzAalgoritmus bonyolults´ag´at azzal szeretn´enk m´erni, hogy mennyire gyorsan n˝o a l´ep´essz´am az input bonyolultabb´a v´al´as´aval, azaz az input m´eret´enek n¨ovekedt´evel. Jel¨olje az Aalgoritmus maxim´alis l´ep´essz´am´at a legfeljebbn-m´eret˝u inputokon
fA(n) = max{fA(I) :|I| ≤n}. Ezt neh´ez pontosan kisz´am´ıtani, de ez ´altal´aban sz¨uks´egtelen. El´eg egy (min´el jobb) fels˝o becsl´es: ha plfA(n)≤g(n), akkor azAalgoritmus a legfeljebbn m´eret˝u inputokon sosem v´egezg(n)-n´el t¨obb l´ep´est.
Ebben a modellben az algoritmusnak garant´altan id˝oben kell v´egeznie minden sz´oba j¨ov˝o inputon, ez´ert innent˝ol ´ugy tekintj¨uk, hogy azn m´eret˝u inputon mindig fA(n) (ill. g(n)) a l´ep´essz´am.
Bevezet´ es: algoritmusok l´ ep´ essz´ ambecsl´ ese
A mai ´or´an azt j´arjuk k¨or¨ul, hogy mit˝ol hat´ekony egy algoritmus,
´es milyen szempontokra ´erdemes figyelni algoritmusok tervez´esekor. Az algoritmust a tov´abbiakban olyan elj´ar´asnak tekintj¨uk, ami egy Π probl´em´at old meg: az I input ´altal megadott konkr´et esethez kisz´am´ıt egy megold´ast az O output k´ep´eben. (Az outputnak mindig helyes megold´asnak kell lennie.)
Mikor gyors egy algoritmus? Akkor ha kev´es l´ep´est v´egez. ´Am a l´ep´essz´am f¨ugg az inputt´ol: fA(I) jel¨oli az Aalgoritmus l´ep´essz´ama azI inputon. C´el: ,,bonyolult” input eset´en is csak ,,kev´es” l´ep´esre legyen sz¨uks´eg. Mi a bonyolult input? H´at az, amit bonyolult le´ırni.
Def: AzI input |I|m´erete azI le´ır´as´ahoz sz¨uks´eges bitek sz´ama.
AzAalgoritmus bonyolults´ag´at azzal szeretn´enk m´erni, hogy mennyire gyorsan n˝o a l´ep´essz´am az input bonyolultabb´a v´al´as´aval, azaz az input m´eret´enek n¨ovekedt´evel. Jel¨olje az Aalgoritmus maxim´alis l´ep´essz´am´at a legfeljebbn-m´eret˝u inputokon
fA(n) = max{fA(I) :|I| ≤n}. Ezt neh´ez pontosan kisz´am´ıtani, de ez ´altal´aban sz¨uks´egtelen. El´eg egy (min´el jobb) fels˝o becsl´es: ha plfA(n)≤g(n), akkor azAalgoritmus a legfeljebbn m´eret˝u inputokon sosem v´egezg(n)-n´el t¨obb l´ep´est.
Ebben a modellben az algoritmusnak garant´altan id˝oben kell v´egeznie minden sz´oba j¨ov˝o inputon, ez´ert innent˝ol ´ugy tekintj¨uk, hogy azn m´eret˝u inputon mindig fA(n) (ill. g(n)) a l´ep´essz´am.
Bevezet´ es: algoritmusok l´ ep´ essz´ ambecsl´ ese
A mai ´or´an azt j´arjuk k¨or¨ul, hogy mit˝ol hat´ekony egy algoritmus,
´es milyen szempontokra ´erdemes figyelni algoritmusok tervez´esekor. Az algoritmust a tov´abbiakban olyan elj´ar´asnak tekintj¨uk, ami egy Π probl´em´at old meg: az I input ´altal megadott konkr´et esethez kisz´am´ıt egy megold´ast az O output k´ep´eben. (Az outputnak mindig helyes megold´asnak kell lennie.)
Mikor gyors egy algoritmus? Akkor ha kev´es l´ep´est v´egez. ´Am a l´ep´essz´am f¨ugg az inputt´ol: fA(I) jel¨oli az Aalgoritmus l´ep´essz´ama azI inputon. C´el: ,,bonyolult” input eset´en is csak ,,kev´es” l´ep´esre legyen sz¨uks´eg. Mi a bonyolult input? H´at az, amit bonyolult le´ırni.
Def: AzI input |I|m´erete azI le´ır´as´ahoz sz¨uks´eges bitek sz´ama.
P´elda: ¨osszead´as eset´en a,b inputraa ill. b jegyei sz´ama blog2(a)c+ 1, ill.blog2(b)c+ 1, az input m´erete teh´at blog2(a)c+blog2(b)c+ 2.
Egyn-cs´ucs´u, m-´el˝u G gr´af szomsz´edoss´agi m´atrixa egyn×n m´eret˝u 0/1 m´atrix, ´ıgy a G input m´ereten2. (Van szerencs´esebb megad´as is, ahol az inputm´eretkonst·(n+m))
AzAalgoritmus bonyolults´ag´at azzal szeretn´enk m´erni, hogy mennyire gyorsan n˝o a l´ep´essz´am az input bonyolultabb´a v´al´as´aval, azaz az input m´eret´enek n¨ovekedt´evel. Jel¨olje az Aalgoritmus maxim´alis l´ep´essz´am´at a legfeljebbn-m´eret˝u inputokon
fA(n) = max{fA(I) :|I| ≤n}. Ezt neh´ez pontosan kisz´am´ıtani, de ez ´altal´aban sz¨uks´egtelen. El´eg egy (min´el jobb) fels˝o becsl´es: ha plfA(n)≤g(n), akkor azAalgoritmus a legfeljebbn m´eret˝u inputokon sosem v´egezg(n)-n´el t¨obb l´ep´est.
Ebben a modellben az algoritmusnak garant´altan id˝oben kell v´egeznie minden sz´oba j¨ov˝o inputon, ez´ert innent˝ol ´ugy tekintj¨uk, hogy azn m´eret˝u inputon mindig fA(n) (ill. g(n)) a l´ep´essz´am.
Bevezet´ es: algoritmusok l´ ep´ essz´ ambecsl´ ese
Mikor gyors egy algoritmus? Akkor ha kev´es l´ep´est v´egez. ´Am a l´ep´essz´am f¨ugg az inputt´ol: fA(I) jel¨oli az Aalgoritmus l´ep´essz´ama azI inputon. C´el: ,,bonyolult” input eset´en is csak ,,kev´es” l´ep´esre legyen sz¨uks´eg. Mi a bonyolult input? H´at az, amit bonyolult le´ırni.
Def: AzI input |I|m´erete azI le´ır´as´ahoz sz¨uks´eges bitek sz´ama.
AzAalgoritmus bonyolults´ag´at azzal szeretn´enk m´erni, hogy mennyire gyorsan n˝o a l´ep´essz´am az input bonyolultabb´a v´al´as´aval, azaz az input m´eret´enek n¨ovekedt´evel. Jel¨olje az Aalgoritmus maxim´alis l´ep´essz´am´at a legfeljebbn-m´eret˝u inputokon
fA(n) = max{fA(I) :|I| ≤n}. Ezt neh´ez pontosan kisz´am´ıtani, de ez ´altal´aban sz¨uks´egtelen. El´eg egy (min´el jobb) fels˝o becsl´es: ha plfA(n)≤g(n), akkor azAalgoritmus a legfeljebbn m´eret˝u inputokon sosem v´egezg(n)-n´el t¨obb l´ep´est.
Ebben a modellben az algoritmusnak garant´altan id˝oben kell v´egeznie minden sz´oba j¨ov˝o inputon, ez´ert innent˝ol ´ugy tekintj¨uk, hogy azn m´eret˝u inputon mindig fA(n) (ill. g(n)) a l´ep´essz´am.
Bevezet´ es: algoritmusok l´ ep´ essz´ ambecsl´ ese
Mikor gyors egy algoritmus? Akkor ha kev´es l´ep´est v´egez. ´Am a l´ep´essz´am f¨ugg az inputt´ol: fA(I) jel¨oli az Aalgoritmus l´ep´essz´ama azI inputon. C´el: ,,bonyolult” input eset´en is csak ,,kev´es” l´ep´esre legyen sz¨uks´eg. Mi a bonyolult input? H´at az, amit bonyolult le´ırni.
Def: AzI input |I|m´erete azI le´ır´as´ahoz sz¨uks´eges bitek sz´ama.
AzAalgoritmus bonyolults´ag´at azzal szeretn´enk m´erni, hogy mennyire gyorsan n˝o a l´ep´essz´am az input bonyolultabb´a v´al´as´aval, azaz az input m´eret´enek n¨ovekedt´evel. Jel¨olje azA algoritmus maxim´alis l´ep´essz´am´at a legfeljebbn-m´eret˝u inputokon
fA(n) = max{fA(I) :|I| ≤n}. Ezt neh´ez pontosan kisz´am´ıtani, de ez ´altal´aban sz¨uks´egtelen. El´eg egy (min´el jobb) fels˝o becsl´es: ha plfA(n)≤g(n), akkor azAalgoritmus a legfeljebbn m´eret˝u inputokon sosem v´egezg(n)-n´el t¨obb l´ep´est.
Ebben a modellben az algoritmusnak garant´altan id˝oben kell v´egeznie minden sz´oba j¨ov˝o inputon, ez´ert innent˝ol ´ugy tekintj¨uk, hogy azn m´eret˝u inputon mindig fA(n) (ill. g(n)) a l´ep´essz´am.
L´ ep´ essz´ ambecsl´ esek nagys´ agrendje
AzAalgoritmus polinomidej˝u, hafA(n)≤p(n) teljes¨ul egy
alkalmasp(x) poliomra minden n∈Neset´en. (Ez ekvivalens azzal, hogy van olyanc >0 ´esk ∈N, amirefA(n)≤c ·nk.)
AzAalgoritmus exponenci´alis fut´asidej˝u, ha van olyanc >0, α >1 ´esk ≥1, amirefA(n)≤c·αnk teljes¨ul mindenn ∈Neset´en. Megj: Nem igaz, hogy ha egy Aalgoritmus nem polinomidej˝u, akkor azfA l´ep´essz´ambecsl´es legal´abb olyan gyorsan n˝o, mint egy exponenci´alis f¨uggv´eny. Ha pl.fA(n) =nln(n), akkorA-ra egyik tulajdons´ag sem ´all (ugyanis Aegy ´un. szubexponenci´alis fut´asidej˝u algoritmus). A sz´amunkra a l´enyeg, hogy (itt ´es most) a
polinomidej˝u algoritmusokat szeretj¨uk, ´es azokat tekintj¨uk
hat´ekonynak. Term´eszetesen a gyakorlatban t¨oreksz¨unk min´el jobb l´ep´essz´amra, ´ıgy pl. a polinom min´el alacsonyabb fokon tart´as´ara, de az elm´eleti hat´ekonys´ag tekintet´eben csak az ´erdekes, hogy becs¨ulhet˝o-e a l´ep´essz´am polinommal.
(Egy´ebk´ent az exponenci´alis fut´asidej˝u algoritmusokn´al van m´eg lassabb is, de ezekkel nem foglalkozunk, u.i. m´ar az exponenci´alis l´ep´essz´am´uakat sem tekintj¨uk hat´ekonynak.)
L´ ep´ essz´ ambecsl´ esek nagys´ agrendje
AzAalgoritmus polinomidej˝u, hafA(n)≤p(n) teljes¨ul egy
alkalmasp(x) poliomra minden n∈Neset´en. (Ez ekvivalens azzal, hogy van olyanc >0 ´esk ∈N, amirefA(n)≤c ·nk.)
AzAalgoritmus exponenci´alis fut´asidej˝u, ha van olyanc >0, α >1 ´esk ≥1, amirefA(n)≤c·αnk teljes¨ul mindenn ∈Neset´en.
Megj: Nem igaz, hogy ha egy Aalgoritmus nem polinomidej˝u, akkor azfA l´ep´essz´ambecsl´es legal´abb olyan gyorsan n˝o, mint egy exponenci´alis f¨uggv´eny. Ha pl.fA(n) =nln(n), akkorA-ra egyik tulajdons´ag sem ´all (ugyanis Aegy ´un. szubexponenci´alis fut´asidej˝u algoritmus). A sz´amunkra a l´enyeg, hogy (itt ´es most) a
polinomidej˝u algoritmusokat szeretj¨uk, ´es azokat tekintj¨uk
hat´ekonynak. Term´eszetesen a gyakorlatban t¨oreksz¨unk min´el jobb l´ep´essz´amra, ´ıgy pl. a polinom min´el alacsonyabb fokon tart´as´ara, de az elm´eleti hat´ekonys´ag tekintet´eben csak az ´erdekes, hogy becs¨ulhet˝o-e a l´ep´essz´am polinommal.
(Egy´ebk´ent az exponenci´alis fut´asidej˝u algoritmusokn´al van m´eg lassabb is, de ezekkel nem foglalkozunk, u.i. m´ar az exponenci´alis l´ep´essz´am´uakat sem tekintj¨uk hat´ekonynak.)
L´ ep´ essz´ ambecsl´ esek nagys´ agrendje
AzAalgoritmus polinomidej˝u, hafA(n)≤p(n) teljes¨ul egy
alkalmasp(x) poliomra minden n∈Neset´en. (Ez ekvivalens azzal, hogy van olyanc >0 ´esk ∈N, amirefA(n)≤c ·nk.)
AzAalgoritmus exponenci´alis fut´asidej˝u, ha van olyanc >0, α >1 ´esk ≥1, amirefA(n)≤c·αnk teljes¨ul mindenn ∈Neset´en.
P´elda: Tfh ugyanarra a Π probl´em´ara A egy polinomidej˝u,A0 pedig egy nem polinomidej˝u algoritmus: mondjuk fA(n)≤1000n2,
´esfA0(n)≥2n. Mekkora inputtal tudnakgarant´altanv´egezni az egyes algoritmusok, ha ¨osszesen` l´ep´es kiv´ar´as´ara van id˝o:
`l´ep´essz´amkorl´at 103 105 107 109 Aeset´en max|I|legal´abb: 1 10 100 1000 A0 eset´en max|I|legfeljebb: 10 16 23 30
Megj: Nem igaz, hogy ha egy Aalgoritmus nem polinomidej˝u, akkor azfA l´ep´essz´ambecsl´es legal´abb olyan gyorsan n˝o, mint egy exponenci´alis f¨uggv´eny. Ha pl.fA(n) =nln(n), akkorA-ra egyik tulajdons´ag sem ´all (ugyanis Aegy ´un. szubexponenci´alis fut´asidej˝u algoritmus). A sz´amunkra a l´enyeg, hogy (itt ´es most) a
polinomidej˝u algoritmusokat szeretj¨uk, ´es azokat tekintj¨uk
hat´ekonynak. Term´eszetesen a gyakorlatban t¨oreksz¨unk min´el jobb l´ep´essz´amra, ´ıgy pl. a polinom min´el alacsonyabb fokon tart´as´ara, de az elm´eleti hat´ekonys´ag tekintet´eben csak az ´erdekes, hogy becs¨ulhet˝o-e a l´ep´essz´am polinommal.
(Egy´ebk´ent az exponenci´alis fut´asidej˝u algoritmusokn´al van m´eg lassabb is, de ezekkel nem foglalkozunk, u.i. m´ar az exponenci´alis l´ep´essz´am´uakat sem tekintj¨uk hat´ekonynak.)
L´ ep´ essz´ ambecsl´ esek nagys´ agrendje
AzAalgoritmus polinomidej˝u, hafA(n)≤p(n) teljes¨ul egy
alkalmasp(x) poliomra minden n∈Neset´en. (Ez ekvivalens azzal, hogy van olyanc >0 ´esk ∈N, amirefA(n)≤c ·nk.)
AzAalgoritmus exponenci´alis fut´asidej˝u, ha van olyanc >0, α >1 ´esk ≥1, amirefA(n)≤c·αnk teljes¨ul mindenn ∈Neset´en.
P´elda: Tfh ugyanarra a Π probl´em´ara A egy polinomidej˝u,A0 pedig egy nem polinomidej˝u algoritmus: mondjuk fA(n)≤1000n2,
´esfA0(n)≥2n. Mekkora inputtal tudnakgarant´altanv´egezni az egyes algoritmusok, ha ¨osszesen` l´ep´es kiv´ar´as´ara van id˝o:
`l´ep´essz´amkorl´at 103 105 107 109 Aeset´en max|I|legal´abb: 1 10 100 1000 A0 eset´en max|I|legfeljebb: 10 16 23 30
Tauls´ag: A Moore-t¨orv´eny szerint a sz´am´ıt´og´epek sebess´ege kb 18 h´onaponta megdupl´az´odik. Polinomi´alis algoritmus eset´en ez m´erhet˝oen (konstanszorosra) n¨oveli a megoldhat´o input m´eret´et.
Exponenci´alis fut´asidej˝u eset´en csak elhanyagolhat´o haszon (konstans n¨oveked´es) sz´armazik ebb˝ol.
Megj: Nem igaz, hogy ha egy Aalgoritmus nem polinomidej˝u, akkor azfA l´ep´essz´ambecsl´es legal´abb olyan gyorsan n˝o, mint egy exponenci´alis f¨uggv´eny. Ha pl.fA(n) =nln(n), akkorA-ra egyik tulajdons´ag sem ´all (ugyanis Aegy ´un. szubexponenci´alis fut´asidej˝u algoritmus). A sz´amunkra a l´enyeg, hogy (itt ´es most) a
polinomidej˝u algoritmusokat szeretj¨uk, ´es azokat tekintj¨uk
hat´ekonynak. Term´eszetesen a gyakorlatban t¨oreksz¨unk min´el jobb l´ep´essz´amra, ´ıgy pl. a polinom min´el alacsonyabb fokon tart´as´ara, de az elm´eleti hat´ekonys´ag tekintet´eben csak az ´erdekes, hogy becs¨ulhet˝o-e a l´ep´essz´am polinommal.
(Egy´ebk´ent az exponenci´alis fut´asidej˝u algoritmusokn´al van m´eg lassabb is, de ezekkel nem foglalkozunk, u.i. m´ar az exponenci´alis l´ep´essz´am´uakat sem tekintj¨uk hat´ekonynak.)
L´ ep´ essz´ ambecsl´ esek nagys´ agrendje
AzAalgoritmus polinomidej˝u, hafA(n)≤p(n) teljes¨ul egy
alkalmasp(x) poliomra minden n∈Neset´en. (Ez ekvivalens azzal, hogy van olyanc >0 ´esk ∈N, amirefA(n)≤c ·nk.)
AzAalgoritmus exponenci´alis fut´asidej˝u, ha van olyanc >0, α >1 ´esk ≥1, amirefA(n)≤c·αnk teljes¨ul mindenn ∈Neset´en.
Megj: Nem igaz, hogy ha egy Aalgoritmus nem polinomidej˝u, akkor azfA l´ep´essz´ambecsl´es legal´abb olyan gyorsan n˝o, mint egy exponenci´alis f¨uggv´eny. Ha pl.fA(n) =nln(n), akkorA-ra egyik tulajdons´ag sem ´all (ugyanis Aegy ´un. szubexponenci´alis fut´asidej˝u algoritmus). A sz´amunkra a l´enyeg, hogy (itt ´es most) a
polinomidej˝u algoritmusokat szeretj¨uk, ´es azokat tekintj¨uk
hat´ekonynak. Term´eszetesen a gyakorlatban t¨oreksz¨unk min´el jobb l´ep´essz´amra, ´ıgy pl. a polinom min´el alacsonyabb fokon tart´as´ara, de az elm´eleti hat´ekonys´ag tekintet´eben csak az ´erdekes, hogy becs¨ulhet˝o-e a l´ep´essz´am polinommal.
(Egy´ebk´ent az exponenci´alis fut´asidej˝u algoritmusokn´al van m´eg lassabb is, de ezekkel nem foglalkozunk, u.i. m´ar az exponenci´alis l´ep´essz´am´uakat sem tekintj¨uk hat´ekonynak.)
L´ ep´ essz´ ambecsl´ esek nagys´ agrendje
AzAalgoritmus polinomidej˝u, hafA(n)≤p(n) teljes¨ul egy
alkalmasp(x) poliomra minden n∈Neset´en. (Ez ekvivalens azzal, hogy van olyanc >0 ´esk ∈N, amirefA(n)≤c ·nk.)
AzAalgoritmus exponenci´alis fut´asidej˝u, ha van olyanc >0, α >1 ´esk ≥1, amirefA(n)≤c·αnk teljes¨ul mindenn ∈Neset´en.
Megj: Nem igaz, hogy ha egy Aalgoritmus nem polinomidej˝u, akkor azfA l´ep´essz´ambecsl´es legal´abb olyan gyorsan n˝o, mint egy exponenci´alis f¨uggv´eny. Ha pl.fA(n) =nln(n), akkorA-ra egyik tulajdons´ag sem ´all (ugyanis Aegy ´un. szubexponenci´alis fut´asidej˝u algoritmus). A sz´amunkra a l´enyeg, hogy (itt ´es most) a
polinomidej˝u algoritmusokat szeretj¨uk, ´es azokat tekintj¨uk
hat´ekonynak. Term´eszetesen a gyakorlatban t¨oreksz¨unk min´el jobb l´ep´essz´amra, ´ıgy pl. a polinom min´el alacsonyabb fokon tart´as´ara, de az elm´eleti hat´ekonys´ag tekintet´eben csak az ´erdekes, hogy becs¨ulhet˝o-e a l´ep´essz´am polinommal.
(Egy´ebk´ent az exponenci´alis fut´asidej˝u algoritmusokn´al van m´eg lassabb is, de ezekkel nem foglalkozunk, u.i. m´ar az exponenci´alis l´ep´essz´am´uakat sem tekintj¨uk hat´ekonynak.)
Konkr´ et l´ ep´ essz´ ambecsl´ esek
´Ir´asbeli ¨osszead´as Egy n ill. k jegy˝u (bin´aris) sz´am ¨osszead´asakor az inputm´eret|I|=n+k. Helyi´ert´ekenk´ent legfeljebb 2 ¨osszead´ast kell v´egezni (2-t akkor, ha van marad´ek), ´ıgyfA(n)≤3 max(n,k)≤
≤3|I|, az algoritmus line´aris fut´asidej˝u, teh´atpolinomi´alis.
´Ir´asbeli szorz´asEgy n ill. k jegy˝u (bin´aris) sz´am ¨osszead´asakor az inputm´eret|I|=n+k. Kell nk jegyenk´enti szorz´as (bin´arisan ez nagyon egyszer˝u), ami legfeljebb konst·nk l´ep´es. Ezut´an k jegy˝u sz´amb´ol kell legfeljebbn db-ot ¨osszeadni, egyetlen ¨osszeg sem lesz n+k-n´al t¨obb jegy˝u. Teh´at fA(n)≤konst·(nk+n(n+k))≤
≤2konst·(n+k)2 = 2konst· |I|2, az algoritmuspolinomi´alis. Hatv´anyoz´as Egy n-jegy˝u sz´amn-jegy˝u kitev˝ore felemel´esekor az inputm´eret|I|= 2n. A v´egeredm´eny jegyeinek sz´ama legal´abb annyi, mint (2n)(2n) jegyeinek sz´ama, azazn·2n>2n=√
2|I|. Ez´ert a hatv´anyoz´asra minden algoritmusexponenci´alis fut´asidej˝u. Modulo m hatv´anyoz´as a,b,m input eset´en kell megmondani ab
´ert´ek´etmod m. Nem trivi´alis, de van erre polinomidej˝u algoritmus. Euklideszi algoritmuspolinomid˝oben v´egezhet˝o, nem bizony´ıtjuk.
Konkr´ et l´ ep´ essz´ ambecsl´ esek
´Ir´asbeli ¨osszead´as Egy n ill. k jegy˝u (bin´aris) sz´am ¨osszead´asakor az inputm´eret|I|=n+k. Helyi´ert´ekenk´ent legfeljebb 2 ¨osszead´ast kell v´egezni (2-t akkor, ha van marad´ek), ´ıgyfA(n)≤3 max(n,k)≤
≤3|I|, az algoritmus line´aris fut´asidej˝u, teh´atpolinomi´alis.
´Ir´asbeli szorz´asEgy n ill. k jegy˝u (bin´aris) sz´am ¨osszead´asakor az inputm´eret|I|=n+k. Kell nk jegyenk´enti szorz´as (bin´arisan ez nagyon egyszer˝u), ami legfeljebb konst·nk l´ep´es. Ezut´an k jegy˝u sz´amb´ol kell legfeljebbn db-ot ¨osszeadni, egyetlen ¨osszeg sem lesz n+k-n´al t¨obb jegy˝u. Teh´at fA(n)≤konst·(nk+n(n+k))≤
≤2konst·(n+k)2 = 2konst· |I|2, az algoritmuspolinomi´alis.
Hatv´anyoz´as Egy n-jegy˝u sz´amn-jegy˝u kitev˝ore felemel´esekor az inputm´eret|I|= 2n. A v´egeredm´eny jegyeinek sz´ama legal´abb annyi, mint (2n)(2n) jegyeinek sz´ama, azazn·2n>2n=√
2|I|. Ez´ert a hatv´anyoz´asra minden algoritmusexponenci´alis fut´asidej˝u. Modulo m hatv´anyoz´as a,b,m input eset´en kell megmondani ab
´ert´ek´etmod m. Nem trivi´alis, de van erre polinomidej˝u algoritmus. Euklideszi algoritmuspolinomid˝oben v´egezhet˝o, nem bizony´ıtjuk.
Konkr´ et l´ ep´ essz´ ambecsl´ esek
´Ir´asbeli ¨osszead´as Egy n ill. k jegy˝u (bin´aris) sz´am ¨osszead´asakor az inputm´eret|I|=n+k. Helyi´ert´ekenk´ent legfeljebb 2 ¨osszead´ast kell v´egezni (2-t akkor, ha van marad´ek), ´ıgyfA(n)≤3 max(n,k)≤
≤3|I|, az algoritmus line´aris fut´asidej˝u, teh´atpolinomi´alis.
´Ir´asbeli szorz´asEgy n ill. k jegy˝u (bin´aris) sz´am ¨osszead´asakor az inputm´eret|I|=n+k. Kell nk jegyenk´enti szorz´as (bin´arisan ez nagyon egyszer˝u), ami legfeljebb konst·nk l´ep´es. Ezut´an k jegy˝u sz´amb´ol kell legfeljebbn db-ot ¨osszeadni, egyetlen ¨osszeg sem lesz n+k-n´al t¨obb jegy˝u. Teh´at fA(n)≤konst·(nk+n(n+k))≤
≤2konst·(n+k)2 = 2konst· |I|2, az algoritmuspolinomi´alis.
Hatv´anyoz´as Egy n-jegy˝u sz´amn-jegy˝u kitev˝ore felemel´esekor az inputm´eret|I|= 2n. A v´egeredm´eny jegyeinek sz´ama legal´abb annyi, mint (2n)(2n) jegyeinek sz´ama, azazn·2n>2n=√
2|I|. Ez´ert a hatv´anyoz´asra minden algoritmusexponenci´alis fut´asidej˝u.
Modulo m hatv´anyoz´as a,b,m input eset´en kell megmondani ab
´ert´ek´etmod m. Nem trivi´alis, de van erre polinomidej˝u algoritmus. Euklideszi algoritmuspolinomid˝oben v´egezhet˝o, nem bizony´ıtjuk.
Konkr´ et l´ ep´ essz´ ambecsl´ esek
´Ir´asbeli ¨osszead´as Egy n ill. k jegy˝u (bin´aris) sz´am ¨osszead´asakor az inputm´eret|I|=n+k. Helyi´ert´ekenk´ent legfeljebb 2 ¨osszead´ast kell v´egezni (2-t akkor, ha van marad´ek), ´ıgyfA(n)≤3 max(n,k)≤
≤3|I|, az algoritmus line´aris fut´asidej˝u, teh´atpolinomi´alis.
´Ir´asbeli szorz´asEgy n ill. k jegy˝u (bin´aris) sz´am ¨osszead´asakor az inputm´eret|I|=n+k. Kell nk jegyenk´enti szorz´as (bin´arisan ez nagyon egyszer˝u), ami legfeljebb konst·nk l´ep´es. Ezut´an k jegy˝u sz´amb´ol kell legfeljebbn db-ot ¨osszeadni, egyetlen ¨osszeg sem lesz n+k-n´al t¨obb jegy˝u. Teh´at fA(n)≤konst·(nk+n(n+k))≤
≤2konst·(n+k)2 = 2konst· |I|2, az algoritmuspolinomi´alis.
Hatv´anyoz´as Egy n-jegy˝u sz´amn-jegy˝u kitev˝ore felemel´esekor az inputm´eret|I|= 2n. A v´egeredm´eny jegyeinek sz´ama legal´abb annyi, mint (2n)(2n) jegyeinek sz´ama, azazn·2n>2n=√
2|I|. Ez´ert a hatv´anyoz´asra minden algoritmusexponenci´alis fut´asidej˝u.
Modulo m hatv´anyoz´as a,b,m input eset´en kell megmondani ab
´ert´ek´etmod m. Nem trivi´alis, de van erre polinomidej˝u algoritmus.
Euklideszi algoritmuspolinomid˝oben v´egezhet˝o, nem bizony´ıtjuk.
Konkr´ et l´ ep´ essz´ ambecsl´ esek
´Ir´asbeli ¨osszead´as Egy n ill. k jegy˝u (bin´aris) sz´am ¨osszead´asakor az inputm´eret|I|=n+k. Helyi´ert´ekenk´ent legfeljebb 2 ¨osszead´ast kell v´egezni (2-t akkor, ha van marad´ek), ´ıgyfA(n)≤3 max(n,k)≤
≤3|I|, az algoritmus line´aris fut´asidej˝u, teh´atpolinomi´alis.
´Ir´asbeli szorz´asEgy n ill. k jegy˝u (bin´aris) sz´am ¨osszead´asakor az inputm´eret|I|=n+k. Kell nk jegyenk´enti szorz´as (bin´arisan ez nagyon egyszer˝u), ami legfeljebb konst·nk l´ep´es. Ezut´an k jegy˝u sz´amb´ol kell legfeljebbn db-ot ¨osszeadni, egyetlen ¨osszeg sem lesz n+k-n´al t¨obb jegy˝u. Teh´at fA(n)≤konst·(nk+n(n+k))≤
≤2konst·(n+k)2 = 2konst· |I|2, az algoritmuspolinomi´alis.
Hatv´anyoz´as Egy n-jegy˝u sz´amn-jegy˝u kitev˝ore felemel´esekor az inputm´eret|I|= 2n. A v´egeredm´eny jegyeinek sz´ama legal´abb annyi, mint (2n)(2n) jegyeinek sz´ama, azazn·2n>2n=√
2|I|. Ez´ert a hatv´anyoz´asra minden algoritmusexponenci´alis fut´asidej˝u.
Modulo m hatv´anyoz´as a,b,m input eset´en kell megmondani ab
´ert´ek´etmod m. Nem trivi´alis, de van erre polinomidej˝u algoritmus.
Euklideszi algoritmuspolinomid˝oben v´egezhet˝o, nem bizony´ıtjuk.
Gr´ afalgoritmusok l´ ep´ essz´ ambecsl´ ese
Bej´ar´asok Input egy n cs´ucs´u, m´el˝u gr´af. Az inputm´eretn2, vagy konst·(n+m), a konkr´et adatstrukt´ur´at´ol f¨ugg˝oen. Mivelm≤n2, ez´ertfA(n) pontosan akkor becs¨ulhet˝o n2 egy polinomj´aval, ha konst·(n+m) egy polinomj´aval fel¨ulr˝ol becs¨ulhet˝o. Ez´ert a polinomidej˝us´eg nem f¨ugg att´ol, hogy hogyan is adjuk meg az inputot.
DijkstraInput egy n cs´ucs´u, m´el˝u G = (V,E) gr´af, r ∈V gy¨ok´ercs´ucs ´es egy `:E →R+ hosszfv. Az ´elhosszokat legfeljebb konstans jegy˝u sz´amoknak tekintve az inputm´eret ism´et
konst·(n+m).
Az algoritmus ´elmenti jav´ıt´asokat (legfeljebbm-szer) ill. a K´ESZ halmaz n¨ovel´es´et v´egzi (n-szer). Egyetlen elmenti jav´ıt´as
megoldhat´o konstans sok l´ep´esb˝ol, a K´ESZ halmaz n¨ovel´es´ehez kell m´eg egy minimumk´epz´es is, aholis legfeljebbn elemb˝ol v´alasztunk minimumot. Ez legfeljebbn ¨osszehasonl´ıt´assal megtehet˝o. Ez´ert a Kruskal algoritmus l´ep´essz´ama legfeljebb
konst·m+konst0·n2≤c · |I|2 alkalmas c konstanssal. Teh´at a Dijkstra algoritmus is kvadratikus, vagyispolinomidej˝u.
´Es polinomidej˝u m´eg a t¨obbi tanult gr´afalgoritmus is: Ford, Floyd, PERT, Ford-Fulkerson (Edmonds-Karp kieg´esz´ıt´essel), altern´al´o utas, de ezt m´eg annyira sem ,,bizony´ıtjuk”, mint az el˝obbieket.
Gr´ afalgoritmusok l´ ep´ essz´ ambecsl´ ese
Bej´ar´asok Input egy n cs´ucs´u, m´el˝u gr´af. Az inputm´eretn2, vagy konst·(n+m), a konkr´et adatstrukt´ur´at´ol f¨ugg˝oen. Mivelm≤n2, ez´ertfA(n) pontosan akkor becs¨ulhet˝o n2 egy polinomj´aval, ha konst·(n+m) egy polinomj´aval fel¨ulr˝ol becs¨ulhet˝o. Ez´ert a polinomidej˝us´eg nem f¨ugg att´ol, hogy hogyan is adjuk meg az inputot.
Az algoritmus minden mozzanata egy-egy esethez k¨othet˝o.
Ia Van ´el´ert cs´ucs (u), ´es abb´ol fut el´eretlen cs´ucsba ´el (≤m-szer)
DijkstraInput egy n cs´ucs´u, m´el˝u G = (V,E) gr´af, r ∈V gy¨ok´ercs´ucs ´es egy `:E →R+ hosszfv. Az ´elhosszokat legfeljebb konstans jegy˝u sz´amoknak tekintve az inputm´eret ism´et
konst·(n+m).
Az algoritmus ´elmenti jav´ıt´asokat (legfeljebbm-szer) ill. a K´ESZ halmaz n¨ovel´es´et v´egzi (n-szer). Egyetlen elmenti jav´ıt´as
megoldhat´o konstans sok l´ep´esb˝ol, a K´ESZ halmaz n¨ovel´es´ehez kell m´eg egy minimumk´epz´es is, aholis legfeljebbn elemb˝ol v´alasztunk minimumot. Ez legfeljebbn ¨osszehasonl´ıt´assal megtehet˝o. Ez´ert a Kruskal algoritmus l´ep´essz´ama legfeljebb
konst·m+konst0·n2≤c · |I|2 alkalmas c konstanssal. Teh´at a Dijkstra algoritmus is kvadratikus, vagyispolinomidej˝u.
´Es polinomidej˝u m´eg a t¨obbi tanult gr´afalgoritmus is: Ford, Floyd, PERT, Ford-Fulkerson (Edmonds-Karp kieg´esz´ıt´essel), altern´al´o utas, de ezt m´eg annyira sem ,,bizony´ıtjuk”, mint az el˝obbieket.
Gr´ afalgoritmusok l´ ep´ essz´ ambecsl´ ese
Bej´ar´asok Input egy n cs´ucs´u, m´el˝u gr´af. Az inputm´eretn2, vagy konst·(n+m), a konkr´et adatstrukt´ur´at´ol f¨ugg˝oen. Mivelm≤n2, ez´ertfA(n) pontosan akkor becs¨ulhet˝o n2 egy polinomj´aval, ha konst·(n+m) egy polinomj´aval fel¨ulr˝ol becs¨ulhet˝o. Ez´ert a polinomidej˝us´eg nem f¨ugg att´ol, hogy hogyan is adjuk meg az inputot.
Az algoritmus minden mozzanata egy-egy esethez k¨othet˝o.
Ia Van ´el´ert cs´ucs (u), ´es abb´ol fut el´eretlen cs´ucsba ´el (≤m-szer) Ib Van ´el´ert cs´ucs (u), de nem fut bel˝ole ´el el´eretlenbe (≤n-szer)
DijkstraInput egy n cs´ucs´u, m´el˝u G = (V,E) gr´af, r ∈V gy¨ok´ercs´ucs ´es egy `:E →R+ hosszfv. Az ´elhosszokat legfeljebb konstans jegy˝u sz´amoknak tekintve az inputm´eret ism´et
konst·(n+m).
Az algoritmus ´elmenti jav´ıt´asokat (legfeljebbm-szer) ill. a K´ESZ halmaz n¨ovel´es´et v´egzi (n-szer). Egyetlen elmenti jav´ıt´as
megoldhat´o konstans sok l´ep´esb˝ol, a K´ESZ halmaz n¨ovel´es´ehez kell m´eg egy minimumk´epz´es is, aholis legfeljebbn elemb˝ol v´alasztunk minimumot. Ez legfeljebbn ¨osszehasonl´ıt´assal megtehet˝o. Ez´ert a Kruskal algoritmus l´ep´essz´ama legfeljebb
konst·m+konst0·n2≤c · |I|2 alkalmas c konstanssal. Teh´at a Dijkstra algoritmus is kvadratikus, vagyispolinomidej˝u.
´Es polinomidej˝u m´eg a t¨obbi tanult gr´afalgoritmus is: Ford, Floyd, PERT, Ford-Fulkerson (Edmonds-Karp kieg´esz´ıt´essel), altern´al´o utas, de ezt m´eg annyira sem ,,bizony´ıtjuk”, mint az el˝obbieket.
Gr´ afalgoritmusok l´ ep´ essz´ ambecsl´ ese
Bej´ar´asok Input egy n cs´ucs´u, m´el˝u gr´af. Az inputm´eretn2, vagy konst·(n+m), a konkr´et adatstrukt´ur´at´ol f¨ugg˝oen. Mivelm≤n2, ez´ertfA(n) pontosan akkor becs¨ulhet˝o n2 egy polinomj´aval, ha konst·(n+m) egy polinomj´aval fel¨ulr˝ol becs¨ulhet˝o. Ez´ert a polinomidej˝us´eg nem f¨ugg att´ol, hogy hogyan is adjuk meg az inputot.
Az algoritmus minden mozzanata egy-egy esethez k¨othet˝o.
Ia Van ´el´ert cs´ucs (u), ´es abb´ol fut el´eretlen cs´ucsba ´el (≤m-szer) Ib Van ´el´ert cs´ucs (u), de nem fut bel˝ole ´el el´eretlenbe (≤n-szer) IIa Nincs ´el´ert cs´ucs, de van el´eretlen (≤n-szer)
DijkstraInput egy n cs´ucs´u, m´el˝u G = (V,E) gr´af, r ∈V gy¨ok´ercs´ucs ´es egy `:E →R+ hosszfv. Az ´elhosszokat legfeljebb konstans jegy˝u sz´amoknak tekintve az inputm´eret ism´et
konst·(n+m).
Az algoritmus ´elmenti jav´ıt´asokat (legfeljebbm-szer) ill. a K´ESZ halmaz n¨ovel´es´et v´egzi (n-szer). Egyetlen elmenti jav´ıt´as
megoldhat´o konstans sok l´ep´esb˝ol, a K´ESZ halmaz n¨ovel´es´ehez kell m´eg egy minimumk´epz´es is, aholis legfeljebbn elemb˝ol v´alasztunk minimumot. Ez legfeljebbn ¨osszehasonl´ıt´assal megtehet˝o. Ez´ert a Kruskal algoritmus l´ep´essz´ama legfeljebb
konst·m+konst0·n2≤c · |I|2 alkalmas c konstanssal. Teh´at a Dijkstra algoritmus is kvadratikus, vagyispolinomidej˝u.
´Es polinomidej˝u m´eg a t¨obbi tanult gr´afalgoritmus is: Ford, Floyd, PERT, Ford-Fulkerson (Edmonds-Karp kieg´esz´ıt´essel), altern´al´o utas, de ezt m´eg annyira sem ,,bizony´ıtjuk”, mint az el˝obbieket.
Gr´ afalgoritmusok l´ ep´ essz´ ambecsl´ ese
Bej´ar´asok Input egy n cs´ucs´u, m´el˝u gr´af. Az inputm´eretn2, vagy konst·(n+m), a konkr´et adatstrukt´ur´at´ol f¨ugg˝oen. Mivelm≤n2, ez´ertfA(n) pontosan akkor becs¨ulhet˝o n2 egy polinomj´aval, ha konst·(n+m) egy polinomj´aval fel¨ulr˝ol becs¨ulhet˝o. Ez´ert a polinomidej˝us´eg nem f¨ugg att´ol, hogy hogyan is adjuk meg az inputot.
Az algoritmus minden mozzanata egy-egy esethez k¨othet˝o.
Ia Van ´el´ert cs´ucs (u), ´es abb´ol fut el´eretlen cs´ucsba ´el (≤m-szer) Ib Van ´el´ert cs´ucs (u), de nem fut bel˝ole ´el el´eretlenbe (≤n-szer) IIa Nincs ´el´ert cs´ucs, de van el´eretlen (≤n-szer) IIb Nincs se ´el´ert cs´ucs, se el´eretlen (≤1-szer)
DijkstraInput egy n cs´ucs´u, m´el˝u G = (V,E) gr´af, r ∈V gy¨ok´ercs´ucs ´es egy `:E →R+ hosszfv. Az ´elhosszokat legfeljebb konstans jegy˝u sz´amoknak tekintve az inputm´eret ism´et
konst·(n+m).
Az algoritmus ´elmenti jav´ıt´asokat (legfeljebbm-szer) ill. a K´ESZ halmaz n¨ovel´es´et v´egzi (n-szer). Egyetlen elmenti jav´ıt´as
megoldhat´o konstans sok l´ep´esb˝ol, a K´ESZ halmaz n¨ovel´es´ehez kell m´eg egy minimumk´epz´es is, aholis legfeljebbn elemb˝ol v´alasztunk minimumot. Ez legfeljebbn ¨osszehasonl´ıt´assal megtehet˝o. Ez´ert a Kruskal algoritmus l´ep´essz´ama legfeljebb
konst·m+konst0·n2≤c · |I|2 alkalmas c konstanssal. Teh´at a Dijkstra algoritmus is kvadratikus, vagyispolinomidej˝u.
´Es polinomidej˝u m´eg a t¨obbi tanult gr´afalgoritmus is: Ford, Floyd, PERT, Ford-Fulkerson (Edmonds-Karp kieg´esz´ıt´essel), altern´al´o utas, de ezt m´eg annyira sem ,,bizony´ıtjuk”, mint az el˝obbieket.
Gr´ afalgoritmusok l´ ep´ essz´ ambecsl´ ese
Bej´ar´asok Input egy n cs´ucs´u, m´el˝u gr´af. Az inputm´eretn2, vagy konst·(n+m), a konkr´et adatstrukt´ur´at´ol f¨ugg˝oen. Mivelm≤n2, ez´ertfA(n) pontosan akkor becs¨ulhet˝o n2 egy polinomj´aval, ha konst·(n+m) egy polinomj´aval fel¨ulr˝ol becs¨ulhet˝o. Ez´ert a polinomidej˝us´eg nem f¨ugg att´ol, hogy hogyan is adjuk meg az inputot.
Az algoritmus minden mozzanata egy-egy esethez k¨othet˝o.
Ia Van ´el´ert cs´ucs (u), ´es abb´ol fut el´eretlen cs´ucsba ´el (≤m-szer) Ib Van ´el´ert cs´ucs (u), de nem fut bel˝ole ´el el´eretlenbe (≤n-szer) IIa Nincs ´el´ert cs´ucs, de van el´eretlen (≤n-szer) IIb Nincs se ´el´ert cs´ucs, se el´eretlen (≤1-szer) Az algoritmus megval´os´ıt´asakor a fenti mozzanatok mindegyike val´oj´aban egyn´el t¨obb (de szerencs´ere konstans sok) l´ep´est jelent, ez´ert a l´ep´essz´am legfeljebb konst·(n+m), ami a bemenet m´eret´enek els˝ofok´u polinomj´aval becs¨ulhet˝o, azaz a bej´ar´asi algoritmusok line´arisak, ´ıgypolinomidej˝uek.
DijkstraInput egy n cs´ucs´u, m´el˝u G = (V,E) gr´af, r ∈V gy¨ok´ercs´ucs ´es egy `:E →R+ hosszfv. Az ´elhosszokat legfeljebb konstans jegy˝u sz´amoknak tekintve az inputm´eret ism´et
konst·(n+m).
Az algoritmus ´elmenti jav´ıt´asokat (legfeljebbm-szer) ill. a K´ESZ halmaz n¨ovel´es´et v´egzi (n-szer). Egyetlen elmenti jav´ıt´as
megoldhat´o konstans sok l´ep´esb˝ol, a K´ESZ halmaz n¨ovel´es´ehez kell m´eg egy minimumk´epz´es is, aholis legfeljebbn elemb˝ol v´alasztunk minimumot. Ez legfeljebbn ¨osszehasonl´ıt´assal megtehet˝o. Ez´ert a Kruskal algoritmus l´ep´essz´ama legfeljebb
konst·m+konst0·n2≤c · |I|2 alkalmas c konstanssal. Teh´at a Dijkstra algoritmus is kvadratikus, vagyispolinomidej˝u.
´Es polinomidej˝u m´eg a t¨obbi tanult gr´afalgoritmus is: Ford, Floyd, PERT, Ford-Fulkerson (Edmonds-Karp kieg´esz´ıt´essel), altern´al´o utas, de ezt m´eg annyira sem ,,bizony´ıtjuk”, mint az el˝obbieket.
Gr´ afalgoritmusok l´ ep´ essz´ ambecsl´ ese
DijkstraInput egy n cs´ucs´u, m´el˝u G = (V,E) gr´af, r ∈V gy¨ok´ercs´ucs ´es egy `:E →R+ hosszfv. Az ´elhosszokat legfeljebb konstans jegy˝u sz´amoknak tekintve az inputm´eret ism´et
konst·(n+m).
Az algoritmus ´elmenti jav´ıt´asokat (legfeljebbm-szer) ill. a K´ESZ halmaz n¨ovel´es´et v´egzi (n-szer). Egyetlen elmenti jav´ıt´as
megoldhat´o konstans sok l´ep´esb˝ol, a K´ESZ halmaz n¨ovel´es´ehez kell m´eg egy minimumk´epz´es is, aholis legfeljebbn elemb˝ol v´alasztunk minimumot. Ez legfeljebbn ¨osszehasonl´ıt´assal megtehet˝o. Ez´ert a Kruskal algoritmus l´ep´essz´ama legfeljebb
konst·m+konst0·n2≤c · |I|2 alkalmas c konstanssal. Teh´at a Dijkstra algoritmus is kvadratikus, vagyispolinomidej˝u.
´Es polinomidej˝u m´eg a t¨obbi tanult gr´afalgoritmus is: Ford, Floyd, PERT, Ford-Fulkerson (Edmonds-Karp kieg´esz´ıt´essel), altern´al´o utas, de ezt m´eg annyira sem ,,bizony´ıtjuk”, mint az el˝obbieket.
Gr´ afalgoritmusok l´ ep´ essz´ ambecsl´ ese
KruskalInput egyn cs´ucs´u, m´el˝u gr´af ´es egy k k¨olts´egfv. Az inputm´eretG miattkonst(n+m), a k¨olts´egf¨uggv´eny t´arol´asa annyiszorm bit, ah´any jegy˝uek az egyes ´elk¨olts´egek. Tegy¨uk fel, hogy az ´elk¨olts´egek kev´es bites eg´esz sz´amok, ´ıgy az inputm´eret tov´abbra is konst·(n+m)-nek tekinthet˝o.
DijkstraInput egy n cs´ucs´u, m´el˝u G = (V,E) gr´af, r ∈V gy¨ok´ercs´ucs ´es egy `:E →R+ hosszfv. Az ´elhosszokat legfeljebb konstans jegy˝u sz´amoknak tekintve az inputm´eret ism´et
konst·(n+m).
Az algoritmus ´elmenti jav´ıt´asokat (legfeljebbm-szer) ill. a K´ESZ halmaz n¨ovel´es´et v´egzi (n-szer). Egyetlen elmenti jav´ıt´as
megoldhat´o konstans sok l´ep´esb˝ol, a K´ESZ halmaz n¨ovel´es´ehez kell m´eg egy minimumk´epz´es is, aholis legfeljebbn elemb˝ol v´alasztunk minimumot. Ez legfeljebbn ¨osszehasonl´ıt´assal megtehet˝o. Ez´ert a Kruskal algoritmus l´ep´essz´ama legfeljebb
konst·m+konst0·n2≤c · |I|2 alkalmas c konstanssal. Teh´at a Dijkstra algoritmus is kvadratikus, vagyispolinomidej˝u.
´Es polinomidej˝u m´eg a t¨obbi tanult gr´afalgoritmus is: Ford, Floyd, PERT, Ford-Fulkerson (Edmonds-Karp kieg´esz´ıt´essel), altern´al´o utas, de ezt m´eg annyira sem ,,bizony´ıtjuk”, mint az el˝obbieket.
Gr´ afalgoritmusok l´ ep´ essz´ ambecsl´ ese
KruskalInput egyn cs´ucs´u, m´el˝u gr´af ´es egy k k¨olts´egfv. Az inputm´eretG miattkonst(n+m), a k¨olts´egf¨uggv´eny t´arol´asa annyiszorm bit, ah´any jegy˝uek az egyes ´elk¨olts´egek. Tegy¨uk fel, hogy az ´elk¨olts´egek kev´es bites eg´esz sz´amok, ´ıgy az inputm´eret tov´abbra is konst·(n+m)-nek tekinthet˝o.
Az algoritmus el˝osz¨or az ´eleket n¨ovekv˝o k¨olts´eg szerint rendezi. Ez elv´egezhet˝okonst ·mlogm l´ep´esben (de a bubor´ekrendez´es is v´eget ´erkonst ·m2 l´ep´es ut´an).
Ezut´an az ´elekr˝ol egyes´evel d¨ont¨unk. Alkalmas (pl uni´o-holvan t´ıpus´u) adatstrukt´ur´aval minden ilyen d¨ont´es elv´egezhet˝o
konst0·logn l´ep´esben, de na´ıv megk¨ozel´ıt´essel sem kell konst00·n l´ep´esn´el t¨obb. Ez´ert a Kruskal algoritmus l´ep´essz´ama legfeljebb konst·m2+konst00·mn ≤c· |I|2, alkalmas c konstansra. Ez´ert a Kruskal algoritmus kvadratikus, vagyispolinomidej˝u.
DijkstraInput egy n cs´ucs´u, m´el˝u G = (V,E) gr´af, r ∈V gy¨ok´ercs´ucs ´es egy `:E →R+ hosszfv. Az ´elhosszokat legfeljebb konstans jegy˝u sz´amoknak tekintve az inputm´eret ism´et
konst·(n+m).
Az algoritmus ´elmenti jav´ıt´asokat (legfeljebbm-szer) ill. a K´ESZ halmaz n¨ovel´es´et v´egzi (n-szer). Egyetlen elmenti jav´ıt´as
megoldhat´o konstans sok l´ep´esb˝ol, a K´ESZ halmaz n¨ovel´es´ehez kell m´eg egy minimumk´epz´es is, aholis legfeljebbn elemb˝ol v´alasztunk minimumot. Ez legfeljebbn ¨osszehasonl´ıt´assal megtehet˝o. Ez´ert a Kruskal algoritmus l´ep´essz´ama legfeljebb
konst·m+konst0·n2≤c · |I|2 alkalmas c konstanssal. Teh´at a Dijkstra algoritmus is kvadratikus, vagyispolinomidej˝u.
´Es polinomidej˝u m´eg a t¨obbi tanult gr´afalgoritmus is: Ford, Floyd, PERT, Ford-Fulkerson (Edmonds-Karp kieg´esz´ıt´essel), altern´al´o utas, de ezt m´eg annyira sem ,,bizony´ıtjuk”, mint az el˝obbieket.
Gr´ afalgoritmusok l´ ep´ essz´ ambecsl´ ese
DijkstraInput egyn cs´ucs´u, m´el˝u G = (V,E) gr´af, r∈V gy¨ok´ercs´ucs ´es egy `:E →R+ hosszfv. Az ´elhosszokat legfeljebb konstans jegy˝u sz´amoknak tekintve az inputm´eret ism´et
konst·(n+m).
Az algoritmus ´elmenti jav´ıt´asokat (legfeljebbm-szer) ill. a K´ESZ halmaz n¨ovel´es´et v´egzi (n-szer). Egyetlen elmenti jav´ıt´as
megoldhat´o konstans sok l´ep´esb˝ol, a K´ESZ halmaz n¨ovel´es´ehez kell m´eg egy minimumk´epz´es is, aholis legfeljebb n elemb˝ol v´alasztunk minimumot. Ez legfeljebbn ¨osszehasonl´ıt´assal megtehet˝o. Ez´ert a Kruskal algoritmus l´ep´essz´ama legfeljebb
konst·m+konst0·n2≤c · |I|2 alkalmas c konstanssal. Teh´at a Dijkstra algoritmus is kvadratikus, vagyispolinomidej˝u.
´Es polinomidej˝u m´eg a t¨obbi tanult gr´afalgoritmus is: Ford, Floyd, PERT, Ford-Fulkerson (Edmonds-Karp kieg´esz´ıt´essel), altern´al´o utas, de ezt m´eg annyira sem ,,bizony´ıtjuk”, mint az el˝obbieket.
Gr´ afalgoritmusok l´ ep´ essz´ ambecsl´ ese
DijkstraInput egyn cs´ucs´u, m´el˝uG = (V,E) gr´af, r∈V gy¨ok´ercs´ucs ´es egy `:E →R+ hosszfv. Az ´elhosszokat legfeljebb konstans jegy˝u sz´amoknak tekintve az inputm´eret ism´et
konst·(n+m).
Az algoritmus ´elmenti jav´ıt´asokat (legfeljebbm-szer) ill. a K´ESZ halmaz n¨ovel´es´et v´egzi (n-szer). Egyetlen elmenti jav´ıt´as
megoldhat´o konstans sok l´ep´esb˝ol, a K´ESZ halmaz n¨ovel´es´ehez kell m´eg egy minimumk´epz´es is, aholis legfeljebb n elemb˝ol v´alasztunk minimumot. Ez legfeljebbn ¨osszehasonl´ıt´assal megtehet˝o. Ez´ert a Kruskal algoritmus l´ep´essz´ama legfeljebb
konst·m+konst0·n2≤c · |I|2 alkalmas c konstanssal. Teh´at a Dijkstra algoritmus is kvadratikus, vagyispolinomidej˝u.
´Es polinomidej˝u m´eg a t¨obbi tanult gr´afalgoritmus is: Ford, Floyd, PERT, Ford-Fulkerson (Edmonds-Karp kieg´esz´ıt´essel), altern´al´o utas, de ezt m´eg annyira sem ,,bizony´ıtjuk”, mint az el˝obbieket.
Gr´ afalgoritmusok l´ ep´ essz´ ambecsl´ ese
DijkstraInput egyn cs´ucs´u, m´el˝uG = (V,E) gr´af, r∈V gy¨ok´ercs´ucs ´es egy `:E →R+ hosszfv. Az ´elhosszokat legfeljebb konstans jegy˝u sz´amoknak tekintve az inputm´eret ism´et
konst·(n+m).
Az algoritmus ´elmenti jav´ıt´asokat (legfeljebbm-szer) ill. a K´ESZ halmaz n¨ovel´es´et v´egzi (n-szer). Egyetlen elmenti jav´ıt´as
megoldhat´o konstans sok l´ep´esb˝ol, a K´ESZ halmaz n¨ovel´es´ehez kell m´eg egy minimumk´epz´es is, aholis legfeljebb n elemb˝ol v´alasztunk minimumot. Ez legfeljebbn ¨osszehasonl´ıt´assal megtehet˝o. Ez´ert a Kruskal algoritmus l´ep´essz´ama legfeljebb
konst·m+konst0·n2 ≤c · |I|2 alkalmas c konstanssal. Teh´at a Dijkstra algoritmus is kvadratikus, vagyispolinomidej˝u.
´Es polinomidej˝u m´eg a t¨obbi tanult gr´afalgoritmus is: Ford, Floyd, PERT, Ford-Fulkerson (Edmonds-Karp kieg´esz´ıt´essel), altern´al´o utas, de ezt m´eg annyira sem ,,bizony´ıtjuk”, mint az el˝obbieket.
Gr´ afalgoritmusok l´ ep´ essz´ ambecsl´ ese
DijkstraInput egyn cs´ucs´u, m´el˝uG = (V,E) gr´af, r∈V gy¨ok´ercs´ucs ´es egy `:E →R+ hosszfv. Az ´elhosszokat legfeljebb konstans jegy˝u sz´amoknak tekintve az inputm´eret ism´et
konst·(n+m).
Az algoritmus ´elmenti jav´ıt´asokat (legfeljebbm-szer) ill. a K´ESZ halmaz n¨ovel´es´et v´egzi (n-szer). Egyetlen elmenti jav´ıt´as
megoldhat´o konstans sok l´ep´esb˝ol, a K´ESZ halmaz n¨ovel´es´ehez kell m´eg egy minimumk´epz´es is, aholis legfeljebb n elemb˝ol v´alasztunk minimumot. Ez legfeljebbn ¨osszehasonl´ıt´assal megtehet˝o. Ez´ert a Kruskal algoritmus l´ep´essz´ama legfeljebb
konst·m+konst0·n2 ≤c · |I|2 alkalmas c konstanssal. Teh´at a Dijkstra algoritmus is kvadratikus, vagyispolinomidej˝u.
´Es polinomidej˝u m´eg a t¨obbi tanult gr´afalgoritmus is: Ford, Floyd, PERT, Ford-Fulkerson (Edmonds-Karp kieg´esz´ıt´essel), altern´al´o utas, de ezt m´eg annyira sem ,,bizony´ıtjuk”, mint az el˝obbieket.
D¨ ont´ esi probl´ em´ ak
Def: A Π probl´ema d¨ont´esi probl´ema, ha minden (´ertelmes)I inputra az output egyetlen bit: IGEN vagy NEM.
Def: AP probl´emaoszt´alyt mindazon Π d¨ont´esi probl´em´ak alkotj´ak, amelyekre van polinomidej˝u algoritmus.
D¨ ont´ esi probl´ em´ ak
Def: A Π probl´ema d¨ont´esi probl´ema, ha minden (´ertelmes)I inputra az output egyetlen bit: IGEN vagy NEM.
Megj: A d¨ont´esi probl´em´ak valamilyen ´ertelmeben a legegyszer˝ubb probl´em´ak, ez´ert a tov´abbiakban ezeket vizsg´aljuk. Az eddig vizsg´alt probl´em´ak ugyan nem ilyenek, de sokuk visszavezethet˝o d¨ont´esi probl´em´ara.
Def: AP probl´emaoszt´alyt mindazon Π d¨ont´esi probl´em´ak alkotj´ak, amelyekre van polinomidej˝u algoritmus.
D¨ ont´ esi probl´ em´ ak
Def: A Π probl´ema d¨ont´esi probl´ema, ha minden (´ertelmes)I inputra az output egyetlen bit: IGEN vagy NEM.
Megj: A d¨ont´esi probl´em´ak valamilyen ´ertelmeben a legegyszer˝ubb probl´em´ak, ez´ert a tov´abbiakban ezeket vizsg´aljuk. Az eddig vizsg´alt probl´em´ak ugyan nem ilyenek, de sokuk visszavezethet˝o d¨ont´esi probl´em´ara.
P´eld´aul, ha egy inputk´ent megadott G gr´afban maxim´alis m´eret˝u p´aros´ıt´ast kell keresni, akkor a rokon d¨ont´esi probl´ema az, hogy G0,k input eset´en a G0 gr´afnak van-e azk m´eret˝u p´aros´ıt´asa. Ezt a k´erd´est aG gr´afra k¨ul¨onb¨oz˝o k ´ert´ekekkel felt´eve
kibarkochb´azhat´o a maxim´alis m´eret˝u p´aros´ıt´asν(G) m´erete. Ezek ut´an G-b˝ol egym´as ut´an elhagyva az ´eleket ugyanilyen d¨ont´esi probl´em´ak megold´as´aval megtudhatjuk, hogy az adott ´el elhagy´asa ut´an is van-e ugyanekkora m´eret˝u p´aros´ıt´as. Ha minden olyan ´elt elhagyunk, amire nem cs¨okken a maxim´alis p´aros´ıt´as m´erete, akkor G-b˝ol v´eg¨ul egy maxim´alis m´eret˝u p´aros´ıt´as marad.
Def: AP probl´emaoszt´alyt mindazon Π d¨ont´esi probl´em´ak alkotj´ak, amelyekre van polinomidej˝u algoritmus.
D¨ ont´ esi probl´ em´ ak
Def: A Π probl´ema d¨ont´esi probl´ema, ha minden (´ertelmes)I inputra az output egyetlen bit: IGEN vagy NEM.
Megj: A d¨ont´esi probl´em´ak valamilyen ´ertelmeben a legegyszer˝ubb probl´em´ak, ez´ert a tov´abbiakban ezeket vizsg´aljuk. Az eddig vizsg´alt probl´em´ak ugyan nem ilyenek, de sokuk visszavezethet˝o d¨ont´esi probl´em´ara.
Def: AP probl´emaoszt´alyt mindazon Π d¨ont´esi probl´em´ak alkotj´ak, amelyekre van polinomidej˝u algoritmus.
D¨ ont´ esi probl´ em´ ak
Def: A Π probl´ema d¨ont´esi probl´ema, ha minden (´ertelmes)I inputra az output egyetlen bit: IGEN vagy NEM.
Megj: A d¨ont´esi probl´em´ak valamilyen ´ertelmeben a legegyszer˝ubb probl´em´ak, ez´ert a tov´abbiakban ezeket vizsg´aljuk. Az eddig vizsg´alt probl´em´ak ugyan nem ilyenek, de sokuk visszavezethet˝o d¨ont´esi probl´em´ara.
Feladat: Hat´arozzuk meg a Hamilton-k¨or keres´es probl´em´ahoz tartoz´o d¨ont´esi probl´em´at, ´es tal´aljunk az inputk´ent megadott gr´afban Hamilton-k¨ort n´eh´any alkalmasan v´alasztott d¨ont´esi probl´ema megold´as´aval.
Def: AP probl´emaoszt´alyt mindazon Π d¨ont´esi probl´em´ak alkotj´ak, amelyekre van polinomidej˝u algoritmus.
D¨ ont´ esi probl´ em´ ak
Def: A Π probl´ema d¨ont´esi probl´ema, ha minden (´ertelmes)I inputra az output egyetlen bit: IGEN vagy NEM.
Def: AP probl´emaoszt´alyt mindazon Π d¨ont´esi probl´em´ak alkotj´ak, amelyekre van polinomidej˝u algoritmus.
D¨ ont´ esi probl´ em´ ak
Def: A Π probl´ema d¨ont´esi probl´ema, ha minden (´ertelmes)I inputra az output egyetlen bit: IGEN vagy NEM.
Def: AP probl´emaoszt´alyt mindazon Π d¨ont´esi probl´em´ak alkotj´ak, amelyekre van polinomidej˝u algoritmus.
D¨ ont´ esi probl´ em´ ak
Def: A Π probl´ema d¨ont´esi probl´ema, ha minden (´ertelmes)I inputra az output egyetlen bit: IGEN vagy NEM.
Def: AP probl´emaoszt´alyt mindazon Π d¨ont´esi probl´em´ak alkotj´ak, amelyekre van polinomidej˝u algoritmus.
P´eld´ak:
I Az ¨OF probl´ema inputja egy G gr´af, outputja IGEN, haG
¨
osszef¨ugg˝o, NEM, ha nem az.
D¨ ont´ esi probl´ em´ ak
Def: A Π probl´ema d¨ont´esi probl´ema, ha minden (´ertelmes)I inputra az output egyetlen bit: IGEN vagy NEM.
Def: AP probl´emaoszt´alyt mindazon Π d¨ont´esi probl´em´ak alkotj´ak, amelyekre van polinomidej˝u algoritmus.
P´eld´ak:
I Az ¨OF probl´ema inputja egy G gr´af, outputja IGEN, haG
¨
osszef¨ugg˝o, NEM, ha nem az.
A BFS polinomidej˝u algoritmus, ´es seg´ıts´eg´evel megv´alaszolhat´o a k´erd´es⇒ OF∈¨ P.
D¨ ont´ esi probl´ em´ ak
Def: A Π probl´ema d¨ont´esi probl´ema, ha minden (´ertelmes)I inputra az output egyetlen bit: IGEN vagy NEM.
Def: AP probl´emaoszt´alyt mindazon Π d¨ont´esi probl´em´ak alkotj´ak, amelyekre van polinomidej˝u algoritmus.
P´eld´ak:
I Az EULER probl´ema inputja egyG gr´af, outputja IGEN, ha G-nek van Euler-k¨ors´et´aja, NEM, ha nincs.
D¨ ont´ esi probl´ em´ ak
Def: A Π probl´ema d¨ont´esi probl´ema, ha minden (´ertelmes)I inputra az output egyetlen bit: IGEN vagy NEM.
Def: AP probl´emaoszt´alyt mindazon Π d¨ont´esi probl´em´ak alkotj´ak, amelyekre van polinomidej˝u algoritmus.
P´eld´ak:
I Az EULER probl´ema inputja egyG gr´af, outputja IGEN, ha G-nek van Euler-k¨ors´et´aja, NEM, ha nincs.
Az izol´alt pontokt´ol eltekintve ¨osszef¨ugg˝os´eg egy BFS-sel meg´allap´ıthat´o, a fokok p´aross´aga szint´en polinomid˝oben ellen˝orizhet˝o ⇒ EULER∈P.
D¨ ont´ esi probl´ em´ ak
Def: A Π probl´ema d¨ont´esi probl´ema, ha minden (´ertelmes)I inputra az output egyetlen bit: IGEN vagy NEM.
Def: AP probl´emaoszt´alyt mindazon Π d¨ont´esi probl´em´ak alkotj´ak, amelyekre van polinomidej˝u algoritmus.
P´eld´ak:
I A MAXFOLYAM probl´ema inputja egy(G,s,t,c) h´al´ozat ´es egy k ´ert´ek, outputja IGEN, ha G-ben van k nagys´ag´u st-folyam, NEM, ha nincs.
D¨ ont´ esi probl´ em´ ak
Def: A Π probl´ema d¨ont´esi probl´ema, ha minden (´ertelmes)I inputra az output egyetlen bit: IGEN vagy NEM.
Def: AP probl´emaoszt´alyt mindazon Π d¨ont´esi probl´em´ak alkotj´ak, amelyekre van polinomidej˝u algoritmus.
P´eld´ak:
I A MAXFOLYAM probl´ema inputja egy(G,s,t,c) h´al´ozat ´es egy k ´ert´ek, outputja IGEN, ha G-ben van k nagys´ag´u st-folyam, NEM, ha nincs.
Az Edmonds-Karp m´odszer szerint v´egzett jav utas algoritmus polinomidej˝u, ez´ert MAXFOLYAM∈P.
D¨ ont´ esi probl´ em´ ak
Def: A Π probl´ema d¨ont´esi probl´ema, ha minden (´ertelmes)I inputra az output egyetlen bit: IGEN vagy NEM.
Def: AP probl´emaoszt´alyt mindazon Π d¨ont´esi probl´em´ak alkotj´ak, amelyekre van polinomidej˝u algoritmus.
P´eld´ak:
I A MAXFOLYAM probl´ema inputja egy(G,s,t,c) h´al´ozat ´es egy k ´ert´ek, outputja IGEN, ha G-ben van k nagys´ag´u st-folyam, NEM, ha nincs.
Az Edmonds-Karp m´odszer szerint v´egzett jav utas algoritmus polinomidej˝u, ez´ert MAXFOLYAM∈P.
I Tov´abbiP-beli probl´em´ak: l´etezik-e legfeljebbk s´uly´u fesz´ıt˝ofaG-ben, van-ek m´eret˝u p´aros´ıt´as G-ben,PERT feladat elv´egezhet˝o-e k id˝oegys´eg alatt, G s´ıkbarajzolhat´o-e, . . .
D¨ ont´ esi probl´ em´ ak
Def: A Π probl´ema d¨ont´esi probl´ema, ha minden (´ertelmes)I inputra az output egyetlen bit: IGEN vagy NEM.
Def: AP probl´emaoszt´alyt mindazon Π d¨ont´esi probl´em´ak alkotj´ak, amelyekre van polinomidej˝u algoritmus.
D¨ ont´ esi probl´ em´ ak
Def: A Π probl´ema d¨ont´esi probl´ema, ha minden (´ertelmes)I inputra az output egyetlen bit: IGEN vagy NEM.
Def: AP probl´emaoszt´alyt mindazon Π d¨ont´esi probl´em´ak alkotj´ak, amelyekre van polinomidej˝u algoritmus.
A k¨ovetkez˝o c´el olyan m´odszer kidolgoz´asa, aminek a seg´ıts´eg´evel megtudhatjuk, ha egy probl´em´ara nincs polinomidej˝u algoritmus (helyesebben rem´enytelen ilyet keresni).
D¨ ont´ esi probl´ em´ ak
Def: A Π probl´ema d¨ont´esi probl´ema, ha minden (´ertelmes)I inputra az output egyetlen bit: IGEN vagy NEM.
Def: AP probl´emaoszt´alyt mindazon Π d¨ont´esi probl´em´ak alkotj´ak, amelyekre van polinomidej˝u algoritmus.
D¨ ont´ esi probl´ em´ ak
Def: A Π probl´ema d¨ont´esi probl´ema, ha minden (´ertelmes)I inputra az output egyetlen bit: IGEN vagy NEM.
Def: AP probl´emaoszt´alyt mindazon Π d¨ont´esi probl´em´ak alkotj´ak, amelyekre van polinomidej˝u algoritmus.
Def: AzNP probl´emaoszt´aly mindazon Π d¨ont´esi probl´em´akb´ol
´all, amelyekre az IGEN v´alaszhoz tartoz´o mindenI input eset´en a v´alasz helyess´ege polinomid˝oben bizony´ıthat´o.
Aco−NP probl´emaoszt´aly ugyanez, a NEM v´alasz eset´en.
D¨ ont´ esi probl´ em´ ak
Def: A Π probl´ema d¨ont´esi probl´ema, ha minden (´ertelmes)I inputra az output egyetlen bit: IGEN vagy NEM.
Def: AP probl´emaoszt´alyt mindazon Π d¨ont´esi probl´em´ak alkotj´ak, amelyekre van polinomidej˝u algoritmus.
Def: AzNP probl´emaoszt´aly mindazon Π d¨ont´esi probl´em´akb´ol
´all, amelyekre az IGEN v´alaszhoz tartoz´o mindenI input eset´en a v´alasz helyess´ege polinomid˝oben bizony´ıthat´o.
Aco−NP probl´emaoszt´aly ugyanez, a NEM v´alasz eset´en.
P´elda: HAMinput: G gr´af, output IGEN, haG-nek van H-k¨ore.
D¨ ont´ esi probl´ em´ ak
Def: A Π probl´ema d¨ont´esi probl´ema, ha minden (´ertelmes)I inputra az output egyetlen bit: IGEN vagy NEM.
Def: AP probl´emaoszt´alyt mindazon Π d¨ont´esi probl´em´ak alkotj´ak, amelyekre van polinomidej˝u algoritmus.
Def: AzNP probl´emaoszt´aly mindazon Π d¨ont´esi probl´em´akb´ol
´all, amelyekre az IGEN v´alaszhoz tartoz´o mindenI input eset´en a v´alasz helyess´ege polinomid˝oben bizony´ıthat´o.
Aco−NP probl´emaoszt´aly ugyanez, a NEM v´alasz eset´en.
P´elda: HAMinput: G gr´af, output IGEN, haG-nek van H-k¨ore.
HAM∈NP: a H-k¨or polinomid˝oben ellen˝orizhet˝o tan´u az IGENre.
D¨ ont´ esi probl´ em´ ak
Def: A Π probl´ema d¨ont´esi probl´ema, ha minden (´ertelmes)I inputra az output egyetlen bit: IGEN vagy NEM.
Def: AP probl´emaoszt´alyt mindazon Π d¨ont´esi probl´em´ak alkotj´ak, amelyekre van polinomidej˝u algoritmus.
Def: AzNP probl´emaoszt´aly mindazon Π d¨ont´esi probl´em´akb´ol
´all, amelyekre az IGEN v´alaszhoz tartoz´o mindenI input eset´en a v´alasz helyess´ege polinomid˝oben bizony´ıthat´o.
Aco−NP probl´emaoszt´aly ugyanez, a NEM v´alasz eset´en.
P´elda: HAMinput: G gr´af, output IGEN, haG-nek van H-k¨ore.
HAM∈NP: a H-k¨or polinomid˝oben ellen˝orizhet˝o tan´u az IGENre.
3-SZ´INinput: G gr´af, output IGEN, haχ(G)≤3.
D¨ ont´ esi probl´ em´ ak
Def: A Π probl´ema d¨ont´esi probl´ema, ha minden (´ertelmes)I inputra az output egyetlen bit: IGEN vagy NEM.
Def: AP probl´emaoszt´alyt mindazon Π d¨ont´esi probl´em´ak alkotj´ak, amelyekre van polinomidej˝u algoritmus.
Def: AzNP probl´emaoszt´aly mindazon Π d¨ont´esi probl´em´akb´ol
´all, amelyekre az IGEN v´alaszhoz tartoz´o mindenI input eset´en a v´alasz helyess´ege polinomid˝oben bizony´ıthat´o.
Aco−NP probl´emaoszt´aly ugyanez, a NEM v´alasz eset´en.
P´elda: HAMinput: G gr´af, output IGEN, haG-nek van H-k¨ore.
HAM∈NP: a H-k¨or polinomid˝oben ellen˝orizhet˝o tan´u az IGENre.
3-SZ´INinput: G gr´af, output IGEN, haχ(G)≤3.
3-SZ´IN∈NP: 3-sz´ınez´es pol.id˝oben ellen˝orizhet˝o tan´u az IGENre.
D¨ ont´ esi probl´ em´ ak
Def: A Π probl´ema d¨ont´esi probl´ema, ha minden (´ertelmes)I inputra az output egyetlen bit: IGEN vagy NEM.
Def: AP probl´emaoszt´alyt mindazon Π d¨ont´esi probl´em´ak alkotj´ak, amelyekre van polinomidej˝u algoritmus.
Def: AzNP probl´emaoszt´aly mindazon Π d¨ont´esi probl´em´akb´ol
´all, amelyekre az IGEN v´alaszhoz tartoz´o mindenI input eset´en a v´alasz helyess´ege polinomid˝oben bizony´ıthat´o.
Aco−NP probl´emaoszt´aly ugyanez, a NEM v´alasz eset´en.
D¨ ont´ esi probl´ em´ ak
Def: A Π probl´ema d¨ont´esi probl´ema, ha minden (´ertelmes)I inputra az output egyetlen bit: IGEN vagy NEM.
Def: AP probl´emaoszt´alyt mindazon Π d¨ont´esi probl´em´ak alkotj´ak, amelyekre van polinomidej˝u algoritmus.
Def: AzNP probl´emaoszt´aly mindazon Π d¨ont´esi probl´em´akb´ol
´all, amelyekre az IGEN v´alaszhoz tartoz´o mindenI input eset´en a v´alasz helyess´ege polinomid˝oben bizony´ıthat´o.
Aco−NP probl´emaoszt´aly ugyanez, a NEM v´alasz eset´en.
T´etel: P ⊆NP∩co−NP.
D¨ ont´ esi probl´ em´ ak
Def: A Π probl´ema d¨ont´esi probl´ema, ha minden (´ertelmes)I inputra az output egyetlen bit: IGEN vagy NEM.
Def: AP probl´emaoszt´alyt mindazon Π d¨ont´esi probl´em´ak alkotj´ak, amelyekre van polinomidej˝u algoritmus.
Def: AzNP probl´emaoszt´aly mindazon Π d¨ont´esi probl´em´akb´ol
´all, amelyekre az IGEN v´alaszhoz tartoz´o mindenI input eset´en a v´alasz helyess´ege polinomid˝oben bizony´ıthat´o.
Aco−NP probl´emaoszt´aly ugyanez, a NEM v´alasz eset´en.
T´etel: P ⊆NP∩co−NP.
Biz: A pol.idej˝u algoritmus fut´asa tan´u az IGEN/NEM-re.
D¨ ont´ esi probl´ em´ ak
Def: A Π probl´ema d¨ont´esi probl´ema, ha minden (´ertelmes)I inputra az output egyetlen bit: IGEN vagy NEM.
Def: AP probl´emaoszt´alyt mindazon Π d¨ont´esi probl´em´ak alkotj´ak, amelyekre van polinomidej˝u algoritmus.
Def: AzNP probl´emaoszt´aly mindazon Π d¨ont´esi probl´em´akb´ol
´all, amelyekre az IGEN v´alaszhoz tartoz´o mindenI input eset´en a v´alasz helyess´ege polinomid˝oben bizony´ıthat´o.
Aco−NP probl´emaoszt´aly ugyanez, a NEM v´alasz eset´en.
T´etel: P ⊆NP∩co−NP.
D¨ ont´ esi probl´ em´ ak
Def: A Π probl´ema d¨ont´esi probl´ema, ha minden (´ertelmes)I inputra az output egyetlen bit: IGEN vagy NEM.
Def: AP probl´emaoszt´alyt mindazon Π d¨ont´esi probl´em´ak alkotj´ak, amelyekre van polinomidej˝u algoritmus.
Def: AzNP probl´emaoszt´aly mindazon Π d¨ont´esi probl´em´akb´ol
´all, amelyekre az IGEN v´alaszhoz tartoz´o mindenI input eset´en a v´alasz helyess´ege polinomid˝oben bizony´ıthat´o.
Aco−NP probl´emaoszt´aly ugyanez, a NEM v´alasz eset´en.
T´etel: P ⊆NP∩co−NP.
Def: A Π d¨ont´esi probl´ema polinomi´alisan visszavezethet˝o a Π0 d¨ont´esi probl´em´ara (jel: Π≺Π0), ha van olyan polinomidej˝u algoritmus, ami Π mindenI inputj´ahoz kisz´am´ıtja a Π0 egy olyanI0 inputj´at, amire ugyanaz a v´alasz Π0-ben, mintI-re Π-ben:
Π ≺ Π0
| |
I pol→ I0