1 3. Előad á s: A mohó algoritmus Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT-4. kurzus.

Slides:



Advertisements
Hasonló előadás
A FELNŐTTKÉPZÉSI A FELNŐTTKÉPZÉSI INTÉZMÉNYEK HATÉKONYSÁGÁNAK VIZSGÁLATA Felnőttképzők Szövetsége Borsi Árpád Budapest, december 10.
Advertisements

Informatikai rendszerek általános jellemzői 1.Hierarchikus felépítés Rendszer → alrendszer->... → egyedi komponens 2.Az elemi komponensek halmaza absztrakciófüggő.
TEROTECHNOLÓGIA Az állóeszközök újratermelési folyamata.
Gazdasági informatika - bevezető
Berényi Eszter – Damásdi Judit
Valószínűségi kísérletek
A kérdőívek, a kérdőívszerkesztés szabályai
Logo Országos Számítástechnikai Tanulmányi Verseny
Becslés gyakorlat november 3.
A Repülésbiztonsági Kockázat
Az Európai Uniós csatlakozás könyvtári kihívásai
A KINOVEA mozgáselemző rendszer használata
Kockázat és megbízhatóság
Mesterséges intelligencia
KRE-AKTÍV motivációs projekt
Technológiai folyamatok optimalizálása
Technológiai folyamatok optimalizálása
Technológiai folyamatok optimalizálása
Algoritmusok és Adatszerkezetek I.
Végeselemes modellezés matematikai alapjai
Monte Carlo integrálás
Rangsorolás tanulása ápr. 13..
Környezetgazdaságtan 1
Hipotézisvizsgálat.
Munka és Energia Műszaki fizika alapjai Dr. Giczi Ferenc
Számításelmélet 1.
V. Optimális portfóliók
Bevezetés Az ivóvizek minősége törvényileg szabályozott
Adatbázis-kezelés (PL/SQL)
INFOÉRA 2006 Véletlenszámok
Kvantitatív módszerek
Közigazgatási alapvizsga a Probono rendszerben
Business Mathematics
A márkázás Marketing gyakorlat 6..
Algoritmusok és Adatszerkezetek I.
Algoritmusok és Adatszerkezetek I.
Algoritmusok és Adatszerkezetek I.
Számítógépes Hálózatok
Algoritmusok és Adatszerkezetek I.
STRUKTURÁLT SERVEZETEK: funkció, teljesítmény és megbízhatóság
Tilk Bence Konzulens: Dr. Horváth Gábor
Munkanélküliség.
AVL fák.
Compliance és Corporate Governance
Cégnév….. KAIZEN AKCIÓ A ….. TERÜLETEN
Környezeti Kontrolling
Minimális feszítőfák Definíció: Egy irányítatlan gráf feszítőfája a gráfnak az a részgráfja, amely fagráf és tartalmazza a gráf összes cúcspontját. Definíció:
TÁRGYI ESZKÖZÖK ELSZÁMOLÁSA
Bináris kereső fák Definíció: A bináris kereső fa egy bináris fa,
Vasbeton falvasalás megadása és ellenőrzése EC2 szerint
Algoritmusok és Adatszerkezetek I.
További rendező és kereső algoritmusok
A szállítási probléma.
I. HELYZETFELMÉRÉSI SZINT FOLYAMATA 3. FEJLESZTÉSI FÁZIS 10. előadás
Dr. Varga Beatrix egyetemi docens
Matematika 11.évf. 1-2.alkalom
Binomiális fák elmélete
SQL jogosultság-kezelés
Mintaillesztés Knuth-Morris-Pratt (KMP) algoritmus
Munkagazdaságtani feladatok
Körmentes irányított gráfban legrövidebb utak
Mesterséges neuronhálók és alkalmazásaik
Áramlástan mérés beszámoló előadás
Szállításszervezési módszerek Járattípusok 1
Vektorok © Vidra Gábor,
Mikro- és makroökonómia
Mesterséges intelligencia
Algoritmusok.
A T-spline felületreprezentáció
A tehetséggondozás kihívásai
Előadás másolata:

1 3. Előad á s: A mohó algoritmus Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT-4. kurzus

2 Bevezetés Az eddig tanult algoritmus tipúsok nem alkalmazhatók: A valós problémák nem tiszta klasszikus problémák A problémák dimenziói nagyok, vagy nagyon nagyok Problémák több célfüggvényesek Gyakoriak a homályos megfogalmazások Nagyon sok számítási időre van szükség. Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT4. kurzus

