i=1 i+3n = n(2n+1). j=1 2 j < 4 2 i+2 16 k, azaz az algoritmus valóban konstans versenyképes.



Hasonló dokumentumok
1. Bevezet példák, síbérlés

1. feladat Az egyensúly algoritmus viselkedése: Tekintsük a kétdimenziós Euklideszi teret, mint metrikus teret. A pontok

1. A k-szerver probléma

1. Online kiszolgálóelhelyezés

Approximációs algoritmusok

Az online algoritmusok k-szerver probléma

Az online algoritmusok k-szerver probléma

Online algoritmusok. Algoritmusok és bonyolultságuk. Horváth Bálint március 30. Horváth Bálint Online algoritmusok március 30.

Online migrációs ütemezési modellek

Programozási módszertan. Mohó algoritmusok

Általános algoritmustervezési módszerek

Nagyságrendek. Kiegészítő anyag az Algoritmuselmélet tárgyhoz. Friedl Katalin BME SZIT február 1.

Lineáris egyenletrendszerek

Dinamikus programozás - Szerelőszalag ütemezése

Programozási módszertan. Dinamikus programozás: szerelőszalag ütemezése Mátrixok véges sorozatainak szorzása

Analízisfeladat-gyűjtemény IV.

Diszkrét matematika II. gyakorlat

Partíció probléma rekurzíómemorizálással

A derivált alkalmazásai

összeadjuk 0-t kapunk. Képletben:

Sorozatok és Sorozatok és / 18

GRÁFELMÉLET. 7. előadás. Javító utak, javító utak keresése, Edmonds-algoritmus

Taylor-polinomok. 1. Alapfeladatok április Feladat: Írjuk fel az f(x) = e 2x függvény másodfokú Maclaurinpolinomját!

On-line előrenéző és paraméter tanuló algoritmusok nyugtázási és ütemezési problémákra

3. el adás: Determinánsok

Számítógépes Hálózatok. 5. gyakorlat

Függvények növekedési korlátainak jellemzése

Előrenéző és paraméter tanuló algoritmusok on-line klaszterezési problémákra

LINEÁRIS ALGEBRA (A, B, C) tematika (BSc) I. éves nappali programtervező informatikus hallgatóknak évi tanév I. félév

Nagyordó, Omega, Theta, Kisordó

Érdekes informatika feladatok

Beszámoló az "Online er forrás allokációs problémák" cím F számú OTKA kutatási projekt eredményeir l

A lineáris programozás alapfeladata Standard alak Az LP feladat megoldása Az LP megoldása: a szimplex algoritmus 2018/

Mer legesség. Wettl Ferenc Wettl Ferenc Mer legesség / 40

Algoritmuselmélet 18. előadás

További forgalomirányítási és szervezési játékok. 1. Nematomi forgalomirányítási játék

A lineáris programozás alapfeladata Standard alak Az LP feladat megoldása Az LP megoldása: a szimplex algoritmus 2017/

Bevezetés. 1. fejezet. Algebrai feladatok. Feladatok

Online ládapakolás. 1. Ládapakolási modellek

Illeszkedésvizsgálat χ 2 -próbával

Sorozatok I. Brósch Zoltán (Debreceni Egyetem Kossuth Lajos Gyakorló Gimnáziuma)

A 2010/2011 tanévi Országos Középiskolai Tanulmányi Verseny döntő fordulójának megoldása. II. (programozás) kategória

1000 forintos adósságunkat, de csak 600 forintunk van. Egyetlen lehetőségünk, hogy a

Bizonyítási módszerek - megoldások. 1. Igazoljuk, hogy menden természetes szám esetén ha. Megoldás: 9 n n = 9k = 3 3k 3 n.

Félévi időbeosztás (nagyjából) házi feladat beadási határidőkkel (pontosan) Valószínűségszámítás 2. matematikusoknak és fizikusoknak, 2009 tavasz

Részvételi feltételek Gepláda Keresd a gepidák kincseit! microsite

1. Példa. A gamma függvény és a Fubini-tétel.

Ítéletkalkulus. 1. Bevezet. 2. Ítéletkalkulus

Gyakorlatok. P (n) = P (n 1) + 2P (n 2) + P (n 3) ha n 4, (utolsó lépésként l, hl, u, hu-t léphetünk).

