74
Függvények aszimptotikus viselkedése Kósa Márk Pánovics János Szathmáry László Halász Gábor Függvények növekedése Függvények aszimptotikus viselkedése Aszimptotikus jelölések képletekben Aszimptotikusan nem éles korlátok Függvények összehasonlítása Alapfüggvények Rekurzívan megadott függvények A helyettesít ˝ o módszer Finomságok Buktatók Új változó bevezetése A rekurziós fa módszer Sejtés keresése Bizonyítás a helyettesít˝ o módszerrel Mester módszer A tétel Amikor m˝ uködik Amikor nem m˝ uködik „Levezetés” 2.1 2. el ˝ oadás Függvények aszimptotikus viselkedése Valamint további egyszer˝ u algoritmusok Adatszerkezetek és algoritmusok el˝ oadás 2019. február 12. Kósa Márk, Pánovics János, Szathmáry László és Halász Gábor Debreceni Egyetem Informatikai Kar

Szathmáry László Halász Gábor Függvények aszimptotikus …halasz/Adatszerk-PTI-2017/... · 2019-02-09 · Függvények aszimptotikus viselkedése Kósa Márk Pánovics János

  • Upload
    others

  • View
    8

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Szathmáry László Halász Gábor Függvények aszimptotikus …halasz/Adatszerk-PTI-2017/... · 2019-02-09 · Függvények aszimptotikus viselkedése Kósa Márk Pánovics János

Függvényekaszimptotikusviselkedése

Kósa MárkPánovics János

Szathmáry LászlóHalász Gábor

FüggvényeknövekedéseFüggvények aszimptotikusviselkedése

Aszimptotikus jelölésekképletekben

Aszimptotikusan nem éleskorlátok

Függvényekösszehasonlítása

Alapfüggvények

Rekurzívan megadottfüggvényekA helyettesíto módszer

Finomságok

Buktatók

Új változó bevezetése

A rekurziós fa módszer

Sejtés keresése

Bizonyítás a helyettesítomódszerrel

Mester módszer

A tétel

Amikor muködik

Amikor nem muködik

„Levezetés”

2.1

2. eloadásFüggvények aszimptotikusviselkedéseValamint további egyszeru algoritmusok

Adatszerkezetek és algoritmusok eloadás2019. február 12.

Kósa Márk, Pánovics János,Szathmáry László és Halász Gábor

Debreceni EgyetemInformatikai Kar

Page 2: Szathmáry László Halász Gábor Függvények aszimptotikus …halasz/Adatszerk-PTI-2017/... · 2019-02-09 · Függvények aszimptotikus viselkedése Kósa Márk Pánovics János

Függvényekaszimptotikusviselkedése

Kósa MárkPánovics János

Szathmáry LászlóHalász Gábor

FüggvényeknövekedéseFüggvények aszimptotikusviselkedése

Aszimptotikus jelölésekképletekben

Aszimptotikusan nem éleskorlátok

Függvényekösszehasonlítása

Alapfüggvények

Rekurzívan megadottfüggvényekA helyettesíto módszer

Finomságok

Buktatók

Új változó bevezetése

A rekurziós fa módszer

Sejtés keresése

Bizonyítás a helyettesítomódszerrel

Mester módszer

A tétel

Amikor muködik

Amikor nem muködik

„Levezetés”

2.2

Általános tudnivalókAjánlott irodalom:

• Thomas H. Cormen, Charles E. Leiserson, Ronald L.Rivest, Clifford Stein:Új algoritmusok, Scolar Informatika, 2003.

• Donald E. Knuth: A számítógépprogramozás muvészete1. (Alapveto algoritmusok), Muszaki Könyvkiadó, 1994.

• Donald E. Knuth: A számítógépprogramozás muvészete3. (Keresés és rendezés), Muszaki Könyvkiadó, 1994.

• Seymour Lipschutz: Adatszerkezetek,Panem-McGraw-Hill, Budapest, 1993.

• Rónyai Lajos, Ivanyos Gábor, Szabó Réka: Algoritmusok,Typotex, Budapest, 2008.

Félév teljesítésének feltételei:

• Gyakorlati aláírás• 2 ZH

• Írásbeli vizsga, aminek az értékelésébe ...

További részletek:http://hallg.inf.unideb.hu/~halasz

Page 3: Szathmáry László Halász Gábor Függvények aszimptotikus …halasz/Adatszerk-PTI-2017/... · 2019-02-09 · Függvények aszimptotikus viselkedése Kósa Márk Pánovics János

Függvényekaszimptotikusviselkedése

Kósa MárkPánovics János

Szathmáry LászlóHalász Gábor

FüggvényeknövekedéseFüggvények aszimptotikusviselkedése

Aszimptotikus jelölésekképletekben

Aszimptotikusan nem éleskorlátok

Függvényekösszehasonlítása

Alapfüggvények

Rekurzívan megadottfüggvényekA helyettesíto módszer

Finomságok

Buktatók

Új változó bevezetése

A rekurziós fa módszer

Sejtés keresése

Bizonyítás a helyettesítomódszerrel

Mester módszer

A tétel

Amikor muködik

Amikor nem muködik

„Levezetés”

2.3

Függvények növekedéseAszimptotikus jelölések

Az elozoekben megállapítottuk, hogy a beszúró rendezés futásiideje a legrosszabb esetben T (n) = Θ

(n2).

Most pontosan definiáljuk, hogy mit jelent ez a jelölés.

Page 4: Szathmáry László Halász Gábor Függvények aszimptotikus …halasz/Adatszerk-PTI-2017/... · 2019-02-09 · Függvények aszimptotikus viselkedése Kósa Márk Pánovics János

Függvényekaszimptotikusviselkedése

Kósa MárkPánovics János

Szathmáry LászlóHalász Gábor

FüggvényeknövekedéseFüggvények aszimptotikusviselkedése

Aszimptotikus jelölésekképletekben

Aszimptotikusan nem éleskorlátok

Függvényekösszehasonlítása

Alapfüggvények

Rekurzívan megadottfüggvényekA helyettesíto módszer

Finomságok

Buktatók

Új változó bevezetése

A rekurziós fa módszer

Sejtés keresése

Bizonyítás a helyettesítomódszerrel

Mester módszer

A tétel

Amikor muködik

Amikor nem muködik

„Levezetés”

2.3

Függvények növekedéseAszimptotikus jelölések

A Θ jelölés (aszimptotikus éles korlát) definíciója:Egy adott g(n) függvény esetén Θ(g(n))-nel jelöljük a függvé-nyeknek azt a halmazát, amelyre

Θ (g (n)) =

f (n) : létezik c1, c2 és n0 pozitív állandó, hogy0 ≤ c1 · g(n) ≤ f (n) ≤ c2 · g(n)teljesül minden n≥n0 esetén

T (n) = Θ

(n2) ≡ T (n) ∈ Θ

(n2)

Page 5: Szathmáry László Halász Gábor Függvények aszimptotikus …halasz/Adatszerk-PTI-2017/... · 2019-02-09 · Függvények aszimptotikus viselkedése Kósa Márk Pánovics János

Függvényekaszimptotikusviselkedése

Kósa MárkPánovics János

Szathmáry LászlóHalász Gábor

FüggvényeknövekedéseFüggvények aszimptotikusviselkedése

Aszimptotikus jelölésekképletekben

Aszimptotikusan nem éleskorlátok

Függvényekösszehasonlítása

Alapfüggvények

Rekurzívan megadottfüggvényekA helyettesíto módszer

Finomságok

Buktatók

Új változó bevezetése

A rekurziós fa módszer

Sejtés keresése

Bizonyítás a helyettesítomódszerrel

Mester módszer

A tétel

Amikor muködik

Amikor nem muködik

„Levezetés”

2.3

Függvények növekedéseAszimptotikus jelölések

Az O jelölés (aszimptotikus felso korlát) definíciója:Egy adott g(n) függvény esetén O(g(n))-nel („nagy ordó” g(n))jelöljük a függvényeknek azt a halmazát, amelyre

O (g (n)) =

f (n) : létezik c és n0 pozitív állandó, hogy0 ≤ f (n) ≤ c · g(n)teljesül minden n≥n0 esetén

T (n) = O

(n2) ≡ T (n) ∈ O

(n2)

T (n) = Θ(n2) =⇒ T (n) ∈ O

(n2)

Page 6: Szathmáry László Halász Gábor Függvények aszimptotikus …halasz/Adatszerk-PTI-2017/... · 2019-02-09 · Függvények aszimptotikus viselkedése Kósa Márk Pánovics János

Függvényekaszimptotikusviselkedése

Kósa MárkPánovics János

Szathmáry LászlóHalász Gábor

FüggvényeknövekedéseFüggvények aszimptotikusviselkedése

Aszimptotikus jelölésekképletekben

Aszimptotikusan nem éleskorlátok

Függvényekösszehasonlítása

Alapfüggvények

Rekurzívan megadottfüggvényekA helyettesíto módszer

Finomságok

Buktatók

Új változó bevezetése

A rekurziós fa módszer

Sejtés keresése

Bizonyítás a helyettesítomódszerrel

Mester módszer

A tétel

Amikor muködik

Amikor nem muködik

„Levezetés”

2.3

Függvények növekedéseAszimptotikus jelölések

Az Ω jelölés (aszimptotikus alsó korlát) definíciója:Egy adott g(n) függvény esetén Ω(g(n))-nel jelöljük a függvé-nyeknek azt a halmazát, amelyre

Ω (g (n)) =

f (n) : létezik c és n0 pozitív állandó, hogy0 ≤ c · g(n)≤f (n)teljesül minden n≥n0 esetén

T (n) = Ω

(n2) ≡ T (n) ∈ Ω

(n2)

T (n) = Θ(n2) =⇒ T (n) ∈ Ω

(n2)

Page 7: Szathmáry László Halász Gábor Függvények aszimptotikus …halasz/Adatszerk-PTI-2017/... · 2019-02-09 · Függvények aszimptotikus viselkedése Kósa Márk Pánovics János

Függvényekaszimptotikusviselkedése

Kósa MárkPánovics János

Szathmáry LászlóHalász Gábor

FüggvényeknövekedéseFüggvények aszimptotikusviselkedése

Aszimptotikus jelölésekképletekben

Aszimptotikusan nem éleskorlátok

Függvényekösszehasonlítása

Alapfüggvények

Rekurzívan megadottfüggvényekA helyettesíto módszer

Finomságok

Buktatók

Új változó bevezetése

A rekurziós fa módszer

Sejtés keresése

Bizonyítás a helyettesítomódszerrel

Mester módszer

A tétel

Amikor muködik

Amikor nem muködik

„Levezetés”

2.4

Függvények növekedéseKorábban azt mondtuk, a T (n) = a · n2 + b · n + c függvényre,hogy aszimptotikusan csak az n2 tagja a fontos:

T (n) = Θ(n2)

Most megnézhetjük, igaz-e ez?Ehhez találnunk kell olyan pozitív c1-et, c2-ot és n0-át, amivel

c1 · n2 ≤ a · n2 + b · n + c ≤ c2 · n2 amikor n ≥ n0.

Ehhez elobb osszuk el az egyenlotlenséget n2-tel (n>0):

c1 ≤ a + b/n + c/n2 ≤ c2

majd vegyük észre, hogy a középso kifejezés elég nagy nesetén jól közelítheto a-val, vagyis bármely c1 és c2 esetén,amelyekre teljesül, hogy

0 < c1 < a < c2, (csak akkor van esélyünk, ha 0 < a)

már csak annyi a dolgunk, hogy megfelelo pozitív n0-tkeressünk. Pl. amivel:

(|b|+ |c|) /n0 ≤ min (c2 − a, a− c1)

Page 8: Szathmáry László Halász Gábor Függvények aszimptotikus …halasz/Adatszerk-PTI-2017/... · 2019-02-09 · Függvények aszimptotikus viselkedése Kósa Márk Pánovics János

Függvényekaszimptotikusviselkedése

Kósa MárkPánovics János

Szathmáry LászlóHalász Gábor

FüggvényeknövekedéseFüggvények aszimptotikusviselkedése

Aszimptotikus jelölésekképletekben

Aszimptotikusan nem éleskorlátok

Függvényekösszehasonlítása

Alapfüggvények

Rekurzívan megadottfüggvényekA helyettesíto módszer

Finomságok

Buktatók

Új változó bevezetése

A rekurziós fa módszer

Sejtés keresése

Bizonyítás a helyettesítomódszerrel

Mester módszer

A tétel

Amikor muködik

Amikor nem muködik

„Levezetés”

2.4

Függvények növekedéseKorábban azt mondtuk, a T (n) = a · n2 + b · n + c függvényre,hogy aszimptotikusan csak az n2 tagja a fontos:

T (n) = Θ(n2)

Most megnézhetjük, igaz-e ez?Ehhez találnunk kell olyan pozitív c1-et, c2-ot és n0-át, amivel

c1 · n2 ≤ a · n2 + b · n + c ≤ c2 · n2 amikor n ≥ n0.

Ehhez elobb osszuk el az egyenlotlenséget n2-tel (n>0):

c1 ≤ a + b/n + c/n2 ≤ c2

majd vegyük észre, hogy a középso kifejezés elég nagy nesetén jól közelítheto a-val, vagyis bármely c1 és c2 esetén,amelyekre teljesül, hogy

0 < c1 < a < c2, (csak akkor van esélyünk, ha 0 < a)

már csak annyi a dolgunk, hogy megfelelo pozitív n0-tkeressünk. Pl. amivel:

(|b|+ |c|) /n0 ≤ min (c2 − a, a− c1)

Page 9: Szathmáry László Halász Gábor Függvények aszimptotikus …halasz/Adatszerk-PTI-2017/... · 2019-02-09 · Függvények aszimptotikus viselkedése Kósa Márk Pánovics János

Függvényekaszimptotikusviselkedése

Kósa MárkPánovics János

Szathmáry LászlóHalász Gábor

FüggvényeknövekedéseFüggvények aszimptotikusviselkedése

Aszimptotikus jelölésekképletekben

Aszimptotikusan nem éleskorlátok

Függvényekösszehasonlítása

Alapfüggvények

Rekurzívan megadottfüggvényekA helyettesíto módszer

Finomságok

Buktatók

Új változó bevezetése

A rekurziós fa módszer

Sejtés keresése

Bizonyítás a helyettesítomódszerrel

Mester módszer

A tétel

Amikor muködik

Amikor nem muködik

„Levezetés”

2.4

Függvények növekedéseKorábban azt mondtuk, a T (n) = a · n2 + b · n + c függvényre,hogy aszimptotikusan csak az n2 tagja a fontos:

