4. Előadás: A mohó algoritmus

Slides:



Advertisements
Hasonló előadás
ÉRDEKES PONTOK KINYERÉSE DIGITÁLIS KÉPEKEN. BEVEZETÉS  ALAPPROBLÉMA  Jellemzőpontok detektálása mindkét képen  Kinyert pontok megfeleltetése  Megfeleltetések.
Advertisements

Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda 4. Előadás Az SQL adatbázisnyelv Sorváltozók Alkérdések Ismétlődő sorok Összesítések 1.
Tájékoztató a licenszdolgozattal kapcsolatban
Sapientia - Erdélyi Magyar Tudományegyetem (EMTE) Csíkszereda 8. Előadás tartalma Funkcionális függőségek 8.1 Funkcionális függőségek és kulcsok 8.2 Relációk.
VI. Nemzetközi Médiakonferencia „A média hatása a gyermekekre és fiatalokra” szeptember 26–28. Balatonalmádi Dr. Biró A. Zoltán Sapientia Erdélyi.
Algoritmus és programozás
Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT 1 12-es Kurzus OMT modellek és diagramok OMT metodológia OMT (Object Modelling Technique)
Készítette: Major Máté
Számítógépes algebrai problémák a geodéziában
INFOÉRA 2006 Kombinatorika
Rekurzió (Horváth Gyula és Szlávi Péter előadásai felhasználásával)
Programozási alapismeretek
Klaszterező algoritmusok smart city alkalmazásokhoz Gonda László Témavezető: Dr. Ispány Márton.
Bársony Kristóf számítástechnika IV. évfolyam
OPERÁCIÓKUTATÁS Kalmár János, 2011 Tartalom Több lineáris célfüggvényes LP Tiszta egészértékű LP.
Iskolák vidéki térségekben A társadalmi átalakulás történeti, kulturális beágyazottsága, ütközőpontjai a Kárpát medencében a XXI. század elején SOPRON.
1. előadás. 1.) Szoftverfejlesztés, mint mérnöki tevékenység. Számítási eszközfejlődés. Számítási eszközfejlődés: hazai viszonyok. Mérföldkő: Simula 67.Klasszikus.
1. előadás. 1.) Szoftverfejlesztés, mint mérnöki tevékenység. Számítási eszközfejlődés. Számítási eszközfejlődés: hazai viszonyok. Mérföldkő: Simula 67.Klasszikus.
Tökéletes Hash függvények keresése Kasler Lóránd-Péter.
Trajectori Adatok feldolgozása DirectionPreserving Trajectory Simplification (Cheng Long, Raymond ChiWing Wong, H. V. Jagadish) Forrás: Készítette: Béleczki.
Anyagmozgatási problémák
Algoritmus. Folyamatábrák
A Dijkstra és a kritikus út algoritmusok kapcsolata és szemléletes tanítása Kiss László főiskolai docens OE RKK MKI augusztus 25.
Kovács Dániel László Kovács Dániel László BME-VIK, Méréstechnika és Információs Rendszerek Tanszék Önálló laboratórium.
Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT
TARTALOM: Általánosságok Algoritmusok ábrázolása:
UML Diagramok ábrázolása
Sapientia-Csíkszereda ILLYES LÁSZLÓ Grundfoci-csapatválasztás. A Pál utcai fiúk és két célfüggvény.
Önálló labor munka Csillag Kristóf 2004/2005. tavaszi félév Téma: „Argument Mapping (és hasonló) technológiákon alapuló döntéstámogató rendszerek vizsgálata”
Lineáris programozás.
Lokális optimalizáció Feladat: f(x) lokális minimumának meghatározása 0.Adott egy kezdeti pont: x 0 1.Jelöljünk ki egy új x i pontot, ahol (lehetőleg)
Optimalizáció modell kalibrációja Adott az M modell, és p a paraméter vektora. Hogyan állítsuk be p -t hogy a modell kimenete az x bemenő adatokon a legjobban.
Sapientia-EMTE informatikai rendszerének kialakítása és fejlesztése Dr. Dávid László Dr. Györfi Jenő Budapest, November 11.
Matematika II. 1. előadás Geodézia szakmérnöki szak 2010/2011. tanév Kataszteri ágazat tavaszi félév.
Matematika I. 1. heti előadás Műszaki Térinformatika 2013/2014. tanév szakirányú továbbképzés tavaszi félév Deák Ottó mestertanár.
Adatbányászati módszerek a térinformatikában
Valós idejű adaptív útvonalkeresés
Információs rendszerek tervezése
Programozás I. Típus algoritmusok
Az algoritmuskészítés alapjai
Algoritmizálás, adatmodellezés tanítása 8. előadás.
Információ- és hírközléselmélet '991 Információ- és Hírközléselmélet Vassányi István, Információelmélet –forráskódolás –csatornakódolás.
A határérték Digitális tananyag.
Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT-2. kurzus 2. Előadás tartalma 1. Elemi adatok és adatszerkezetek (struktúrák)‏ 2. Az.
6-os Kurzus (UML) Visszatekintés: ”történelmi szempontok”
Mesterséges Intelligencia 1. Eddig a környezet teljesen megfigyelhető és determinisztikus volt, az ágens tisztában volt minden cselekvésének következményével.
Bellmann-Ford Algoritmus
Az emberi agy… … ott vág át, ahol tud!.
Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék Korlátkielégítési problémák Autonóm és hibatűrő információs.
Informatikai Rendszerek Tervezése 5. Előadás: Genetikus algoritmusok Illyés László Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT.-5.
1 Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda ABR ( Adatbázisrendszerek) 2. Előadás : Műveletek a relációs modellben 2.2 Műveletek a.
Mohó algoritmusok Szlávi Péter ELTE IK
KORLÁTOK ÉS LEHETŐSÉGEK: EGYETEMI KÉPZÉSI HELYEK TÉRSÉGFEJLESZTÉSI LEHETŐSÉGEI A SZÉKELYFÖLDÖN Magyar Régiótudományi Társaság Vándorgyűlése Debrecen, 2010.
Automatikus dokumentum- feldolgozó megoldások
PÁRHUZAMOS ARCHITEKTÚRÁK – 13 INFORMÁCIÓFELDOLGOZÓ HÁLÓZATOK TUDÁS ALAPÚ MODELLEZÉSE Németh Gábor.
PPKE ITK 2009/10 tanév 8. félév (tavaszi) Távközlő rendszerek forgalmi elemzése Tájékoztatás GY
Dijkstra algoritmus. Az algoritmus működése  Kezdésnél a kezdő csúcson kívül minden csúcs távolsága legyen ∞, a kezdő csúcs távolsága 0.  Feltételes.
ALI/ARDS Molnár Zsolt SZTE, AITI
Kontinuum modellek 1.  Bevezetés a kontinuum modellekbe  Numerikus számolás alapjai.
1 3. Előad á s: A mohó algoritmus Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT-4. kurzus.
Sapientia - Erdélyi Magyar Tudományegyetem (EMTE) Csíkszereda
A mediáció szerepe a büntető igazságszolgáltatásban
Gráfok ábrázolási módja Általánosságok Algoritmusok ábrázolása:
Sapientia - Erdélyi Magyar TudományEgyetem (EMTE)
Információs rendszerek tervezése
Számításelmélet Tárgykód: NGM_IN006_1 és LGM_IN006_1
Sapientia - Erdélyi Magyar TudományEgyetem (EMTE)
Funkcionális függőségek
Csoport neve dátum Tárgy neve és kódja Előadó neve.
Sapientia - Erdélyi Magyar TudományEgyetem (EMTE)
Előadás másolata:

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