Példa Hajtsuk végre az 1 pontból a Dijkstra algoritmust az alábbi gráfra. (A mátrixban a c i j érték az (i, j) él hossza, ha nincs él.

M. 33. Határozza meg az összes olyan kétjegyű szám összegét, amelyek 4-gyel osztva maradékul 3-at adnak!

Megoldott feladatok november 30. n+3 szigorúan monoton csökken, 5. n+3. lim a n = lim. n+3 = 2n+3 n+4 2n+1

Mátrixaritmetika. Tartalom:

Utolsó el adás. Wettl Ferenc BME Algebra Tanszék, Wettl Ferenc (BME) Utolsó el adás / 20

Dinamikus programozás vagy Oszd meg, és uralkodj!

Adatszerkezetek. Nevezetes algoritmusok (Keresések, rendezések)

Tartalom Keresés és rendezés. Vektoralgoritmusok. 1. fejezet. Keresés adatvektorban. A programozás alapjai I.

24. szakkör (Csoportelméleti alapfogalmak 3.)

Ellenőrző kérdések. 36. Ha t szintű indexet használunk, mennyi a keresési költség blokkműveletek számában mérve? (1 pont) log 2 (B(I (t) )) + t

Véletlen bolyongás. Márkus László március 17. Márkus László Véletlen bolyongás március / 31

Konvex optimalizálás feladatok

Számítógépes Hálózatok. 4. gyakorlat

Keresés és rendezés. A programozás alapjai I. Hálózati Rendszerek és Szolgáltatások Tanszék Farkas Balázs, Fiala Péter, Vitéz András, Zsóka Zoltán

Bázistranszformáció és alkalmazásai 2.

Fibonacci számok. Dinamikus programozással

Határozott integrál és alkalmazásai

Dinamikus programozás II.

Algoritmusok Tervezése. 6. Előadás Algoritmusok 101 Dr. Bécsi Tamás

Komplex számok. Komplex számok és alakjaik, számolás komplex számokkal.

Komplex számok trigonometrikus alakja

Kupac adatszerkezet. A[i] bal fia A[2i] A[i] jobb fia A[2i + 1]

19. AZ ÖSSZEHASONLÍTÁSOS RENDEZÉSEK MŰVELETIGÉNYÉNEK ALSÓ KORLÁTJAI

DiMat II Végtelen halmazok

A 2014/2015. tanévi Országos Középiskolai Tanulmányi Verseny második forduló MATEMATIKA I. KATEGÓRIA ( SZAKKÖZÉPISKOLA ) Javítási-értékelési útmutató

Határozatlan integrál

10. Szimultán kiválasztások

A félév során előkerülő témakörök

értékel függvény: rátermettségi függvény (tness function)

Gyakori elemhalmazok kinyerése

Miskolci Egyetem GÉPÉSZMÉRNÖKI ÉS INFORMATIKAI KAR. Analízis I. példatár. (kidolgozott megoldásokkal) elektronikus feladatgyűjtemény

Adatszerkezetek és algoritmusok

p j p l = m ( p j ) 1

A sorozat fogalma. függvényeket sorozatoknak nevezzük. Amennyiben az értékkészlet. az értékkészlet a komplex számok halmaza, akkor komplex

1. Alapfogalmak Algoritmus Számítási probléma Specifikáció Algoritmusok futási ideje

Algoritmuselmélet. Függvények nagyságrendje, elágazás és korlátozás, dinamikus programozás. Katona Gyula Y.

Matematika A1a Analízis

Algoritmusok bonyolultsága

Tervezett erdőgazdálkodási tevékenységek bejelentése

A 2015/2016. tanévi Országos Középiskolai Tanulmányi Verseny döntő forduló MATEMATIKA III. KATEGÓRIA (a speciális tanterv szerint haladó gimnazisták)

AllBestBid. Felhasználói kézikönyv az AllBestBid online aukciós szolgáltatás használatához március DFL Systems Kft.

1. megold s: A keresett háromjegyű szám egyik számjegye a 3-as, a két ismeretlen számjegyet jelölje a és b. A feltétel szerint

11. Előadás. 11. előadás Bevezetés a lineáris programozásba

A Markowitz modell: kvadratikus programozás

Bináris keres fák kiegyensúlyozásai. Egyed Boglárka

A Formális nyelvek vizsga teljesítése. a) Normál A vizsgán 60 pont szerezhet, amely két 30 pontos részb l áll össze az alábbi módon:

