310 likes | 419 Views
Koordinációs m ódszerek I. Gulyás László AITIA International Rt. lgulyas@aitia.ai. Ágensek és multi-ágens rendszerek Kurzus az ELTE programtervező-matematikus hallgatóinak. Napirend. Stigmergia Rajban repülés (Boids / Schooling) Hangyák élelemkeresése (ant foraging)
E N D
Koordinációs módszerek I. Gulyás László AITIA International Rt. lgulyas@aitia.ai Ágensek és multi-ágens rendszerekKurzus az ELTE programtervező-matematikus hallgatóinak
Napirend • Stigmergia • Rajban repülés (Boids / Schooling) • Hangyák élelemkeresése (ant foraging) • Hangyarendezés (Ant Sort) • Termeszvárak (Termite Nests) • Ant Colony Optimization • A Stigmergia alkalmazásai • Hangya-entrópia Ágensek és multi-ágens rendszerek
Stigmergia • Pierre-Paul Grassé terminusa (1959) • Stigma (jel) & ergon (munka) • „Munkaszervezés a munka (terméke) által.” • Indirekt kommunikáció • A környezet, illetve „érzékelés” által. • „Hangyaalgoritmusok” • Közelítő, robosztus, „önjavító” algoritmusok. • Például: • Rajban repülés (boids / schooling) • Élelemszerzés • Rendezés • Termeszvárak Ágensek és multi-ágens rendszerek
Rajban repülés (boids) • Demo Ágensek és multi-ágens rendszerek
Craig Reynolds Boids algoritmusa I. • Szeparáció • A lokális „sűrűsödés” (crowding) elkerülése. • Igazodás • A lokális átlagirány felvétele • Kohézió • A lokális átlaghelyzetirányába való elmozdulás Ágensek és multi-ágens rendszerek
Craig Reynolds Boids algoritmusa II. • Mindenki csak a lokális környezetéhez fér hozzá. • Mégis direkt implementációban ez egy O(n2) algoritmus • Mindenkit figyelembe kell venni • Pl. ki kell deríteni, hogy nem lokális. • Terület alapú (spatial) adatstruktúrával • O(n) implementáció is létezik. Ágensek és multi-ágens rendszerek
Termeszvárak • Demo… Ágensek és multi-ágens rendszerek
Termeszvár Algoritmusa I. • Deneubourg et al.: • A dolgozó földet vesz fel • Nyállal keveri • Emiatt feromon kerül bele • A feromon vonzza a többi dolgozót • Egyre többen jönnek • Királynő feromonja • Párolgás Ágensek és multi-ágens rendszerek
Termeszvár Algoritmusa II. • Boltív Ágensek és multi-ágens rendszerek
3D termeszalgoritmus Ágensek és multi-ágens rendszerek
Hangyák élelemkeresése • Demo x 2 Ágensek és multi-ágens rendszerek
Hangyák élelemkeresésének modellje I. • Jelenlegi tudásunk szerint / a modellben • nincs központi kontroll, • nincs direkt kommunikáció, • az egyedek egyszerűek (nem túl okosak). • Indirekt kommunikáció • 2 fajta feromon: „kereső”, illetve „hazatérő” • Gyakran csökkenő lépésenkénti feromon-mennyiség • A hangyák a megfelelő feromon gradiensét követik • „Hibázás” • Tehetetlenség • Diffúzió és párolgás • A működés elemzése • Különös tekintettel a „rövidebb” út megtalálására Ágensek és multi-ágens rendszerek
Hangyák élelemkeresésének modellje II. Pozitívvisszacsatolás!! Ágensek és multi-ágens rendszerek
Hangyák élelemkeresésének modellje III. • Minden lépésben irányválasztás (vö. routing) • Lokális döntés • A nagyobb feromon-koncentráció irányába • DE! Probabilisztikus szabály! • Formálisabban: • Több, absztrakt döntési pont • Az útvonaldöntések sorozatából áll. • A döntések lokális információn alapulnak. • A megoldás költsége a sorozat hosszától függ. Ágensek és multi-ágens rendszerek
Hangyák élelemkeresésének modellje IV. • A feromon intenzitása • Aközösségi becslés lokális kódolása a megoldás minőségéről. • Ismételt mintavétel • alapján. Ágensek és multi-ágens rendszerek
Hangyarendezés • „Nyíltvégű” rendezőalgoritmus • A „hangyák” véletlen sétájuk során • Felvesznek objektumokat • Ha hasonló objektumok közé kerülnek, lerakják őket. • Pozitív visszacsatolás: • A hasonló objektumok kupacai nőnek a kisebb kupacok rovására. • Demo Ágensek és multi-ágens rendszerek
Hangyarendezés Algoritmusa I.(Deneubourg et al.) • Felvétel valószínűsége: • Lerakás valószínűsége: • Ahol: • N – objektumok száma a rövidtávú memóriában • T – rövidtávú memória hossza • x – egy időpillanatban megjegyzett max. objektumok száma Ágensek és multi-ágens rendszerek
Hangyarendezés Algoritmusa II.(Deneubourg et al.) • k1 és k2 küszöbparaméterek • Ha f << k1, akkor kevés „emlék” ellenére is valószínű a felvétel. • Ha f >>k1, akkor sok„emlék” ellenére is valószínűtlen a felvétel. • Hasonló mondható k2–ről is. • Deneubourg-ék értékei: • k1=0.1 • k2=0.3 Ágensek és multi-ágens rendszerek
Stigmergia Alkalmazásai • Hétköznapi • Spontán dugó-elkerülés • „Ebben a sávban valami gáz van…” • Társadalmi • Wikipedia • ICT • Útvonalválasztás telekommunikációs hálózatokban. • Képfeldolgozásban Ágensek és multi-ágens rendszerek
Stigmergia ICT Alkalmazásai II. • Infrastruktúra: • Tuple-spaces (pl. TuCSoN) • Elosztott „blackboard” • Lokális információ-halmazok (TupleSpace-k) • N(a, b, c, d) TS-be • Ant-Colony Optimization (ACO) • Meta-heurisztika versus algoritmus • Az élelemkeresés algoritmusának formalizálása és általánosítása. Ágensek és multi-ágens rendszerek
Ant Colony Optimization I. • Legrövidebb út általános modell • Kombinatorikus optimalizálás • Egyéb döntési problémák • Általánosítás a fentiek alapján: • Formálisabban: • Több, absztrakt döntési pont • Az útvonaldöntések sorozatából áll. • A döntések lokális információn alapulnak. • A megoldás költsége a sorozat hosszától függ. Ágensek és multi-ágens rendszerek
Ant Colony Optimization II. • Absztrakt probléma • Komponensek véges halmaza: N={N1, …, Nl} • Korlátozások Ω halmaza. • Állapotok: rendezett komponens-sorozatok: <nr, ns, …, nu> vagy <r, s, …, u> • Δ az összes lehetséges állapot. • Δ’megengedett állapotok. • Állapotok topológiája: • δ1 és δ2szomszédos, ha mindkettő Δ–beli és δ2 elérhető δ1-ből egy logikai lépésben. • Megoldás: • S – Δ’egy eleme. • C(S) – a megoldás költsége. Ágensek és multi-ágens rendszerek
Ant Colony Optimization III. • Absztrakt algoritmus: procedure ACO-metaheurisztika() while (leállás-feltétele) schedule_begin Ant-megoldásjavaslatok-feromonok-alapján(); feromon-frissítés(); démon-akciók(); /* opcionális */ schedule_end; while_end; Ágensek és multi-ágens rendszerek
ACO: Hangyák algoritmusa I. • Minden csúcsban feromon-változók tömbje: • Mintavétel alapján tanult: • Ekvivalens tömb: heurisztikus változók • Nem-hangya ismeret: • Az i-ből j-be ugrás becsült jósága: Ágensek és multi-ágens rendszerek
ACO: Hangyák algoritmusa II. • Minden hangya autonóm módon generál egy útvonalat. • Akárhány párhuzamos hangya elképzelhető. • Nincs szükség szinkronizációra!! • Robosztus: nem probléma, ha néhány kiesik. • A következő ugrást stochasztikus szabály határozza meg: Ágensek és multi-ágens rendszerek
A „hangya routing tábla” • A lokálisan elérhető információk szummája • τ és η kombinálása. • Például Ágensek és multi-ágens rendszerek
ACO: Hangyák algoritmusa III. • Véletlen választás a „routing tábla” alapján. • Példák: • Arányos: • Ε-mohó: Ágensek és multi-ágens rendszerek
ACO: Feromon-frissítés • A hangyák lépésenként, online frissítenek. • Szükséges egyfajta globális „javítás” • Mint a párolgás. • Késleltetett, online „feromon-filter” • Az út kiegészítése és kiértékelése • Az útvonal fordított bejárása, és az információk frissítése. • A teljes út hossza használható, mint megerősítési jel (reinforcement signal). • Offline megoldás: démon • Pl. direkt offline párolgás. Ágensek és multi-ágens rendszerek
ACO: Áttekintés Ágensek és multi-ágens rendszerek
Hangyák élelemkeresése • „Exploration versus Exploitation” • Kito et al. cikke: a korlátozott racionalitás/információ néha segít. • Az „ant-rópia” projekt: Ágensek és multi-ágens rendszerek
„Ant-rópia” 2. Ágensek és multi-ágens rendszerek