Az eddig tanult algoritmus tipúsok nem alkalmazhatók: Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT 4. kurzus 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.

Keresés a mogoldások terében Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT 4. kurzus 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 | xj = xj - 1, xj, xj + 1, j=1,...,n} Lokális keresés: cx’ = { max c*x │ x ε S  V(x) }

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

Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda. IRT. 4 Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT 4. kurzus 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. IRT. 4 Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT 4. kurzus Általánosan öt pillérre támaszkodik: egy halmazból veszi a jelölteket, amelyekkel felállítja a megoldáshalmazt egy kiválasztó függvény, amely a legjobb jelöltet választja ki a megoldás reményében egy lehetőségvizsgáló függvény, amely megnézi, hogy egy jelölt alkalmas-e a megoldásra egy célfüggvény, amely egy értéket megoldásnak, vagy részleges megoldásnak jelöl egy megoldásfüggvény, amely jelzi, ha megtaláltuk a teljes megoldást. Forrás: http://hu.wikipedia.org/wiki/Mohó_algoritmus

Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda. IRT. 4 Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT 4. kurzus 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 3 db 5 RON-os 2 db 1 RON

01 02 03 04 05 06 07 08 1 2 3 4 5 6 7 8 9 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.

vi – az i-edik dolog térfogata hi – az i-edik dolog hasznossága Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT 4. kurzus 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 minden. Mit pakoljunk bele a zsákba, hogy minél nagyobb legyen a hasznunk? Jelölések: V- a zsák térfogata vi – az i-edik dolog térfogata hi – 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. si=hi/vi – az i-edik dolog hasznossági sűrűsége

Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda. IRT. 4 Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT 4. 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. 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 Kiszámol és sorbarak. Berak a hátizsákba, amíg lehet 4. Vége

Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda. IRT. 4 Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT 4. kurzus Név Matrac Arany Víz Zokni Pokróc Alsó vi 300 50 100 30 200 60 hi 500 1000 20 40 hi/vi 1.66 0.2 1.33 0.5 0.33 Dolog Hasznos Térfogat Össztérf Arany 1000 50 Matrac 500 300 350 Zokni 40 30 380 Pokróc 100 200 580 Alsó 20 60 440 Viz 540 V=500 dm3 Tömeg???????