út hosszát. Ha a két várost nem köti össze út, akkor legyen c ij = W, ahol W már az előzőekben is alkalmazott megfelelően nagy szám.

7. évfolyam I. félév, 2. feladatsor 1/6

Lehet vagy nem? Konstrukciók és lehetetlenségi bizonyítások Dr. Katz Sándor, Bonyhád

LÁNG CSABÁNÉ SZÁMELMÉLET. Példák és feladatok. ELTE IK Budapest javított kiadás

Amortizációs költségelemzés

Átírás:

1. Feladat Adott egy parkoló, ahol egy professzor a kocsiját tartja. A parkolóhelyeket egy n és n közötti szám azonosítja, az azonosító szerint helyezkednek el balról jobbra. A professzor kijön az egyetemr l a 0 parkolóhelynél. Nem tudja hol parkol, és meg akarja keresni a kocsiját. Adjunk egy konstans versenyképes algoritmust, ami megtalálja a kocsit. Megold: A következ algoritmusokat vizsgáljuk meg: 1.) A természetes algoritmus (el bb valamelyik irányba elmegy a parkoló végéig, és ha nem találja meg a kocsit visszajön) nem konstans versenyképes, mert a legrosszabb esetben a kocsi a másik oldal els parkolójában van, így az ALG/OPT arány 2n + 1. 2.) A következ gondolat, hogy a 2i+1-dik fázisban elmegyünk jobbra az i-edik helyig, majd onnan a 2i+2-dik fázisban balra az -i-edik helyig. És ezeket a fázisokat hajtjuk végre, amíg meg nem találtuk a kocsit. Ez az algoritmus sem konstans versenyképes, hiszen ha a kocsi a n helyen áll, akkor az optimális költség n az algoritmus költsége 4 n 1 i=1 i+3n = n(2n+1). 3.) Ezt követ en adódik a gondolat, hogy kevesebb irányváltoztatással keressük a kocsit. A 2i+1-dik fázisban elmegyünk jobbra az 2 i -edik helyig, majd onnan a 2i+2-dik fázisban balra az 2 i -edik helyig. És ezeket a fázisokat hajtjuk végre, amíg meg nem találtuk a kocsit (értelemszer en, ha 2 i > n, akkor csan n-ig megyünk). Vizsgáljuk ezt az algoritmust, tegyük fel, hogy a kocsi a k helyen van. Legyen i olyan kitev, amelyre 2 i < k 2 i+1. Ekkor az algoritmus által megtett lépések száma kisebb, mint 4 i+1 j=1 2 j < 4 2 i+2 16 k, azaz az algoritmus valóban konstans versenyképes. 2. Feladat A nyugtázási feladatban a csomagok a 0, 1/2, 3/5, 1, 4/3 id pontokban érkeznek. Adjuk meg az Ébreszt algoritmus viselkedését. Megoldás Az els csomag a 0 id pontban érkezik, azaz a 1 = 0, ekkor Ébreszt beállítja az ébreszt t az e 1 = 1 értékkel. A következ csomag érkezési ideje a 2 = 1/2, ekkor még nem járt le az ébreszt, így nem küldtünk nyugtát, tehát újra állítjuk az ébreszt t az e 2 = (1 1/2)/2 = 1/4 értékkel az 1/2 + 1/4 id pontra. A következ csomag érkezési ideje a 3 = 5/8. Ekkor még nem járt le az ébreszt és nem küldtünk nyugtát, így újra állítjuk az ébreszt t az e 3 = (1 5/8 1/8)/3 = 1/12 értékkel az 5/8 + 1/12 id pontra. A következ csomag érkezési ideje a 4 = 1, mivel az 5/8 + 1/12 id pontig nem érkezett újabb csomag, ezért abban id pontban nyugtát küldtünk, így az ébreszt t az e 4 = 1 értékkel a 2 id pontra állítjuk be. A következ csomag 1

