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

Hasonló dokumentumok
Az online algoritmusok k-szerver probléma

Approximációs algoritmusok

1. Online kiszolgálóelhelyezés

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

Írta: DÓSA GYÖRGY IMREH CSANÁD ONLINE ALGORITMUSOK. Egyetemi tananyag

Az online algoritmusok k-szerver probléma

1. A k-szerver probléma

Alapfogalmak, bevezető

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.

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

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

Online migrációs ütemezési modellek

Abszolút folytonos valószín ségi változó (4. el adás)

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

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

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

Lineáris egyenletrendszerek

1/ gyakorlat. Lineáris Programozási feladatok megoldása szimplex módszerrel. Pécsi Tudományegyetem PTI

Valószín ségszámítás és statisztika

A k-szerver probléma

1/ gyakorlat. Lineáris Programozási feladatok megoldása szimplex módszerrel. Pécsi Tudományegyetem PTI

A Markowitz modell: kvadratikus programozás

Opkut deníciók és tételek

Ellátási lánc optimalizálás P-gráf módszertan alkalmazásával mennyiségi és min ségi paraméterek gyelembevételével

Elméleti összefoglaló a Valószín ségszámítás kurzushoz

Ütemezési feladatok. Az ütemezési feladatok vizsgálata az 50-es évek elején kezdődött, majd

Döntéselőkészítés. VII. előadás. Döntéselőkészítés. Egyszerű Kőnig-feladat (házasság feladat)

Kriptográfia 0. A biztonság alapja. Számítás-komplexitási kérdések

Bázistranszformáció és alkalmazásai

Turing-gép május 31. Turing-gép 1. 1

Shor kvantum-algoritmusa diszkrét logaritmusra

HALMAZELMÉLET feladatsor 1.

p j p l = m ( p j ) 1

0,424 0,576. f) P (X 2 = 3) g) P (X 3 = 1) h) P (X 4 = 1 vagy 2 X 2 = 2) i) P (X 7 = 3, X 4 = 1, X 2 = 2 X 0 = 2) j) P (X 7 = 3, X 4 = 1, X 2 = 2)

Képfeldolgozás. 1. el adás. A képfeldolgozás m veletei. Mechatronikai mérnök szak BME, 2008

Határozatlan integrál

A matematika nyelvér l bevezetés

NP-teljesség röviden

Általános algoritmustervezési módszerek

Lagrange-féle multiplikátor módszer és alkalmazása

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

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

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

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

Nagy Gábor compalg.inf.elte.hu/ nagy ősz

Diszkrét matematika I. gyakorlat

Valószín ségszámítás és statisztika


Predikátumkalkulus. 1. Bevezet. 2. Predikátumkalkulus, formalizálás. Predikátumkalkulus alapfogalmai, formalizálás, tagadás, logikailag igaz formulák.

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

Sorozatok határértéke SOROZAT FOGALMA, MEGADÁSA, ÁBRÁZOLÁSA; KORLÁTOS ÉS MONOTON SOROZATOK

Deníciók és tételek a beugró vizsgára

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

Nagy Gábor compalg.inf.elte.hu/ nagy

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

Diszkrét matematika I.

3. el adás: Determinánsok

Elméleti összefoglaló a Sztochasztika alapjai kurzushoz

Ütemezési modellek. Az ütemezési problémák osztályozása

3. előadás. Programozás-elmélet. A változó fogalma Kiterjesztések A feladat kiterjesztése A program kiterjesztése Kiterjesztési tételek Példa

Algoritmizálás, adatmodellezés tanítása 6. előadás

GAZDASÁGMATEMATIKA KÖZÉPHALADÓ SZINTEN

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

Algoritmusok bonyolultsága

Lineáris különböz ségek

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

Idegennyelv-tanulás támogatása statisztikai és nyelvi eszközökkel

Kétfázisú szimplex algoritmus és speciális esetei

Sorozatok és Sorozatok és / 18

Korlátozás és szétválasztás elve. ADAGOLO adattípus

