Mesterséges intelligencia, szakértői rendszerek Ágensek, multi ágens rendszerek, tanuló ágensek p. 1/43 Mesterséges intelligencia, szakértői rendszerek Ágensek, multi ágens rendszerek, tanuló ágensek Werner Ágnes Villamosmérnöki és Információs Rendszerek Tanszék e-mail: werner.agnes@virt.uni-pannon.hu
Mesterséges intelligencia, szakértői rendszerek Ágensek, multi ágens rendszerek, tanuló ágensek p. 2/43 Mi az az ágens? MI programként, eszközként fogható fel (az 1990-es évek elején vált ismerté) Szerelő robot egy gyárban Helyesírás ellenőrző program Ember
Mesterséges intelligencia, szakértői rendszerek Ágensek, multi ágens rendszerek, tanuló ágensek p. 3/43 Á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. Egy ágens realizálásához szükség van a következő képességek bizonyos mértékére: érzékelés észlelés tudásszerzés döntéshozatal következtetés tanulás tevékenységvégzés
Mesterséges intelligencia, szakértői rendszerek Ágensek, multi ágens rendszerek, tanuló ágensek p. 4/43 Intelligens rendszerek Ágens környezet szenzorok beavatkozó szervek döntéstámogató felhasználók interaktív input interaktív output rendszerek perifériák perifériák intelligens monito- figyelt objektum, adatgyűjtő output rozó rendszerek felhasználók perifériák perifériák intelligens szabá- ipari folyamatok adatgyűjtő fizikai beavatlyozó rendszerek perifériák kozó szervek gyártócella gyártócella fizikai szenzorok munkadarabot mozrobotok gató szervek önálló mozgású terep fizikai szenzorok fizikai mozgás robotok szervei szoftbotok globális számítógép hálózati operációs hálózati operációs hálózat rendszer utasítások rendszer utasítások
Mesterséges intelligencia, szakértői rendszerek Ágensek, multi ágens rendszerek, tanuló ágensek p. 5/43 Kiterjesztés 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.
Mesterséges intelligencia, szakértői rendszerek Ágensek, multi ágens rendszerek, tanuló ágensek p. 6/43 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,...
Mesterséges intelligencia, szakértői rendszerek Ágensek, multi ágens rendszerek, tanuló ágensek p. 7/43 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,...
Mesterséges intelligencia, szakértői rendszerek Ágensek, multi ágens rendszerek, tanuló ágensek p. 8/43 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
Mesterséges intelligencia, szakértői rendszerek Ágensek, multi ágens rendszerek, tanuló ágensek p. 9/43 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.)
Mesterséges intelligencia, szakértői rendszerek Ágensek, multi ágens rendszerek, tanuló ágensek p. 10/43 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, az ágensek ezek segítségével érzékelnek és beavatkoznak. Objektumok közötti relációk halmaza, R O O. Környezet sajátosságait leíró szabályok, műveletek
Mesterséges intelligencia, szakértői rendszerek Ágensek, multi ágens rendszerek, tanuló ágensek p. 11/43 Multi-ágens rendszerek 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
Mesterséges intelligencia, szakértői rendszerek Ágensek, multi ágens rendszerek, tanuló ágensek p. 12/43 Multi-ágens rendszerek Fontos tulajdonságok: Koordináció Kooperáció 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ó,...
Mesterséges intelligencia, szakértői rendszerek Ágensek, multi ágens rendszerek, tanuló ágensek p. 13/43 Reflexszerű ágensek Csak a belső szabályok vezérlik (feltétel-cselekvés szabályok) 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ásellenőrző, adatgyűjtő ágens
Mesterséges intelligencia, szakértői rendszerek Ágensek, multi ágens rendszerek, tanuló ágensek p. 14/43 Belső állapottal rendelkező ágensek Egyetlen észlelésből nem lehet mindig dönteni Reflexszerű ágens, eltárolt belső állapottal rendelkezik A belső állapot az ágens előző észleléseinek következménye Kétfajta tudás beépítése: hogyan változik a világ függetlenül az ágenstől az ágens cselekvései hogyan befolyásolják a világot Példa: Autóvezető ágens
Mesterséges intelligencia, szakértői rendszerek Ágensek, multi ágens rendszerek, tanuló ágensek p. 15/43 Célorientált ágensek A környezet állapotának ismerete nem mindig elegendő a cselekvés meghatározásához Van célja, ennek elérése érdekében tervet készít, mielőtt cselekedne Egyszerre több céllal is rendelkezhet Az ágens céljait elérő cselekvéssorozat: keresés tervkészítés a jövő figyelembe vétele ú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 Példa: sakkozó program, alkatrészfelszedő robot, autóvezetés úticéllal
Célorientált ágensek Mesterséges intelligencia, szakértői rendszerek Ágensek, multi ágens rendszerek, tanuló ágensek p. 16/43
Mesterséges intelligencia, szakértői rendszerek Ágensek, multi ágens rendszerek, tanuló ágensek p. 17/43 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 Mesterséges intelligencia, szakértői rendszerek Ágensek, multi ágens rendszerek, tanuló ágensek p. 18/43
Mesterséges intelligencia, szakértői rendszerek Ágensek, multi ágens rendszerek, tanuló ágensek p. 19/43 Á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 vannak más faktorok is, amik meghatározzák a környezetet.
Mesterséges intelligencia, szakértői rendszerek Ágensek, multi ágens rendszerek, tanuló ágensek p. 20/43 Á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. 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).
Mesterséges intelligencia, szakértői rendszerek Ágensek, multi ágens rendszerek, tanuló ágensek p. 21/43 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/
Mesterséges intelligencia, szakértői rendszerek Ágensek, multi ágens rendszerek, tanuló ágensek p. 22/43 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()); 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
Mesterséges intelligencia, szakértői rendszerek Ágensek, multi ágens rendszerek, tanuló ágensek p. 23/43 Á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...
Szem-egér Mesterséges intelligencia, szakértői rendszerek Ágensek, multi ágens rendszerek, tanuló ágensek p. 24/43
Szem-egér Mesterséges intelligencia, szakértői rendszerek Ágensek, multi ágens rendszerek, tanuló ágensek p. 25/43
Mesterséges intelligencia, szakértői rendszerek Ágensek, multi ágens rendszerek, tanuló ágensek p. 26/43 Á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)
Asszisztens ágens Mesterséges intelligencia, szakértői rendszerek Ágensek, multi ágens rendszerek, tanuló ágensek p. 27/43
Mesterséges intelligencia, szakértői rendszerek Ágensek, multi ágens rendszerek, tanuló ágensek p. 28/43 Á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
Mesterséges intelligencia, szakértői rendszerek Ágensek, multi ágens rendszerek, tanuló ágensek p. 29/43 Tanuló ágens A tanuló ágens 4 fő részre bontható: 1. Cselekvő alrendszer 2. Kritikus alrendszer 3. Tanuló alrendszer 4. Problémagenerátor
Mesterséges intelligencia, szakértői rendszerek Ágensek, multi ágens rendszerek, tanuló ágensek p. 30/43 Tanuló ágens Ágens műkődés DARPA Grand Challenge sivatagi robotverseny USA - célja, hogy a járművek a kitűzött feladatokat minél pontosabban végre tudják hajtani Egy ilyen jármű is tekinthető tanuló ágensnek, amelyben a 4 fő komponens megvalósításra kell, hogy kerüljön. 1. Cselekvő alrendszer: mindazon tudásnak a gyűjteményből épül fel, amelyek szükségesek a megfelelő jármű irányítási művelet kiválasztásáért (gyorsítás, fékezés, kanyarodás stb.) 2. Kritikus alrendszer: megfigyeli az autót körülvevő világot és információkat továbbít a tanuló alrendszer felé értékel, kritizál, minősít 3. Tanuló alrendszer: a cselekvő komponens hatékonyságának javításáért is felelős, így ha egy ismeretlen úton kell haladnia a járműnek, azt feltérképezve, már legközelebb a feladatvégrehajtás gyorsabb lehet új szabályok 4. Problémagenerátor: javasolhat olyan új megoldásokat, amelyek eredményes kipróbálása után a megvalósítás beépülhet a rendszer működésébe
DARPA Mesterséges intelligencia, szakértői rendszerek Ágensek, multi ágens rendszerek, tanuló ágensek p. 31/43
DARPA Mesterséges intelligencia, szakértői rendszerek Ágensek, multi ágens rendszerek, tanuló ágensek p. 32/43
Robotautó Mesterséges intelligencia, szakértői rendszerek Ágensek, multi ágens rendszerek, tanuló ágensek p. 33/43
Exosceleton Mesterséges intelligencia, szakértői rendszerek Ágensek, multi ágens rendszerek, tanuló ágensek p. 34/43
Exosceleton Mesterséges intelligencia, szakértői rendszerek Ágensek, multi ágens rendszerek, tanuló ágensek p. 35/43
Exosceleton Mesterséges intelligencia, szakértői rendszerek Ágensek, multi ágens rendszerek, tanuló ágensek p. 36/43
Mesterséges intelligencia, szakértői rendszerek Ágensek, multi ágens rendszerek, tanuló ágensek p. 37/43 A gépi tanulás meghatározása Azt mondjuk, hogy egy példa egy (x,f(x)) adatpár, ahol x a bemenete, f(x) a kimenete az x-re alkalmazott leképezésnek. Az induktív következtetés feladata az f-re vonatkozó minták egy halmaza alapján, megadni egy olyan h leképezést, amelyik közelíti f-et. A h leképezést hipotézisnek nevezzük. Az igazi f függvényt nem ismerjük Elfogultság Gépi tanulás definíciója: tekintsünk egy számítógépes programot, amely T osztályba eső feladatokat képes megoldani. A program működési hatékonyságának mérésére legyen P egy mérték, továbbá jelölje E azon tapasztalatokat, ismereteket, amelyekhez a program hozzáfér. Azt mondjuk, hogy a program a T feladatosztályon tanul, ha a P szerint mért hatékonysága javul az E ismeretek hatására.
Mesterséges intelligencia, szakértői rendszerek Ágensek, multi ágens rendszerek, tanuló ágensek p. 38/43 A gépi tanulás változatai a tanuló program példákat kap (x i,y i ) párok formájában a program feladata f függvény keresése, amelyet használva minden adott pár esetén teljesül, hogy f(x i ) = y i a függvénytől elvárjuk, hogy alkalmazható legyen előre nem ismert x értékek esetén is az y érték meghatározására felügyelt tanulás ha y i -nek két lehetséges értéke van, akkor a példákat pozitív és negatív példákra oszthatjuk fogalmi tanulás ha csak az x i értékek állnak rendelkezésre, az y i értékekről nincsenek ismereteink nem-felügyelt tanulás ilyen esetekben az algoritmus osztályozhatja a bemeneteket (osztályozási algoritmusok), vagy megpróbálhatunk bonyolultabb összefüggéseket feltárni az x i értékek között (ismeretfeltárási algoritmusok)
Mesterséges intelligencia, szakértői rendszerek Ágensek, multi ágens rendszerek, tanuló ágensek p. 39/43 Döntési fa A döntési fa bemenete egy tulajdonsághalmaz segítségével leírt objektum vagy szituáció, kimenete pedig egy lehetséges döntési javaslat. A fa mindegyik belső csomópontja megfelel valamelyik tulajdonság tesztjének. Mindegyik él a tesztben résztvevő attribútum lehetséges értékeivel címkézett. A fa mindegyik levélcsomópontja megadja azt az értéket, amelyet akkor kell kiadni, ha ezt a levelet elértük. A döntési fát a szituációhoz tartozó példák felhasználásával hozhatjuk létre. A példát az attribútumok értékeivel és a célpredikátum értékeivel jellemezzük. A célpredikátum értékét a példa besorolásának nevezzük.
Mesterséges intelligencia, szakértői rendszerek Ágensek, multi ágens rendszerek, tanuló ágensek p. 40/43 Döntési fa algoritmus Kezdetben a fa egy címkézetlen gyökér csúcsból áll, amelyhez hozzárendeljük az összes tanító példát (P) és attribútumot (A). Ha adott egy címkézetlen n csúcs, akkor a következő esetek fordulhatnak elő: 1. Ha P = 0, akkor levélcsúcsot kaptunk, amelynek értékét a szülőcsúcs példáinak többségi szavazása alapján határozzuk meg. 2. Ha P csak valamely kimenetnek megfelelő értéket tartalmaz, akkor egy a kimenetnek megfelelő levélcsúcshoz érkeztünk. 3. Ha A = 0, akkor is levélcsúcsot kaptunk és a példák többségi besorolása alapján megkapjuk a levélcsúcs értékét. 4. Egyébként a legnagyobb informativitási mérőszámmal rendelkező, még teszteletlen a A attribútumot rendeljük az n csúcshoz, majd ezután generáljuk az összes címkézetlen utódját: ezekhez az a lehetséges értékeivel címkézett élek vezetnek; ha az a címkéjű n csúcsból az m csúcsba a v címkéjű él vezet, akkor az m csúcshoz rendelt példák: P a=v = {p P p.a = v} attribútumok: A = A-{a} végül minden utódra ismételjük meg rekurzívan az 1-4 pontokat.
Mesterséges intelligencia, szakértői rendszerek Ágensek, multi ágens rendszerek, tanuló ágensek p. 41/43 Informativitási mérőszám a döntési fa létrehozásának legfontosabb kérdése, hogy a fa adott pontján melyik attribútum szerint végezzük el a tesztet azt az attribútumot célszerű választani, amelyik a leghasznosabb a példák osztályozására a hasznosság mérésére bevezetjük az informativitási mérőszámot Entrópia definíciója: Legyen P pozitív és negatív példák halmaza egy adott fogalomra vonatkozóan. A P entrópiája: E(P) = E(P +,P ) = P + log 2 P + P log 2 P,ahol P + a pozitív, P a negatív példák arányát jelöli P -ben. Az informativitási mérőszám: C(P,a) = E(P) v erteke(a) P a=v P E(P a=v )
Mesterséges intelligencia, szakértői rendszerek Ágensek, multi ágens rendszerek, tanuló ágensek p. 42/43 Példa - melyik a jól eladható serpenyő Attribútumok és lehetséges értékeik alapanyag bevonat nyél szín alumínium teflon fa fekete acél króm fém barna vas nincs műanyag bordó piros Példák halmaza példa alapanyag bevonat nyél szín belépés a piacra 1 alumínium nincs fa piros nem 2 vas nincs fém fekete nem 3 acél króm fa barna igen 4 alumínium teflon műanyag bordó igen 5 acél teflon műanyag barna igen 6 acél króm fém barna nem
Mesterséges intelligencia, szakértői rendszerek Ágensek, multi ágens rendszerek, tanuló ágensek p. 43/43 Teljesítmény becslés Lehetőségünk van a tanulási algoritmus teljesítményét megbecsülni. A tanulási algoritmus akkor megfelelő, ha jó hipotéziseket szolgáltat azokban az esetekben is, amelyeket nem látott előre. A vizsgálatot a példák egy teszthalmazán végezhetjük el, amelyhez a következő lépéseket kell végig követnünk. 1. Gyűjtsük össze a példák egy nagy halmazát. 2. A példahalmazt bontsuk szét két diszjunkt halmazra: egy tanítóhalmazra és egy teszthalmazra. 3. A tanuló algoritmust a tanítóhalmaz példáira alkalmazva állítsuk elő a H hipotézist. 4. Vizsgáljuk meg, hogy H a teszthalmaz példáinak hány százalékát sorolja be helyesen. 5. Ismételjük meg az 1-4 lépéseket különböző tanítóhalmaz méretekre, és mindegyik mérethez különböző teszthalmazra. Eredményként kapunk egy adathalmazt, amellyel az átlagos jóslási képesség a tanítóhalmaz méretének a függvényében vizsgálható. Egy ilyen jellegű vizsgálat kapcsán megfigyelhető, hogy a tanítóhalmaz méretének a növekedésével a jóslás minősége javulni fog.