Á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
ÁGENS érzékelők+ beavatkozók
Környezet
é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 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 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, 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?
Környezet Szabályok
Milyen cselekvéseket kell most végrehajtani? Beavatkozók
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 Környezet
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 • 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
Hogy néz ki most a világ?
Környezet Lehetséges cselekmények következményei Célok
Hogyan fog kinézni a világ, ha „A” cselekvést hajtom végre? 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 Érzékelők Belső állapot
Hogy néz ki most a világ?
• Célorientált ágens, hasznosságiKörnyezet függvénnyel
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
Á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 • 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.
Ágens környezetek • Epizódszerű/nem epizódszerű – 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
•
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ő.
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 …
Ágensek alkalmazásai • Asszisztensek – 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