érkezési ideje a 5 = 4/3, mivel nem járt le az ébreszt, beállítjuk az új értékre e 5 = 1/3 az ébreszt id pontja 5/3. 3. Feladat Vegyük a nyugtázási feladatnak azt a változatát, ahol a k k + ν j, j=1 ahol k a nyugták száma és ν j = max tj 1 <a i t j összegy jtött maximális késedelem. Igazoljuk, hogy van olyan optimális megoldás, amelyben ha a i a i 1 1, akkor a i 1 -et már a i el tt lenyugtázzuk. Megoldás Vegyünk egy tetsz leges optimális megoldást, ha ez a megoldás a i 1 -t nyugtázza a i el tt, akkor az állítás nyilvánvalóan igaz. Egyébként módosítsuk úgy, hogy egy további nyugtát hozzáveszünk az a i 1 id pontban. Vizsgáljuk meg a költség változásait. Egyrészt a nyugtázási költség növekszik 1-el, másrészt a késedelmi költség csökken a i a i 1 -el. Következésképpen az így kapott megoldás is optimális. 4. Feladat Vegyük a nyugtázási feladatnak azt a változatát, ahol a k k + ν j, j=1 ahol k a nyugták száma és ν j = max tj 1 <a i t j összegy jtött maximális késedelem. Igazoljuk, hogy nincs olyan algoritmus, amelynek a versenyképességi hányadosa kisebb, mint 2. Megoldás Vegyük észre, hogy a teljes késedelmet használó esetén adott alsó korlát bizonyításban, az online algoritmus mindig egy csomagot nyugtáz, az oine pedig 2-t, de ebb l az egyiknek nincs késedelme. Következésképpen az alsó korlát igazolásakor használt inputon az ott vizsgált algoritmusokra a két ugyanazt az értéket adja. Tehát a teljes késedelmre vonatkozó bizonyítás igazolja ezt az állítást is. 5 Feladat. Hajtsuk végre az optimális megoldást megadó dinamikus programozási algoritmust a következ inputon: 0, 1/10, 2/10, 3/10, 4/10, 6/10, 8/10, 9/10. 2

Megoldás A dinamikus programozás által kitöltött a késedelmeket számító táblázat (az el adásban megadott képletek alapján) a következ. Csak az els 3 sort töltjük ki, mert van olyan megoldás, amyel költsége kisebb, mint 4. 0 1/10 3/10 6/10 1 2 32/10 39/10 0 0 1/10 2/10 4/10 8/10 12/10 14/10 0 0 0 1/10 2/10 4/10 6/10 8/10 A segédtáblázat azt tartalmazza hova kell rakni az utolsó el tti nyugtát (a képletben szerepl minimum helye). 0 0 0 0 0 0 0 0 0 1 1 2 2 4 4 5 0 1 2 3 3 4 5 5 Az els táblázat utolsó oszlopban lev elemeihez kell hozzáadni azt, hogy hányadik sorban vagyunk (nyugták száma), így kapjuk meg a teljes költséget. Így az optimális megoldás az, ha két nyugtát használunk és a költség 2 + 14/10. A megoldás a segédtábla második sorából kiolvasható: az els nyugtát az 5-dik, a másodikat a 8-dik csomagnál küldjük. 6. Feladat Vegyük a nyugtázási feladatnak azt a változatát, ahol a k + k max j=1 ν j, ahol k a nyugták száma és ν j = max tj 1 <a i t j összegy jtött maximális késedelem. Adjuk meg az optimális megoldást meghatározó dinamikus programozási eljárást. Megoldás Az I = a 1,..., a n inputra jelölje F (r, k) az els r kérésnek k nyugtával való nyugtázása során elérhet minimális késedelem értékét. Az F (n, k) értékek alapján könnyen megkapható az optimális költség: venni kell a k + F (n, k) értékek minimumát, ahol 1 k n egész. Az optimális megoldás pedig mint dinamikus programozásnál általában visszafejtéssel vagy a feljegyzéses módszerrel megkapható. Tehát célunk az F (r, k) értékek kiszámítására egy dinamikus programozási algoritmust megadni. Ehhez kezdeti értékeket kell megadnunk és egy rekurzív összefüggést. 3