Programozás II. előadás

Adatszerkezetek és algoritmusok

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

FEGYVERNEKI SÁNDOR, Valószínűség-sZÁMÍTÁs És MATEMATIKAI

Matematikai logika. 3. fejezet. Logikai m veletek, kvantorok 3-1

2. A ξ valószín ségi változó eloszlásfüggvénye a következ : x 4 81 F (x) = x 4 ha 3 < x 0 különben

Számítógép és programozás 2

Függvények határértéke, folytonossága

Diszkrét matematika 2.C szakirány

MIKROÖKONÓMIA II. B. Készítette: K hegyi Gergely. Szakmai felel s: K hegyi Gergely február

NASSFELD SÍ AKCIÓ! SZÁLLÁS + SÍBÉRLET MÁR 50 EURO/Fİ/ÉJ! AKCIÓS APARTMANOK, PANZIÓK SÍBÉRLETTEL!

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

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

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

Adatszerkezetek 2. Dr. Iványi Péter

Rövid távú modell III. Pénzkereslet, LM görbe

Rövid távú modell Pénzkereslet, LM görbe

Mikroökonómia II. B. ELTE TáTK Közgazdaságtudományi Tanszék. 6. hét AZ IDŽ KÖZGAZDASÁGTANA, 1. rész

Gépi tanulás és Mintafelismerés

Bevezetés az informatikába

Keresés képi jellemzők alapján. Dr. Balázs Péter SZTE, Képfeldolgozás és Számítógépes Grafika Tanszék

Véletlen jelenség: okok rendszere hozza létre - nem ismerhetjük mind, ezért sztochasztikus.

Predikátumkalkulus. Predikátumkalkulus alapfogalmai, formalizálás, tagadás, logikailag igaz formulák. Vizsgáljuk meg a következ két kijelentést.

Relációk. 1. Descartes-szorzat. 2. Relációk

0,9268. Valószín ségszámítás és matematikai statisztika NGB_MA001_3, NGB_MA002_3 zárthelyi dolgozat

LINEÁRIS PROGRAMOZÁSI FELADATOK MEGOLDÁSA SZIMPLEX MÓDSZERREL

Programozás I gyakorlat

Gibbs-jelenség viselkedésének vizsgálata egyszer négyszögjel esetén

15. tétel. Adatszerkezetek és algoritmusok vizsga Frissült: január 30.

Információs rendszerek elméleti alapjai. Információelmélet

Átírás:

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

Motiváció Gyakran el fordul, hogy a bemenetet csak részenként ismerjük meg: a döntésünket a már megkapott információ alapján, a további adatok ismerete nélkül kell meghoznunk. Ezekben az esetekben online problémáról beszélünk. Els eredmények: 1970-es évek. Horváth Bálint Online algoritmusok 2018. március 30. 2 / 28

Fogalmak Deníció Oine algoritmusok: a teljes bemenet el re adott. Deníció Online algoritmusok: a bemenet csak részekben lesz ismert. Az online algoritmusok hatékonyságának vizsgálatára két alapvet módszer ismert. Átlagos eset elemzése Versenyképességi elemzés Horváth Bálint Online algoritmusok 2018. március 30. 3 / 28

Átlagos eset elemzése Valószín ségi eloszlást használunk a bemenetek terén. A célfüggvénynek az erre az eloszlásra vonatkozó várható értékét vizsgáljuk. Hátrány: általában nincs információnk err l az eloszlásról. Horváth Bálint Online algoritmusok 2018. március 30. 4 / 28

Versenyképességi elemzés [1] Elterjedtebb: mi is ezt fogjuk használni. Legrosszabb-eset alapú megközelítés. Az online algoritmus által kapott megoldás célfüggvényértékét hasonlítjuk össze az optimális oine célfüggvényértékkel. Horváth Bálint Online algoritmusok 2018. március 30. 5 / 28

