440 likes | 584 Views
Kooperatív és T anuló R endszerek 4 . Beszédaktusoktól ACL-ig Dobrowiecki Tadeusz Horváth Gábor. Mi kell a kooperáló ágenseknek? Egy „jó” nyelv! Formátum deklaratív, ember által olvasható, tömör, egyszerűen generálható és elemezhető, lineáris (bitfolyamhoz illeszkedő)
E N D
Kooperatív és Tanuló Rendszerek4.Beszédaktusoktól ACL-igDobrowiecki TadeuszHorváth Gábor Kooperatív és Tanuló Rendszerek DT-HG, BME-MIT
Mi kell a kooperáló ágenseknek? Egy „jó” nyelv! Formátum deklaratív, ember által olvasható, tömör, egyszerűen generálható és elemezhető, lineáris (bitfolyamhoz illeszkedő) Tartalomkülönkommuniká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) Kooperatív és Tanuló Rendszerek DT-HG, BME-MIT
Mi kell a kooperáló ágenseknek? Egy „jó” nyelv Hálózati technológiák megszokott 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, email, 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. Kooperatív és Tanuló Rendszerek DT-HG, BME-MIT
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 (1911-1960), 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ó Kooperatív és Tanuló Rendszerek DT-HG, BME-MIT
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. Kooperatív és Tanuló Rendszerek DT-HG, BME-MIT
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. Kooperatív és Tanuló Rendszerek DT-HG, BME-MIT
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 holnapsegítek festenia 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) Kooperatív és Tanuló Rendszerek DT-HG, BME-MIT
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égesfelté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 Kooperatív és Tanuló Rendszerek DT-HG, BME-MIT
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. Kooperatív és Tanuló Rendszerek DT-HG, BME-MIT
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, ….... Kooperatív és Tanuló Rendszerek DT-HG, BME-MIT
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égi A B nem hiszi, hogy a H cselekvése hasznos volt a B számára. őszinteségi A 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 Kooperatív és Tanuló Rendszerek DT-HG, BME-MIT
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 Kooperatív és Tanuló Rendszerek DT-HG, BME-MIT
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 logika ld. 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)) Kooperatív és Tanuló Rendszerek DT-HG, BME-MIT
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) Kooperatív és Tanuló Rendszerek DT-HG, BME-MIT
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. Kooperatív és Tanuló Rendszerek DT-HG, BME-MIT
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 HmegosztjaB-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................ Kooperatív és Tanuló Rendszerek DT-HG, BME-MIT
ACL = Agent Communication Language Alkalmazottak Már nem érdekesek Igazából még nincsenek Kooperatív és Tanuló Rendszerek DT-HG, BME-MIT
Knowledge Sharing Effort (KSE) ARPA, ca. 1990 tudásmegosztás, tudás újrafelhasználásának biztosítása tudásmegosztás – kommunikáció, közös nyelv- szintaxis - szemantika - pragmatika KIF – KnowledgeInterchangeFormat (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 Kooperatív és Tanuló Rendszerek DT-HG, BME-MIT
Ö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 ACL szó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 Kooperatív és Tanuló Rendszerek DT-HG, BME-MIT
KQML (Knowledge Query and Manipulation Language – tudás lekérdező és manipuláló nyelv) www.cs.umbc.edu/kqml/papers/ Ágens alapú rendszerek interfész kérdése üzenetszállítás módja nyelv mi az üzenet jelentése stratégia/eljárás a párbeszéd struktúrája architektúra rendszerek összekapcsolása KQML több, mint egy ACL – ajánlás kommunikációra, üzenet tartalomra, kontextus szinteken kívül architekturális elemekre. Kooperatív és Tanuló Rendszerek DT-HG, BME-MIT
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. Kooperatív és Tanuló Rendszerek DT-HG, BME-MIT
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. Kooperatív és Tanuló Rendszerek DT-HG, BME-MIT
Fenntartott kulcsszavak: Adatcsere szint :Type <Message type> :Direction :Source <Agent ID> :Destination <Agent ID> :ID <Package ID> :Communication <block, nonblock> :In-response-to <Package ID> :Content <Message> ….. Üzenet szint :Type <Speech Act> :Qualifiers <keyword list> :Content-language <language name> :Content-ontology <ontology name> :Content-description <topic name> :Content <content language sentence> ….. Kooperatív és Tanuló Rendszerek DT-HG, BME-MIT
(QUERY QUALIFIERS (number-of-answers 1) CONTENT-LANGUAGE KIF CONTENT-ONTOLOGY block-world CONTENT-DESCRIPTION physical-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. Kooperatív és Tanuló Rendszerek DT-HG, BME-MIT
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 DIRECTION EXPORT (TELL CONTENT-LANGUAGE KIF CONTENT-ONTOLOGY block-world CONTENT-DESCRIPTION physical-property CONTENT (color ?block ?color))) KQML adminisztratív jellegű üzenet Ez esetben az üzenet tartalma egy újabb üzenet! Kooperatív és Tanuló Rendszerek DT-HG, BME-MIT
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-1293312Y COMMUNICATION NON-BLOCKING (ADVERTISE DIRECTION EXPORT (TELL CONTENT-LANGUAGE KIF CONTENT-ONTOLOGY block-world CONTENT-DESCRIPTION physical-property CONTENT (color ?block ?color))) Egy teljes KQML csomag Kooperatív és Tanuló Rendszerek DT-HG, BME-MIT
Ü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. Kooperatív és Tanuló Rendszerek DT-HG, BME-MIT
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) Kooperatív és Tanuló Rendszerek DT-HG, BME-MIT
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)) …… Kooperatív és Tanuló Rendszerek DT-HG, BME-MIT
Ü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 Kooperatív és Tanuló Rendszerek DT-HG, BME-MIT
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) Kooperatív és Tanuló Rendszerek DT-HG, BME-MIT
Tipikus kommunikációs utak ágensek, útvonal választók és segítő ágensek között. Kooperatív és Tanuló Rendszerek DT-HG, BME-MIT
Tipikus kommunikációs utak ágensek, útvonal választók és segítő ágensek között. Kooperatív és Tanuló Rendszerek DT-HG, BME-MIT
Tipikus kommunikációs utak ágensek, útvonal választók és segítő ágensek között. Kooperatív és Tanuló Rendszerek DT-HG, BME-MIT
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 Kooperatív és Tanuló Rendszerek DT-HG, BME-MIT
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: Kooperatív és Tanuló Rendszerek DT-HG, BME-MIT
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. Kooperatív és Tanuló Rendszerek DT-HG, BME-MIT
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.: (ACHIEVE felké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-ALL igazá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. Kooperatív és Tanuló Rendszerek DT-HG, BME-MIT
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égkifejezése (ez a legfontosabb). IGÉR JAVASLATOT ELFOGAD BELEEGYEZIK .... stb. Kooperatív és Tanuló Rendszerek DT-HG, BME-MIT
Szemantikailag specifikált KQML (1997) performativum min. elő-feltételhalmazmin. 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, „...”)) Kooperatív és Tanuló Rendszerek DT-HG, BME-MIT
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 Completion javasolt végállapot, miután a szándékok érvényesülnek Kooperatív és Tanuló Rendszerek DT-HG, BME-MIT
Példák üzenetek szemantikus leírására: • Advertise (A, B, M) • 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))) • Komisszivum, ha B = Facilitator, akkor B azonos minden olyan ágenssel, • amit a B tud. Kooperatív és Tanuló Rendszerek DT-HG, BME-MIT
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) Kooperatív és Tanuló Rendszerek DT-HG, BME-MIT