T (n) = Θ(n2)

Most megnézhetjük, igaz-e ez?Ehhez találnunk kell olyan pozitív c1-et, c2-ot és n0-át, amivel

c1 · n2 ≤ a · n2 + b · n + c ≤ c2 · n2 amikor n ≥ n0.

Ehhez elobb osszuk el az egyenlotlenséget n2-tel (n>0):

c1 ≤ a + b/n + c/n2 ≤ c2

majd vegyük észre, hogy a középso kifejezés elég nagy nesetén jól közelítheto a-val, vagyis bármely c1 és c2 esetén,amelyekre teljesül, hogy

0 < c1 < a < c2, (csak akkor van esélyünk, ha 0 < a)

már csak annyi a dolgunk, hogy megfelelo pozitív n0-tkeressünk. Pl. amivel:

(|b|+ |c|) /n0 ≤ min (c2 − a, a− c1)

Page 10: Szathmáry László Halász Gábor Függvények aszimptotikus …halasz/Adatszerk-PTI-2017/... · 2019-02-09 · Függvények aszimptotikus viselkedése Kósa Márk Pánovics János

Függvényekaszimptotikusviselkedése

Kósa MárkPánovics János

Szathmáry LászlóHalász Gábor

FüggvényeknövekedéseFüggvények aszimptotikusviselkedése

Aszimptotikus jelölésekképletekben

Aszimptotikusan nem éleskorlátok

Függvényekösszehasonlítása

Alapfüggvények

Rekurzívan megadottfüggvényekA helyettesíto módszer

Finomságok

Buktatók

Új változó bevezetése

A rekurziós fa módszer

Sejtés keresése

Bizonyítás a helyettesítomódszerrel

Mester módszer

A tétel

Amikor muködik

Amikor nem muködik

„Levezetés”

2.5

Függvények növekedése

Hasonlóan lehet belátni, hogy bármely

Pd (n) =d∑

i=0

ai · ni

polinom esetén (ha ad > 0) igaz, hogy

Pd (n) = Θ(nd)

Speciálisan, konstans függvények esetén írhatjuk, hogy bennevannak a Θ

(n0)

függvényhalmazban.

• Ehelyett –kicsit pontatlanul– azt szoktuk mondani, hogybenne vannak a Θ (1) halmazban.

• Valójában gyakran használják a Θ (1) jelölést akárállandóra, akár egy adott változóra nézve konstansfüggvényre is.

Page 11: Szathmáry László Halász Gábor Függvények aszimptotikus …halasz/Adatszerk-PTI-2017/... · 2019-02-09 · Függvények aszimptotikus viselkedése Kósa Márk Pánovics János

Függvényekaszimptotikusviselkedése

Kósa MárkPánovics János

Szathmáry LászlóHalász Gábor

FüggvényeknövekedéseFüggvények aszimptotikusviselkedése

Aszimptotikus jelölésekképletekben

Aszimptotikusan nem éleskorlátok

Függvényekösszehasonlítása

Alapfüggvények

Rekurzívan megadottfüggvényekA helyettesíto módszer

Finomságok

Buktatók

Új változó bevezetése

A rekurziós fa módszer

Sejtés keresése

Bizonyítás a helyettesítomódszerrel

Mester módszer

A tétel

Amikor muködik

Amikor nem muködik

„Levezetés”

2.6

Függvények növekedése

Theorem

Bármely két f (n) és g (n) függvény esetén

f (n) = Θ (g (n))

akkor és csak akkor, ha

f (n) = O (g (n)) és f (n) = Ω (g (n)) .

A gyakorlatban ezt a tételt általában arra használjuk, hogy azaszimptotikusan éles korlát létét mutassuk meg azaszimptotikus alsó és felso korlátok felhasználásával.

Page 12: Szathmáry László Halász Gábor Függvények aszimptotikus …halasz/Adatszerk-PTI-2017/... · 2019-02-09 · Függvények aszimptotikus viselkedése Kósa Márk Pánovics János

Függvényekaszimptotikusviselkedése

Kósa MárkPánovics János

Szathmáry LászlóHalász Gábor

FüggvényeknövekedéseFüggvények aszimptotikusviselkedése

Aszimptotikus jelölésekképletekben

Aszimptotikusan nem éleskorlátok

Függvényekösszehasonlítása

Alapfüggvények

Rekurzívan megadottfüggvényekA helyettesíto módszer

Finomságok

Buktatók

Új változó bevezetése

A rekurziós fa módszer

Sejtés keresése

Bizonyítás a helyettesítomódszerrel

Mester módszer

A tétel

Amikor muködik

Amikor nem muködik

„Levezetés”

2.7

Aszimptotikus jelölések képletekbenHa az aszimptotikus jelölés egyedül van az egyenlet jobboldalán, mint

n = O(n2)

esetén, akkor úgy definiáltuk az egyenloségjelet, mint ahalmazhoz tartozás jelét:

n ∈ O(n2)

Általában azonban, egy képletben eloforduló aszimptotikusjelölést úgy tekintünk, mint egy olyan ismeretlen függvényjelölését, amit nem is akarunk megnevezni. Pl. a

2n2 + 3n + 1 = 2n2 + Θ (n)

képlet azt jelenti, hogy

2n2 + 3n + 1 = 2n2 + f (n)

ahol f (n) ∈ Θ (n)

Ebben az esetben f (n) = 3n + 1, ami tényleg benne vanΘ (n)-ben.

Page 13: Szathmáry László Halász Gábor Függvények aszimptotikus …halasz/Adatszerk-PTI-2017/... · 2019-02-09 · Függvények aszimptotikus viselkedése Kósa Márk Pánovics János

Függvényekaszimptotikusviselkedése

Kósa MárkPánovics János

Szathmáry LászlóHalász Gábor

FüggvényeknövekedéseFüggvények aszimptotikusviselkedése

Aszimptotikus jelölésekképletekben

Aszimptotikusan nem éleskorlátok

Függvényekösszehasonlítása

Alapfüggvények

Rekurzívan megadottfüggvényekA helyettesíto módszer

Finomságok

Buktatók

Új változó bevezetése

A rekurziós fa módszer

Sejtés keresése

Bizonyítás a helyettesítomódszerrel

Mester módszer

A tétel

Amikor muködik

Amikor nem muködik

„Levezetés”

2.8

Aszimptotikus jelölések képletekben

Ekképpen használva, az aszimptotikus jelölés segít a képletboleltávolítani a lényegtelen részleteket.Pl. amikor rekurzívan kifejeztük az összefésülo rendezéslegrosszabb futási idejét:

T (n) = 2T(n

2

)+ Θ (n) .

Ha csak T (n) aszimptotikus viselkedése érdekel minket, akkornincs értelme minden alacsonyabb rendu tagot pontosanmegadni;mindet beleértjük abba a névtelen függvénybe, amit a Θ(n)taggal jelölünk.

Page 14: Szathmáry László Halász Gábor Függvények aszimptotikus …halasz/Adatszerk-PTI-2017/... · 2019-02-09 · Függvények aszimptotikus viselkedése Kósa Márk Pánovics János

Függvényekaszimptotikusviselkedése

Kósa MárkPánovics János

Szathmáry LászlóHalász Gábor

FüggvényeknövekedéseFüggvények aszimptotikusviselkedése

Aszimptotikus jelölésekképletekben

Aszimptotikusan nem éleskorlátok

Függvényekösszehasonlítása

Alapfüggvények

Rekurzívan megadottfüggvényekA helyettesíto módszer

Finomságok

Buktatók

Új változó bevezetése

A rekurziós fa módszer

Sejtés keresése

Bizonyítás a helyettesítomódszerrel

Mester módszer

A tétel

Amikor muködik

Amikor nem muködik

„Levezetés”

2.9

Aszimptotikus jelölések képletekbenBizonyos esetekben aszimptotikus jelölés elofordulhat azegyenlet bal oldalán is, mint például

2n2 + Θ(n) = Θ(n2).

Ezeket az egyenleteket a következo szabály szerintértelmezzük:• Mindegy, hogy miképpen választjuk meg az egyenlet bal

oldalán lévo ismeretlen függvényt,• van mód arra, hogy a jobb oldali ismeretlen függvényt úgy

válasszuk meg,• hogy az egyenloség igaz legyen.

Így példánk jelentése az, hogy tetszoleges f (n) ∈ Θ(n)függvényhez létezik g(n) ∈ Θ(n2) úgy, hogy

2n2 + f (n) = g(n) minden n-re.

Más szóval az egyenlet jobb oldala durvábban, kevésbépontosan írja le a függvényt, mint az egyenlet bal oldala.Egy még összetettebb példa:

2n2 + 3n + 1 = 2n2 + Θ(n)

= Θ(n2)

Page 15: Szathmáry László Halász Gábor Függvények aszimptotikus …halasz/Adatszerk-PTI-2017/... · 2019-02-09 · Függvények aszimptotikus viselkedése Kósa Márk Pánovics János

Függvényekaszimptotikusviselkedése

Kósa MárkPánovics János

Szathmáry LászlóHalász Gábor

FüggvényeknövekedéseFüggvények aszimptotikusviselkedése

Aszimptotikus jelölésekképletekben

Aszimptotikusan nem éleskorlátok

Függvényekösszehasonlítása

Alapfüggvények

Rekurzívan megadottfüggvényekA helyettesíto módszer

Finomságok

Buktatók

Új változó bevezetése

A rekurziós fa módszer

Sejtés keresése

Bizonyítás a helyettesítomódszerrel

Mester módszer

A tétel

Amikor muködik

Amikor nem muködik

„Levezetés”

2.10

Aszimptotikusan nem éles korlátok

Az O-jelölés által adott felso korlát aszimptotikusan