Versenyképességi elemzés [2] Egy tetsz leges ALG online algoritmusra az I bemeneten felvett célfüggvényértéket ALG(I )-vel fogjuk jelölni. Az I bemeneten felvett optimális oine célfüggvényértéket OPT (I )-vel jelöljük. Ezekkel a jelölésekkel leírhatjuk a C-versenyképesség denícióját. Horváth Bálint Online algoritmusok 2018. március 30. 6 / 28

Versenyképességi elemzés [3] Deníció Egy minimalizálási feladatnál az ALG algoritmus C-versenyképes, ha ALG(I ) C OPT (I ) tetsz leges I bemenet esetén. Deníció Egy minimalizálási feladatnál az ALG algoritmus enyhén C-versenyképes, ha létezik olyan B konstans, hogy ALG(I ) C OPT (I ) + B tetsz leges I bemenet esetén. Deníció Egy algoritmus enyhe versenyképességi hányadosa az a C szám, amelyre az algoritmus enyhén C-versenyképes. Horváth Bálint Online algoritmusok 2018. március 30. 7 / 28

Versenyképességi elemzés [4] A deníció hasonlóan értelmezhet maximalizálási problémák esetén is. Deníció Egy maximalizálási feladatnál az ALG algoritmus C-versenyképes, ha ALG(I ) C OPT (I ) tetsz leges I bemenet esetén. Deníció Egy maximalizálási feladatnál az ALG algoritmus enyhén C-versenyképes, ha létezik olyan B konstans, hogy ALG(I ) C OPT (I ) + B tetsz leges I bemenet esetén. Minimalizálandó függvény esetén C 1, míg maximalizálandó feladatnál C 1. Horváth Bálint Online algoritmusok 2018. március 30. 8 / 28

Síbérlési feladat [1] Elmegyünk a téli szünetben síelni és minden nap síelünk, ha az id megengedi. De hogy az id alkalmas lesz-e a következ napon, illetve napokon a síelésre, azt nem tudjuk el re. Adott egy pár síléc, amit vagy bérelhetünk 1 egységért, vagy megvásárolhatunk B egységért, ahol B > 1 egész. Feladat: mikor vásároljuk meg a sílécet? Online: amikor egy napon el kell dönteni, béreljük vagy vásároljuk a sít, akkor nincs információnk arról, hogy a következ napokon is síelünk-e. Horváth Bálint Online algoritmusok 2018. március 30. 9 / 28

Síbérlési feladat - V algoritmus [2] A bemenet egyetlen pozitív egész, ami megadja, hogy hány napig síelünk. Egy online algoritmus csak annyit tehet, hogy valahány napon keresztül bérli a sílécet, és ha addig nem hagytuk abba a síelést, akkor vásárol egyet. Azt az algoritmust, amely V 1 napig béreli a sít, aztán a V -edik napon megvásárolja, V algoritmusnak nevezzük. Tétel A V algoritmus V = B esetén (2 1 B )-versenyképes. Horváth Bálint Online algoritmusok 2018. március 30. 10 / 28

A síbérlési feladat - Versenyképesség bizonyítása [3] Bizonyítás. A feladat I bemenete a napok száma, ameddig síelünk. Két eset lehetséges I függvényében: Ha I < B, azaz kevesebb napot síelünk, mint amennyi a sílécek ára, akkor mind az online algoritmusnak, mind pedig az optimális oine B(I ) algoritmusnak a költsége I, tehát OPT (I ) = 1. Ha I B, azaz legalább annyi napot síelünk, mint amennyi a sílécek ára, akkor OPT (I ) = B, míg B(I ) = B 1 + B = 2B 1, tehát B(I ) OPT (I ) = 2B 1 B = 2 1 B. Mivel mindkét esetben teljesül, hogy a vizsgált hányados legfeljebb 2 1 B, az állítást beláttuk. Horváth Bálint Online algoritmusok 2018. március 30. 11 / 28

A síbérlési feladat -Versenyképesség [4] Tétel Nem létezik olyan online síbérlési algoritmus, melynek a versenyképességi hányadosa kisebb, mint 2 1 B. Horváth Bálint Online algoritmusok 2018. március 30. 12 / 28

