2009Kooperatív és Tanuló Rendszerek DT-HG, BME-MIT 1 Kooperatív és Tanuló Rendszerek 4. Beszédaktusoktól ACL-ig Dobrowiecki Tadeusz Horváth Gábor
2009Kooperatív és Tanuló Rendszerek DT-HG, BME-MIT 2 Mi kell a kooperáló ágenseknek? Egy „jó” nyelv! Formátumdeklaratív, ember által olvasható, tömör, egyszerűen generálható és elemezhető, lineáris (bitfolyamhoz illeszkedő) Tartalom külön kommunikációs nyelv: kommunikációs cselekvés kifejezésére tartalom nyelv: tények kifejezésére több tartalom nyelv!? = rugalmasság (független fejlesztés) kommunikatív cselekvések - teljesen szabadon? - valamilyen “primitív elemkészlet” (honnan?) Szemantika(kommunikációs nyelvhez) általában természetes nyelven, de számos más lehetőség, primitív elemkészlet? protokollok “kötelező” megértése egy (logikai) elméletbe beágyazva, egyértelmű, kanonikus (jelentés reprezentáció) „térben” és időben elosztott kölcsönhatások miatt, külön figyelem a „hely” és „idő” miatt, Implementáláshatékony, illeszkedés a létező technológiákhoz, részleges implementáció lehetősége (egyszerű ágensek)
2009Kooperatív és Tanuló Rendszerek DT-HG, BME-MIT 3 Mi kell a kooperáló ágenseknek? Egy „jó” nyelv Hálózati technológiákmegszokott kapcsolatok támogatása (pont-pont, multicast, broadcast), szinkrón-aszinkron kapcsolat támogatása, kellően gazdag elemkészlet magasabb szintű protokollok megvalósításához, magasabb szintű protokollok függetlensége a szállító mechanizmustól (TCP/IP, , http, stb.) Környezetnagy mértékben elosztott, heterogén, igen dinamikus – a nyelvnek erre készülnie kell, más nyelvekkel és protokollokkal való kölcsönös használat, tudásbányászat támogatása kiterjedt hálózatokban, könnyen „ragasztható” örökölt rendszerekhez Megbízhatóságmegbízható és biztonságos ágens kommunikáció támogatása, biztonságos és privát tranzakciók, ágens azonosítása, mechanizmus hibák azonosításához és figyelmeztetések jelzéséhez.
2009Kooperatív és Tanuló Rendszerek DT-HG, BME-MIT 4 Beszédaktusok (Speech Acts) Természetes nyelvből logika: 2000 év, a nyelv „szerepe”, mint igaz/hamis kijelentések a világról – „hiba”! Sztoikusok, Diogenes Laertius (200 AD – 500 AD?) Kimondás = állítás, igen/nem kérdés, infót kérő kérdés, utasítás, eskü, kikiáltás,... J.L. Austin ( ), Harvard Egyetem, 1955 előadás sorozat, halála után kiadva (1962) „How to Do Things with Words” nyelv = eszköz:konstativum (a világ állását konstatáló) megnyilatkozás konstatál = verifikál, kijelent performativum: „kimondás = csinálás” nem igaz/hamis megnyilatkozás a világról logikai értéke nincs, maga a világállapot (létrehozása) „Ennek a hajónak én a „Dundi” nevet adományozom” a megnyilatkozás a tartalmának megfelelő valódi állapotot hoz létre, önhivatkozó
2009Kooperatív és Tanuló Rendszerek DT-HG, BME-MIT 5 Beszédaktusok (Speech Acts) „Ígérem, adok neked 100 Ft-t” Ígéretek teszek. A használt szavak létesítettek egy ígéretet. Ilyen, vagy hasonló szavak nélkül nincs ígéret. „Egy kutya áll a sarkon” az ablakból kinézve beszámolok róla = kijelentés, állítás kutyától félő ismerősemnek = figyelmeztetés kutyabarát kutyáját sétáltató ismerősemnek = tanács ….. Beszédaktusok - a természetes nyelv pragmatikus elmélete, avagy nem a nyelv felépítését, hanem a használatát magyarázó elmélet. Az alap premissza: - kimondott mondatok, mondatfoszlányok is egyfajta cselekvések! - a beszélőnek tipikusan szándéka van, hogy a megnyilatkozása révén a világ (környezet) valamilyen megváltoztatását érje el, - a megnyilatkozások a fizikai cselekvések mintájára befolyásolják a fizikai valóságot is.
2009Kooperatív és Tanuló Rendszerek DT-HG, BME-MIT 6 Beszédaktusok (Austin, 1962) Beszélve egy ágens 3 fajta cselekvést hajt végre: lokuciós aktus (locutionary act) (beszéd cselekedet) a kommunikatív cselekvés puszta ténye a szintaktikailag helyes beszédtöredék kimondása, illokuciós aktus (illocutionary act): szándékhatás performativ ige által, pl.: felkér, informál, követel, állít, ragaszkodik, megállapodik, figyelmeztet, parancsol, …. szándékható erő, illokuciós erő (illocutionary force): fontos pl. hogy kitől jön? (király kérése parancs) ettől függ a megnyilatkozás illokuciós erejének az erőssége. perlokuciós aktus (prelocutionary act): a valódi hatás kieszközölése a hallgatón. Ez a hatás, amit a beszélő megnyilatkozása a beszédaktus során a hallgatóra valóban gyakorol.
2009Kooperatív és Tanuló Rendszerek DT-HG, BME-MIT 7 Beszédaktusok (Austin, 1962) A beszéd = kijelentés + egy cselekvés végrehajtása (egy performativum) és mint minden cselekvés sikerülhet, vagy sem. (Emlékezzünk egy STRIPS operátor előfeltételeire és következményeire) Performativa sikeres teljesítése (un. boldogulási) feltételekhez van kötve: elfogadott szokásos procedúra, specifikált körülmények, személyek, korrekt, maradéktalan végrehajtás, őszinte, minden következményét vállalni kell, … pl. 'ki van utasítva' egy bíró szájából egy performativa, de egy kollégától nem. A jelentésről: ’jelentés’ – a lokució értelme, hivatkozása illokuciós aktus ereje – a megnyilatkozás konvenció szerinti alkalmazása a szándékható erőt a társadalmi konvenció köti a megnyilatkozáshoz az értelmet a nyelvi konvenció köti a megnyilatkozáshoz Pl. Ígérem, hogy holnap segítek festeni a kerítést. Ígérem, hogy holnap segítek festeni a kerítést. beszéd által hivatkozom: magamra, őrá, cselekvésre, időre, … Ígérem, hogy holnap segítek festeni a kerítést. a szándékható erő tisztázása, lehetne ’gondolom’, ’sejtem’, ’álmodtam’, … (felvállalás megnyilatkozása)
2009Kooperatív és Tanuló Rendszerek DT-HG, BME-MIT 8 Beszédaktusok (Searle, 1969) A szavaknak, mondatoknak nincs önálló jelentésük, csak a kommunikatív aktusnak van jelentése, a beszélő és a hallgató cselekvése köti a jelentést a szavakhoz és beszéd-töredékekhez. Beszédaktusok (BA) és a feltételrendszerük A kiinduló premissza az, hogy egy párbeszéd, egy beszélgetés nem más, mint egy szabály alapú viselkedés. A beszédaktusok struktúrája: a szükséges és elégséges feltételek rendszere. Boldogulási (felicity) feltételek: - a BA definiálása - az alap, mely szerint történik a BA értékelése. Sikeresen, helyesen, helytelenül alkalmazott BA
2009Kooperatív és Tanuló Rendszerek DT-HG, BME-MIT 9 Beszédaktusok (Searle, 1969) Nézzük pl. a felkérés esetét: B(Beszélő) beszél, és ezzel a H(Hallgató)-t szeretne a C(Cselekvés)-re rávenni. ítélettartam feltételek: a kiejtett szavak mondanak valamit a világról, felkérésnél találni kell pl. a jövőbeli cselekvésekre vonatkozó szavakat. normál I/O feltételek: H képes meghallani a kérést, … készültségi feltételek (preparatory conditions): minek kell igaznak lennie a világban ahhoz, hogy B éppen egy ilyen kéréshez folyamodjon, pl. H képes kell, hogy legyen C-re, B-nek hinnie kell, hogy H képes C-t megcsinálni, ne legyen világos, hogy H úgyis megteszi a C-t B külön kérése nélkül. őszinteségi feltételek (sincerity conditions): pl. nem őszinte, ha B igazából nem akarja, hogy C megtörténjen. lényegi feltételek (essential conditions): kísérlet B részéről, hogy C-re vegye rá H-t.
2009Kooperatív és Tanuló Rendszerek DT-HG, BME-MIT 10 Beszédaktusok (Searle, 1969) Searle megalkotta a teljes feltételrendszert az alábbi esetekre: - kijelenteni, kérdezni, köszönni, tanácsolni, figyelmeztetni, üdvözölni, gratulálni,.. Illokuciós aktusok osztályozása: - reprezentativumok: a beszélőt köti a kimondottakhoz, a világ állapotát képviselik, pl: megnyilatkozások, követelések, leírások, direktivumok: kísérlet beszélő részéről, hogy a hallgató csináljon valamit, pl. utasítások, felkérések, kívánságok, könyörgések, …... - kommisszivumok: beszélőt köt meg egy akciósorozathoz, pl. ígéretek, fenyegetések, fogadalmak, …... - expresszivumok: beszélő lélektani állapotának a kifejezése, pl. üdvözlések, gratulálások, köszönések, elnézéskérések, …... - deklarációk: maguk jelentik változást a dolgok állapotában, pl. házasságkötés, megnevezés, áldás, letartoztatás, …... - verdikátivumok. ítéletet adnak át, vagy értékelik pl. ítélkezés, megbocsátás, engedélyezés, …....
2009Kooperatív és Tanuló Rendszerek DT-HG, BME-MIT 11 Beszédaktusok (Searle, 1969) A helyesség gradációja: - sikertelen:teljes BA elmulasztása, BA nem történt meg - hibás:BA megtörtént, de nem teljesen korrekt módon Letörölték a táblán egy fontos feljegyzés: erre egy ironikus „Köszi szépen!” Egy „köszönet” BA történt meg? feltételek sérültek készültségiA B nem hiszi, hogy a H cselekvése hasznos volt a B számára. őszinteségiA B nem méltányolja a H cselekvését. a lényegi feltételek megsértése – teljes sikertelenséghez vezet - Visszaadod holnap, amivel tartozol?- Igen. - Megígéred?- Igen. De ha H olyan kulturális hátterű, ahol nem létezik a jövőbeli kötelességvállalást jelentő ’ígéret’ BA? Így a B számára H nem tett ígéretet. ítélettartam feltétel megsértése – hazudozás
2009Kooperatív és Tanuló Rendszerek DT-HG, BME-MIT 12 Beszédaktusok és az MI tervkészítés – Cohen, Perrault (1970) Beszédaktus: operátor + STRIPS leírás a szükséges és elégséges feltételek (formálisan) Request (B, H, a) [Precond: Cando.pr (B Bel (H Cando a)) (B Bel (H Bel (H Cando a))) Want.pr (B Bel (B Want request_instance)) [Effect: (H Bel (B Bel (S Want a))) a sikeres befejezéshez az kell, hogy B higye, hogy H képes a-ra, és hogy H szintén ezt higye. cél Megjegyzések Az elmélet csupán az illokuciós erő modelljére támaszkodik. Nincs semmilyen garancia, hogy H teljesíti a kérést. Szükséges az un. közvetítő aktus, amellyel H 'rávesszük' az B szándékának megfelelő cselekvésre (perlokuciós erő modellezése). őszinteség
2009Kooperatív és Tanuló Rendszerek DT-HG, BME-MIT 13 Beszédaktus mint racionális cselekvés (Cohen, Levesque), 1990 A feltételezések - illokuciós erő felismerése nem szükséges, - illokuciós aktusok - komplex események, nem primitív cselekvések. Elmélet: - néhány primitív esemény leírása, - konstrukciós elvek, bonyolultabb események leírásához, és mindezt az 'LRA' logikára alapozva. modális hiedelem logika + dinamikus logikald. LRA anyag Néhány hasznos tulajdonság: Célokat hinni kell: (Bel x p) (Goal x p) A célok ismertek: (Goal x p) (Bel x (Goal x p)) Van memória: (Done x (Bel x p)? e) (Bel x (Done x (Bel x p)? e)) Fontos feltételezés, hogy a célokat később (előbb-utóbb) levesszük az agendáról: (Goal x (Later p))
2009Kooperatív és Tanuló Rendszerek DT-HG, BME-MIT 14 Beszédaktus mint racionális cselekvés (Cohen, Levesque), 1990 Igen fontos, ha a cél tartós (persistent goal): (P_ Goal x p q) = (Goal x (Later p)) (Bel x p) Know x (Prior ((Bel x p) (Bel x p) (Bel x q)) (Goal x (Later p))) Szándék: (Intend x q) = (P_ Goal x [Done x (Bel x (Happens ))?; ] q) Váltakozó hiedelmek: (ABel n x y p) = (Bel x (Bel y (Bel x (Bel y... (Bel x p)...) n - szer - 'mutual belief' Unilaterális kölcsönös hiedelem: (Bmb x y p) = n. (ABel n x y p)
2009Kooperatív és Tanuló Rendszerek DT-HG, BME-MIT 15 Beszédaktus mint racionális cselekvés (Cohen, Levesque), 1990 Beszéd aktus, mint kísérlet: Megkísérel – egy komplex cselekvés: {Attempt x e p q} = [(Bel x p) (Goal x (Happens x e;p?)) (Intend x e;q?)]?;e az x ágens e-t tesz, mert p hatást kíván elérni, azzal a szándékkal, hogy legalább q sikerüljön. Segítőkészség: (Helpful x y) = e. [ (Bel x (Goal y (Done x e))) (Goal x (Done x e)) (Goal x (Done x e)) ] Az x ágens segítőkész (y szempontjából), ha minden e cselekvés esetén, x elfogadja y céljait, ha ezzel nem kerül konfliktusos helyzetbe.
2009Kooperatív és Tanuló Rendszerek DT-HG, BME-MIT 16 Beszédaktus mint racionális cselekvés (Cohen, Levesque), 1990 Felkér - komplex cselekvés: {Request B H e a} = {Attempt B e p (Bmb H B (Goal B p)) }, ahol l p = (Done H a) (Intend H a [ (Goal B (Done H a)) (Helpful H B) ] ) A B kezdeményez, e-t megtéve, annak reményében, hogy egy olyan állapotot idéz elő, amelyben: - az H szeretne a-t (amellett, hogy B még mindig a-t szeretne és segítőkészek) - az H meg is csinálja a-t vagy legalább H megosztja B-vel a közös hiedelmeket. Megjegyzés: - B REQUEST-et valósít meg, ha a hozzá szükséges sorozatot végrehajtja! - minden esemény sorozat (akármilyen komplexitású), aminek ilyen a struktúrája - egy REQUEST stb
2009Kooperatív és Tanuló Rendszerek DT-HG, BME-MIT 17 Már nem érdekesek Alkalmazottak Igazából még nincsenek ACL = Agent Communication Language
2009Kooperatív és Tanuló Rendszerek DT-HG, BME-MIT 18 Knowledge Sharing Effort (KSE) ARPA, ca. 1990tudásmegosztás, tudás újrafelhasználásának biztosítása tudásmegosztás – kommunikáció, közös nyelv- szintaxis - szemantika - pragmatika KIF – Knowledge Interchange Format (szintaxis) Ontolingua – megosztható ontológiák nyelve (szemantika) web alapú interfészek ontológia automatikus fordítása más tartalom nyelvekre primitív elemek ontológiák kombinálására KQML – magas szintű kölcsönhatás (pragmatika) Knowledge Query and Manipulation Language
2009Kooperatív és Tanuló Rendszerek DT-HG, BME-MIT 19 Összegzés ACL – üzenetek – „beszédaktusok után” beszédaktus – ágens szándékszintű modellje szándékszintű modell – hiedelem, szándék, vágy,... ágens: „ítéletlogikai attitüd”-je - relációágens jelentéssel rendelkező ítéletállítás attütüdök véges halmaza (hisz, állít, félt, remél,....) pl. ágens, fél, esik_az_eső(most) Kommunikáció: egy eszköz megmutatni másoknak a BDI állapotunkat kísérlet mások BDI állapotának befolyásolására ACLszótár belső nyelv (KIF) külső nyelv (KQML) ACL üzenet – KQML kifejezés, argumentumai – KIF termek, vagy állítások, szótárból merített szavakkal
2009Kooperatív és Tanuló Rendszerek DT-HG, BME-MIT 20 KQML (Knowledge Query and Manipulation Language – tudás lekérdező és manipuláló nyelv) Ágens alapú rendszerek interfész kérdése üzenetszállítás módja nyelvmi az üzenet jelentése stratégia/eljárása párbeszéd struktúrája architektúrarendszerek összekapcsolása KQML több, mint egy ACL – ajánlás kommunikációra, üzenet tartalomra, kontextus szinteken kívül architekturális elemekre.
2009Kooperatív és Tanuló Rendszerek DT-HG, BME-MIT 21 A kommunikáció szintjei A számítógép-hálózatoknál megismert beágyazás elve szerint az ágens-ágens kommunikációs protokollnak is több rétege van. Adat csere szint (kommunikáció mechanizmusa): állomások között közlekedő üzenet csomagok legkülső rétege, a kommunikáció legalsó protokoll szintje: üzenet feladója, címzettje, azonosítója, … egyéb kommunikációs paraméterek Üzenet szint (kommunikáció logikája): az üzenet tartalmának azonosítása, típus-meghatározása Tartalom szint (kommunikáció tartalma): Az átadott információ közvetítése. Bármit tartalmazhat, amiben a kommunikáló ágensek megegyeznek.
2009Kooperatív és Tanuló Rendszerek DT-HG, BME-MIT 22 Bár a formára sincs megkötés, a KQML implementációk általában a LISP nyelvben megismert listás (lineáris) adatszerkezetet használják. Az üzenet szint szerepe kétféle lehet: adminisztratív vagy tartalom jellegű. Adminisztratív üzenet tartalma kötött, a rendszer működéséhez szükséges adatokat közvetíti. (pl. az új ágensek bemutatkozása, ágens feladatmegoldó képességek közzététele, illetve egy ágens által igényelt adatok leírása.) Tartalom típusú üzenet egy tudásdarabka átvitele, meghatározva annak ontológiáját, témáját, nyelvét és tartalmát.
2009Kooperatív és Tanuló Rendszerek DT-HG, BME-MIT 23 Fenntartott kulcsszavak: Adatcsere szint :Type :Direction :Source :Destination :ID :Communication :In-response-to :Content ….. Üzenet szint :Type :Qualifiers :Content-language :Content-ontology :Content-description :Content …..
2009Kooperatív és Tanuló Rendszerek DT-HG, BME-MIT 24 (QUERY QUALIFIERS(number-of-answers 1) CONTENT-LANGUAGEKIF CONTENT-ONTOLOGYblock-world CONTENT-DESCRIPTIONphysical-property CONTENT(color block1 ?color)) KQML tartalom jellegű üzenet Egy kérés a kocka világban, KIF nyelven, egy fizikai tulajdonságra vonatkozó kérdés: a block1 nevű kocka színe.
2009Kooperatív és Tanuló Rendszerek DT-HG, BME-MIT 25 Egy ágens “hirdetése” - az ágens azt a képességét fogalmazza meg, hogy képes kockák színére utaló állításokat tenni (azaz ilyen kérdésekre válaszolni). (ADVERTISE DIRECTIONEXPORT (TELL CONTENT-LANGUAGEKIF CONTENT-ONTOLOGYblock-world CONTENT-DESCRIPTIONphysical-property CONTENT(color ?block ?color))) KQML adminisztratív jellegű üzenet Ez esetben az üzenet tartalma egy újabb üzenet!
2009Kooperatív és Tanuló Rendszerek DT-HG, BME-MIT 26
2009Kooperatív és Tanuló Rendszerek DT-HG, BME-MIT 27 Az adatcsere szintjén az üzenetek olyan adatokkal egészülnek ki, melyek a kommunikációt, azaz a csomagok célba érését segítik. Tipikus adatok a címzett, feladó, azonosító, a kommunikáció típusa, stb. Az alábbi példa bemutat egy teljes KQML csomagot. (KQML-MESSAGE SOURCE CAMERA-AGENT DESTINATION AGENT-FACILITATOR ID CA Y COMMUNICATION NON-BLOCKING (ADVERTISE DIRECTIONEXPORT (TELL CONTENT-LANGUAGE KIF CONTENT-ONTOLOGY block-world CONTENT-DESCRIPTION physical-property CONTENT (color ?block ?color))) Egy teljes KQML csomag
2009Kooperatív és Tanuló Rendszerek DT-HG, BME-MIT 28 Üzenettípusok a KQML nyelvben (avagy milyen performativumból merítenek) Alapvető lekérdezés - evaluate, ask-if, ask-oke, ask-in, ask-all A kérdező egy kérdés kiértékelését kéri egy másik ágenstől, melyre egy választ vár Többválaszos lekérdezés - stream-in, stream-all Az ágens azt kéri, hogy a kérdésre minden esetben válaszoljon, amikor az ahhoz kapcsolódó tudása megváltozik. Ez az üzenet tehát a jövőben több választ is eredményezhet, attól függően, hogy a válaszadó milyen információkat szerez. Válaszok - reply, sorry Az egy vagy többválaszos kérdésekre érkező válasz, illetve annak jelzése, hogy a válaszadónak nincs adat a birtokában. Általános közlés - tell, achieve, cancel, untell, unachieve A tell egy állítás, az achieve egy kívánság, mely állítás teljesülését a küldő szeretné elérni. Mindkettőnek létezik a visszavonása is, illetve van egy külön kulcsszó egy azonosítóval meghatározott korábbi üzenet törlésére. Generátor típusú üzenetek - standby, ready, next, rest, discard, generator Ezen üzenetek mindegyike további üzenetek küldését kezdeményezi. Képesség definíciók - advertise, subscribe, monitor Az ágensek felajánlhatják szolgáltatásaikat, illetve igényelhetik mások szolgáltatását. Hálózattal kapcsolatosak - register, unregister, forward, broadcast, route Ezen kulcsszavak írják le egyrészt új ágensek bejelentkezését, régiek kilépését a rendszerből, másrészt az ágensek közötti csomagok továbbküldését, szétküldését, illetve útjának meghatározását.
2009Kooperatív és Tanuló Rendszerek DT-HG, BME-MIT 29 Példa: A küldi B-nak B küldi A-nak (standby :language KQML :ontology K10 :reply-with g1 :content (stream-about :language KIF :ontology motors :reply-with q3 :content motor1)) (ready :reply-with 2F0B :in-reply-to g1) (next :in-reply-to 2F0B) (tell :language KIF :ontology motors :in-reply-to q3 :content (= (val (torque motor1) (sim-time 5)) (scalar 12 kgf)) … (discard :in-reply-to 2F0B)
2009Kooperatív és Tanuló Rendszerek DT-HG, BME-MIT 30 Példa: A küldi B-nak B küldi A-nak (advertise :language KQML :ontology K10 :content (subscribe :language KQML :ontology K10 :content (stream-about :language KIF :ontology motors :content motor1))) (subscribe :reply-with s1 :language KQML :ontology K10 :content (stream-about :language KIF :ontology motors :content motor1)) (tell :language KIF :ontology motors :in-reply-to s1 :content (= (val (torque motor1) (sim-time 5)) (scalar 12 kgf)) (tell :language KIF :ontology structures :in-reply-to s1 :content (fastens frame12 motor1)) (untell :language KIF :ontology motors :in-reply-to s1 :content (= (val (torque motor1) (sim-time 5)) (scalar 12 kgf)) (tell :language KIF :ontology motors :in-reply-to s1 :content (= (val (torque motor1) (sim-time 5)) (scalar 13 kgf)) ……
2009Kooperatív és Tanuló Rendszerek DT-HG, BME-MIT 31 Üzenetprotokollok a KQML nyelvben A performatívumok típusától függően többféle párbeszéd is kialakulhat az ágensek között. Egyszerű kérés-válasz párbeszéd két ágens között Kérés és ismételt kérésekre adott válaszok típusú párbeszéd Feliratkozás és sorozatosan adott válaszok típusú párbeszéd
2009Kooperatív és Tanuló Rendszerek DT-HG, BME-MIT 32 A KQML architektúra -az adatcserét közvetlenül megvalósító KQML útvonal választó (KQML router) útvonal választó minden egyes ágens mellett, az üzenetek tartalmuktól független továbbítását végzi, illetve adminisztrálja az ágens rendszerbe lépését, illetve távozását. (nem igazán egy szervezet) - magasabb funkciókat ellátó kommunikációt segítő ágens (facilitator). minden magasabb szintű feladatot lát el A kommunikációt segítő ágens feladatai A routerek hozzá fordulnak a nem közvetíthető, pl. nem teljesen címzett csomagokkal. Az üzenetek tartalma alapján képes a pontos címzés előállítására. (SzR) Nyilvántartja a rendszerben levő ágensek neveit és címét, ez alapján elvégzi a név-cím transzformációt. Ágensek közötti tartalom fordítást végez. (ontológia szerver) Az ágensek által közzé tett hirdetményeket tárolja, illetve felhasználja a kérdező-válaszadó párok kialakításában. (Jade DF)
2009Kooperatív és Tanuló Rendszerek DT-HG, BME-MIT 33 Tipikus kommunikációs utak ágensek, útvonal választók és segítő ágensek között.
2009Kooperatív és Tanuló Rendszerek DT-HG, BME-MIT 34 Tipikus kommunikációs utak ágensek, útvonal választók és segítő ágensek között.
2009Kooperatív és Tanuló Rendszerek DT-HG, BME-MIT 35 Tipikus kommunikációs utak ágensek, útvonal választók és segítő ágensek között.
2009Kooperatív és Tanuló Rendszerek DT-HG, BME-MIT 36 KRIL: ágensek integrálása a KQML rendszerbe - az ágensek az útvonal választók segítségével integrálhatóak a KQML kommunikációs rendszerébe, melyek az ágenssel azonos gépen futó folyamatok. - az ágens és router folyamatok között a KRIL interfész (KQML Router Interface Library) teremt kapcsolatot. Az ágens programok a KRIL API-t használva egyszerű függvényhívások segítségével érik el a rendszer szolgáltatásait. send-kqml-message(char *msg, int msglen); declare-kqml-message-handler(void (*hndlr)(char *msg, int len)); Az ágens, a KRIL interfész és a KQML router kapcsolódása
2009Kooperatív és Tanuló Rendszerek DT-HG, BME-MIT 37 Későbbi problémák a KQML rendszerrel Összegezve: A rendszer alapfeladata a kommunikáció biztosítása a koordináció és a koherencia megteremtésére. Mindezt a beszédaktusok elmélete alapján, ún. performatívumok bevezetésével. Ezen kulcsszavak használhatóak az ágensek közötti párbeszéd (kérdés, felelet) során, illetve rendszer szintű információk közlésére (be-, kilépés, képességdefiníciók, hirdetmények, stb.). A performatívumok egymásba ágyazhatóak, így komplex üzenetek is kialakíthatóak. A rendszerrel szemben felmerülő legfontosabb kritika a szemantika aluldefiniáltsága, azaz az, hogy a performatívumok definíciói kétértelműek, hiányosak, rosszak. Alapvetően a következő három problémakört említik a rendszer hiányosságai között:
2009Kooperatív és Tanuló Rendszerek DT-HG, BME-MIT 38 Kétértelműség. Több kulcsszó értelmezése nem pontosan definiált, nem egyértelmű. A szintaktikailag pontosan definiált struktúrák szemantikája nem mindig egyértelmű, implementációtól függhet, hiszen az üzenet típusának magyarázata csupán természetes nyelven, szabadon fogalmazódott meg. (konzisztens tervezés távoli platformokon így nagyon nehéz). Pl.: (DENY tartalom jelentése, hogy a tartalom a hallgatóra nézve nem igaz. de (DENY..... (TELL..... tartalom jelentése nem világos. Korábban nem mondta (letagadja, hogy megmondta, vagy nem hiszi, amit most mond? nem (TELL A), vagy (TELL (nem A)) ? A performativumnak mintha logikai értéke lenne.
2009Kooperatív és Tanuló Rendszerek DT-HG, BME-MIT 39 Félreértelmezett performatívumok. Néhány performatívumként megadott kulcsszó valójában nem performatívum, mivel nem eredményez közvetlen akciót, csak egy felkérést jelent, amit azonban a fogadó figyelmen kívül hagyhat. Pl.: (ACHIEVEfelkérés hallgató felé, hogy valamije igaz legyen, de a formalizmus mellőzi a felkérés mechanizmusát, nincs benne a „közvetítő aktus”. hasonlóan (BROKER (STREAM-ALLigazából ezek nem performativumok, mert nem tudják a hallgatót rávenni a cselekvésre. Nincs elkötelezettség a cselekvésre. Hogyan lehet a hallgatót rávenni a cselekvésre? KQML üzenetkészlete így valójában csupán a direktivumok, verdikátivumok és asszertivumok.
2009Kooperatív és Tanuló Rendszerek DT-HG, BME-MIT 40 Hiányzó performatívumok. Az alap KQML nyelvből teljesen hiányoznak a megbízás típusú performatívák, amelyekre a fogadónak egy rövid válasszal mindenképpen reagálnia kell (elfogadom, nem fogadom el a megbízást). Az ilyen jellegű azonnali visszajelzések hiánya nagyban ronthatja egy kooperáló rendszer hatékonyságát. Mi hiányzik ? a komisszivumok! az elkötelezettség kifejezése (ez a legfontosabb). IGÉR JAVASLATOT ELFOGAD BELEEGYEZIK.... stb.
2009Kooperatív és Tanuló Rendszerek DT-HG, BME-MIT 41 Szemantikailag specifikált KQML (1997) performativum min. elő-feltételhalmaz min. utó-feltételhalmaz sikeresen elvégzett performativum által előidézett végállapot ezekhez mind egy modális logika az intencionális attitűdök kifejezésére. Tehát újra a BDI modellek és az MI tervkészítés! Ezeket specifikálni kell és ezekre tervezni kell! Dolgozzunk az alábbi modális operátorokkal: Bel (A, P)P igaz (vagy bizonyítható) az A részére (a képességei szerint). Know (A, S)S mentális állapot ismert az A által. Want (A, S)A kívánja az S mentális állapot bekövetkezését. Int (A, S)A szeretné az S-t, el van kötelezve a hozzá vezető cselekvésre. Proc (A, M)A cselekvésében az M üzenetet dolgozza fel. Sendmsg (A, B, M)A cselekvésében B-nek M üzenetet küld. pl. Know (A, Bel (B, „.....”)), feltéve, hogy Bel (B, ”.....”) el lett küldve (de helytelen a Know (A, „...”))
2009Kooperatív és Tanuló Rendszerek DT-HG, BME-MIT 42 Szemantikus leírás komponensei: - természetes nyelvű leírás – performativum intuitív jelentése - az illokuciós aktus/erő formális kifejezés - előfeltételek Pre(A)hogy elküldhesse Pre(B)hogy (sikeresen) feldolgozhassa - utófeltételek Post(A)állapota sikeres feldolgozás után Post(B)- // - - teljesítési feltétel Completionjavasolt végállapot, miután a szándékok érvényesülnek
2009Kooperatív és Tanuló Rendszerek DT-HG, BME-MIT 43 Példák üzenetek szemantikus leírására: Advertise (A, B, M) 1.A állítja B-nek, hogy az M üzenetét elfogadja (ha megkapja) és processzálja (elkötelezettség) 2. Int (A, Proc (A, M))M = performativum-név (B, A, X) 3. Pre(A):Int (A, Proc (A, M)) Pre(B):- 4. Post(A):Know (A, Know (B, Int (A, Proc (A, M)))) Post(B):Know (B, Int (A, Proc (A, M))) 5. Compl:Know (B, Int (A, Proc (A, M))) 6.Komisszivum, ha B = Facilitator, akkor B azonos minden olyan ágenssel, amit a B tud.
2009Kooperatív és Tanuló Rendszerek DT-HG, BME-MIT 44 Társalgási stratégiák és KQML Ágens társalgási modulja: melyik performativummal indítsünk egy beszélgetést melyik performativumot használjunk egy beszélgetés során Társalgási Modul: - üzenetet kap, illesztés valamelyik folytatott beszélgetésre (protokoll, ágens ID, üzenet ID, tartalom, stb..), - üzenet nem folytatása egyik beszélgetésnek sem, (új száll indítása, ha alkalmas) - új száll nem megy, - ERROR, ha ágensközösség felül érkezett, vagy - jelzés alkalmazói programnak, ha tőle származott. További kritika a KQML (1997) szemben: nincs általános mechanizmus egy beszédaktus visszavonására „ígérő” komisszivumok igénye (pl. e-kereskedelem)