• Nem Talált Eredményt

A sz´am´ıt´astudom´any alapjai

N/A
N/A
Protected

Academic year: 2022

Ossza meg "A sz´am´ıt´astudom´any alapjai"

Copied!
96
0
0

Teljes szövegt

(1)

A sz´ am´ıt´ astudom´ any alapjai

Algoritmusok bonyolults´aga

2021. november 30.

(2)

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.

(3)

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.

(4)

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.

(5)

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.

(6)

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.

(7)

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.

(8)

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.

(9)

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.)

(10)

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.)

(11)

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.)

(12)

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.)

(13)

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.)

(14)

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.)

(15)

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.

(16)

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.

(17)

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.

(18)

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.

(19)

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.

(20)

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.

(21)

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.

(22)

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.

(23)

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.

(24)

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.

(25)

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.

(26)

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.

(27)

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.

(28)

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.

(29)

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.

(30)

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.

(31)

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.

(32)

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.

(33)

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.

(34)

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.

(35)

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.

(36)

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.

(37)

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.

(38)

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.

(39)

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.

(40)

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.

(41)

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.

(42)

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.

(43)

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.

(44)

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.

(45)

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.

(46)

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, . . .

(47)

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.

(48)

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).

(49)

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.

(50)

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.

(51)

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.

(52)

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.

(53)

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.

(54)

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.

(55)

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.

(56)

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.

(57)

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.

(58)

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.

(59)

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

Hivatkozások

KAPCSOLÓDÓ DOKUMENTUMOK

A m´odszer n´egy sz´ınre t¨ort´en˝o ´altal´anos´ıt´asa a Sz´ekely L´aszl´o, Mike Steel ´es David Penny h´armassal k¨oz¨os [5] cikkben kezdt¨ uk meg, illetve a

´ Esik Zolt´ an A sz´ am´ıt´ astudom´ any alapjai — slide #2..

Ha egy A esem ´ennyel kapcsolatban n darab v ´eletlen, f ¨uggetlen k´ıs ´erletetet hajtunk v ´egre, akkor A gyakoris ´aga az a sz ´am, ah ´anyszor A bek ¨ovetkezik; ez egy

Ha t¨ obb stabil p´ aros´ıt´ as is van, akkor van ezek k¨ oz¨ ott olyan is, amiben minden fi´ u a sz´ am´ ara stabil p´ aros´ıt´ asban el´ erhet˝ o legjobb feles´ eget

(A hasonlat annyiban s´ ant´ıt, hogy egy szokv´ anyos cs¨ ov¨ on b´ armerre lehet a folyad´ ekot sz´ all´ıtani, m´ıg a modellbeli ir´ any´ıtott ´ elek ezt csak egy ir´

K´ etp´ olus´ u elemekb˝ ol ´ all´ o elektromos h´ al´ ozatok viselked´ es´ et a Kirchhoff-f´ ele csom´ oponti ´ es hurokt¨ orv´ enyek, valamint az Ohm t¨ orv´ enyek

K´ etp´ olus´ u elemekb˝ ol ´ all´ o elektromos h´ al´ ozatok viselked´ es´ et a Kirchhoff-f´ ele csom´ oponti ´ es hurokt¨ orv´ enyek, valamint az Ohm t¨ orv´ enyek

(V´ egesen gener´ alt vektort´ erre ez vil´ agos, nem v´ egesen gener´ altakra ez kor´ antsincs ´ıgy.) A sz´ amoss´ agok ¨ osszehasonl´ıhat´ os´ aga kapcs´ an pedig azt