3 Keresés a mogoldások terében Probléma: max {c*x | x ε S } ahol S a megoldások tere, x egy elem ebből a térből x  S c*x egy valos érték, méri az x minőségét Definíció: x pont környezete: V(x) = { x | dist ( x - x) <= r, x ε S, r ε R } Példa: V(x) = { x | x j = x j - 1, x j, x j + 1, j=1,...,n} Lokális keresés: cx ’ = { max c*x │ x ε S  V(x) } Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT4. kurzus

4 Klasszikus szuboptimális módszerek (nem optimális de polinomiális) - Mohó (G reedy) algoritmusok - Divide et Impera, (oszd meg és uralkodj) - Heurisztikák Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT4. kurzus

5 MOHÓ algoritmusok Optimalizálási problémák megoldásakor használjuk. Olyan lépések sorozatából áll, ahol minden lépésben egy adott halmazból választhatunk. Mindig az adott lépésben optimálisnak látszó választást tesszük. Lokális optimumot választjuk, annak a reményében hogy eljutunk a globális optimumhoz. Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT4. kurzus

6 Általánosan öt pillérre támaszkodik: 1.egy halmazból veszi a jelölteket, amelyekkel felállítja a megoldáshalmazt 2.egy kiválasztó függvény, amely a legjobb jelöltet választja ki a megoldás reményében 3.egy lehetőségvizsgáló függvény, amely megnézi, hogy egy jelölt alkalmas- e a megoldásra 4.egy célfüggvény, amely egy értéket megoldásnak, vagy részleges megoldásnak jelöl 5.egy megoldásfüggvény, amely jelzi, ha megtaláltuk a teljes megoldást. Forrás: Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT4. kurzus

7 Pénzvisszaadási algoritmus: Hogyan adjunk vissza egy nagyobb pénzből, vásárlás után, hogy minél kevesebb címletet használjunk. A legnagyobb címletből, amennyit lehet, utána a következő legnagyobb címletből, amennyit lehet, stb... Vissza kell adnunk 367 RON-t. 1 db 200 RON-os 1 db 100 RON-os 1 db 50 RON-os 1 db 10 RON-os, 1 db 5 RON 2 db 1 RON Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT4. kurzus

Bal-felső sarokból a jobb alsó sarokba szeretnénk eljutni úgy, hogy csak lefele vagy jobbra lehet lépni. Mohó útvonal a sárga, legrövidebb útvonal a piros + az utolsó 2 sárga.

9 A hátizsák probléma mohó megoldása. Van egy hátizsákunk. A zsák térfogata V. Vannak hasznos dolgaink, amelyeket be szeretnénk rakni a zsákba. Nem fér bele a zsákba m inden. Mit pakoljunk bele a zsákba, hogy minél nagyobb legyen a hasznunk? Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT4. kurzus Jelölések: V- a zsák térfogata v i – az i-edik dolog térfogata h i – az i-edik dolog hasznossága Definiálunk egy relatív hasznosságot, vagy hasznossági sűrűséget. Ez az érték, az egységnyi térfogatra eső hasznosság mértéke lesz. s i =h i /v i – az i-edik dolog hasznossági sűrűsége

10 Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT4. kurzus A dolgainkat a relatív hasznosság szerint csökkenő sorrendbe rakjuk. A legnagyobb értékűt pakoljuk be először. Addíg pakoljuk a zsákot, amíg fér bele. Ha nem fér a nagyobb hasznosságú dolog, vesszük sorba a következőt, amelyik belefér. Egyenlő relatív hasznosság esetén vagy aleatorikusan pakoljuk a hátizsákot vagy valamilyen lexikografikus sorrendben. 1.Beolvas n, V, v[2][n]//n-a dolgok száma, V hátizsák térfogata, v[1][n] tartalmazza a dolgok térfogatait v[2][n] tartalmazza a dolgok hasznosságát 2.Kiszámol és sorbarak. 3.Berak a hátizsákba, amíg lehet 4. Vége

11 Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT4. kurzus NévMatracAranyVízZokniPokrócAlsó vivi hi h i /v i DologHasznosTérfogatÖssztérf Arany Matrac Zokni Pokróc Alsó Viz V=500 dm 3 Tömeg???????

