420 likes | 559 Views
Ágens alapú technikák. Áttekintés. Ágensek és multi-ágens rendszerek Definíciók Típusaik Környezeteik Kommunikációjuk Ágens fejlesztői környezetek. Mi az az „ágens”?. beavatkozik. Környezet. ÁGENS. érzékel. Mi az az „ágens”?. Tisztító robot Sakk-program Mars robot
E N D
Áttekintés • Ágensek és multi-ágens rendszerek • Definíciók • Típusaik • Környezeteik • Kommunikációjuk • Ágens fejlesztői környezetek
Mi az az „ágens”? beavatkozik Környezet ÁGENS érzékel
Mi az az „ágens”? • Tisztító robot • Sakk-program • Mars robot Cél: az ágens jó (helyes) munkát végezzen a környezetére hatva • racionális ágens – amelyik helyesen cselekszik • ideális racionális ágens – minden egyes észlelési sorozathoz az észlelés és a beépített tudás alapján minden elvárt dolgot megtesz a teljesítménymérték maximalizálásáért
Mi az az „ágens”? • kapcsolat az ágens észlelési sorozata és cselekvései között – leképezés • a leképezés leírja az ágenst • ideális ágens ideális leképezés • leírási módszerek • táblázatos gond: végtelen hosszú lista • algoritmikus (függvény)
Az ideális ágens • Ideális ágens fő tulajdonságai • Képes a környezetére hatni • cselekvések végrehajtása, mozgás,... • Képes a környezetét észlelni • bábuk helyzetéhez egy táblán, radar,... • Egyéb lehetséges tulajdonságok • Képes a többi ágenssel kommunikálni • Jelezni a helyzetét, megosztani a tudását,... • Cél(ok) által vezérelt • A-ból B-be eljutni, megnyerni a játszmát,... • Vannak saját erőforrásai • Memória, robotkar, következtető gép,...
Az ideális ágens • Környezetéről csak részleges információkkal rendelkezik • Például csak a közvetlen környezetét látja • Képességek birtokában van és szolgáltatásokat tud nyújtani • Képességek (saját maga számára): mozgás, következtetés,... • Szolgáltatások (a többi ágens számára): információmegosztás,... • Képes önmagát reprodukálni • Például szoftverágens esetében • Céljai elérése érdekében cselekszik • Mattot ad egy sakkjátszmában, a padlón a koszos részt tisztítja,...
Az ideális ágens • Nem minden ágens ideális • Feladathoz ez nem mindig kell • Egy tisztítórobot nem tudja önmagát reprodukálni – nem is szükséges • Észlelés + beavatkozás képessége a legfontosabb
Multi-ágens rendszerek • Multi-ágens rendszer részei: • Egy környezet(E) (gyakorlatilag egy kiterjedéssel rendelkező tér). • Objektumok (O) halmaza, amik ebben a környezetben léteznek • (ideális) ágensek (A) halmaza, AO, az (ágensek speciális objektumok) • Műveletek (Op) halmaza, A ágensek ezek segítségével érzékelnek és beavatkoznak • Objektumok közötti relációk halmaza. ROxO. • Környezet sajátosságait leíró szabályok, műveletek
Reflexszerű ágensek • feltétel-cselekvés szabályok vezérlik (pl. ha az előző autó fékez, akkor kezdj fékezni) • az embereknél a cselekvést • tanult szabályok (pl. vezetés) • feltétlen reflexek (pl. pislogás erős fényre) határozzák meg • egyszerűek és gyorsak • működésük: • észleli a jelenlegi állapotot • keres egy ehhez illeszkedő szabályt • végrehajtja a szabályhoz illeszkedő cselekvést Példa: Helyesírás-ellenőrző, adatgyűjtő ágens
Reflexszerű ágensek Környezet Érzékelők Hogy néz ki most a világ? Szabályok Milyen cselekvéseket kell most végrehajtani? Beavatkozók
Belső állapottal rendelkező ágensek • egyetlen észlelésből nem lehet mindig dönteni • a környezet nyilvántartása az ágensen belül összehasonlítási alap mi változott? • reflexszerű ágens, amely eltárolt belső állapottal rendelkezik • kétfajta tudás beépítése: • hogyan változik a világ függetlenül az ágenstől (pl. előzést végrehajtó autó helyzetének változása hozzánk képest) • az ágens cselekvései hogyan befolyásolják a világot (pl. sávváltás után üres hely marad a korábban használt sávban) • Példa: Autóvezető ágens
Belső állapottal rendelkező ágensek • Reflexszerű ágens + belső állapot Környezet Érzékelők Belső állapot Hogy néz ki most a világ? Szabályok Milyen cselekvéseket kell most végrehajtani? Beavatkozók
Célorientált ágensek • a környezet állapotának ismerete nem mindig elegendő a cselekvés meghatározásához (pl. a taxi egy kereszteződésbe ér, merre haladjon tovább?) • a cél alapján történő döntés magába foglalja a jövő figyelembe vételét • sokkal rugalmasabb mint a reflexszerű ágens • egyszerre több céllal is rendelkezhet • a célja elérése érdekében tervet készít, mielőtt cselekedne • Példa: autóvezetés úticéllal, sakkozó program, alkatrészfelszedő robot
Célorientált ágensek • az ágens céljait elérő cselekvéssorozat: • keresés • tervkészítés • új cél új viselkedés • pl. • cél: autónk ne koccanjon más autóval • gondolatmenet: ha az előző autó féklámpái világítanak, akkor le fog lassulni a jövő figyelembe vétele
Célorientált ágensek • Állapottal rendelkező, tervkészítő ágens Környezet Érzékelők Belső állapot Hogy néz ki most a világ? Hogyan fog kinézni a világ, ha „A” cselekvést hajtom végre? Lehetséges cselekmények következményei Célok Milyen cselekvéseket kell most végrahajtani? Beavatkozók
Hasznosságorientált ágensek • Hasznossági függvény: • Állapotot (vagy azok sorozatát) valós számmá képez le, így két állapot összehasonlíthatóvá válik • Lehet választani a célok között • Meghatározható, hogy egy adott céltól milyen „messze” van az ágens • A hasznossági függvényt felhasználva hoz döntéseket, készít tervet • Tipikusan akkor, ha több cél van, amik közül választani kell (a célokat hasznosság alapján kiértékeli) • Példa: Olajfinomító-vezérlő rendszer, tőzsdei részvényvásárló ágens
Hasznosságorientált ágensek • Célorientált ágens, hasznossági függvénnyel Érzékelők Környezet Belső állapot Hogy néz ki most a világ? Hogyan fog kinézni a világ, ha „A” cselekvést hajtom végre? Lehetséges cselekmények következményei Ez milyen hasznossággal jár számomra? Milyen cselekvéseket kell most végrahajtani? Célok Beavatkozók
Ágens kommunikáció • Ágensek egymással való kapcsolatteremtésére • FIPA-ACL (Foundation for Intelligent Physical Agents – Agent Communication Language) • Ágens kommunikációs szabvány • Üzenet részei: • küldő, címzett(ek), kommunikációs szándék (KÉRÉS, LEKÉRDEZÉS, ), tartalom, válaszcím, nyelv, kapcsolat azonosító,...
Ágens környezetek • Hogyan illesszük az ágenst környezetéhez? • a környezet észlelésekkel látja el az ágenst • az ágens cselekvéseket hajt végre a környezetén • Ágenstervezés környezet szempontból: • a környezet tulajdonságai osztályozás • Ágensek értékelése, összehasonlítása: • tesztkörnyezet (program)
Ágens környezetek • Hozzáférhető/nem hozzáférhető • Hozzáférhető: az ágens érzékelő berendezése hozzáférést nyújt környezete teljes állapotához (kényelmes – nem kell nyilvántartson semmit a környezet változásának nyomon követéséhez) • Meghatározottság • Determinisztikus • a környezetet előző állapota és az ágens cselekvései egyértelműen meghatározzák • ha a környezet hozzáférhető és determinisztikus, akkor az ágens nem kell bizonytalanságot kezeljen • Nemdeterminisztikus • a cselekvések és az előző állapot mellett van(nak) más faktorok is amik meghatározzák a környezetet.
Ágens környezetek • Epizódszerű/nem epizódszerű • epizód: észlelések és cselekvések egy jól elkülöníthető sorozata, az egyes epizódok cselekedetei nem függnek közvetlenül az előző epizódok cselekedeteitől • epizódszerű: az ágens tapasztalata epizódokra bontható, és a cselekvések minősége kizárólag az adott epizódtól függ (pl. a sakkversenyben minden játék egy epizód) • Statikus/dinamikus • Statikus: ha a környezet állandó, miközben az ágens gondolkozik a következő cselekvésén • Dinamikus: ha a környezet folyamatosan változhat
Ágens környezetek • Diszkrét/folytonos környezet • Diszkrét vagy folytonos állapotokból, elemekből épül fel a környezet. (táblajáték, autóvezetés) • diszkrét – létezik az észlelések és cselekvések elkülönülő világosan definiált halmazapl. sakkjátszma: véges számú lehetséges lépés • folytonospl. autóvezetés: sebesség, az autó helye, a többi jármű helye
Ágens környezetek • eltérő környezetek különböző ágensprogramokat igényelnek • a legnehezebb a nem hozzáférhető, nem epizódszerű, dinamikus és folytonos eset • az osztályba sorolás a környezet és az ágens fogalmának meghatározásától is függ • pl.: a póker determinisztikus, ha az ágens nyomon követheti a pakliban levő kártyák sorrendjét • pl.: a sakk játszma szinten nem epizódszerű, de verseny szinten minden játszma egy epizód, a sakk epizódszerűvé válik
JADE ágens fejlesztői környezet • Tulajdonságai • Szabad felhasználású • Java-alapú • Ágensek felhasználó/fejlesztő által készített Java objektumok, amiket a JADE-be lehet illeszteni • http://jade.tilab.com/
JADE ágens fejlesztői környezet Ágens rendszerek: ágens platformok központi szolgáltatásokkal • platformok: kapcsolatban lévő ágenseket tartalmaznak • fő platform: mindig aktív, beépített ágensekkel (pl.kommunikációra, felhasználói felület kiszolgálására) • standard kommunikáció: ACL üzenetekkel
JADE ágens fejlesztői környezet • Minden ágens egy Java objektum import jade.core.Agent; public class HelloWorldAgent extends Agent { protected void setup() { System.out.println(“Hello World! my name is “+getAID().getName()); } }
JADE ágens fejlesztői környezet • Ágensek viselkedése • „One Shot”, „Cyclic”, „Complex”,... • Ágensek kommunikációja • Szabványos ACL üzenetek segítségével, a JADE támogatásával
JADE ágens fejlesztői környezet • Standard ágensek, alapvető feladatok ellátására • AMS (Agent Management System) • Ágensek futtatása és felügyelete • RMA (Remote Monitoring Agent) • Ágensek távfelügyelete • DF (Directory Facilitator) • Ágensek szolgáltatásainak kezelése
REPAST (REcursive Porous Agent Simulation Toolkit) • Főbb tulajdonságai • Java alapú • Ágensek itt is Java objektumok • Eclipse-be integrálható • http://repast.sourceforge.net • Ágensek típusai, viselkedés megegyezik a JADE-el • Kommunikáció nem támogatott, de kifejleszthető
Közlekedési szimuláció ágensekkel • Cél: közlekedési helyzetek szimulációja • Csomópontok jobb tervezése • Valójában egy számítógépes program • Ágensek = járművek • Környezet = közlekedési utak, csomópontok, autópálya
Közlekedési szimuláció ágensekkel • Megvalósítás • Java alapú rendszer • Ágensek külön objektumok, amiket a program „futtat”, valamint • Információkkal szolgál nekik a környezet állapotáról • A döntéseik alapján mozgatja őket a környezetükben