Ha k = 1, akkor az egyetlen nyugtát az utolsó csomag érkezésekor kell küldeni. Tehát F (r, 1) = a r a 1. Amennyiben k > 1, akkor az utolsó nyugtát az a r id pontban küldjük. Az utolsó el tti, (k-1)-dik nyugtát küldhetjük az a k 1, a k,..., a r 1 id pontokban. Ha valamely a q id pontban küldjük, akkor az els k 1 nyugta minimális késedelme a deníció alapján F (q, k 1) a k-adik nyugta késedelme pedig a r a q+1. Következésképpen, ha k > 1, akkor F (r, k) = min {max{f (q, k 1), a r a q+1 }}. k 1 q r 1 A kezdeti feltételek és a rekurzív összefüggés alapján soronkénti táblázatkitöltéssel megkaphatóak a F (r, k) értékek. 7. Feladat Vegyük a nyugtázási feladatnak azt a változatát, ahol a k k + ν j, j=1 ahol k a nyugták száma és ν j = max tj 1 <a i t j összegy jtött maximális késedelem. Adjunk meg egy 1-versenyképes algoritmust, abban az esetben, ha az algoritmus mindig látja a következ csomag érkezési idejét. Megoldás A 3-as feladatban igazoltuk, hogy az optimális megoldás, akkor küld nyugtát egy a i id pontban, ha a i+1 a i 1. Tehát az az algoritmus, amely az a i id pontban akkor és csak akkor küld nyugtát, ha a i+1 a i 1 optimális megoldást ad, azaz 1-versenyképes. Másrészt ennek megállapításához elegend ismerni a következ csomag érkezési idejét. 8. Feladat Vegyük a nyugtázási feladatnak azt a változatát, ahol a k k + ν j, j=1 4

ahol k a nyugták száma és ν j = max tj 1 <a i t j összegy jtött maximális késedelem. Adjunk meg egy 2-c-versenyképes algoritmust, abban az esetben, ha az algoritmus mindig látja a következ c < 1 hosszú intervallumban a csomagok érkezési idejét. Megoldás Legyen TLA az az algoritmus, amely akkor küld nyugtát egy a i kérést követ en, ha az el renéz intervallum alapján látja, hogy a i+1 a i 1. Vegyünk egy tetsz leges I inputot és osszuk fázisokra. Legyen S 1 = {a 1,..., a k(1) }, ahol k(1) az els olyan index, amelyre a k(1)+1 a k(1) 1. A többi fázis hasonlóan deniálható S j+1 = {a k(j)+1,..., a k(j+1) }, ahol k(j + 1) az els olyan index k(j) után, amelyre a k(j+1)+1 a k(j+1) 1. Az utolsó fázist az utolsó munka zárja. Ekkor az optimális oine algoritmus, minden fázis utolsó csomagjánál nyugtát küld. Ezzel szemben TLA a fázis utolsó csomagja után 1 c egységgel észleli, hogy a fázis véget ért, így, akkor küld nyugtát. Tehát egy L hosszú fázisra vonatkozóan az optimális költség L + 1, TLA költsége L + 1 c + 1. Következésképpen a két megoldás hányadosa (L + 2 c)/(l + 1) (2 c)/1. 9 Feladat. Hajtsuk végre a LIP algoritmust a következ inputon: 0, 1/10, 2/10, 3/10, 7/10, 8/10, 11/10, 12/10, 13/10, 23/10, 24/10, ahol az algoritmus el relátása c = 12/10 Megoldás Az els blokk a 0, 12/10 id intervallum. Könnyen látható, hogy ebben az optimális megoldás három nyugtát küld, egyet a 3/10 id pontban, a másikat a 8/10 id pontban, a harmadikat a 12/10 id pontban. A második blokk a 13/10 id pontban kezd dik és ott véget is ér (utána egy 1 hosszú csomagmentes szakasz jön), így egy nyugtát küld a 13/10 id pontban. Az utolsó blokk a 23/10 id ponttól tart, az algoritmus egy nyugtát küld a 24/10 id pontban. 10 Feladat. Igazoljuk, hogy nincs 1-versenyképes algoritmus a nyugtázási feladatra abban a modellben, ahol az algoritmus a következ 1 hosszú intervallumban látja el re a csomagok érkezési idejét. Megoldás Vegyük a következ inputkezdeményt 0, 3/4. Ha az algoritmus a 0 id pontban nyugtát küld, akkor a sorozat nem tartalmaz több elemet, így a költsége legalább 2, az optimális költség pedig 7/4 (egy nyugta a 3/4 id pontban). Így ilyen algoritmus nem lehet 1-versenyképes. Ha az algoritmus nem küld nyugtát a 0 id pontban, akkor jön még egy csomag az 5/4 id pontban. Az optimális megoldás nyugtát küld a 0 és 5/4 id pontokban, a költsége 5/2. Tetsz leges online algoritmusnak nyugtát kell küldenie 5/4 5