A síbérlési feladat - Versenyképesség bizonyítása [5] Bizonyítás. A V -algoritmusra mutatunk egy rossz bemenetet. Legyen a feladat bemenete V napnyi síelés, ekkor a költség V 1 + B. Hasonlóan, két esetünk van V értékét l függ en: Ha V < B, akkor az optimális költség V. Tehát a hányados: V 1+B V = 1 + B 1 V 2 > 2 1 B. Ha V B, akkor az optimális költség B. A hányadosunk: V 1+B B 2B 1 B. Horváth Bálint Online algoritmusok 2018. március 30. 13 / 28

A síbérlési feladat általánosan [1] Tegyük fel, hogy van egy panziónk, ahol a szállóvendégek részére biztosítjuk a szükséges felszerelést. Egyszerre legfeljebb K vendég szállhat meg, azaz legfeljebb K darab sífelszerelésre van szükség. Kezdetben egy síléc sem áll rendelkezésre. A panzió kölcsönözhet egy napra egy pár sílécet 1 egységért, vagy megvásárolhat egyet B egységért. A kölcsönzés naponta történik, bármelyik nap vásárolhatnak bármennyit. Horváth Bálint Online algoritmusok 2018. március 30. 14 / 28

A síbérlési feladat általánosan [2] Az nyilvánvaló, hogy nem érdemes K -nál több sílécet vásárolni. Kérdés: mikor vásárolja meg a panzió a K darab sílécet? Ha soha nem vásárolnánk meg a K darabot, akkor ha a sílécek iránti igények sorozata elég hosszú, és mindig elég sok sílécet igényelnek, az algoritmus nem lehet konstans versenyképes. Horváth Bálint Online algoritmusok 2018. március 30. 15 / 28

A síbérlési feladat általánosan [3] A következ, általánosított algoritmus 2 1 B -versenyképes, hasonlóan, mint K = 1 esetén: Minden 1 k K esetén vásároljuk meg a k-adik sílécet azon a napon, amely napon B-szer érkezett már legalább k darab sílécre igény. Horváth Bálint Online algoritmusok 2018. március 30. 16 / 28

A síbérlési feladat általánosítása [4] ábra: Az ábra egy hat napos id szakot szemléltet. Minden nap igényelnek valahány sílécet, esetünkben K = 5. Az els nap 3, a második nap 5, a harmadik napon egy sífelszerelésre érkezik igény és így tovább. Horváth Bálint Online algoritmusok 2018. március 30. 17 / 28

Memóriakezelési probléma [1] A számítógépek gyorsmemóriájának a kezelését modellezik. Adott lapok egy halmaza, ebb l származó lapok egy sorozata a bemenet. k lap kapacitású gyorsmemóriát kell kezelni. Ha az aktuálisan igényelt lap nincs a memóriában, akkor az algoritmusnak ezt a lapot be kell tennie és ha már nincs hely, valamely másik lapot ki kell raknia. Horváth Bálint Online algoritmusok 2018. március 30. 18 / 28

Memóriakezelési probléma [2] Ha egy igényelt lap nincs a memóriában, azt hibának nevezzük. Cél: hibák minimalizálása. Online probléma, hiszen az algoritmusnak a lap elhelyezéséhez szükséges döntést (azaz, hogy mit távolítson el a gyorsmemóriából) a további igények ismerete nélkül kell meghoznia. Horváth Bálint Online algoritmusok 2018. március 30. 19 / 28

Memóriakezelési probléma [3] Tétel Nincs olyan online algoritmus a lapozási problémára, melynek a versenyképességi hányadosa kisebb lenne, mint k, ahol k a gyorsmemória kapacitása. Horváth Bálint Online algoritmusok 2018. március 30. 20 / 28