• vagy éles(2n2 = O(n2

),

• vagy nem(2n = O(n2

).

Amikor hangsúlyozni szeretnénk, hogy az adott felso korlátnem éles, akkor a o-jelölést használjuk („kis ordó”):

o (g (n)) =

f (n) : tetszoleges c > 0-hoz található n0 > 0, hogy0 ≤ f (n) < c · g(n)teljesül minden n≥n0 esetén

Vagy (nemnegatív aszimptotikus viselkedés mellett még):

limn→∞

f (n)

g(n)= 0

Fenti függvényekre:

• 2n = O(n2) és 2n = o(n2), ill.• 2n2 = O(n2) de 2n2 6= o(n2).

Page 16: Szathmáry László Halász Gábor Függvények aszimptotikus …halasz/Adatszerk-PTI-2017/... · 2019-02-09 · Függvények aszimptotikus viselkedése Kósa Márk Pánovics János

Függvényekaszimptotikusviselkedése

Kósa MárkPánovics János

Szathmáry LászlóHalász Gábor

FüggvényeknövekedéseFüggvények aszimptotikusviselkedése

Aszimptotikus jelölésekképletekben

Aszimptotikusan nem éleskorlátok

Függvényekösszehasonlítása

Alapfüggvények

Rekurzívan megadottfüggvényekA helyettesíto módszer

Finomságok

Buktatók

Új változó bevezetése

A rekurziós fa módszer

Sejtés keresése

Bizonyítás a helyettesítomódszerrel

Mester módszer

A tétel

Amikor muködik

Amikor nem muködik

„Levezetés”

2.11

Aszimptotikusan nem éles korlátokHasonlóképpen, az Ω-jelölés által adott alsó korlát isaszimptotikusan

• vagy éles (2n = Ω(n),• vagy nem

(2n2 = Ω(n

).

Amikor hangsúlyozni szeretnénk, hogy az adott alsó korlát neméles, akkor a ω-jelölést használjuk („kis omega”):

ω (g (n)) =

f (n) : tetszoleges c > 0-hoz található n0 > 0, hogy0≤c · g(n) < f (n)teljesül minden n≥n0 esetén

Vagy (nemnegatív aszimptotikus viselkedés mellett még):

limn→∞

f (n)

g(n)=∞

Fenti függvényekre:

• 2n2 = Ω(n) és 2n2 = ω(n), ill.• 2n = Ω(n) de 2n 6= ω(n).

Page 17: Szathmáry László Halász Gábor Függvények aszimptotikus …halasz/Adatszerk-PTI-2017/... · 2019-02-09 · Függvények aszimptotikus viselkedése Kósa Márk Pánovics János

Függvényekaszimptotikusviselkedése

Kósa MárkPánovics János

Szathmáry LászlóHalász Gábor

FüggvényeknövekedéseFüggvények aszimptotikusviselkedése

Aszimptotikus jelölésekképletekben

Aszimptotikusan nem éleskorlátok

Függvényekösszehasonlítása

Alapfüggvények

Rekurzívan megadottfüggvényekA helyettesíto módszer

Finomságok

Buktatók

Új változó bevezetése

A rekurziós fa módszer

Sejtés keresése

Bizonyítás a helyettesítomódszerrel

Mester módszer

A tétel

Amikor muködik

Amikor nem muködik

„Levezetés”

2.12

Függvények összehasonlításaSzámos – valós számokra vonatkozó – összefüggésalkalmazható aszimptotikus összehasonlításokra is.A továbbiakban tegyük fel, hogy f (n) és g(n) aszimptotikusanpozitív.

Page 18: Szathmáry László Halász Gábor Függvények aszimptotikus …halasz/Adatszerk-PTI-2017/... · 2019-02-09 · Függvények aszimptotikus viselkedése Kósa Márk Pánovics János

Függvényekaszimptotikusviselkedése

Kósa MárkPánovics János

Szathmáry LászlóHalász Gábor

FüggvényeknövekedéseFüggvények aszimptotikusviselkedése

Aszimptotikus jelölésekképletekben

Aszimptotikusan nem éleskorlátok

Függvényekösszehasonlítása

Alapfüggvények

Rekurzívan megadottfüggvényekA helyettesíto módszer

Finomságok

Buktatók

Új változó bevezetése

A rekurziós fa módszer

Sejtés keresése

Bizonyítás a helyettesítomódszerrel

Mester módszer

A tétel

Amikor muködik

Amikor nem muködik

„Levezetés”

2.12

Függvények összehasonlításaSzámos – valós számokra vonatkozó – összefüggésalkalmazható aszimptotikus összehasonlításokra is.A továbbiakban tegyük fel, hogy f (n) és g(n) aszimptotikusanpozitív.

Tranzitivitás:

ha f (n) = Θ (g (n)) és g (n) = Θ (h (n)) , akkor f (n) = Θ (h (n))

ha f (n) = O (g (n)) és g (n) = O (h (n)) , akkor f (n) = O (h (n))

ha f (n) = Ω (g (n)) és g (n) = Ω (h (n)) , akkor f (n) = Ω (h (n))

ha f (n) = o (g (n)) és g (n) = o (h (n)) , akkor f (n) = o (h (n))

ha f (n) = ω (g (n)) és g (n) = ω (h (n)) , akkor f (n) = ω (h (n))

Page 19: Szathmáry László Halász Gábor Függvények aszimptotikus …halasz/Adatszerk-PTI-2017/... · 2019-02-09 · Függvények aszimptotikus viselkedése Kósa Márk Pánovics János

Függvényekaszimptotikusviselkedése

Kósa MárkPánovics János

Szathmáry LászlóHalász Gábor

FüggvényeknövekedéseFüggvények aszimptotikusviselkedése

Aszimptotikus jelölésekképletekben

Aszimptotikusan nem éleskorlátok

Függvényekösszehasonlítása

Alapfüggvények

Rekurzívan megadottfüggvényekA helyettesíto módszer

Finomságok

Buktatók

Új változó bevezetése

A rekurziós fa módszer

Sejtés keresése

Bizonyítás a helyettesítomódszerrel

Mester módszer

A tétel

Amikor muködik

Amikor nem muködik

„Levezetés”

2.12

Függvények összehasonlításaSzámos – valós számokra vonatkozó – összefüggésalkalmazható aszimptotikus összehasonlításokra is.A továbbiakban tegyük fel, hogy f (n) és g(n) aszimptotikusanpozitív.

Reflexivitás:

f (n) = Θ (f (n))

f (n) = O (f (n))

f (n) = Ω (f (n))

Page 20: Szathmáry László Halász Gábor Függvények aszimptotikus …halasz/Adatszerk-PTI-2017/... · 2019-02-09 · Függvények aszimptotikus viselkedése Kósa Márk Pánovics János

Függvényekaszimptotikusviselkedése

Kósa MárkPánovics János

Szathmáry LászlóHalász Gábor

FüggvényeknövekedéseFüggvények aszimptotikusviselkedése

Aszimptotikus jelölésekképletekben

Aszimptotikusan nem éleskorlátok

Függvényekösszehasonlítása

Alapfüggvények

Rekurzívan megadottfüggvényekA helyettesíto módszer

Finomságok

Buktatók

Új változó bevezetése

A rekurziós fa módszer

Sejtés keresése

Bizonyítás a helyettesítomódszerrel

Mester módszer

A tétel

Amikor muködik

Amikor nem muködik

„Levezetés”

2.12

Függvények összehasonlításaSzámos – valós számokra vonatkozó – összefüggésalkalmazható aszimptotikus összehasonlításokra is.A továbbiakban tegyük fel, hogy f (n) és g(n) aszimptotikusanpozitív.

Szimmetria:

f (n) = Θ (g (n)) akkor és csak akkor, ha g (n) = Θ (f (n))

Felcserélt szimmetria:

f (n) = O (g (n)) akkor és csak akkor, ha g (n) = Ω (f (n))

f (n) = o (g (n)) akkor és csak akkor, ha g (n) = ω (f (n))

Page 21: Szathmáry László Halász Gábor Függvények aszimptotikus …halasz/Adatszerk-PTI-2017/... · 2019-02-09 · Függvények aszimptotikus viselkedése Kósa Márk Pánovics János

Függvényekaszimptotikusviselkedése

Kósa MárkPánovics János

Szathmáry LászlóHalász Gábor

FüggvényeknövekedéseFüggvények aszimptotikusviselkedése

Aszimptotikus jelölésekképletekben

Aszimptotikusan nem éleskorlátok

Függvényekösszehasonlítása

Alapfüggvények

Rekurzívan megadottfüggvényekA helyettesíto módszer

Finomságok

Buktatók

Új változó bevezetése

A rekurziós fa módszer

Sejtés keresése

Bizonyítás a helyettesítomódszerrel

Mester módszer

A tétel

Amikor muködik

Amikor nem muködik

„Levezetés”

2.12

Függvények összehasonlításaSzámos – valós számokra vonatkozó – összefüggésalkalmazható aszimptotikus összehasonlításokra is.A továbbiakban tegyük fel, hogy f (n) és g(n) aszimptotikusanpozitív.

Mivel ezek a tulajdonságok érvényesek az aszimptotikus jelölé-sekre, ezért párhuzamot vonhatunk két függvény, f és g, vala-mint két valós szám, a és b összehasonlítása között:

f (n) = O (g (n)) ≈ a ≤ b

f (n) = Ω (g (n)) ≈ a ≥ b

f (n) = Θ (g (n)) ≈ a = b

f (n) = o (g (n)) ≈ a < b

f (n) = ω (g (n)) ≈ a > b

Page 22: Szathmáry László Halász Gábor Függvények aszimptotikus …halasz/Adatszerk-PTI-2017/... · 2019-02-09 · Függvények aszimptotikus viselkedése Kósa Márk Pánovics János

Függvényekaszimptotikusviselkedése

Kósa MárkPánovics János

Szathmáry LászlóHalász Gábor

FüggvényeknövekedéseFüggvények aszimptotikusviselkedése

Aszimptotikus jelölésekképletekben

Aszimptotikusan nem éleskorlátok

Függvényekösszehasonlítása

Alapfüggvények

Rekurzívan megadottfüggvényekA helyettesíto módszer

Finomságok

Buktatók

Új változó bevezetése

A rekurziós fa módszer

Sejtés keresése

Bizonyítás a helyettesítomódszerrel

Mester módszer

A tétel

Amikor muködik

Amikor nem muködik

„Levezetés”

2.12

Függvények összehasonlításaSzámos – valós számokra vonatkozó – összefüggésalkalmazható aszimptotikus összehasonlításokra is.A továbbiakban tegyük fel, hogy f (n) és g(n) aszimptotikusanpozitív.

Vigyázat, a valós számok alábbi tulajdonsága már nem vihetoát a függvények aszimptotikus viselkedésére:

Trichotómia: Bármely két valós a és b szám esetén az alábbitulajdonságok közül pontosan egy teljesül:

• a < b• a = b• a > b

Page 23: Szathmáry László Halász Gábor Függvények aszimptotikus …halasz/Adatszerk-PTI-2017/... · 2019-02-09 · Függvények aszimptotikus viselkedése Kósa Márk Pánovics János

Függvényekaszimptotikusviselkedése

Kósa MárkPánovics János

Szathmáry LászlóHalász Gábor

FüggvényeknövekedéseFüggvények aszimptotikusviselkedése

Aszimptotikus jelölésekképletekben

Aszimptotikusan nem éleskorlátok

Függvényekösszehasonlítása

Alapfüggvények

Rekurzívan megadottfüggvényekA helyettesíto módszer

Finomságok

Buktatók

Új változó bevezetése

A rekurziós fa módszer

Sejtés keresése

Bizonyítás a helyettesítomódszerrel

Mester módszer

A tétel

Amikor muködik

Amikor nem muködik

„Levezetés”

2.12

Függvények összehasonlításaSzámos – valós számokra vonatkozó – összefüggésalkalmazható aszimptotikus összehasonlításokra is.A továbbiakban tegyük fel, hogy f (n) és g(n) aszimptotikusanpozitív.

Vigyázat, a valós számok alábbi tulajdonsága már nem vihetoát a függvények aszimptotikus viselkedésére:

Trichotómia: Bármely két valós a és b szám esetén az alábbitulajdonságok közül pontosan egy teljesül:

• a < b• a = b• a > b

Pl. az f (n) = n + n10 sin2 n függvényre igazak a következok:• f (n) = Ω(n) és f (n) = ω(1)

• f (n) = O(n10) és f (n) = o(n11)

• de f (n) nem hasonítható semelyik Pd = nd függvénnyel,ha d = 2, 3, · · · , 9

Page 24: Szathmáry László Halász Gábor Függvények aszimptotikus …halasz/Adatszerk-PTI-2017/... · 2019-02-09 · Függvények aszimptotikus viselkedése Kósa Márk Pánovics János

Függvényekaszimptotikusviselkedése

Kósa MárkPánovics János

Szathmáry LászlóHalász Gábor

FüggvényeknövekedéseFüggvények aszimptotikusviselkedése

Aszimptotikus jelölésekképletekben

Aszimptotikusan nem éleskorlátok

Függvényekösszehasonlítása

Alapfüggvények

Rekurzívan megadottfüggvényekA helyettesíto módszer

Finomságok

Buktatók

Új változó bevezetése

A rekurziós fa módszer

Sejtés keresése

Bizonyítás a helyettesítomódszerrel

Mester módszer

A tétel

Amikor muködik

Amikor nem muködik

„Levezetés”

2.13

Szokásos jelölések és alapfüggvényekMonotonitás

Az f (n) függvényre azt mondjuk, hogymonoton növekedo, ham < n =⇒ f (m) ≤ f (n)

monoton csökkeno, ham < n =⇒ f (m) ≥ f (n)

szigorúan monoton növekedo, ham < n =⇒ f (m) < f (n)

szigorúan monoton csökkeno, ham < n =⇒ f (m) > f (n)

Page 25: Szathmáry László Halász Gábor Függvények aszimptotikus …halasz/Adatszerk-PTI-2017/... · 2019-02-09 · Függvények aszimptotikus viselkedése Kósa Márk Pánovics János

Függvényekaszimptotikusviselkedése

Kósa MárkPánovics János

Szathmáry LászlóHalász Gábor

FüggvényeknövekedéseFüggvények aszimptotikusviselkedése

Aszimptotikus jelölésekképletekben

Aszimptotikusan nem éleskorlátok

Függvényekösszehasonlítása

Alapfüggvények

Rekurzívan megadottfüggvényekA helyettesíto módszer

Finomságok

Buktatók

Új változó bevezetése

A rekurziós fa módszer

Sejtés keresése

Bizonyítás a helyettesítomódszerrel

Mester módszer

A tétel

Amikor muködik

Amikor nem muködik

„Levezetés”

2.14

Szokásos jelölések és alapfüggvényekEgészrész függvények

Alsó egészrész, bxc: olyan egész, amire x ≥ bxc > x − 1Felso egészrész, dxe: olyan egész, amire x ≤ dxe < x + 1Minden n egész számra:⌊n

2

⌋+⌈n

2

⌉= n,

és minden valós x ≥ 0 értékre és m, n > 0 egészre⌊⌊ xm

⌋n

⌋=⌊ x

m · n

⌋⌈⌈ x

m

⌉n

⌉=⌈ x

m · n

⌉mn≥⌊m

n

⌋≥ m − (n − 1)

n=

mn− n − 1

nmn≤⌈m

n

⌉≤ m + (n − 1)

n=

mn

+n − 1

n

Mindkét egészrész függvény monoton növekedo.

Page 26: Szathmáry László Halász Gábor Függvények aszimptotikus …halasz/Adatszerk-PTI-2017/... · 2019-02-09 · Függvények aszimptotikus viselkedése Kósa Márk Pánovics János

Függvényekaszimptotikusviselkedése

Kósa MárkPánovics János

Szathmáry LászlóHalász Gábor

FüggvényeknövekedéseFüggvények aszimptotikusviselkedése

Aszimptotikus jelölésekképletekben

Aszimptotikusan nem éleskorlátok

Függvényekösszehasonlítása

Alapfüggvények

Rekurzívan megadottfüggvényekA helyettesíto módszer

Finomságok

Buktatók

Új változó bevezetése

A rekurziós fa módszer

Sejtés keresése

Bizonyítás a helyettesítomódszerrel

Mester módszer

A tétel

Amikor muködik

Amikor nem muködik

„Levezetés”

2.14

Szokásos jelölések és alapfüggvényekEgészrész függvények

Alsó egészrész, bxc: olyan egész, amire x ≥ bxc > x − 1Felso egészrész, dxe: olyan egész, amire x ≤ dxe < x + 1Minden n egész számra:⌊n

2

⌋+⌈n

2

⌉= n,

és minden valós x ≥ 0 értékre és m, n > 0 egészre⌊⌊ xm

⌋n

⌋=⌊ x

m · n

⌋⌈⌈ x

m

⌉n

⌉=⌈ x

m · n

⌉mn≥⌊m

n

⌋≥ m − (n − 1)

n=

mn− n − 1

nmn≤⌈m

n

⌉≤ m + (n − 1)

n=

mn

+n − 1

n

Mindkét egészrész függvény monoton növekedo.

Page 27: Szathmáry László Halász Gábor Függvények aszimptotikus …halasz/Adatszerk-PTI-2017/... · 2019-02-09 · Függvények aszimptotikus viselkedése Kósa Márk Pánovics János

Függvényekaszimptotikusviselkedése

Kósa MárkPánovics János

Szathmáry LászlóHalász Gábor

FüggvényeknövekedéseFüggvények aszimptotikusviselkedése

Aszimptotikus jelölésekképletekben

Aszimptotikusan nem éleskorlátok

Függvényekösszehasonlítása

Alapfüggvények

Rekurzívan megadottfüggvényekA helyettesíto módszer

Finomságok

Buktatók

Új változó bevezetése

A rekurziós fa módszer

Sejtés keresése

Bizonyítás a helyettesítomódszerrel

Mester módszer

A tétel

Amikor muködik

Amikor nem muködik

„Levezetés”

2.15

Szokásos jelölések és alapfüggvényekOsztási maradék

Tetszoleges egész a és pozitív egész n egész esetén jelöljea mod n az a szám n-nel vett osztási maradékát, vagyis

a mod n = a− n ·⌊a

n

⌋Hasznos lesz, ha arra is definiálunk egy külön jelölést, hogy aza és b egészek n-nel vett osztási maradéka megegyezik. Ha(a mod n) = (b mod n), akkor ezt úgy jelöljük, hogy

a ≡ b ( mod n) ,

és azt mondjuk, hogy a és b kongruens modulo n.Ha a és b nem ekvivalens modulo n, akkor erre az

a 6≡ b ( mod n)

jelölést használjuk.

Page 28: Szathmáry László Halász Gábor Függvények aszimptotikus …halasz/Adatszerk-PTI-2017/... · 2019-02-09 · Függvények aszimptotikus viselkedése Kósa Márk Pánovics János

Függvényekaszimptotikusviselkedése

Kósa MárkPánovics János

Szathmáry LászlóHalász Gábor

FüggvényeknövekedéseFüggvények aszimptotikusviselkedése

Aszimptotikus jelölésekképletekben

Aszimptotikusan nem éleskorlátok

Függvényekösszehasonlítása

Alapfüggvények

Rekurzívan megadottfüggvényekA helyettesíto módszer

Finomságok

Buktatók

Új változó bevezetése

A rekurziós fa módszer

Sejtés keresése

Bizonyítás a helyettesítomódszerrel

Mester módszer

A tétel

Amikor muködik

Amikor nem muködik

„Levezetés”

2.16

Szokásos jelölések és alapfüggvényekPolinomok

Adott d pozitív egész számra az n változó d-edfokú polinomjánegy

Pd (n) =d∑

i=0

ai · ni

alakú függvényt értünk, ahol az a0,a1, ...,ad állandók apolinom együtthatói, és ad 6= 0.

• Egy polinom aszimptotikusan pozitív akkor és csak akkor,ha ad > 0.

• Az aszimptotikusan pozitív d-edfokú Pd (n) polinomrateljesül, hogy Pd (n) = Θ

(nd).

• Minden valós a ≥ 0 állandó esetén na monoton növekedo,• minden valós a ≤ 0 állandó esetén na monoton csökkeno.• Az f (n) függvény polinomiálisan korlátos, ha f (n) = nO(1) ,

ami ekvivalens azzal, hogy f (n) = O(nk ) valamely kállandóra.

Page 29: Szathmáry László Halász Gábor Függvények aszimptotikus …halasz/Adatszerk-PTI-2017/... · 2019-02-09 · Függvények aszimptotikus viselkedése Kósa Márk Pánovics János

Függvényekaszimptotikusviselkedése

Kósa MárkPánovics János

Szathmáry LászlóHalász Gábor

FüggvényeknövekedéseFüggvények aszimptotikusviselkedése

Aszimptotikus jelölésekképletekben

Aszimptotikusan nem éleskorlátok

Függvényekösszehasonlítása

Alapfüggvények

Rekurzívan megadottfüggvényekA helyettesíto módszer

Finomságok

Buktatók

Új változó bevezetése

A rekurziós fa módszer

Sejtés keresése

Bizonyítás a helyettesítomódszerrel

Mester módszer

A tétel

Amikor muködik

Amikor nem muködik

„Levezetés”

2.17

Szokásos jelölések és alapfüggvényekHatványok

A következo azonosságok teljesülnek minden a 6= 0, m, n valósszámra:

a0 = 1 a1 = 1 a−1 = 1/a

(am)n

= am·n (am)n

= (an)m an · am = an+m

Ha a ≥ 1, akkor az n változótól függo an függvény monotonnövekvo.A polinomok és hatványok növekedése a következoképpenhasonlítható össze.Minden a > 1 és b valós állandó esetén

limn→∞

nb

an = 0

amibolnb = o (an)

Azaz minden exponenciális függvény, amelynek alapjanagyobb 1-nél, gyorsabban növekszik, mint bármely polinomfüggvény.

Page 30: Szathmáry László Halász Gábor Függvények aszimptotikus …halasz/Adatszerk-PTI-2017/... · 2019-02-09 · Függvények aszimptotikus viselkedése Kósa Márk Pánovics János

Függvényekaszimptotikusviselkedése

Kósa MárkPánovics János

Szathmáry LászlóHalász Gábor

FüggvényeknövekedéseFüggvények aszimptotikusviselkedése

Aszimptotikus jelölésekképletekben

Aszimptotikusan nem éleskorlátok

Függvényekösszehasonlítása

Alapfüggvények

Rekurzívan megadottfüggvényekA helyettesíto módszer

Finomságok

Buktatók

Új változó bevezetése

A rekurziós fa módszer

Sejtés keresése

Bizonyítás a helyettesítomódszerrel

Mester módszer

A tétel

Amikor muködik

Amikor nem muködik

„Levezetés”

2.18

Szokásos jelölések és alapfüggvényekHatványok

A természetes logaritmus alapját e (= 2,71828 . . .) jelöli.Minden valós x-re

ex = 1 + x +x2

2!+

x3

3!+ · · · =

∞∑i=0

x i

i!

e = limn→∞

(1 +

1n

)n

ex ≥ 1 + x egyenloség csak, ha x = 0

1 + x ≤ ex ≤ 1 + x + x2 ha |x | ≤ 1

ex = 1 + x + Θ(x2) ha x → 0

Page 31: Szathmáry László Halász Gábor Függvények aszimptotikus …halasz/Adatszerk-PTI-2017/... · 2019-02-09 · Függvények aszimptotikus viselkedése Kósa Márk Pánovics János

Függvényekaszimptotikusviselkedése

Kósa MárkPánovics János

Szathmáry LászlóHalász Gábor

FüggvényeknövekedéseFüggvények aszimptotikusviselkedése

Aszimptotikus jelölésekképletekben

Aszimptotikusan nem éleskorlátok

Függvényekösszehasonlítása

Alapfüggvények

Rekurzívan megadottfüggvényekA helyettesíto módszer

Finomságok

Buktatók

Új változó bevezetése

A rekurziós fa módszer

Sejtés keresése

Bizonyítás a helyettesítomódszerrel

Mester módszer

A tétel

Amikor muködik

Amikor nem muködik

„Levezetés”

2.19

Szokásos jelölések és alapfüggvényekLogaritmusok

A következo jelöléseket fogjuk használni:

lg n = log2 n (kettes alapú logaritmus)ln n = loge n (természetes alapú logaritmus)

lgk n = (lg n)k (hatványozás)lg lg n = lg (lg n) (kompozíció)

lg n + k ≡ (lg n) + k

b > 1 és n > 0 esetén a logb n függvény sz. m. növekvo.Minden valós a > 0, b > 0, c > 0, x > −1 és n számra igaz:

a = blogb a logc (a · b) = logc a + logc b logb an = n · logb a

logb a=logc alogc b

logb1a

= − logb a logb a =1

loga b

alogb c = c logb a x1 + x

≤ ln (1 + x) ≤ x

ahol a logaritmus alapja soha nem 1.

Ha |x | ≤ 1,akkor: ln (1 + x) = x − x2

2 + x3

3 −x4

4 + x5

5 − . . .

Page 32: Szathmáry László Halász Gábor Függvények aszimptotikus …halasz/Adatszerk-PTI-2017/... · 2019-02-09 · Függvények aszimptotikus viselkedése Kósa Márk Pánovics János

Függvényekaszimptotikusviselkedése

Kósa MárkPánovics János

Szathmáry LászlóHalász Gábor

FüggvényeknövekedéseFüggvények aszimptotikusviselkedése

Aszimptotikus jelölésekképletekben

Aszimptotikusan nem éleskorlátok

Függvényekösszehasonlítása

Alapfüggvények

Rekurzívan megadottfüggvényekA helyettesíto módszer

Finomságok

Buktatók

Új változó bevezetése

A rekurziós fa módszer

Sejtés keresése

Bizonyítás a helyettesítomódszerrel

Mester módszer

A tétel

Amikor muködik

Amikor nem muködik

„Levezetés”

2.20

Szokásos jelölések és alapfüggvényekPolilogaritmikusan korlátos függvények

Korábban láttuk, hogy

limn→∞

nb

an = 0

Írjuk ezt most át a következo módon: n→ lg n ill. a→ 2a

limn→∞

(lg n)b

(2a)lg n = limn→∞

lgb nna = 0

innen pedig, bármely a > 0-ra

lgb n = o (na)

Azaz minden pozitív polinomfüggvény gyorsabban no, mintbármelyik polilogaritmikus függvény.

Page 33: Szathmáry László Halász Gábor Függvények aszimptotikus …halasz/Adatszerk-PTI-2017/... · 2019-02-09 · Függvények aszimptotikus viselkedése Kósa Márk Pánovics János

Függvényekaszimptotikusviselkedése

Kósa MárkPánovics János

Szathmáry LászlóHalász Gábor

FüggvényeknövekedéseFüggvények aszimptotikusviselkedése

Aszimptotikus jelölésekképletekben

Aszimptotikusan nem éleskorlátok

Függvényekösszehasonlítása

Alapfüggvények

Rekurzívan megadottfüggvényekA helyettesíto módszer

Finomságok

Buktatók

Új változó bevezetése

A rekurziós fa módszer

Sejtés keresése

Bizonyítás a helyettesítomódszerrel

Mester módszer

A tétel

Amikor muködik

Amikor nem muködik

„Levezetés”

2.21

Szokásos jelölések és alapfüggvényekFaktoriálisok

n ≥ 0 egészekre definiáljuk a faktoriális fogalmát:

n! =

1, ha n = 0,n · (n − 1)!, ha n > 0.

Egy „durva” korlát: n! ≤ nn.Ennél sokkal jobb közelítés a Stirling-formula:

n! =√

2πn(n

e

)n(

1 + Θ

(1n

))A Stirling-formula alapján belátható még, hogy

n! = o (nn)

n! = ω (2n)

lg (n!) = Θ (n lg n) .

Ezeken túlmenoen igaz még, hogy

n! =√

2πn(n

e

)neαn

ahol1

12n + 1< αn <

112n

.

Page 34: Szathmáry László Halász Gábor Függvények aszimptotikus …halasz/Adatszerk-PTI-2017/... · 2019-02-09 · Függvények aszimptotikus viselkedése Kósa Márk Pánovics János

Függvényekaszimptotikusviselkedése

Kósa MárkPánovics János

Szathmáry LászlóHalász Gábor

FüggvényeknövekedéseFüggvények aszimptotikusviselkedése

Aszimptotikus jelölésekképletekben

Aszimptotikusan nem éleskorlátok

Függvényekösszehasonlítása

Alapfüggvények

Rekurzívan megadottfüggvényekA helyettesíto módszer

Finomságok

Buktatók

Új változó bevezetése

A rekurziós fa módszer

Sejtés keresése

Bizonyítás a helyettesítomódszerrel

Mester módszer

A tétel

Amikor muködik

Amikor nem muködik

„Levezetés”

2.22

Szokásos jelölések és alapfüggvényekIterált függvények

Az f (n) függvény i-edik iterált függvényének definíciója(i ≥ 0 egész):

f (i) (n) =

n, ha i = 0,f(f (i−1) (n)

), ha i > 0.

Pl. f (n) = 2n esetén f (i)(n) = 2in.

Page 35: Szathmáry László Halász Gábor Függvények aszimptotikus …halasz/Adatszerk-PTI-2017/... · 2019-02-09 · Függvények aszimptotikus viselkedése Kósa Márk Pánovics János

Függvényekaszimptotikusviselkedése

Kósa MárkPánovics János

Szathmáry LászlóHalász Gábor

FüggvényeknövekedéseFüggvények aszimptotikusviselkedése

Aszimptotikus jelölésekképletekben

Aszimptotikusan nem éleskorlátok

Függvényekösszehasonlítása

Alapfüggvények

Rekurzívan megadottfüggvényekA helyettesíto módszer

Finomságok

Buktatók

Új változó bevezetése

A rekurziós fa módszer

Sejtés keresése

Bizonyítás a helyettesítomódszerrel

Mester módszer

A tétel

Amikor muködik

Amikor nem muködik

„Levezetés”

2.23

Szokásos jelölések és alapfüggvényekFibonacci-számok

A Fibonacci-számokat az alábbi rekurzió definiálja:

F0 = 0F1 = 1Fi = Fi−1 + Fi−2 ha i > 1

0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, . . . .A Fibonacci-számok kapcsolatban vannak az aranymetszés φarányával és annak φ konjugáltjával:

φ =1 +√

52

= 1.61803 . . .

φ =1−√

52

= −0.61803 . . .

Nevezetesen:Fi =

φi − φi√

5

Mivel∣∣∣φ∣∣∣ < 1, ezért

∣∣∣φ∣∣∣ /√5 < 1/√

5 < 1/2, így Fi

meghatározható, mint aφi/√

5-höz legközelebbi egész szám.

Page 36: Szathmáry László Halász Gábor Függvények aszimptotikus …halasz/Adatszerk-PTI-2017/... · 2019-02-09 · Függvények aszimptotikus viselkedése Kósa Márk Pánovics János

Függvényekaszimptotikusviselkedése

Kósa MárkPánovics János

Szathmáry LászlóHalász Gábor

FüggvényeknövekedéseFüggvények aszimptotikusviselkedése

Aszimptotikus jelölésekképletekben

Aszimptotikusan nem éleskorlátok

Függvényekösszehasonlítása

Alapfüggvények

Rekurzívan megadottfüggvényekA helyettesíto módszer

Finomságok

Buktatók

Új változó bevezetése

A rekurziós fa módszer

Sejtés keresése

Bizonyítás a helyettesítomódszerrel

Mester módszer

A tétel

Amikor muködik

Amikor nem muködik

„Levezetés”

2.24

Rekurzívan megadott függvények aszimptotikus viselkedése

Amint azt már korábban megemlítettük, ha egy algoritmusönmagát hívja többször egymás után, akkor futási idejegyakran jellemezheto rekurzióval.Például az ÖSSZEFÉSÜLO-RENDEZÉS T (n) legrosszabb futásiidejére azt írtuk, hogy

T (n) =

Θ (1) ha n = 1

2 · T (n/2) + Θ (n) egyébként

Page 37: Szathmáry László Halász Gábor Függvények aszimptotikus …halasz/Adatszerk-PTI-2017/... · 2019-02-09 · Függvények aszimptotikus viselkedése Kósa Márk Pánovics János

Függvényekaszimptotikusviselkedése

Kósa MárkPánovics János

Szathmáry LászlóHalász Gábor

FüggvényeknövekedéseFüggvények aszimptotikusviselkedése

Aszimptotikus jelölésekképletekben

Aszimptotikusan nem éleskorlátok

Függvényekösszehasonlítása

Alapfüggvények

Rekurzívan megadottfüggvényekA helyettesíto módszer

Finomságok

Buktatók

Új változó bevezetése

A rekurziós fa módszer

Sejtés keresése

Bizonyítás a helyettesítomódszerrel

Mester módszer

A tétel

Amikor muködik

Amikor nem muködik

„Levezetés”

2.25

Rekurzívan megadott függvények aszimptotikus viselkedéseEz a fejezet három módszert mutat az ehhez hasonló rekurziókmegoldására – azaz arra, hogyan kaphatunk aszimptotikus Θvagy O korlátokat a megoldásra.• A helyettesíto módszernél

• megsejtünk egy korlátot,• majd teljes indukcióval igazoljuk sejtésünk helyességét.

• A rekurziós fa módszerben• a rekurzív képlet alapján felépítünk egy fát, melyben egy

adott szinten lévo csúcsok a rekurzió adott mélységébenfellépo költségeknek felelnek meg;

• a rekurziót ezután az összegek becslésére szolgálómódszerekkel oldjuk meg.

• A mester módszer az alábbi alakú rekurzív egyenletekrealkalmazható , ha a ≥ 1 és b > 1:

T (n) = a · T(n

b

)+ f (n)

• Ehhez a módszerhez három esetet kell megjegyezni, de haezt egyszer megtesszük, utána már könnyedén tudunkaszimptotikus korlátot megadni sok egyszeru rekurzívképletre vonatkozóan.

Page 38: Szathmáry László Halász Gábor Függvények aszimptotikus …halasz/Adatszerk-PTI-2017/... · 2019-02-09 · Függvények aszimptotikus viselkedése Kósa Márk Pánovics János

Függvényekaszimptotikusviselkedése

Kósa MárkPánovics János

Szathmáry LászlóHalász Gábor

FüggvényeknövekedéseFüggvények aszimptotikusviselkedése

Aszimptotikus jelölésekképletekben

Aszimptotikusan nem éleskorlátok

Függvényekösszehasonlítása

Alapfüggvények

Rekurzívan megadottfüggvényekA helyettesíto módszer

Finomságok

Buktatók

Új változó bevezetése

A rekurziós fa módszer

Sejtés keresése

Bizonyítás a helyettesítomódszerrel

Mester módszer

A tétel

Amikor muködik

Amikor nem muködik

„Levezetés”

2.25

Rekurzívan megadott függvények aszimptotikus viselkedéseEz a fejezet három módszert mutat az ehhez hasonló rekurziókmegoldására – azaz arra, hogyan kaphatunk aszimptotikus Θvagy O korlátokat a megoldásra.• A helyettesíto módszernél

• megsejtünk egy korlátot,• majd teljes indukcióval igazoljuk sejtésünk helyességét.

• A rekurziós fa módszerben• a rekurzív képlet alapján felépítünk egy fát, melyben egy

adott szinten lévo csúcsok a rekurzió adott mélységébenfellépo költségeknek felelnek meg;

• a rekurziót ezután az összegek becslésére szolgálómódszerekkel oldjuk meg.

• A mester módszer az alábbi alakú rekurzív egyenletekrealkalmazható , ha a ≥ 1 és b > 1:

T (n) = a · T(n

b

)+ f (n)

• Ehhez a módszerhez három esetet kell megjegyezni, de haezt egyszer megtesszük, utána már könnyedén tudunkaszimptotikus korlátot megadni sok egyszeru rekurzívképletre vonatkozóan.

Page 39: Szathmáry László Halász Gábor Függvények aszimptotikus …halasz/Adatszerk-PTI-2017/... · 2019-02-09 · Függvények aszimptotikus viselkedése Kósa Márk Pánovics János

Függvényekaszimptotikusviselkedése

Kósa MárkPánovics János

Szathmáry LászlóHalász Gábor

FüggvényeknövekedéseFüggvények aszimptotikusviselkedése

Aszimptotikus jelölésekképletekben

Aszimptotikusan nem éleskorlátok

Függvényekösszehasonlítása

Alapfüggvények

Rekurzívan megadottfüggvényekA helyettesíto módszer

Finomságok

Buktatók

Új változó bevezetése

A rekurziós fa módszer

Sejtés keresése

Bizonyítás a helyettesítomódszerrel

Mester módszer

A tétel

Amikor muködik

Amikor nem muködik

„Levezetés”

2.25

Rekurzívan megadott függvények aszimptotikus viselkedéseEz a fejezet három módszert mutat az ehhez hasonló rekurziókmegoldására – azaz arra, hogyan kaphatunk aszimptotikus Θvagy O korlátokat a megoldásra.• A helyettesíto módszernél

• megsejtünk egy korlátot,• majd teljes indukcióval igazoljuk sejtésünk helyességét.

• A rekurziós fa módszerben• a rekurzív képlet alapján felépítünk egy fát, melyben egy

adott szinten lévo csúcsok a rekurzió adott mélységébenfellépo költségeknek felelnek meg;

• a rekurziót ezután az összegek becslésére szolgálómódszerekkel oldjuk meg.

• A mester módszer az alábbi alakú rekurzív egyenletekrealkalmazható , ha a ≥ 1 és b > 1:

T (n) = a · T(n

b

)+ f (n)

• Ehhez a módszerhez három esetet kell megjegyezni, de haezt egyszer megtesszük, utána már könnyedén tudunkaszimptotikus korlátot megadni sok egyszeru rekurzívképletre vonatkozóan.

Page 40: Szathmáry László Halász Gábor Függvények aszimptotikus …halasz/Adatszerk-PTI-2017/... · 2019-02-09 · Függvények aszimptotikus viselkedése Kósa Márk Pánovics János

Függvényekaszimptotikusviselkedése

Kósa MárkPánovics János

Szathmáry LászlóHalász Gábor

FüggvényeknövekedéseFüggvények aszimptotikusviselkedése

Aszimptotikus jelölésekképletekben

Aszimptotikusan nem éleskorlátok

Függvényekösszehasonlítása

Alapfüggvények

Rekurzívan megadottfüggvényekA helyettesíto módszer

Finomságok

Buktatók

Új változó bevezetése

A rekurziós fa módszer

Sejtés keresése

Bizonyítás a helyettesítomódszerrel

Mester módszer

A tétel

Amikor muködik

Amikor nem muködik

„Levezetés”

2.25

Rekurzívan megadott függvények aszimptotikus viselkedéseEz a fejezet három módszert mutat az ehhez hasonló rekurziókmegoldására – azaz arra, hogyan kaphatunk aszimptotikus Θvagy O korlátokat a megoldásra.• A helyettesíto módszernél

• megsejtünk egy korlátot,• majd teljes indukcióval igazoljuk sejtésünk helyességét.

• A rekurziós fa módszerben• a rekurzív képlet alapján felépítünk egy fát, melyben egy

adott szinten lévo csúcsok a rekurzió adott mélységébenfellépo költségeknek felelnek meg;

• a rekurziót ezután az összegek becslésére szolgálómódszerekkel oldjuk meg.

• A mester módszer az alábbi alakú rekurzív egyenletekrealkalmazható , ha a ≥ 1 és b > 1:

T (n) = a · T(n

b

)+ f (n)

• Ehhez a módszerhez három esetet kell megjegyezni, de haezt egyszer megtesszük, utána már könnyedén tudunkaszimptotikus korlátot megadni sok egyszeru rekurzívképletre vonatkozóan.

Page 41: Szathmáry László Halász Gábor Függvények aszimptotikus …halasz/Adatszerk-PTI-2017/... · 2019-02-09 · Függvények aszimptotikus viselkedése Kósa Márk Pánovics János

Függvényekaszimptotikusviselkedése

Kósa MárkPánovics János

Szathmáry LászlóHalász Gábor

FüggvényeknövekedéseFüggvények aszimptotikusviselkedése

Aszimptotikus jelölésekképletekben

Aszimptotikusan nem éleskorlátok

Függvényekösszehasonlítása

Alapfüggvények

Rekurzívan megadottfüggvényekA helyettesíto módszer

Finomságok

Buktatók

Új változó bevezetése

A rekurziós fa módszer

Sejtés keresése

Bizonyítás a helyettesítomódszerrel

Mester módszer

A tétel

Amikor muködik

Amikor nem muködik

„Levezetés”

2.26

Technikai részletek

A gyakorlatban a rekurzív problémák megfogalmazása ésmegoldása során bizonyos technikai részleteketelhanyagolunk. Pl.:

• az ÖSSZEFÉSÜLO-RENDEZÉS legrosszabb futási idejétleíró rekurzió valójában

T (n) =

Θ (1) ha n = 1

T(⌊ n

2

⌋)+ T

(⌈ n2

⌉)+ Θ (n) egyébként

• A kezdeti feltételek a részleteknek egy másik olyanjellegzetes csoportját alkotják, amelyet általábanelhanyagolunk.

• Mivel az algoritmus futási ideje állandó méretu bemenetesetén állandó, és így gyakran teljesül, hogy T (n) = Θ(1).Ezért ezt gyakran ki sem írjuk:

T (n) = 2 ∗ T (n/2) + Θ(n)

Ezek a részletek többnyire nem befolyásolják a megoldásaszimptotikus viselkedését ...

Page 42: Szathmáry László Halász Gábor Függvények aszimptotikus …halasz/Adatszerk-PTI-2017/... · 2019-02-09 · Függvények aszimptotikus viselkedése Kósa Márk Pánovics János

Függvényekaszimptotikusviselkedése

Kósa MárkPánovics János

Szathmáry LászlóHalász Gábor

FüggvényeknövekedéseFüggvények aszimptotikusviselkedése

Aszimptotikus jelölésekképletekben

Aszimptotikusan nem éleskorlátok

Függvényekösszehasonlítása

Alapfüggvények

Rekurzívan megadottfüggvényekA helyettesíto módszer

Finomságok

Buktatók

Új változó bevezetése

A rekurziós fa módszer

Sejtés keresése

Bizonyítás a helyettesítomódszerrel

Mester módszer

A tétel

Amikor muködik

Amikor nem muködik

„Levezetés”

2.27

A helyettesíto módszer

A rekurziók helyettesíto módszerrel való megoldása kétlépésbol áll:

1 Sejtsük meg a megoldást.2 Teljes indukcióval határozzuk meg az állandókat és

igazoljuk a megoldás helyességét.

Az elnevezés onnan ered, hogy a helyesnek vélt megoldást bekell helyettesíteni a függvénybe, miközben az indukciósfeltevést kisebb értékekre alkalmazzuk. Ez hatékony módszer,de nyilvánvalóan csak akkor alkalmazható, ha a helyes válaszkönnyen megsejtheto.

Page 43: Szathmáry László Halász Gábor Függvények aszimptotikus …halasz/Adatszerk-PTI-2017/... · 2019-02-09 · Függvények aszimptotikus viselkedése Kósa Márk Pánovics János

Függvényekaszimptotikusviselkedése

Kósa MárkPánovics János

Szathmáry LászlóHalász Gábor

FüggvényeknövekedéseFüggvények aszimptotikusviselkedése

Aszimptotikus jelölésekképletekben

Aszimptotikusan nem éleskorlátok

Függvényekösszehasonlítása

Alapfüggvények

Rekurzívan megadottfüggvényekA helyettesíto módszer

Finomságok

Buktatók

Új változó bevezetése

A rekurziós fa módszer

Sejtés keresése

Bizonyítás a helyettesítomódszerrel

Mester módszer

A tétel

Amikor muködik

Amikor nem muködik

„Levezetés”

2.28

A helyettesíto módszer

A helyettesíto módszer rekurzióval megadott függvény felsovagy alsó korlátjának a meghatározására is használható.Határozzuk meg a

T (n) = 2T(⌊n

2

⌋)+ n

rekurzív képlettel jellemzett függvény egy felso korlátját!

• Sejtésünk az, hogy a megoldás: T (n) = O(n lg n).• Módszerünk az, hogy bebizonyítjuk, megfeleloen

választott c > 0 állandóra T (n) ≤ cn lg n.

Page 44: Szathmáry László Halász Gábor Függvények aszimptotikus …halasz/Adatszerk-PTI-2017/... · 2019-02-09 · Függvények aszimptotikus viselkedése Kósa Márk Pánovics János

Függvényekaszimptotikusviselkedése

Kósa MárkPánovics János

Szathmáry LászlóHalász Gábor

FüggvényeknövekedéseFüggvények aszimptotikusviselkedése

Aszimptotikus jelölésekképletekben

Aszimptotikusan nem éleskorlátok

Függvényekösszehasonlítása

Alapfüggvények

Rekurzívan megadottfüggvényekA helyettesíto módszer

Finomságok

Buktatók

Új változó bevezetése

A rekurziós fa módszer

Sejtés keresése

Bizonyítás a helyettesítomódszerrel

Mester módszer

A tétel

Amikor muködik

Amikor nem muködik

„Levezetés”

2.29

A helyettesíto módszer

T (n) = 2T(⌊n

2

⌋)+ n

• Eloször is feltesszük, hogy ezzel a korláttal k0 ≤ k < n-reérvényes az egyenlotlenség, azaz T (k) ≤ c bkc lg(bkc).

• Ezt a rekurzív egyenletbe helyettesítve kapjuk, hogy(kihasználjuk, hogy: n/2 < n)

T (n) = 2T(⌊n

2

⌋)+ n ≤ 2c

⌊n2

⌋lg(⌊n

2

⌋) + n ≤ cn lg

n2

+ n

= cn lg n − cn lg 2 + n = cn lg n − cn + n ≤ cn lg nha c ≥ 1

• Most már csak n = 1-re kellene belátnunk azegyenlotlenséget. Csakhogy:

c · 1 · lg 1 = 0 T (1)

• A megoldás: T (n) = O(n lg n)-hez elég az egyenlotlenségetvalamely n0 után megkövetelni.

Page 45: Szathmáry László Halász Gábor Függvények aszimptotikus …halasz/Adatszerk-PTI-2017/... · 2019-02-09 · Függvények aszimptotikus viselkedése Kósa Márk Pánovics János

Függvényekaszimptotikusviselkedése

Kósa MárkPánovics János

Szathmáry LászlóHalász Gábor

FüggvényeknövekedéseFüggvények aszimptotikusviselkedése

Aszimptotikus jelölésekképletekben

Aszimptotikusan nem éleskorlátok

Függvényekösszehasonlítása

Alapfüggvények

Rekurzívan megadottfüggvényekA helyettesíto módszer

Finomságok

Buktatók

Új változó bevezetése

A rekurziós fa módszer

Sejtés keresése

Bizonyítás a helyettesítomódszerrel

Mester módszer

A tétel

Amikor muködik

Amikor nem muködik

„Levezetés”

2.30

A helyettesíto módszer

Sajnos, nincs általános szabály a megoldás megsejtésére.A jó sejtés kitalálásához

• gyakorlatra, és néha• találékonyságra van szükség.

Szerencsére azonban van néhány heurisztikus módszer, amelysegít kitalálni a jó sejtést.Segíthet pl. a rekurziós fa módszer használata is.Az is segíthet, ha hasonlóságot fedezünk fel már ismert ésmegoldott rekurzióhoz:

T (n) = 2T(⌊n

2

⌋+ 17

)+ 3n

esetén pl. azonnal gondolnunk kell a

Page 46: Szathmáry László Halász Gábor Függvények aszimptotikus …halasz/Adatszerk-PTI-2017/... · 2019-02-09 · Függvények aszimptotikus viselkedése Kósa Márk Pánovics János

Függvényekaszimptotikusviselkedése

Kósa MárkPánovics János

Szathmáry LászlóHalász Gábor

FüggvényeknövekedéseFüggvények aszimptotikusviselkedése

Aszimptotikus jelölésekképletekben

Aszimptotikusan nem éleskorlátok

Függvényekösszehasonlítása

Alapfüggvények

Rekurzívan megadottfüggvényekA helyettesíto módszer

Finomságok

Buktatók

Új változó bevezetése

A rekurziós fa módszer

Sejtés keresése

Bizonyítás a helyettesítomódszerrel

Mester módszer

A tétel

Amikor muködik

Amikor nem muködik

„Levezetés”

2.30

A helyettesíto módszer

Sajnos, nincs általános szabály a megoldás megsejtésére.A jó sejtés kitalálásához

• gyakorlatra, és néha• találékonyságra van szükség.

Szerencsére azonban van néhány heurisztikus módszer, amelysegít kitalálni a jó sejtést.Segíthet pl. a rekurziós fa módszer használata is.Az is segíthet, ha hasonlóságot fedezünk fel már ismert ésmegoldott rekurzióhoz:

T (n) = 2T(⌊n

2

⌋+ 17

)+ 3n

esetén pl. azonnal gondolnunk kell a

T (n) = O(n lg n)

lehetoségre.

Page 47: Szathmáry László Halász Gábor Függvények aszimptotikus …halasz/Adatszerk-PTI-2017/... · 2019-02-09 · Függvények aszimptotikus viselkedése Kósa Márk Pánovics János

Függvényekaszimptotikusviselkedése

Kósa MárkPánovics János

Szathmáry LászlóHalász Gábor

FüggvényeknövekedéseFüggvények aszimptotikusviselkedése

Aszimptotikus jelölésekképletekben

Aszimptotikusan nem éleskorlátok

Függvényekösszehasonlítása

Alapfüggvények

Rekurzívan megadottfüggvényekA helyettesíto módszer

Finomságok

Buktatók

Új változó bevezetése

A rekurziós fa módszer

Sejtés keresése

Bizonyítás a helyettesítomódszerrel

Mester módszer

A tétel

Amikor muködik

Amikor nem muködik

„Levezetés”

2.31

A helyettesíto módszerFinomságok

Tekintsük a következo rekurzív egyenletet:

T (n) = 2T (n/2) + 1.

Erre az esetre „mindenki” elso gondolata:T (n) = O(n).Próbáljuk meg bizonyítani:

• Tegyük fel, hogy 1 ≤ k < n esetén teljesül: T (k) ≤ c · k .• Számoljuk ki T (n) értékét:

T (n) = 2T (n/2) + 1 ≤ 2 · c · n/2 + 1 = c · n + 1 c · n

• Hogyan tovább?• Tegyük fel, hogy T (k) ≤ c · k − b• Számoljuk ki T (n) értékét:

T (n) = 2T (n/2)+1 ≤ 2·(c·n/2−b)+1 = c·n−2b+1 ≤ c·n−b,

legalábbis meg tudjuk b-t úgy választani, hogy teljesüljön azegyenlotlenség.

Page 48: Szathmáry László Halász Gábor Függvények aszimptotikus …halasz/Adatszerk-PTI-2017/... · 2019-02-09 · Függvények aszimptotikus viselkedése Kósa Márk Pánovics János

Függvényekaszimptotikusviselkedése

Kósa MárkPánovics János

Szathmáry LászlóHalász Gábor

FüggvényeknövekedéseFüggvények aszimptotikusviselkedése

Aszimptotikus jelölésekképletekben

Aszimptotikusan nem éleskorlátok

Függvényekösszehasonlítása

Alapfüggvények

Rekurzívan megadottfüggvényekA helyettesíto módszer

Finomságok

Buktatók

Új változó bevezetése

A rekurziós fa módszer

Sejtés keresése

Bizonyítás a helyettesítomódszerrel

Mester módszer

A tétel

Amikor muködik

Amikor nem muködik

„Levezetés”

2.31

A helyettesíto módszerFinomságok

Tekintsük a következo rekurzív egyenletet:

T (n) = 2T (n/2) + 1.

Erre az esetre „mindenki” elso gondolata:T (n) = O(n).Próbáljuk meg bizonyítani:

• Tegyük fel, hogy 1 ≤ k < n esetén teljesül: T (k) ≤ c · k .• Számoljuk ki T (n) értékét:

T (n) = 2T (n/2) + 1 ≤ 2 · c · n/2 + 1 = c · n + 1 c · n

• Hogyan tovább?• Tegyük fel, hogy T (k) ≤ c · k − b• Számoljuk ki T (n) értékét:

T (n) = 2T (n/2)+1 ≤ 2·(c·n/2−b)+1 = c·n−2b+1 ≤ c·n−b,

legalábbis meg tudjuk b-t úgy választani, hogy teljesüljön azegyenlotlenség.

Page 49: Szathmáry László Halász Gábor Függvények aszimptotikus …halasz/Adatszerk-PTI-2017/... · 2019-02-09 · Függvények aszimptotikus viselkedése Kósa Márk Pánovics János

Függvényekaszimptotikusviselkedése

Kósa MárkPánovics János

Szathmáry LászlóHalász Gábor

FüggvényeknövekedéseFüggvények aszimptotikusviselkedése

Aszimptotikus jelölésekképletekben

Aszimptotikusan nem éleskorlátok

Függvényekösszehasonlítása

Alapfüggvények

Rekurzívan megadottfüggvényekA helyettesíto módszer

Finomságok

Buktatók

Új változó bevezetése

A rekurziós fa módszer

Sejtés keresése

Bizonyítás a helyettesítomódszerrel

Mester módszer

A tétel

Amikor muködik

Amikor nem muködik

„Levezetés”

2.31

A helyettesíto módszerFinomságok

Tekintsük a következo rekurzív egyenletet:

T (n) = 2T (n/2) + 1.

Erre az esetre „mindenki” elso gondolata:T (n) = O(n).Próbáljuk meg bizonyítani:

• Tegyük fel, hogy 1 ≤ k < n esetén teljesül: T (k) ≤ c · k .• Számoljuk ki T (n) értékét:

T (n) = 2T (n/2) + 1 ≤ 2 · c · n/2 + 1 = c · n + 1 c · n

• Hogyan tovább?• Tegyük fel, hogy T (k) ≤ c · k − b• Számoljuk ki T (n) értékét:

T (n) = 2T (n/2)+1 ≤ 2·(c·n/2−b)+1 = c·n−2b+1 ≤ c·n−b,

legalábbis meg tudjuk b-t úgy választani, hogy teljesüljön azegyenlotlenség.

Page 50: Szathmáry László Halász Gábor Függvények aszimptotikus …halasz/Adatszerk-PTI-2017/... · 2019-02-09 · Függvények aszimptotikus viselkedése Kósa Márk Pánovics János

Függvényekaszimptotikusviselkedése

Kósa MárkPánovics János

Szathmáry LászlóHalász Gábor

FüggvényeknövekedéseFüggvények aszimptotikusviselkedése

Aszimptotikus jelölésekképletekben

Aszimptotikusan nem éleskorlátok

Függvényekösszehasonlítása

Alapfüggvények

Rekurzívan megadottfüggvényekA helyettesíto módszer

Finomságok

Buktatók

Új változó bevezetése

A rekurziós fa módszer

Sejtés keresése

Bizonyítás a helyettesítomódszerrel

Mester módszer

A tétel

Amikor muködik

Amikor nem muködik

„Levezetés”

2.32

A helyettesíto módszerBuktatók

• Rekurzió:T (n) = 2T (n/2) + n

• sejtés: kis k egészekre teljesül, hogy

T (k) ≤ c · (k)

• bizonyítás:

T (n) = 2T (n/2) + n ≤ 2 · c · (n/2) + n = c · n + n ∈ O(n)

Hol a hiba?

• Nem bizonyítottuk az indukciós feltevés pontos alakját:

T (n) ≤ c · n

ill. máshonnan közelítve:

c · n + n ∈ O(n) ; T (n) ∈ O(n)

Page 51: Szathmáry László Halász Gábor Függvények aszimptotikus …halasz/Adatszerk-PTI-2017/... · 2019-02-09 · Függvények aszimptotikus viselkedése Kósa Márk Pánovics János

Függvényekaszimptotikusviselkedése

Kósa MárkPánovics János

Szathmáry LászlóHalász Gábor

FüggvényeknövekedéseFüggvények aszimptotikusviselkedése

Aszimptotikus jelölésekképletekben

Aszimptotikusan nem éleskorlátok

Függvényekösszehasonlítása

Alapfüggvények

Rekurzívan megadottfüggvényekA helyettesíto módszer

Finomságok

Buktatók

Új változó bevezetése

A rekurziós fa módszer

Sejtés keresése

Bizonyítás a helyettesítomódszerrel

Mester módszer

A tétel

Amikor muködik

Amikor nem muködik

„Levezetés”

2.32

A helyettesíto módszerBuktatók

• Rekurzió:T (n) = 2T (n/2) + n

• sejtés: kis k egészekre teljesül, hogy

T (k) ≤ c · (k)

• bizonyítás:

T (n) = 2T (n/2) + n ≤ 2 · c · (n/2) + n = c · n + n ∈ O(n)

Hol a hiba?

• Nem bizonyítottuk az indukciós feltevés pontos alakját:

T (n) ≤ c · n

ill. máshonnan közelítve:

c · n + n ∈ O(n) ; T (n) ∈ O(n)

Page 52: Szathmáry László Halász Gábor Függvények aszimptotikus …halasz/Adatszerk-PTI-2017/... · 2019-02-09 · Függvények aszimptotikus viselkedése Kósa Márk Pánovics János

Függvényekaszimptotikusviselkedése

Kósa MárkPánovics János

Szathmáry LászlóHalász Gábor

FüggvényeknövekedéseFüggvények aszimptotikusviselkedése

Aszimptotikus jelölésekképletekben

Aszimptotikusan nem éleskorlátok

Függvényekösszehasonlítása

Alapfüggvények

Rekurzívan megadottfüggvényekA helyettesíto módszer

Finomságok

Buktatók

Új változó bevezetése

A rekurziós fa módszer

Sejtés keresése

Bizonyítás a helyettesítomódszerrel

Mester módszer

A tétel

Amikor muködik

Amikor nem muködik

„Levezetés”

2.33

A helyettesíto módszerÚj változó bevezetése

• LegyenT (n) = 2T (

√n) + lg n.

• ???• Vezessük be az m = lg n új változót! Ekkor:

T (2m) = 2T (2m/2) + m.

• Írjuk fel az S(m) = T (2m) függvényre vonatkozó rekurziósformulát:

S(m) = 2S(m/2) + m

Ismeros valahonnan?• Megoldás:

S(m) = O(m lg m)

ill.

T (n) = T (2m) = S(m) = O(m lg m) = O(lg n lg(2) n)

Page 53: Szathmáry László Halász Gábor Függvények aszimptotikus …halasz/Adatszerk-PTI-2017/... · 2019-02-09 · Függvények aszimptotikus viselkedése Kósa Márk Pánovics János

Függvényekaszimptotikusviselkedése

Kósa MárkPánovics János

Szathmáry LászlóHalász Gábor

FüggvényeknövekedéseFüggvények aszimptotikusviselkedése

Aszimptotikus jelölésekképletekben

Aszimptotikusan nem éleskorlátok

Függvényekösszehasonlítása

Alapfüggvények

Rekurzívan megadottfüggvényekA helyettesíto módszer

Finomságok

Buktatók

Új változó bevezetése

A rekurziós fa módszer

Sejtés keresése

Bizonyítás a helyettesítomódszerrel

Mester módszer

A tétel

Amikor muködik

Amikor nem muködik

„Levezetés”

2.33

A helyettesíto módszerÚj változó bevezetése

• LegyenT (n) = 2T (

√n) + lg n.

• ???• Vezessük be az m = lg n új változót! Ekkor:

T (2m) = 2T (2m/2) + m.

• Írjuk fel az S(m) = T (2m) függvényre vonatkozó rekurziósformulát:

S(m) = 2S(m/2) + m

Ismeros valahonnan?• Megoldás:

S(m) = O(m lg m)

ill.

T (n) = T (2m) = S(m) = O(m lg m) = O(lg n lg(2) n)

Page 54: Szathmáry László Halász Gábor Függvények aszimptotikus …halasz/Adatszerk-PTI-2017/... · 2019-02-09 · Függvények aszimptotikus viselkedése Kósa Márk Pánovics János

Függvényekaszimptotikusviselkedése

Kósa MárkPánovics János

Szathmáry LászlóHalász Gábor

FüggvényeknövekedéseFüggvények aszimptotikusviselkedése

Aszimptotikus jelölésekképletekben

Aszimptotikusan nem éleskorlátok

Függvényekösszehasonlítása

Alapfüggvények

Rekurzívan megadottfüggvényekA helyettesíto módszer

Finomságok

Buktatók

Új változó bevezetése

A rekurziós fa módszer

Sejtés keresése

Bizonyítás a helyettesítomódszerrel

Mester módszer

A tétel

Amikor muködik

Amikor nem muködik

„Levezetés”

2.33

A helyettesíto módszerÚj változó bevezetése

• LegyenT (n) = 2T (

√n) + lg n.

• ???• Vezessük be az m = lg n új változót! Ekkor:

T (2m) = 2T (2m/2) + m.

• Írjuk fel az S(m) = T (2m) függvényre vonatkozó rekurziósformulát:

S(m) = 2S(m/2) + m

Ismeros valahonnan?• Megoldás:

S(m) = O(m lg m)

ill.

T (n) = T (2m) = S(m) = O(m lg m) = O(lg n lg(2) n)

Page 55: Szathmáry László Halász Gábor Függvények aszimptotikus …halasz/Adatszerk-PTI-2017/... · 2019-02-09 · Függvények aszimptotikus viselkedése Kósa Márk Pánovics János

Függvényekaszimptotikusviselkedése

Kósa MárkPánovics János

Szathmáry LászlóHalász Gábor

FüggvényeknövekedéseFüggvények aszimptotikusviselkedése

Aszimptotikus jelölésekképletekben

Aszimptotikusan nem éleskorlátok

Függvényekösszehasonlítása

Alapfüggvények

Rekurzívan megadottfüggvényekA helyettesíto módszer

Finomságok

Buktatók

Új változó bevezetése

A rekurziós fa módszer

Sejtés keresése

Bizonyítás a helyettesítomódszerrel

Mester módszer

A tétel

Amikor muködik

Amikor nem muködik

„Levezetés”

2.34

A rekurziós fa módszerEgyszer már használtuk is a módszert.

• Az ÖSSZEFÉSÜLO-RENDEZÉS futási idejénekszámolására.

A rekurziós fa minden egyes csúcsa egy részfeladatnak felelmeg:

• a függvény kiértékelésekor végrehajtódó minden rekurzióshíváshoz tartozik egy csúcs.

• Szintenként összegezzük a csúcsok költségét,• majd az így kapott szintenkénti költségeket összegezzük,

hogy megkapjuk a teljes költséget.

Oszd-meg-és-uralkodj elvet használó algoritmusokelemzésénél a rekurziós fa nagyon kényelmes eszköznekbizonyul.A rekurziós fa módszert leginkább egy jó sejtés megtalálásáraérdemes használni, amit aztán a helyettesíto módszerrelellenorzünk.

• Ilyenkor elegendo a számolást „nagyvonalúan” elvégezni.

Page 56: Szathmáry László Halász Gábor Függvények aszimptotikus …halasz/Adatszerk-PTI-2017/... · 2019-02-09 · Függvények aszimptotikus viselkedése Kósa Márk Pánovics János

Függvényekaszimptotikusviselkedése

Kósa MárkPánovics János

Szathmáry LászlóHalász Gábor

FüggvényeknövekedéseFüggvények aszimptotikusviselkedése

Aszimptotikus jelölésekképletekben

Aszimptotikusan nem éleskorlátok

Függvényekösszehasonlítása

Alapfüggvények

Rekurzívan megadottfüggvényekA helyettesíto módszer

Finomságok

Buktatók

Új változó bevezetése

A rekurziós fa módszer

Sejtés keresése

Bizonyítás a helyettesítomódszerrel

Mester módszer

A tétel

Amikor muködik

Amikor nem muködik

„Levezetés”

2.35

A rekurziós fa módszerSejtés keresése

• Példaként nézzük meg aT (n) = 3T (⌊ n

4

⌋) + Θ(n2)rekurziót!

• A T (n) = 3T (n/4) + cn2 egyenletbol az alábbi fát kapjuk:

• Majd végül ...

Page 57: Szathmáry László Halász Gábor Függvények aszimptotikus …halasz/Adatszerk-PTI-2017/... · 2019-02-09 · Függvények aszimptotikus viselkedése Kósa Márk Pánovics János

Függvényekaszimptotikusviselkedése

Kósa MárkPánovics János

Szathmáry LászlóHalász Gábor

FüggvényeknövekedéseFüggvények aszimptotikusviselkedése

Aszimptotikus jelölésekképletekben

Aszimptotikusan nem éleskorlátok

Függvényekösszehasonlítása

Alapfüggvények

Rekurzívan megadottfüggvényekA helyettesíto módszer

Finomságok

Buktatók

Új változó bevezetése

A rekurziós fa módszer

Sejtés keresése

Bizonyítás a helyettesítomódszerrel

Mester módszer

A tétel

Amikor muködik

Amikor nem muködik

„Levezetés”

2.36

A rekurziós fa módszerSejtés keresése

T (n) =

log4 n−1∑i=0

(3

16

)i

cn2 + Θ(nlog4 3) =1−

( 316

)log4 n

1− 316

cn2 + Θ(nlog4 3)

<1

1− 316

cn2 + Θ(nlog4 3) =1613

cn2 + Θ(nlog4 3)

T (n) = O(n2)(

3log4 n =(4log4 3)log4 n

=(4log4 n)log4 3

= nlog4 3)

Page 58: Szathmáry László Halász Gábor Függvények aszimptotikus …halasz/Adatszerk-PTI-2017/... · 2019-02-09 · Függvények aszimptotikus viselkedése Kósa Márk Pánovics János

Függvényekaszimptotikusviselkedése

Kósa MárkPánovics János

Szathmáry LászlóHalász Gábor

FüggvényeknövekedéseFüggvények aszimptotikusviselkedése

Aszimptotikus jelölésekképletekben

Aszimptotikusan nem éleskorlátok

Függvényekösszehasonlítása

Alapfüggvények

Rekurzívan megadottfüggvényekA helyettesíto módszer

Finomságok

Buktatók

Új változó bevezetése

A rekurziós fa módszer

Sejtés keresése

Bizonyítás a helyettesítomódszerrel

Mester módszer

A tétel

Amikor muködik

Amikor nem muködik

„Levezetés”

2.37

A rekurziós fa módszerBizonyítás a helyettesíto módszerrel

• Ha kis k egészekre már igaz, hogy

T (k) ≤ d · k2

akkor

T (n) = 3T(⌊n

4

⌋)+ Θ(n2) ≤ 3T

(⌊n4

⌋)+ cn2 ≤ 3d

(⌊n4

⌋)2+ cn2

≤ 3d(n

4

)2+ cn2 =

316

dn2 + cn2 ≤ dn2

amennyiben teljesül, hogy: d ≥ 1613

c(⇐⇒ c ≤ 13

16d)

amibol már következik, hogy T (n) = O(n2)

• Mivel T (n) = 3T(⌊ n

4

⌋)+ Θ(n2),

nyilvánvalóanT (n) = Ω(n2),• és így T (n) = Θ(n2).

Page 59: Szathmáry László Halász Gábor Függvények aszimptotikus …halasz/Adatszerk-PTI-2017/... · 2019-02-09 · Függvények aszimptotikus viselkedése Kósa Márk Pánovics János

Függvényekaszimptotikusviselkedése

Kósa MárkPánovics János

Szathmáry LászlóHalász Gábor

FüggvényeknövekedéseFüggvények aszimptotikusviselkedése

Aszimptotikus jelölésekképletekben

Aszimptotikusan nem éleskorlátok

Függvényekösszehasonlítása

Alapfüggvények

Rekurzívan megadottfüggvényekA helyettesíto módszer

Finomságok

Buktatók

Új változó bevezetése

A rekurziós fa módszer

Sejtés keresése

Bizonyítás a helyettesítomódszerrel

Mester módszer

A tétel

Amikor muködik

Amikor nem muködik

„Levezetés”

2.38

A rekurziós fa módszerEgy picit bonyolultabb példa

• Tekintsük az alábbi rekurziót:

T (n) = T (n/3) + T (2n/3) + O(n)

• A megfelelo rekurziós fa

n→ 23 n→

( 23

)2n→ . . .→ 1,

innen( 2

3

)kn = 1, azaz n =

( 32

)k(„túloztunk”)

Page 60: Szathmáry László Halász Gábor Függvények aszimptotikus …halasz/Adatszerk-PTI-2017/... · 2019-02-09 · Függvények aszimptotikus viselkedése Kósa Márk Pánovics János

Függvényekaszimptotikusviselkedése

Kósa MárkPánovics János

Szathmáry LászlóHalász Gábor

FüggvényeknövekedéseFüggvények aszimptotikusviselkedése

Aszimptotikus jelölésekképletekben

Aszimptotikusan nem éleskorlátok

Függvényekösszehasonlítása

Alapfüggvények

Rekurzívan megadottfüggvényekA helyettesíto módszer

Finomságok

Buktatók

Új változó bevezetése

A rekurziós fa módszer

Sejtés keresése

Bizonyítás a helyettesítomódszerrel

Mester módszer

A tétel

Amikor muködik

Amikor nem muködik

„Levezetés”

2.38

A rekurziós fa módszerEgy picit bonyolultabb példa

• Tekintsük az alábbi rekurziót:

T (n) = T (n/3) + T (2n/3) + O(n)

• A megfelelo rekurziós fa

n→ 23 n→

( 23

)2n→ . . .→ 1,

innen( 2

3

)kn = 1, azaz n =

( 32

)k(„túloztunk”)

Page 61: Szathmáry László Halász Gábor Függvények aszimptotikus …halasz/Adatszerk-PTI-2017/... · 2019-02-09 · Függvények aszimptotikus viselkedése Kósa Márk Pánovics János

Függvényekaszimptotikusviselkedése

Kósa MárkPánovics János

Szathmáry LászlóHalász Gábor

FüggvényeknövekedéseFüggvények aszimptotikusviselkedése

Aszimptotikus jelölésekképletekben

Aszimptotikusan nem éleskorlátok

Függvényekösszehasonlítása

Alapfüggvények

Rekurzívan megadottfüggvényekA helyettesíto módszer

Finomságok

Buktatók

Új változó bevezetése

A rekurziós fa módszer

Sejtés keresése

Bizonyítás a helyettesítomódszerrel

Mester módszer

A tétel

Amikor muködik

Amikor nem muködik

„Levezetés”

2.39

A rekurziós fa módszerSejtés alapján helyettesíto módszer

• Induljunk ki a feltételezésbol, hogy kis k egészekrealkalmas d-vel: T (k) ≤ d · k lg k

T (n) = T (n/3) + T (2n/3) + O(n) ≤ T (n/3) + T (2n/3) + cn

≤ dn3

lgn3

+ d2n3

lg2n3

+ cn

= dn3

(lg n − lg 3) + d2n3

(lg n − lg

32

)+ cn

= dn lg n − d(

n3

lg 3 +2n3

lg 3− 2n3

lg 2)

+ cn

= dn lg n − dn(

lg 3− 23

)+ cn

= dn lg n −(

d(

lg 3− 23

)− c)

n ≤ dn lg n

amennyiben: d(

lg 3− 23

)> c

Page 62: Szathmáry László Halász Gábor Függvények aszimptotikus …halasz/Adatszerk-PTI-2017/... · 2019-02-09 · Függvények aszimptotikus viselkedése Kósa Márk Pánovics János

Függvényekaszimptotikusviselkedése

Kósa MárkPánovics János

Szathmáry LászlóHalász Gábor

FüggvényeknövekedéseFüggvények aszimptotikusviselkedése

Aszimptotikus jelölésekképletekben

Aszimptotikusan nem éleskorlátok

Függvényekösszehasonlítása

Alapfüggvények

Rekurzívan megadottfüggvényekA helyettesíto módszer

Finomságok

Buktatók

Új változó bevezetése

A rekurziós fa módszer

Sejtés keresése

Bizonyítás a helyettesítomódszerrel

Mester módszer

A tétel

Amikor muködik

Amikor nem muködik

„Levezetés”

2.40

Mester módszer

• A mester módszer receptet ad a

T (n) = aT(n

b

)+ f (n)

alakú rekurzív egyenletek megoldására, ahol• a ≥ 1 és• b > 1 állandók,• és az f (n) aszimptotikusa pozitív függvény.

• Szemléletesen, egy rekurzív eljárás az eredeti problémát• felosztja a darab, egyenként n/b méretu részproblémára,• a felosztás és az összevonás együttesen f (n) lépésben

valósul meg.• Belátható, hogy amennyiben n/b helyére (valamelyik)

egészrészét írjuk(⌊ n

b

⌋vagy

⌈ nb

⌉),

• az nem érinti a „lényeget”

• A mester módszer alkalmazásához három esetet kellmegjegyezni, ezután sok rekurzív egyenlet megoldásakönnyen, sok esetben papír és ceruza nélkül,meghatározható.

Page 63: Szathmáry László Halász Gábor Függvények aszimptotikus …halasz/Adatszerk-PTI-2017/... · 2019-02-09 · Függvények aszimptotikus viselkedése Kósa Márk Pánovics János

Függvényekaszimptotikusviselkedése

Kósa MárkPánovics János

Szathmáry LászlóHalász Gábor

FüggvényeknövekedéseFüggvények aszimptotikusviselkedése

Aszimptotikus jelölésekképletekben

Aszimptotikusan nem éleskorlátok

Függvényekösszehasonlítása

Alapfüggvények

Rekurzívan megadottfüggvényekA helyettesíto módszer

Finomságok

Buktatók

Új változó bevezetése

A rekurziós fa módszer

Sejtés keresése

Bizonyítás a helyettesítomódszerrel

Mester módszer

A tétel

Amikor muködik

Amikor nem muködik

„Levezetés”

2.41

Mester módszer

Theorem (Mester tétel)

Legyenek a ≥ 1, b > 1 állandók, f (n) egy függvény, T (n) pedig anemnegatív egészeken a

T (n) = aT(n

b

)+ f (n)

rekurzív egyenlettel definiált függvény, ahol n/b jelentheti akáraz bn/bc egészrészt, akár az dn/be egészrészt. Ekkor:

1 Ha f (n) = O(nlogb a−ε), egy ε > 0 állandóval, akkor

−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−→T (n) = Θ(nlogb a).

2 Ha f (n) = Θ(nlogb a), akkor

−−−−−−−−−−−−−−−−−→T (n) = Θ(nlogb a lg n

)(= Θ (f (n) lg n)).

3 Ha f (n) = Ω(nlogb a+ε

)és a · f (n/b) ≤ c · f (n) valamely ε > 0

és c < 1 állandóra és elég nagy n-re, akkor−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−→T (n) = Θ (f (n)).

Page 64: Szathmáry László Halász Gábor Függvények aszimptotikus …halasz/Adatszerk-PTI-2017/... · 2019-02-09 · Függvények aszimptotikus viselkedése Kósa Márk Pánovics János

Függvényekaszimptotikusviselkedése

Kósa MárkPánovics János

Szathmáry LászlóHalász Gábor

FüggvényeknövekedéseFüggvények aszimptotikusviselkedése

Aszimptotikus jelölésekképletekben

Aszimptotikusan nem éleskorlátok

Függvényekösszehasonlítása

Alapfüggvények

Rekurzívan megadottfüggvényekA helyettesíto módszer

Finomságok

Buktatók

Új változó bevezetése

A rekurziós fa módszer

Sejtés keresése

Bizonyítás a helyettesítomódszerrel

Mester módszer

A tétel

Amikor muködik

Amikor nem muködik

„Levezetés”

2.42

Mester módszer használata1. eset

Ha f (n) = O(nlogb a−ε), egy ε > 0 állandóval, akkor

−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−→T (n) = Θ(nlogb a).

• T (n) = 9T (n/3) + n

• a = 9, b = 3 és f (n) = n

• nlogb a = nlog3 9 = n2

• f (n) = O(nlog3 9−ε), ha 0 < ε ≤ 1

• =⇒ T (n) = Θ(n2)

Page 65: Szathmáry László Halász Gábor Függvények aszimptotikus …halasz/Adatszerk-PTI-2017/... · 2019-02-09 · Függvények aszimptotikus viselkedése Kósa Márk Pánovics János

Függvényekaszimptotikusviselkedése

Kósa MárkPánovics János

Szathmáry LászlóHalász Gábor

FüggvényeknövekedéseFüggvények aszimptotikusviselkedése

Aszimptotikus jelölésekképletekben

Aszimptotikusan nem éleskorlátok

Függvényekösszehasonlítása

Alapfüggvények

Rekurzívan megadottfüggvényekA helyettesíto módszer

Finomságok

Buktatók

Új változó bevezetése

A rekurziós fa módszer

Sejtés keresése

Bizonyítás a helyettesítomódszerrel

Mester módszer

A tétel

Amikor muködik

Amikor nem muködik

„Levezetés”

2.43

Mester módszer használata2. eset

Ha f (n) = Θ(nlogb a), akkor

−−−−−−−−−−−−−−−−−−−−−→T (n) = Θ(nlogb a lg n

)(= Θ (f (n) lg n)).

• T (n) = T (2n/3) + 1

• a = 1, b = 3/2 és f (n) = n

• nlogb a = nlog3/2 1 = n0

• f (n) = O(nlog3/2 1),

• =⇒ T (n) = Θ(nlog3/2 1 lg n) = Θ(lg n)

Page 66: Szathmáry László Halász Gábor Függvények aszimptotikus …halasz/Adatszerk-PTI-2017/... · 2019-02-09 · Függvények aszimptotikus viselkedése Kósa Márk Pánovics János

Függvényekaszimptotikusviselkedése

Kósa MárkPánovics János

Szathmáry LászlóHalász Gábor

FüggvényeknövekedéseFüggvények aszimptotikusviselkedése

Aszimptotikus jelölésekképletekben

Aszimptotikusan nem éleskorlátok

Függvényekösszehasonlítása

Alapfüggvények

Rekurzívan megadottfüggvényekA helyettesíto módszer

Finomságok

Buktatók

Új változó bevezetése

A rekurziós fa módszer

Sejtés keresése

Bizonyítás a helyettesítomódszerrel

Mester módszer

A tétel

Amikor muködik

Amikor nem muködik

„Levezetés”

2.44

Mester módszer használata3. eset

Ha f (n) = Ω(nlogb a+ε

)és a · f (n/b) ≤ c · f (n) valamely ε > 0 és

c < 1 állandóra és elég nagy n-re, akkor

−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−→T (n) = Θ (f (n)).

• T (n) = 3T (n/4) + n lg n

• a = 3, b = 4 és f (n) = n lg n

• nlogb a = nlog4 3 = O(n0.793) (log4 3 < 0.793)

• f (n) = Ω(nlog4 3+ε),ha 0 < ε < 0.2

• Már csak azt kell megmutatnunk nagy n-ekre, hogy:a · f (n/b) ≤ c · f (n)

• a · f (n/b) = 3(n/4) ln(n/4) ≤ (3/4)n lg n = 0.75 · f (n)

• =⇒ T (n) = Θ(f (n)) = Θ(n ln n)

Page 67: Szathmáry László Halász Gábor Függvények aszimptotikus …halasz/Adatszerk-PTI-2017/... · 2019-02-09 · Függvények aszimptotikus viselkedése Kósa Márk Pánovics János

Függvényekaszimptotikusviselkedése

Kósa MárkPánovics János

Szathmáry LászlóHalász Gábor

FüggvényeknövekedéseFüggvények aszimptotikusviselkedése

Aszimptotikus jelölésekképletekben

Aszimptotikusan nem éleskorlátok

Függvényekösszehasonlítása

Alapfüggvények

Rekurzívan megadottfüggvényekA helyettesíto módszer

Finomságok

Buktatók

Új változó bevezetése

A rekurziós fa módszer

Sejtés keresése

Bizonyítás a helyettesítomódszerrel

Mester módszer

A tétel

Amikor muködik

Amikor nem muködik

„Levezetés”

2.45

Mester módszer használataAmikor egyik eset sem muködik

• T (n) = 2T( n

2

)+ n lg n

• a = 2, b = 2 és f (n) = n lg n

• nlogb a = nlog2 2 = n

• f (n) = Ω(nlogb a) =⇒ csak a 3. eset jöhet szóba,• de nincs olyan ε > 0, amivel teljesülne, hogy

f (n) = Ω(nlogb a+ε)

• f (n) „nagyobb” ugyan nlogb a-nél, de nem „polinomiálisannagyobb”.

• =⇒ Nem használható a mester tétel.

Page 68: Szathmáry László Halász Gábor Függvények aszimptotikus …halasz/Adatszerk-PTI-2017/... · 2019-02-09 · Függvények aszimptotikus viselkedése Kósa Márk Pánovics János

Függvényekaszimptotikusviselkedése

Kósa MárkPánovics János

Szathmáry LászlóHalász Gábor

FüggvényeknövekedéseFüggvények aszimptotikusviselkedése

Aszimptotikus jelölésekképletekben

Aszimptotikusan nem éleskorlátok

Függvényekösszehasonlítása

Alapfüggvények

Rekurzívan megadottfüggvényekA helyettesíto módszer

Finomságok

Buktatók

Új változó bevezetése

A rekurziós fa módszer

Sejtés keresése

Bizonyítás a helyettesítomódszerrel

Mester módszer

A tétel

Amikor muködik

Amikor nem muködik

„Levezetés”

2.46

Keresés rendezett adatok közöttLineáris keresés

function LINEÁRIS-KERES(A, érték)1 i← 12 while i ≤ méret(A) és A[i] < érték do3 i← i + 14 end while5 if i > méret(A) vagy A[i] > érték then6 KIVÉTEL "nincs ilyen értéku elem"7 else8 return i9 end if

end procedure

Legrosszabb eset: while ciklus tesztelése lefut n + 1-szer.

T (n) = Θ(n)

Page 69: Szathmáry László Halász Gábor Függvények aszimptotikus …halasz/Adatszerk-PTI-2017/... · 2019-02-09 · Függvények aszimptotikus viselkedése Kósa Márk Pánovics János

Függvényekaszimptotikusviselkedése

Kósa MárkPánovics János

Szathmáry LászlóHalász Gábor

FüggvényeknövekedéseFüggvények aszimptotikusviselkedése

Aszimptotikus jelölésekképletekben

Aszimptotikusan nem éleskorlátok

Függvényekösszehasonlítása

Alapfüggvények

Rekurzívan megadottfüggvényekA helyettesíto módszer

Finomságok

Buktatók

Új változó bevezetése

A rekurziós fa módszer

Sejtés keresése

Bizonyítás a helyettesítomódszerrel

Mester módszer

A tétel

Amikor muködik

Amikor nem muködik

„Levezetés”

2.46

Keresés rendezett adatok közöttLineáris keresés

function LINEÁRIS-KERES(A, érték)1 i← 12 while i ≤ méret(A) és A[i] < érték do3 i← i + 14 end while5 if i > méret(A) vagy A[i] > érték then6 KIVÉTEL "nincs ilyen értéku elem"7 else8 return i9 end if

end procedure

Legrosszabb eset: while ciklus tesztelése lefut n + 1-szer.

T (n) = Θ(n)

Page 70: Szathmáry László Halász Gábor Függvények aszimptotikus …halasz/Adatszerk-PTI-2017/... · 2019-02-09 · Függvények aszimptotikus viselkedése Kósa Márk Pánovics János

Függvényekaszimptotikusviselkedése

Kósa MárkPánovics János

Szathmáry LászlóHalász Gábor

FüggvényeknövekedéseFüggvények aszimptotikusviselkedése

Aszimptotikus jelölésekképletekben

Aszimptotikusan nem éleskorlátok

Függvényekösszehasonlítása

Alapfüggvények

Rekurzívan megadottfüggvényekA helyettesíto módszer

Finomságok

Buktatók

Új változó bevezetése

A rekurziós fa módszer

Sejtés keresése

Bizonyítás a helyettesítomódszerrel

Mester módszer

A tétel

Amikor muködik

Amikor nem muködik

„Levezetés”

2.47

Keresés rendezett adatok közöttBináris keresés

function BINÁRIS_KERES(A, érték,alsó,felso)1 if alsó > felso then2 KIVÉTEL "nincs ilyen értéku elem"3 end if4 középso← b(alsó + felso) / 2c5 if A[középso] = érték then6 return középso7 else if A[középso] > érték then8 return BINÁRIS_KERES(A, érték, alsó, középso – 1)9 else

10 return BINÁRIS_KERES(A, érték, középso + 1, felso)11 end if

end function• T (n) = T (n/2) + 1 −−−→ talán használható a mester tétel

• a = 1, b = 2 és f (n) = 1• nlogb a = nlog2 1 = n0 = 1• f (n) = Θ(nlog2 1) −−−−−−−−−−−−−−−−−−−−−−−−−−→ 2. estet

• =⇒ T (n) = Θ(nlog2 1 ln n) = Θ(ln n)

Page 71: Szathmáry László Halász Gábor Függvények aszimptotikus …halasz/Adatszerk-PTI-2017/... · 2019-02-09 · Függvények aszimptotikus viselkedése Kósa Márk Pánovics János

Függvényekaszimptotikusviselkedése

Kósa MárkPánovics János

Szathmáry LászlóHalász Gábor

FüggvényeknövekedéseFüggvények aszimptotikusviselkedése

Aszimptotikus jelölésekképletekben

Aszimptotikusan nem éleskorlátok

Függvényekösszehasonlítása

Alapfüggvények

Rekurzívan megadottfüggvényekA helyettesíto módszer

Finomságok

Buktatók

Új változó bevezetése

A rekurziós fa módszer

Sejtés keresése

Bizonyítás a helyettesítomódszerrel

Mester módszer

A tétel

Amikor muködik

Amikor nem muködik

„Levezetés”

2.47

Keresés rendezett adatok közöttBináris keresés

function BINÁRIS_KERES(A, érték,alsó,felso)1 if alsó > felso then2 KIVÉTEL "nincs ilyen értéku elem"3 end if4 középso← b(alsó + felso) / 2c5 if A[középso] = érték then6 return középso7 else if A[középso] > érték then8 return BINÁRIS_KERES(A, érték, alsó, középso – 1)9 else

10 return BINÁRIS_KERES(A, érték, középso + 1, felso)11 end if

end function• T (n) = T (n/2) + 1 −−−→ talán használható a mester tétel

• a = 1, b = 2 és f (n) = 1• nlogb a = nlog2 1 = n0 = 1• f (n) = Θ(nlog2 1) −−−−−−−−−−−−−−−−−−−−−−−−−−→ 2. estet

• =⇒ T (n) = Θ(nlog2 1 ln n) = Θ(ln n)

Page 72: Szathmáry László Halász Gábor Függvények aszimptotikus …halasz/Adatszerk-PTI-2017/... · 2019-02-09 · Függvények aszimptotikus viselkedése Kósa Márk Pánovics János

Függvényekaszimptotikusviselkedése

Kósa MárkPánovics János

Szathmáry LászlóHalász Gábor

FüggvényeknövekedéseFüggvények aszimptotikusviselkedése

Aszimptotikus jelölésekképletekben

Aszimptotikusan nem éleskorlátok

Függvényekösszehasonlítása

Alapfüggvények

Rekurzívan megadottfüggvényekA helyettesíto módszer

Finomságok

Buktatók

Új változó bevezetése

A rekurziós fa módszer

Sejtés keresése

Bizonyítás a helyettesítomódszerrel

Mester módszer

A tétel

Amikor muködik

Amikor nem muködik

„Levezetés”

2.48

Beszúró rendezés

procedure BESZÚRÓ-RENDEZÉS(A)1 for j← 2 to méret(A) do2 kulcs← A[j]3 i← j – 14 while i ≥ 1 és A[i] > kulcs do5 A[i + 1]← A[i]6 i← i – 17 end while8 A[i + 1]← kulcs9 end for

end procedure

• Vegyük észre: a while ciklus lineáris keresést használkulcs helyének meghatározására az A „elejében”.

• Lehetne ezt bináris keresésre cserélni?

Page 73: Szathmáry László Halász Gábor Függvények aszimptotikus …halasz/Adatszerk-PTI-2017/... · 2019-02-09 · Függvények aszimptotikus viselkedése Kósa Márk Pánovics János

Függvényekaszimptotikusviselkedése

Kósa MárkPánovics János

Szathmáry LászlóHalász Gábor

FüggvényeknövekedéseFüggvények aszimptotikusviselkedése

Aszimptotikus jelölésekképletekben

Aszimptotikusan nem éleskorlátok

Függvényekösszehasonlítása

Alapfüggvények

Rekurzívan megadottfüggvényekA helyettesíto módszer

Finomságok

Buktatók

Új változó bevezetése

A rekurziós fa módszer

Sejtés keresése

Bizonyítás a helyettesítomódszerrel

Mester módszer

A tétel

Amikor muködik

Amikor nem muködik

„Levezetés”

2.48

Beszúró rendezés

procedure BESZÚRÓ-RENDEZÉS(A)1 for j← 2 to méret(A) do2 kulcs← A[j]3 i← j – 14 while i ≥ 1 és A[i] > kulcs do5 A[i + 1]← A[i]6 i← i – 17 end while8 A[i + 1]← kulcs9 end for

end procedure

• Vegyük észre: a while ciklus lineáris keresést használkulcs helyének meghatározására az A „elejében”.

• Lehetne ezt bináris keresésre cserélni?

Page 74: Szathmáry László Halász Gábor Függvények aszimptotikus …halasz/Adatszerk-PTI-2017/... · 2019-02-09 · Függvények aszimptotikus viselkedése Kósa Márk Pánovics János

Függvényekaszimptotikusviselkedése

Kósa MárkPánovics János

Szathmáry LászlóHalász Gábor

FüggvényeknövekedéseFüggvények aszimptotikusviselkedése

Aszimptotikus jelölésekképletekben

Aszimptotikusan nem éleskorlátok

Függvényekösszehasonlítása

Alapfüggvények

Rekurzívan megadottfüggvényekA helyettesíto módszer

Finomságok

Buktatók

Új változó bevezetése

A rekurziós fa módszer

Sejtés keresése

Bizonyítás a helyettesítomódszerrel

Mester módszer

A tétel

Amikor muködik

Amikor nem muködik

„Levezetés”

2.48

Beszúró rendezés

procedure BESZÚRÓ-RENDEZÉS(A)1 for j← 2 to méret(A) do2 kulcs← A[j]3 i← j – 14 while i ≥ 1 és A[i] > kulcs do5 A[i + 1]← A[i]6 i← i – 17 end while8 A[i + 1]← kulcs9 end for

end procedure

• Vegyük észre: a while ciklus lineáris keresést használkulcs helyének meghatározására az A „elejében”.

• Lehetne ezt bináris keresésre cserélni?