• Definíciók és jelölések E – egy véges sokaság Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT 4. kurzus 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

Elméleti alapok (Matroidok , Grafoidok) Matroid: Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT 4. kurzus   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 , S1 , S2 esetében { S1 , S2 maximális független alhalmazai az S nek  |S1 |=|S2 |}

• 1. Kiválasztunk egy e1  E elemet úgy hogy Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT 4. kurzus •      MOHÓ Algoritmus •      1.      Kiválasztunk egy e1  E elemet úgy hogy S1 := { e1 }  F(P) es w(e1 )= max{w(e) : { e }  F(P)} •      2.      Választunk egy másik elemet e2  E-S1 úgy hogy S2 := S1  { e2 } = { e1, e2 }  F(P) , és W(e2 ) = max { w(e) : e  E-S1 es S1  { 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.

A greedy módszer célja; hamar könnyen jó megoldásokhoz jutni Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT 4. kurzus 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  

Alkalmazási princípiumok Más módszerekkel való összehasonlítás: Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT 4. kurzus 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

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

Kruskal algoritmusa a b i h g c f e d 1 7 4 8 9 11 6 2 14 10 a b i h g

Kruskal algoritmusa -2 a b i h g c f e d 1 7 4 8 9 11 6 2 14 10 a b i

Kruskal algoritmusa -3 a b i h g c f e d 1 7 4 8 9 11 6 2 14 10 a b i h g c f e d 1 7 4 8 9 11 6 2 14 10 a b i h g c f e d 1 7 4 8 9 11 6 2 14 10 Minden lépésben megkeresi a GA=(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

Divide et Impera, (oszd meg és uralkodj) Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT 4. kurzus Divide et Impera, (oszd meg és uralkodj) Példa: Adva 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

Heurisztikus módszerek Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT 4. kurzus Heurisztikus módszerek Definíció: Egy algoritmust heurisztikusnak 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ő

Sorbarakás egy gépen, előkészítési idővel Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT 4. kurzus Sorbarakás egy gépen, előkészítési idővel 0 2 5 6 3 1 1 0 4 3 7 5 3 3 0 5 2 4 4 3 2 0 1 5 7 2 5 2 0 4 2 4 3 4 3 0 0 2 5 6 3 1 1 0 4 3 7 5 3 3 0 5 2 4 4 3 2 0 1 5 7 2 5 2 0 4 2 4 3 4 3 0 T= F=1+3+2+2+3=11 B A C F E D

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