12 MOHÓ algoritmusok Definíciók és jelölések E – egy véges sokaság W: E  R – egy súlyfüggvény W(S) = ∑w(e), e ε S, S  E F(E) – egy az E alsokaságok családja Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT4. kurzus

13 Elméleti alapok (Matroidok, Grafoidok) Matroid: Definíció: (E,F) egy matroid ha  ε F bármelyik S és S’ esetében{S’  S ha F  S’  F} bármelyik S, S 1, S 2 esetében { S 1, S 2 maximális független alhalmazai az S nek  |S 1 |=|S 2 |} Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT4. kurzus

14 MOHÓ Algoritmus 1. Kiválasztunk egy e 1  E elemet úgy hogy S 1 := { e 1 }  F(P) es w(e 1 )= max{w(e) : { e }  F(P)} 2. Választunk egy másik elemet e 2  E-S 1 úgy hogy S 2 := S 1  { e 2 } = { e 1, e 2 }  F(P), és W(e 2 ) = max { w(e) : e  E-S 1 es S 1  { e }  F(P)} 3. Folytatjuk a folyamat végéig Hogy mikor vezet egy mohó algoritmus az optimális megoldáshoz a követekező tétel adja meg. Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT4. kurzus

15 Tétel: Ha (E,F) egy matroid akkor a mohó algoritmus az optimális megoldáshoz vezet. A greedy módszer célja; hamar könnyen jó megoldásokhoz jutni Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT4. kurzus

16 Alkalmazási princípiumok Az elemek sorbarakása a súlyozás szerint Az elemek kiválasztása A megszorítások ellenőrzése A celfüggvény ellenőrzése Más módszerekkel való összehasonlítás: A mohó algoritmus hamar vezet elég jó megoldásokhoz de nem feltétlenül az optimálishoz Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT4. kurzus

17 A minimális feszítőfa probléma Huzalozási problémának is nevezzük, mivel n pont között próbál meghatározni egy olyan fát, amelyikben a gráf minden csúcspontja egyszer benne van. Lényeges, hogy a költség minél kisebb legyen (minél kisebb hosszúságú vezetékszál) Összefüggő, irányítatlan G=(V,E) gráf segítségével modellezük, ahol V-beli csúcsok az áramkör pontjai, E élei az összeköthető pontpárokat jelölik (u,v)  E él rendelkezik egy w(u,v) súllyal, amelyik az u és v összekötési költségét adják meg Létező mohó algoritmusok (amelyek optimálisak) Kruskal algoritmus Prím algoritmusa

18 Kruskal algoritmusa a b i hg c f e d a b i hg c f e d a b i hg c f e d a b i hg c f e d

19 Kruskal algoritmusa -2 a b i hg c f e d a b i hg c f e d a b i hg c f e d a b i hg c f e d

20 Kruskal algoritmusa -3 a b i hg c f e d a b i hg c f e d a b i hg c f e d Minden lépésben megkeresi a G A =(V,A) erdő két tetszőleges komponensét összekötő élek közül a legkisebb súlyú (u,v) él, és ezt veszi hozzá az egyre bővülő erdőhöz. A Kruskal algoritmus mohó algoritmus, mert minden lépésben a lehetséges legkisebb súlyú élet adja hozzá az erdőhöz

21 Divide et Impera, (oszd meg és uralkodj) Példa: A dva van egy vektor a=(a1,a2,…,an), a feldolgozása lehetséges két részben I=1,.., k É s I=k+1,…,n ig. Majd az eredm é nyeket kombin á lva az “a” vektor feldolgozását kapjuk Pocedure divimp (p.q,  ) If q-p   then call feldolg (p.q,  ) else call div (p,q,m) call div (p,m,  ) call divimp( m+1,q,  ) call komb( , ,  ) endif return end Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT4. kurzus

22 Heurisztik us m ó dszerek Defin í ci ó : Egy algoritmust heurisztik us nak mondunk, ha: Nincs elméleti alapja, Könnyű implementálni Gyorsan elég jó megoldásokat ad Különböző esetek A feltételek könnyen vagy nehezen teljesíthetők, az optimalitás könnyen vagy nehezen elérhető Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT4. kurzus

T= Sorbarakás egy gépen, előkészítési idővel B C DE F A F= =11 Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT4. kurzus

Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT4. kurzus 1-esből indulva: K= =11 2-esből indulva: K= =9 3-asból indulva K= =10 4-esből indulva: K= =8 5-ösből indulva K= =12 6-osból indulva K= =13