Bélyegz algoritmus [1] Az eljárás egyes, korábban kért lapok megjelölésére bélyegeket használ. Kezdetben egyetlen lap sincs megjelölve. Egy bejöv kérés esetén a következ lépéseket hajtja végre: 1. Ha a kért lap a memóriában van és ez a lap még jelöletlen, megjelöljük. 2. Ha a kért lap nincs a memóriában, és nincs már jelöletlen lap a memóriában, az összes jelölést töröljük. 3. Ezután veszünk egy jelöletlen lapot a memóriából (ilyet biztosan találunk az el z lépés miatt), a kért lapot ennek a helyére rakjuk és bejelöljük. Az algoritmus m ködését nagyban befolyásolja, hogy milyen szabály alapján választjuk ki a törlend lapot. Horváth Bálint Online algoritmusok 2018. március 30. 21 / 28

Bélyegz algoritmus [2] Jelöljük a Bélyegz algoritmust egyszer en B-vel. Tétel A B algoritmus enyhe versenyképességi hányadosa k. Horváth Bálint Online algoritmusok 2018. március 30. 22 / 28

LRU (least recently used) algoritmus Gyakorlatban elterjedt módszer. Minden esetben azt a lapot töröljük a memóriából, amelyet a legrégebben használtunk. A bélyegz algoritmusok családjába tartozik. Hasonlít a jól ismert FIFO eljáráshoz, mely szintén azt a lapot rakja ki a memóriából, mely a legrégebben került be. Horváth Bálint Online algoritmusok 2018. március 30. 23 / 28

Véletlenített online algoritmusok [1] Az algoritmus véletlen döntéseket is hoz, ezen döntésekt l kimenetelét l függ az algoritmus futása. A célfüggvény várható értékét vizsgáljuk. Az A(I ) valószín ségi változó várható értékét vizsgáljuk, melyet összehasonlítunk az optimális megoldás OPT (I ) értékével. Horváth Bálint Online algoritmusok 2018. március 30. 24 / 28

Véletlenített online algoritmusok [2] Példa Tegyük fel, hogy van két doboz: A és B, amelyek egyike 1000 Ft-ot tartalmaz, a másik üres. 500 Ft-ért választhatunk egy dobozt, aminek a tartalmát megkapjuk. Két determinisztikus algoritmus használható: vagy A-t, vagy B-t választjuk, mindkét esetben az algoritmus költsége a legrosszabb esetben 500. Azonban, ha egy olyan véletlenített algoritmust használunk, mely 1 2 valószín séggel választja mindkét ládát, akkor az algoritmus költségének várható értéke 1 2 500 + 1 2 ( 500) = 0 Horváth Bálint Online algoritmusok 2018. március 30. 25 / 28

Véletlenített algoritmus a síbérlési feladatra A sílécek vásárlási ára továbbra is B egység, a bérlés ára napi 1 egység. A véletlen R algoritmus 1 2 valószín séggel a 3B 4 vásárol. 1 2 valószín séggel a B id pontig vár és utána vásárol. id pontig vár és utána Tétel Az R algoritmus 15 8 -versenyképes. Horváth Bálint Online algoritmusok 2018. március 30. 26 / 28

Véletlenített bélyegz algoritmus 1. Ha a kért lap a memóriában van és ez a lap még jelöletlen, megjelöljük. 2. Ha a kért lap nincs a memóriában, és nincs már jelöletlen lap a memóriában, az összes jelölést töröljük. 3. Ezután veszünk egy jelöletlen lapot egyenletes eloszlással a memóriából (ilyet biztosan találunk az el z lépés miatt), a kért lapot ennek a helyére rakjuk és bejelöljük. Tétel Ha a bemenetet az algoritmus véletlen döntéseinek eloszlása ismeretében, de a döntések kimenetének ismerete nélkül adjuk meg, akkor a fenti algoritmus 2H k -versenyképes, ahol H k = k 1 i=1 i. Horváth Bálint Online algoritmusok 2018. március 30. 27 / 28

Köszönöm a gyelmet! Horváth Bálint Online algoritmusok 2018. március 30. 28 / 28