Rozhodovanie sa agentov pomocou koordinačných grafov
Koordinačný problém
Proces, ktorý zabezpečuje, že individuálne rozhodnutia agentov vyústia do spoločného optimálneho rozhodnutia skupiny.
Základným princípom uplatneným v prístupe pomocou koordinačných grafov je heslo „robme to, čo je najlepšie pre nás ako jednotlivca a čo je čo možno v najväčšom súlade s potrebami kolektívu“.
Teória koordinačného problému
Nech
je spoločná akcia n agentov v danom cykle je množina dostupných akcií v danom cykle pre agenta i.
Každý agent má definovanú výnosovú funkciu
Každý agent si zvolí jednu z dostupných akcií a obdrží výnos založený na vybraných akciách ostatných agentov. Všetci agenti používajú rovnakú výnosovú funkciu, teda
Agenti volia také akcie, aby platilo, že ak
je spoločná akcia agentov
Potom
platí, že
, kde a-i je spoločná je akcia všetkých ostatných agentov okrem agenta i. Taký stav sa nazýva Nashova rovnováha.
Pri výbere akcií agentov v nejakom cykle sa teda snažíme dospieť do bodu Nashovej rovnováhy.
Nashova rovnováha nastáva, ak jeden "hráč" urobí to, čo je pre neho najvýhodnejšie v závislosti na činnosti druhého "hráča", ktorý tak isto robí to, čo je pro neho najvýhodnejšie s ohľadom na činnosť prvného "hráča“.
Koordinačný graf
Uzol v grafe predstavuje agenta Gi. Hrana v grafe identifikuje závislosť medzi agentami, t.j. akcia, ktorú v danom cykle vykoná agent Gi môže závisieť od vybraných akcií s tými agentami, s ktorými je agent Gi v grafe spojený. V danom cykle koordinujú svoje akcie iba prepojení agenti.
A2 musí koordinovať svoje akcie s A1, A4 musí koordinovať s A3. A3 musí koordinovať akcie s A4 a A1. A1 musí koordinovať akcie s A2 a A3.
Funkcia f špecifikuje lokálne koordinačné závislosti medzi akciami agentov. R(a) je globálna výnosová funkcia pre daný graf. R(a) sa dá rozložiť na niekoľko lokálnych výnosových funkcií uvažujúcich iba akcie v grafe závislých agentov.
Algoritmus eliminácie premenných
Tento algoritmus umožňuje dospieť k stavu, kedy si všetci agenti v danom cykle zvolia také akcie, ktoré maximalizujú globálnu výnosovú funkciu pre daný graf a daný cyklus. Snažíme sa náisť takú spoločnú akciu a* je z A, pre ktorú je R najväčšie. Agenti sú z grafu postupne eliminovaní vykonaním tzv. lokálneho maximalizačného kroku pre každého agenta.
Princíp:
- Vyberie sa agent na elimináciu.
- Tento agent si zo svojich susedov vezme pravidlá v ktorých figuruje jeho akcia.
- Agent optimizuje svoje rozhodnutie uvážením všetkých možných kombinácií akcií jeho susedov a príslušných ohodnotení výnosovou funkciou.
- Agent pošle svojim susedom upravené pravidlá v ktorých zmenil svoju akciu tak, aby maximalizoval výnosovú funkciu.
- Proces pokračuje dovtedy, pokým eliminujeme všetkých agentov z grafu.
- Posledne eliminovaný agent si jednoducho vyberie individuálnu optimálnu akciu, ktorá maximalizuje jeho finálnu stratégiu.
- Graf sa začne prechádzať naopak aby si každý agent mohol následne vybrať optimálnu akciu založenú na ich stratégií a už fixovaných akcií jeho susedov z grafu.
Príklad:
Eliminujeme agenta A1, t.j. snažíme sa o maximalizáciu hodnôt výnosových funkcií a sumy f1+f2.
Agent A1 vytvorí novú akciovo založenú výnosovú funkciu ktorá vracia takú kombináciu akcií a2 a a3, že výnosová lokálna funkcia tejto kombinácie bude najväčšia, eliminuje premennú a1 (neuvažuje ju a robia sa kombinácie akcií a2 a a3).
Eliminujeme A2, dostaneme:
Eliminujeme A3, dostaneme:
Agent A4 si teraz vyberie takú a4, že maximalizuje hodnotu svojej lokálnej výnosovej funkcie. Následne túto akciu a4 pošle svojim susedom, oni zohľadnia a4 a akciu ai tak, aby maximalizovali ich lokálnu výnosovú funkciu.
Tento proces ide presne v opačnom poradí eliminácie agentov z grafu.
Týmto dosiahneme to, že každý agent si zvolí takú akciu, ktorá maximalizuje lokálnu výnosovú funkciu s tým dôsledkom, že následne spoločná akcia a, kde
bude taká, pre ktorú globálna výnosová funkcia R(a) bude maximálna.
Pravidlovo-založené výnosové funkcie
V každom cykle v aktívnej hernej situácií (t.j. pre agentov, ktorí sa nachádzajú v istej vzdialenosti od lopty) majú agenti dynamicky priradenú rolu – nahrávač, príjemca, atď. Táto rola je vypočítaná a každý agent vie, akú rolu má v momentálnej situácií priradenú.
Medzi týmito agentami je koordinačný graf. Akcie, ktoré v danom cykle vykonajú koordinujeme v závislosti od ich rolí. Snažíme sa, aby ich spoločná akcia v danom cykle mala čím najvyššiu výnosovú funkciu.
V Robocupe, konkrétny agent môže v danom cykle vykonať napr. tieto akcie:
Každý agent Gi, pre každú rolu, ktorú môže zastávať má definované pravidlá a príslušný príspevok k výnosovej funkcií.
Predstavme si, že nastala táto situácia na ihrisku:
, kde agenti majú priradené role G1 – passer, G2 – receiver, G3 - receiver.
Predstavme si, že platia iba predikáty:
Potom zodpovedajúce pravidlá pre každého hráča budú teraz budú nasledovné:
Eliminačný krok agenta G1 z grafu
Zoberieme všetky pravidlá zo susedov G1 v ktorých figuruje akcia agenta G1. Túto akciu vylúčime a spravíme všetky možné kombinácie akcií ostatných agentov a vyhodnotíme výnosovou funkciou každú vzniknutú kombináciu.
Dostaneme:
Vidíme, že vo vzniknutých akciách už nie je akcia agenta G1 a1. Tieto vygenerované stratégie posiela všetkým svojim rodičom. Ak takto vygenerované stratégie obsahujú akciu ai, pričom Gi nie je rodičom G1 ale iba jeho nasledovníkom, vygenerujeme nový spoj medzi G1 a Gi tak, že G1 sa stane rodičom Gi a tak môže obdržať túto správu.
Vo všeobecnosti eliminácia a posielanie stratégií pokračuje dovtedy, pokiaľ sa už nedá eliminovať žiadny agent. Posledný agent už dôsledkom eliminačného procesu má na výber iba jeho akciu a zvolí si takú, ktorá zabezpečí maximálnu hodnotu výnosovej funkcie.
Túto akciu si zafixuje, pošle info o nej predchádzajúcemu agentovi z procesu eliminácie (opačné poradie výberu agentov ako v procese eliminácie) a ten si vyberie takú akciu vzhľadom na zafixovanú akciu predchádzajúceho agenta.
Na záver máme k dispozícií spoločnú akciu, ktorá maximalizuje globálnu výnosovú funkciu.
Zdroje
- (Prezentácia)
- Multi-robot decision making using coordination graphs (Proceedings of the 11th International Conference on Advanced Robotics, Coimbra, Portugal, 2003) (lokálna kópia)
- Non-communicative multi-robot coordination in dynamic environments (Robotics and Autonomous Systems, 50(2-3), Elsevier Science) (lokálna kópia)
Späť na hlavnú stránku | Aktuálna verzia na našom Wiki