után. Ha más nyugtát nem küld, akkor a késedelme legalább 5/4 + 1/2, így a költsége legalább 11/4. Ha még egy nyugtát küld, akkor azt nem küldheti az 1/4 id pont el tt, így a késedelme vagy legalább az 1/4 + 1/2 (ha külön nyugtázzza az els csomagot) vagy legalább 3/4, ha az els két csomagot nyugtázza együtt. A költsége mindeképpen legalább 11/4, így nem lehet 1-versenyképes. 11. Feladat Tegyük fel, hogy k = 10 és az adott pillanatban a HA memória három lapot tartalmaz: g 1 -re s(g 1 ) = 2, cr(g 1 ) = 1, g 2 -re s(g 2 ) = 4, cr(g 2 ) = 3, g 3 -re s(g 3 ) = 3, cr(g 3 ) = 3. Legyen a következ letöltend lap g 4 ), amelyre s(g 4 ) = 4, c(g 4 ) = 4. Adjuk meg a HÁZIÚR algoritmus viselkedését. Megoldás Ekkor ez a lap nem fér el a HA memóriában, ki kell tennünk lapokat. A HÁZIÚR algoritmus által számolt érték = 1/2 (a cr/s értékek minimuma) és a megváltoztatott cr értékek (cr s ): cr(g 1 ) = 0, cr(g 2 ) = 1, cr(g 3 ) = 3/2, így g 1 -et eltávolítjuk a HA memóriából. Ekkor a g 4 lap még mindig nem fér el a HA memóriában. Az új érték = 1/4 és a megváltoztatott cr értékek: cr(g 2 ) = 0, cr(g 3 ) = 3/4, így a g 2 lapot is eltávolítjuk a HA memóriából. Ekkor már van hely g 4 számára, elhelyezzük a memóriában a cr(g 4 ) = 4 értékkel. 12. Feladat Tegyük fel, hogy k = 13 és az adott pillanatban a HA memória három lapot tartalmaz: g 1 -re s(g 1 ) = 2, cr(g 1 ) = 1, g 2 -re s(g 2 ) = 4, cr(g 2 ) = 2, g 3 -re s(g 3 ) = 6, cr(g 3 ) = 3. Legyen a következ letöltend lap g 4, amelyre s(g 4 ) = 4, c(g 4 ) = 4. Adjuk meg a HÁZIÚR algoritmus viselkedését. Megoldás Ekkor ez a lap nem fér el a HA memóriában, ki kell tennünk lapokat. A HÁZIÚR algoritmus által számolt érték = 1/2 és a megváltoztatott cr értékek: cr(g 1 ) = 0, cr(g 2 ) = 0, cr(g 3 ) = 0, így mindhárom lapot eltávolítjuk a HA memóriából, majd berakjuk g 4 -et beállítva a cr(g 4 ) = 4 értéket. 13. Feladat Tegyük fel, hogy minden lapra s(p) = c(p) = 1. Adjuk meg a HÁZIÚR algoritmus viselkedését. Megoldás Ekkor minden p lapra a bekerüléskor cr(p) = 1. Másrészt, ha valamely lapok kreditjét csökkenteni kell, akkor minden lapra a cr/s arány 1, így a minden lapra a creditérték 0 lesz a csökkentés után. Következésképpen az algoritmus egyenként rakja a lapokat a memóriába, amíg meg nem tölti (k 6

darab lap lesz benne), majd ezt követ en, ha tele van és olyan lapot kérnek, ami nincs benne, akkor kidobja az összes lapot a memóriából. 14. Feladat Vegyük a torlódásszabályozás problémájára a bináris keresés algoritmusát. Igazoljuk, hogy a keresési költségek összegének nagyságrendje Θ(N 2 log N). Megoldás Tegyük fel, hogy a sávszélességre adott N fels korlát 2 hatvány. Ekkor a bináris keresés algoritmusa log 2 N lépésben kitalálja a számot. Ha a keresését egy bináris keres fával ábrázoljuk, akkor a keres fa i-edik szintjén a lehetséges próbák (2k + 1)N/2 i, ahol k = 0, 1,..., 2 i 1. Vizsgáljuk meg egy adott k-ra a (2k + 1)N/2 i próbához tartozó költségeket. Az alatta lev értékek, ahol a túllépés miatt a teljes sávszélesség elveszik (2k)N/2 i, (2k)N/2 i + 1, (2k)N/2 i + 2,..., (2k + 1)N/2 i 1. Ezen lehet ségekre a teljes költség ezen számok összege, ami több, mint 2k(N/2 i )(N/2 i ). Következésképpen a teljes költség a keres fa i-edik szintjén legalább 2 i 1 k=0 2k(N/2 i )(N/2 i ) N 2 /4. Következésképpen az algoritmus teljes költsége legalább (log 2 N)N 2 /4. Másrészt a maximális keresési költség Θ(N log N), így adódik, hogy a teljes keresési költség O(N 2 log N). 15. feladat Vegyük a torlódásszabályozás problémájára a TCP algoritmusát. Igazoljuk, hogy a keresési költségek összege Θ(N 3 ). Megoldás Tegyük fel, hogy a sávszélességre adott N fels korlát páros. Vizsgáljuk az N/2 + i (0 i N/2) alakú számok költségét. Az els próba (N/2) költsége i ( a nem kihasznált sávszélesség), majd ezt követ en egyenként növeljük a próba értékét, így a költségek i 1, i 2,..., 1. Tehát az elem megtalálásának költsége i j=1 j = i(i + 1)/2. Következésképpen ezen elemek kiszámolásának teljes költsége: N/2 1 i=1 N/2 1 i(i + 1)/2 1/2 i=1 i 2 = (N/2 1)(N/2)(N 1)/6 = Ω(N 3 ). Másrészt az el adáson láttuk, hogy a maximális költség, amely egy elem kiszámításához szükséges a TCP algoritmus esetén Θ(N 2 ), így a teljes költség nyilvánvalóan O(N 3 ). 7

