Ágens technológiák Starkné dr. Werner Ágnes Pannon Egyetem Műszaki Informatikai Kar Villamosmérnöki és Információs Rendszerek Tanszék
Áttekintés Ágensek és multi-ágens rendszerek Definíciók Típusaik Környezeteik Kommunikációjuk Ágensfejlesztői környezetek Alkalmazási területek Starkné Werner Ágnes: Mesterséges intelligencia, Veszprémi Egyetemi Kiadó, 2004
Mi az az ágens? MI programként, eszközként fogható fel (az 1990-es évek elején vált ismerté) Kutató robot Helyesírás ellenőrző program Ember beavatkozik Környezet ÁGENS érzékelők+ beavatkozók érzékel
Általánosan bármi lehet ágens, ami bizonyos fokú önállósággal bír, valamilyen környezet veszi körül és reaktív, vagyis érzékeli környezetét és reagál az abban bekövetkező változásokra.
A ma leginkább fejlődő ágensek elsődleges típusai közé tartoznak az Internetes ágensek, az elektronikus kereskedelmi ágensek, üzleti alkalmazások ágensei, interfész ágensek, adatbányászati ágensek. Az ágens alkalmazásokat kiszolgáló főbb technológiák a tudásbázisú rendszerek, a gépi tanulás, az elosztott rendszerek, az ágensek közötti kommunikáció nyelvei.
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 szenzorok, 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, tudásbázis, 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
Gyenge definíció gyakorlati minimum Beágyazottság, Reaktivitás, Autonómia, Helyzetfüggőség.
Erős definíció Az erős definíciónak megfelelő ágensek Az er s definíciónak megfelel ágensek rendelkeznek a gyenge definíció tulajdonságaival. Ezen felül racionálisak, valamint formálisan és implementált módon is használják azokat az alább értelmezett fogalmakat, amelyeket emberre is alkalmazunk (tanulás, alkalmazkodó képesség, személyiség, érzelem stb).
Multi-ágens rendszer részei: Multi-ágens rendszerek 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, A O, 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. R OxO. Környezet sajátosságait leíró szabályok, műveletek
Típusai Számuk szerint kevés, de intelligens ágensekből álló rendszerek, ezek általában egy feladatra koncentrálnak. Számuk szerint sok, de kevésbé intelligens ágensekből álló rendszerek, ezeket inkább szimulációkra használják. Homogén: az ágensek egyformák Heterogén: az ágensek különbözőek
Multi-ágens rendszerek Fontos tulajdonságok: Koordináció Kooperáció Kommunikáció
Multi-ágens rendszer (környezet)
Reflexszerű ágensek Csak a belső szabályok vezérlik Egyszerűek és gyorsak Kis feladatok ellátására Példa: Helyesírásellenőrző, adatgyűjtő ágens
Reflexszerű ágensek Reflexszerű ágensek Érzékelők Hogy néz ki most a világ? Szabályok Milyen cselekvéseket kell most végrehajtani? Beavatkozók Környezet
Belső állapottal rendelkező ágensek Reflexszerű ágens, eltárolt belső állapottal rendelkezik. A belső állapot az ágens előző észleléseinek következménye. Példa: Autóvezető ágens
Belső állapottal rendelkező ágensek Érzékelők Reflexszerű ágens + belső állapot Belső állapot Hogy néz ki most a világ? Környezet Szabályok Milyen cselekvéseket kell most végrehajtani? Beavatkozók
Célorientált ágensek Van célja, ennek elérése érdekében tervet készít, mielőtt cselekedne Példa: sakkozó program, alkatrészfelszedő robot
Célorientált ágensek Érzékelők Belső állapot Lehetséges cselekmények következményei Célok Hogy néz ki most a világ? Hogyan fog kinézni a világ, ha A cselekvést hajtom végre? Milyen cselekvéseket kell most végrahajtani? Beavatkozók Környezet
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 Érzékelők Belső állapot Hogy néz ki most a világ? Célorientált ágens, hasznossági függvénnyel Környezet Lehetséges cselekmények következményei Hogyan fog kinézni a világ, ha A cselekvést hajtom végre? Ez milyen hasznossággal jár számomra? Célok Milyen cselekvéseket kell most végrehajtani? Beavatkozók
Ágensek egymással való kapcsolatteremtésére Ágens kommunikáció 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 Hozzáférhető/nem hozzáférhető Az ágens számára a teljes környezet látható vagy nem látható. Determinisztikus/nemdeterminisztikus Determinisztikus: a környezetet előző állapota és az ágens cselekvései egyértelműen meghatározzák. Nemdeterminisztikus: a cselekvések és az előző állapot mellett van(nak) más faktorok is, amik meghatározzák a környezetet.
Epizódszerű/nem epizódszerű Ágens környezetek Epizódszerű: A környezet állapotai nincsenek hatással egymásra, az ágensnek nem kell előre gondolkodnia. 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).
JADE ágensfejlesztői környezet Tulajdonságai Szabadfelhaszná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 ágensfejlesztői környezet
JADE ágensfejlesztő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 ágensfejlesztő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
Főbb tulajdonságai Java alapú REPAST (REcursive Porous Agent Simulation Toolkit) Á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ő.
REPAST (REcursive Porous Agent Simulation Toolkit)
Ágensek alkalmazásai (www.agent.ai) Információs ágensek Internet- és www-ágensek (clusty.com) Ágensek az elektronikus kereskedelemben (ebay.de) Interfész ágensek Partnerszerű kapcsolat (modellezés, önállóan ajánlanak fel funkciókat, végeznek el feladatokat ) Perszonalizáció (felhasználó igényeihez való alkalmazkodás ) Multi-modalitás (kép, hang, egyéb kommunikáció pl. gesztusok ) Orr-egér, szem-egér
Asszisztensek Ágensek alkalmazásai Elektronikus levelek kezelése, osztályozása Intelligens határidőnaplók Oktató ágensek Ágens alapú szimulációk Mesterséges élet (Physis, Egri-Nagy Attila) Mesterséges ágensek (számítógépes szimulációk, hardver-eszközök, robotok ) Raj-intelligencia Kvantum számítógépek (Hugo de Garis, Richard Feynman)
Ágensek alkalmazásai Szoftvertechnológiai alkalmazások Nyílt rendszerek építése Mobil ágensek (mobil kód, chipkártyát alkalmazó rendszerek, elektronikus kereskedelem ) Intelligens épületek www.futurelife.ch
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
Közlekedési szimuláció ágensekkel
RE