16. feladat Tekintsük azt a hálózatot, amely 4 pontból, (A, B, C, D) és négy élb l (A, B), (B, D), (A, C), (C, D), áll, ahol az élek maximális sávszélességére u(a, B) = 1, u(b, D) = 3/2, u(a, C) = 2,u(C, D) = 3/2. Tegyük fel, hogy µ = 10 és a j-edik kérés el tt az eddig lefoglalt sávszélességek 3/4 az A, B, D úton, 5/4 az A, C, D úton, 1/2 a (B, D) élen, 1/2 az (A, C) élen. Legyen a következ kérés 1/8 sávszélesség lefoglalása A és D között, adjuk meg az exponenciális algoritmus milyen protok esetén fogadja el a kérést. Megoldás Ekkor az l e (j) értékek: l (A,B) (j) = (3/4) : 1 = 3/4, l (B,D) (j) = (3/4 + 1/2) : (3/2) = 5/6, l (A,C) (j) = (5/4 + 1/2) : 2 = 7/8, l (C,D) (j) = (5/4) : (3/2) = 5/6. A két lehetséges útra a C(P ) értékek C(A, B, D) = 1/8 10 3/4 + 1/12 10 5/6 = 1.265. C(A, C, D) = 1/16 10 7/8 + 1/12 10 5/6 = 1.032. A minimális érték az 1.032. Tehát azt kell megvizsgálni, hogy 2mb j = 8b j érték nagyobb -e, mint 1.032. Következésképpen ha a prot legalább 1.032/8 = 1.29, akkor a kérést az algoritmus elfogadja. 17. Feladat Igazoljuk, hogy amennyiben a nyereségmaximalizáló forgalomirányítási modellben az r(j)/u(e) hányadosokra semmiféle kikötést nem teszünk, akkor nem adható meg konstans-versenyképes algoritmus. Megoldás Vegyünk egy egyetlen élb l álló hálózatot, ahol a sávszélesség 1. Legyen az els kérés 1 ε sávszélesség a protja 1. Ha az algoritmus nem fogadja el a sorozat véget ér és az algoritmus nem versenyképes. Ha elfogadja, akkor sok csomag érkezik 2ε sávszélességgel, és 1 prottal, amelyek közül már egyet sme tud elfogadni. Az optimum az els csomagot visszautasítja, és a többieket fogadja el, így az algoritmus ez esetben sem lehet konstans versenyképes. 8