Ágensek beszélgetnek
Információ átadása ( hiedelem, szándék, cél) Ma szépen süt a nap. Éhes vagyok. Ebédelni szándékozom. Közös cselekvések koordinálása Jössz velünk ebédelni? Fizessünk külön-külön. Emberi nyelv funkciói Szociális kapcsolatok létesítése és fenntartása Menjünk enni! csevegő közeledés (fatikus, phatic communication) szociális funkciójú, tartalmi közlés nélküli fecsegő, csevegő" kommunikáció, érzetek, hangulat keltése, hallgató figyelmének felkeltése, társalgás fenntartása (Malinowski, 1923) (small talk, chit-chat). Jelzés, jeladás Hadd fizessek én!
Az emberi nyelv aspektusai (nyelvi elméletek): A nyelv szintaxisa: szavak, frázisok, mondatok, nyelvtan A nyelv szemantikája: milyen jelentést kölcsönzünk a szavaknak, a frázisoknak, a mondatoknak azaz milyen a (szintaktikailag) jól definiált nyelvi kifejezések és a világ objektumainak ill. koncepcióinak a kapcsolata. A nyelv pragmatizmusa: a jelentés nem szemantikai aspektusa, pl. mi a beszélő szándéka, hogy azt mondta, amit éppen kimondott.
A beszélő szándéka Alíz azt mondja Bélának, hogy: A megbeszélés holnap ötkor lesz Bélának mit lenne szabad ebből kikövetkeztetnie? Hogy: A megbeszélés holnap lesz. Alíz azt hiszi, hogy a megbeszélés holnap lesz. Alíz azt akarja, hogy Béla azt higye, hogy a megbeszélés holnap lesz. Alíz azt akarja, hogy Béla azt higye, hogy a megbeszélés nem holnap lesz. Alíz azt akarja, hogy Béla azt higye, hogy Alíz azt hiszi, hogy a megbeszélés holnap lesz. Alíz azt akarja, hogy Béla azt higye, hogy Alíz nem hiszi, hogy a megbeszélés holnap lesz. Alíz azt akarja, hogy Béla azt higye, hogy Alíz azt akarja, hogy Béla azt higye, hogy a megbeszélés holnap lesz. A megbeszélés nem holnap lesz. stb. (ad infinitum).
Kijelentések és szemantikájuk Kijelentés tényközlés, annak az állítása, hogy a világra érvényes valami (valamilyen tulajdonság). Egy kijelentés lehet igaz, vagy hamis. Filozófiai kutatások többsége, a történelem nagyobb részében a kijelentések kutatására összpontosított. Filozófiai kutatások többsége, a történelem nagyobb részében mellőzte más nyelvi állításformák és cselekvések kutatását.
A kijelentések szemantikája Legyen P egy kijelentés, pl. Ma vörös a naplemente. Igazságfeltétel (truth-conditional) szemantika (Frege, Tarski) A Beszélő azt mondja, hogy: Én hiszem a P-t E állítás kérdőre vonása: Igaz a P? Verifikációs szemantika (Dummett, Wright) Számos tényszerű kijelentés nem verifikálható objektíve A Beszélő azt mondja, hogy: Én hiszem a P-t E állítás kérdőre vonása: Tudod igazolni, miért is hiszed a P-t?
Nem minden kimondás egy kijelentés Beszédaktus(speech act)-elmélet https://hu.wikipedia.org/wiki/beszédaktus-elmélet Modern elmélet: John L. Austin, 1955 John Searle, 1969.
Beszédaktusok (Speech Acts) John 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: - konstatívum (a világ állását konstatáló) megnyilatkozás - performatívum: kimondás = csinálás (Bocsánat!) nem igaz/hamis megnyilatkozás a világról, logikai értéke nincs, magának a világállapotnak a létrehozása!
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: (1) kimondott mondatok, mondatfoszlányok is egyfajta cselekvések, (2) 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, (3) a megnyilatkozások a fizikai cselekvések mintájára befolyásolják a fizikai valóságot is.
Beszélve ágens 3 fajta cselekvést hajt végre: (1) lokuciós aktus (locutionary act) (beszédcselekedet) a kommunikáció puszta ténye, a szintaktikailag helyes beszéd kimondása, (2) illokuciós aktus (illocutionary act): szándékhatás performatív ige által, pl.: felkér, követel, állít, ragaszkodik, megállapodik, figyelmeztet, parancsol,... szándékható erő, illokuciós erő, cselekvési 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 (3) perlokuciós aktus (perlocutionary act): a valódi hatás kieszközölése a hallgatón, amit a beszélő cselekvése a beszédaktus során a hallgatóra valóban gyakorol.
A beszéd = egy cselekvés végrehajtása, és mint minden cselekvés, sikerülhet, vagy sem. Performativa sikeres teljesítése (un. érvényességi) 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 performatíva, de egy kollégától nem. Pl. Ígérem, hogy holnap segítek festeni a kerítést. beszéddel 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)
Beszédaktusok (Searle, 1969) Beszédaktusok (BA) rendszerezése és feltételrendszere 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
Felkérés: B mond, ezzel a H-t szeretne C-re rávenni. Ítélettartam feltételek: a kiejtett szavak mondanak valamit a világról, találni kell pl. a jövőbeli cselekvésekre vonatkozó szavakat. Normál I/O feltételek: H képes meghallani a felkérést, Készültségi feltételek: minek kell igaznak lennie ahhoz, hogy B éppen egy ilyen felkéréshez folyamodjon, pl. H képes kell, hogy legyen C-re, B-nek hinnie kell, hogy H képes C-t megcsinálni, de 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: pl. nem őszinte, ha B igazából nem akarja, hogy C megtörténjen. Lényegi feltételek: kísérlet B részéről, hogy C-re vegye rá H-t.
Beszédaktusok (Searle, 1969) 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: - asszertívumok: a beszélőt kötik a kimondottakhoz, a világ állapotát képviselik, pl: megnyilatkozások, követelések, leírások,... - direktívumok: kísérletek 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, - kommisszívumok: a beszélőt egy akciósorozathoz kötik, pl. ígéretek, fenyegetések, fogadalmak, - expresszívumok: a 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átívumok. ítéletet adnak át, vagy értékelik pl. ítélkezés, megbocsátás, engedélyezés,.
Beszédaktus-elméletek és az MI Beszédaktus + MI tervkészítés (Cohen, Perrault, 1970) BA: 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 (B Want a))) a sikeres befejezéshez az is kell, hogy: (H Bel (H Cando a)) Beszédaktus + racionális cselekvés (Cohen, Levesque, 1990) illokuciós aktus - komplex esemény, nem primitív cselekvés. Elmélet: - néhány primitív esemény leírása, - konstrukciós elvek, az LRA logikára alapozva.
Racionális ágenslogika (Logic of Rational Agency LRA) 1' rendű, multi-modális, racionális BDI ágens + a racionális cselekvés Modálitások: (Bel x p) (Goal x p) (Happens x ) (Done x ) x ágens p-t hisz, x ágens p céllal rendelkezik, az a cselekvés következik, az a cselekvés éppen megtörtént. Cselekvések szerkesztése elemi cselekvésekből (dinamikus logika): ; ' - ' követi az -t p? - egy teszt cselekvés Időmodálitások: mindig ( p = p ) néha ( p = a. (Happens a;p?) ) Later szigorú néha ( (Later p) = p p ) After utána ( (After a p) = (Happens a;p?) ) Before előtte ( (Before p q) = c. (Happens c;q?) a (a c) (Happens a;p?) )...
Fontos, hogy a célokat előbb-utóbb feladjuk: (Goal x (Later p)) Fontos, ha a célol tartósak (persistent goal): (PGoal 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))) Cél meghatározza a szándékot: (Intend x q) = (PGoal x [Done x (Bel x (Happens ))?; ] q) Kölcsönös és váltokozó hiedelemek: (ABel n x y p) = (Bel x (Bel y (Bel x (Bel y... (Bel x p)...) n x (Bmb x y p) = n. (ABel n x y p) 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 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ész: (Helpful x y) = e. [ (Bel x (Goal y (Done x e))) (Goal x (Done x e)) (Goal x (Done x e)) ] x ágens segítőkész (y-nek), ha minden e cselekvés esetén, x elfogadja y céljait, ha ezzel nem kerül konfliktusos helyzetbe.
Végül beszédaktus, mint egy kísérlet: Felkér egy igen komplex cselekvés: (Request B H e a) = {Attempt B e p (Bmb H B (Goal B p)) }, ahol p = (Done H a) (Intend H a [ (Goal B (Done H a)) (Helpful H B) ] ) A B, e-t megtéve, reménykedik, hogy egy olyan állapotot idéz elő, amelyben: - a H szeretne a-t (amellett, hogy B még mindig a-t szeretne és segítőkészek) - a H meg is csinálja a-t vagy legalább H megosztja B-vel a közös hiedelmeket. B egy felkérést valósít meg, ha a hozzá szükséges sorozatot végrehajtja. Minden ilyen eseménysorozat valóban egy felkérés.
Párbeszéd formális elméletei, Walton és Krabbe osztályozás Párbeszéd típusa Kezdeti helyzet Résztvevők célja Párbeszéd célja Rábeszélés (Persuation) Kivizsgálás (Inquiry) Tárgyalás (Negotiation) Informálódás (Information seeking) Mérlegelés (Deliberation) Veszekedés (Eristic) Vélemény-különbség Bizonyítás igénye Érdekkonfliktus Információ igénye Gyakorlati döntés Rábeszélni az ellenfelet Megtalálni és verifikálni a tényállást Megkapni, amire legjobban vágyik Megszerezni, vagy megadni információt Célok és selekvések koordinálása Problémát letisztázni Bizonyítani (pro, v. kontra) Értelmes megállapodás Információcsere A legjobb teendő meghatározása Személyes konfliktus Verbálisan támadni Konfliktus mélyebb okának a feltárása Információt szolgáltató (information giving) információt adunk át a másik félnek Kivizsgáló (examination) felmérjük, hogy a másik tényszerű/ képesség tudása meddig terjed Felfedező (discovery) közösen azonosítjük minősített jövőbeli állapotokat/ cselekvéseket (pl. egy terv rizikószintje; cselekvési lehetőség,., afordances) Parancs (command) rávesszük a másikot valamilyen cselekvés végrehajtására. Stb.
MAS problémái: Nyílt(abb) rendszereknél ágensek tervezését és kivitelezését különböző tervező csapatok végzik ezek a csapatok ismeretlenek lehetnek egymásnak ezeknek a csapatoknak (és az általuk fejlesztett ágenseknek) a hiedelmei, preferenciái és céljai ismeretlenek lehetnek. Mi egy ágens kommunikációs nyelv? Kommunikáció eszköze (mint embereknél) független, autonóm egyedek között: információ átadás, cselekvéskoordinálás, szociális manipulálás, jeladás. Ágens programozásának eszköze lehetővé tenni az IT rendszer egyedeinek, hogy érjék el a céljaikat, pl. kapcsolatot létesítsenek más ágensekkel Software engineering eszköze lehetővé tenni IT mérnököknek, hogy érjék el a céljaikat, pl. az ágensei kapcsolatot létesítsenek más ágensekkel
Agent Communication Languages (ACLs) - két fő javaslat USA DARPA s (előbb) Knowledge Query and Manipulation Language (KQML) (több tudásbázis fuzionálása) Italy Telecom (később) Foundation for Intelligent Physical Agents ACL (FIPA ACL) (kifejezetten ágensek közötti kommunikáció) Mindkettő: a kommunikáció (üzenetek) 2 szintje: a párbeszéd témája valamilyen logikai nyelvben a témákra vonatkozó illokuciók Pl. - query (Esik az eső) Esik az eső? - inform (Esik az eső) Esik az eső!
KQML Knowledge Query and Manipulation Language A kommunikáció szintjei Adat csere szint (kommunikáció mechanizmusa): állomások között közlekedő üzenetcsomagok 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.
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.
(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.
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!
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)
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))
Üzenettípusok a KQML nyelvben Alapvető lekérdezés - evaluate, ask-if, ask-oke, ask-in, ask-all Többválaszos lekérdezés - stream-in, stream-all Válaszok - reply, sorry Általános közlés - tell, achieve, cancel, untell, unachieve Generátor típusú üzenetek - standby, ready, next, rest, discard, generator Képesség definíciók - advertise, subscribe, monitor Hálózattal kapcsolatosak - register, unregister, forward, broadcast, route
A KQML architektúra KQML útvonal választó (KQML router) kommunikációt segítő ágens (facilitator) különböző alkusz protokollok
Szemantikailag (jobban) specifikált KQML (1997) Performativum: Természetes nyelvű leírás performativum intuitív jelentése Az illokuciós aktus/erő formális kifejezése Előfeltételek Pre(A) hogy elküldhesse Pre(B) hogy (sikeresen) feldolgozhassa Utófeltételek Post(A) állapota sikeres elküldés után Post(B) állapota sikeres feldolgozás után Teljesítési feltétel Completion javasolt végállapot Advertise (A, B, M) 1. A azt állítja B-nek, hogy M üzenetét processzálja (elkötelezettség) 2. Int (A, Proc (A, M)) M = performatívum-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))) Ha B = egy Facilitator, akkor B azonos minden olyan ágenssel, amit a B tud.
Indulás 1995/6 The Foundation for Intelligent, 2002 (félig-meddig) szabvány Physical Agents 2005-től része IEEE Computer Society, IEEE CS Standard Group on IEEE FIPA Standard Committee www.fipa.org Szabvány kérdése - gyors szabvány - semmi megkötés ágensek belsejére, de megkötés a közösség építésére alapvető közösségi struktúra = szervezet (közösség) (be-, kilépés, viselkedési normatívák,, alapvető kommunikáció) FIPA konzisztencia HA alkalmaznánk, akkor előírás szerint viselkedjen. FIPA szabvány - normatív (formális, formálisan verifikálható modellek) - illusztratív (leíró informális modellek, alkalmazások) Szabvány által lefedett témák: Abstract Architecture Agent Message Transport Agent Management (platform, kötelező ágensek) Agent Communication Languages Reference Applications
Agent Management Közösségdefiníció = Agent Platform fizikai infrastruktúra (1 v. több hoszt) - belépés/ kilépés - találkozás (hirdetés, erőforrás lokálizálás) - közösség belüli kommunikáció DF: Directory Facilitator, 1 vagy több (DF Federation) (Sárga Oldalak) register, deregister, modify, search (ágens nem köteles bejelentkezni) AMS: Agent Management System, csak 1/ platform (Fehér Oldalak) register, deregister, modify, search, get-description (köteles bejelentkezni) MTS: Message Transport Service
Agent Communication Languages
Agent Communication Languages
Agent Communication Languages Interaction Protocol Library Specification AUML Agent-Based Extension to UML
Communicative Act Library Specification Accept Proposal Accepting a previously submitted proposal for an action. Agree Agreeing to perform some action, possibly in the future. Cancel The action of one agent informing another agent that the first agent no longer has the intention that the second agent perform some action. Call for Proposal Calling for proposals to perform a given action. (*) Confirm The sender informs the receiver that a given proposition is true, where the receiver is known to be uncertain about the proposition. (*) Disconfirm The sender informs the receiver that a proposition is false, where the receiver is known to believe it likely that the proposition is true. Failure Telling another agent that an action was attempted but failed. (*) Inform The sender informs the receiver that a given proposition is true. Inform If To inform the recipient whether or not a proposition is true. Inform Ref To inform the receiver the object which corresponds to a descriptor, for example, a name. Not Understood The sender informs the receiver that it perceived that the receiver performed some action, but that did not understand what it just did. Propagate The sender wants the receiver to identify the agents denoted by the given descriptor and send the received propagate message to them.
Propose Submitting a proposal to perform a certain action, given certain preconditions. Proxy The sender wants the receiver to select target agents denoted by a given description and to send an embedded message to them. Query If Asking another agent whether or not a given proposition is true. Query Ref Asking another agent for the object referred to by an [sic] referential expression. Refuse Refusing to perform a given action, and explaining the reasons for the refusal. Reject Proposal Rejecting a proposal to perform some action during a negotiation. (*) Request The sender requests the receiver to perform some action. Request When The sender wants the receiver to perform some action when some given proposition becomes true. Request Whenever The sender wants the receiver to perform some action as soon as some proposition becomes true and thereafter each time the proposition becomes true again. Subscribe Requesting a persistent intention to notify the sender of the value of a reference, and to notify again whenever the object identified by the reference changes.
Inclusion Criteria - Summary of Semantic Force and Content Type - Detailed Natural Language Description - Formal Model in SL (Acts s Semantics, FP, RE) - Examples of Usage - Substantial and Clear Documentation - Utility Made Clear Tartalom nyelvek Akármi lehet Pl.: KIF, Prolog, SQL, Serialized Objects, Binary Large Objects FIPA SL, FIPA CCL, FIPA RDF, FIPA KIF
Semantic Language SL (not <Wff>) (and <Wff0> <Wff1>) (or <Wff0> <Wff1>) (implies <Wff0> <Wff1>) (equiv <Wff0> <Wff1>) (forall <var> <Wff>) (exists <var> <Wff>) B <agent> <expr> I <agent> <expr> PG <agent> <expr> U <agent> <expr> szándéka van és tervez. tartós célja van, de nem szükségk. Tervez. (feasible <actexpr> <Wff>) igaz, hogy a cselekvés megtörténthet, közvetlenül utana Wff igaz lesz. (feasible <actexpr>) = (feasible <actexpr> true) (done <actexpr> <Wff>) igaz, hogy a cselekvés épp megtörtént és előtte Wff igaz volt. (done <actexpr>) = (done <actexpr> true) (iota x (P x)) pont olyan x, amire igaz P(x). (any <term> <formula>) akármilyen objektum, ami a formulát teljesíti. (all <term> <formula>) minden objektum, ami Bifi = Bi Bi, Abnij = Bi Bj Bi...
Accept-Proposal i, accept-proposal (j, j, act, = i, inform (j, Ii Done ( j, act, )) FP: Bi Bi ( Bifj Uifj ) RE: Bj = Ii Done ( j, act, ) Confirm i, confirm (j, ) FP: Bi Bi Uj RE: Bj Disconfirm i, disconfirm (j, ) FP: Bi Bi (Uj Bj ) RE: Bj Cancel i, cancel (j, a) = <i, disconfirm (j, Ii Done (a))> FP: Ii Done (a) Bi (Bj Ii Done (a) Uj Ii Done (a)) RE: Bj Ii Done (a)..
FIPA szabvány - Jade platform kisérleti ágensközösség Jade a FIPA szabvány (www.fipa.org) implementációja Java-ban. Jade rendszer indulásakor egy platformot létesít (több hoszton elosztott), ahol az un. konténerekben indíthatók az ágensközösségek. A platform logikai infrastruktúra, ez oldja meg az ágensek kommunikációját. A platformhoz tartoznak (automatikusan jönnek is létre): AMS (Agent Management System) - a platform (közösség) kapuőre, ACC (Agent Communication Channel) a kommunikáció ágense, DF (Directory Facilitator) - a platform telefon könyve (Sárga Oldalak), A platform felhasználói felületéhez tartoznak: RMA (Remote Monitoring Agent) - beépített kémágens, amely mindenről és mindenkiről tart számon, Sniffer - amely a kommunikáció forgalmát megjeleníti, Introspector - amely az ágensek életútját kiséri végig, kívánság szerint akár több DA (Dummy Agent) - ágensbőrbe bújtatott emberi felhasználó (embert csomagoló wrapper-agent).
FIPA ACL problémái Implicit feltételezések: - Ágensek örökké kapcsolatban vannak egymással - Ágensek hivatalból öszinték, jó indulatúak, igazmondók. Beszédaktus hiányosságok - Párbeszédhez való csatlakozás, párbeszéd elhagyása? - Részvétel engedélyezése, tiltása? - Beleegyezés a beszélgetés témájába, a döntéshozó szabályokba? - Hiedelemkonfliktusok kezelése? - Mi van, ha az öszinteség nem vállalható fel (pl. tárgyalások) - Állítások megkérdőjelezése? - Állításokra/igényekre vonatkozó magyarázatadás követelése, megadása? - Dialektikus kötelezettség (aki állít, nem köteles előállni annak indoklásával) - Explicit érvelési lokuciók hiánya kombinatorikus robbanás - Bármely lokuciók követhetik egymást. Bomlasztó viselkedés nehezen hárítható el. - Önalakítás kifejezése hogyan fejezzük ki a hiedelmeink megváltozását ---- csakis az inform-ok sorozataként ---- hogyan ismerhető fel, hogy ez nem hibás, rosszindulatú, viselkedés?
Magán axiomatikus szemantika (nyílt szervezetben!!) nem verifikálható. Egy nyílt többágenses rendszerben egy ágens belső állapotai mások számára általában nem hozzáférhetőek. - Egy okos ágens mindig szimulálhatja, hogy egy szükséges belső állapottal rendelkezik. - Egy okos ágens vállalhat bizonyos hiedelmeket csakis a lokució kimondásának idejére (és akkor (pillanatnyilag) öszinte is).
ACL területén mire való egy szemantika? 1. A kimondások, kimondássorozatok, párbeszédek közös jelentésének a biztosítása a kommunikációban részt vevő szoftver ágensek számára. 2. Közös jelentés biztosítása az ágensek emberi felelősei számára (ha ilyenek vannak). 3. Közös jelentés biztosítása az ágenseket és a protokollokat tervező emberi tervezők számára. 4. Közös jelentés biztosítása más emberi érintettek számára (pl. szabályozók). 5. Ágens nyelvek és protokollok tulajdonságainak precíz tanulmányozása, választ keresve pl. Terminálódik-e mindig egy legális párbeszéd? Biztosítható-e a sikeres terminálódás? Mik a terminált párbeszéd eredményállapota? 6. Különböző ágensnyelvek és protokollok összehasonlítása. 7. Ágensnyelvek és protokollok könnyű implementálhatósága produkciós (szabályalapú) rendszerekben. 8. Biztosítani, hogy a kommunikáció implementálása nyílt elosztott rendszerekben egységes (nyílt MAS-ban ACL olyan, mint egy API) Intelligens Elosztott Rendszerek BME-MIT, 2017
Párbeszédjáték (Dialogue Game) protokollok MAS számára Rábeszéléses (persuasion), Kivizsgáló (inquiry) párbeszéd, Információ-feltáró(information-seeking), Tárgyalás (negotiation), Következtetés (deliberation), Parancs (command), Felfedezés (discovery), Protokollok vizsgálata és elemzése? DG protokollok a sima ACL (mint pl. FIPA ACL) nyelveknél jobban strukturáltak, korlátozottabbak. DG protokollok nagyobb kifejező erejűek, mint olyan általános protokollok, mint szavazás és aukciók (nemsokára jön). DG protokollokban: Kimondások kapcsolatát és kombinálását szabályok szabályozzák. Ágens nem mondhat akármit, akármikor. Zavaró viselkedés általában ki van szűrve. - Protokoll több információt szállít (a kimondások alátámasztásai). - Mások kimondásait lehet kérdőre vonni. - Komplex kötelezettségek felépíthetők kimondások révén.
DG Protokollok: Specifikáció elemei Indítási szabályok Legális lokuciók (belépés/kilépés, információ kérése/szolgáltatása, indokok kérése/szolgáltatása, állítások támadása/védelme, korábbi állítások visszavonása, ideiglenes javaslattétel, preferenciák/hiedelmek bizonytalanságának a kifejezése) Lokuciók kombinálásának szabályai Kötelezettség-létesítés szabályai Kötelezettségek kombinálásának szabályai Beszélőváltás szabályai Párbeszédterminálási szabályok Kötelezettség tárak A párbeszéd résztvevői által vállalt kötelezettségek nyomon követéséhez (1970) Dialektikus kötelezettségek pl. kötelezettség egy állítást megindokolni, ha megkérdőjelezik. Szemantikus kötelezettségek pl. kötelezettség egy cselekvés végrehajtására, vagy a párbeszéden kivüli világállapot karbantartására.
Fatio Protokoll További lokuciók az érvelések megvalósítására. assert(a, θ) A ágens állít θ-t (hiedelem, szándék, szociális kapcsolat, külső kötelezettség, stb.). Ágens dialektikus kötelezettséget vállal, hogy az állítását megindokolja, ha erre megkérik. question(b, A, θ) B ágens megkéri A ágenst a korábbi θ állításának megindoklására. B-re a dialektikus kötelezettség nem vonatkozik. challenge(b, A, θ) B ágens megkéri A ágenst a korábbi θ állításának megindoklására. B ágens dialektikus kötelezettséget vállal, hogy megindokolja, miért ellenzi a θ-t. justify(a, Δ - θ) A ágens, akit θ-ről megkérdeztek, vagy megtámadtak, megadhatja a θ (vagy θ negálásának) indoklását. retract(a, θ) A ágens a θ-ra vonatkozó korábbi állítását, vagy indoklását visszavonja. After Nicolas Fatio de Duillier (1664 1753), a Swiss mathematician and famous disputant, on Newton s behalf, with Leibniz over who invented the differential calculus.
Fatio protokoll rögzíti a lokuciók kapcsolatát: CR1: assert bármikor alkalmazható. CR2: egy assert, vagy justify követően question és challenge bármikor alkalmazható. CR3: ha egy assert-et, vagy justify-t egy question, vagy challenge lokucióval megkérdőjeleznek, az assert-et kimondó ágensnek azonnal kell justify-al válaszolnia. CR4: challenge-t követően bármikor alkalmazható a question és a challenge. CR5: ha egy challenge-t question vagy challenge lokucióval kérdőre vonjuk, az eredeti challenge-et kimondó ágensnek azonnal kell justify-al válaszolnia. CR6: retract bármikor alkalmazható az ugyanannak az ágensnek assert, vagy justify lokuciója után.
Fatio protokoll szemantikája Axiomatikus szemantika - A résztvevő ágensek hiedelmei és szándékai - Magán-írt/publikusan-olvasott dialektikus kötelezettség tár DOS(A) (dialectical obligation store) (A, θ, +/-) Assert(Pi, φ) Pre-conditions: Pi beszélő azt kivánja, hogy minden Pj (j=/=i) résztvevő elhigye, hogy Pi hiszi a φ-t. ((Pi, φ, +) / DOS(Pi)) ( j =/=i)(di Bj Bi φ). Post-conditions: Minden Pk (k =/=i) résztvevő azt hiszi, hogy Pi azt kivánja, hogy minden Pj (j =/=i) résztvevő azt higye, hogy Pi hiszi a φ-t. (Pi, φ,+) DOS(Pi) ( k =/=i) ( j =/=i) (Bk Di Bj Bi φ). Dialectical Obligations: (Pi, φ, +) t hozzáadjuk a DOS(Pi)-hez (a Pi beszélő dialektikus kötelezettség tárához)
Operatív szemantika D1(φ): Claim or Not: Egy procedura minden φ állításhoz, ami lehetővé teszi Pi ágens számára, hogy eldöntse, kimondja-e az assert(pi, φ) lokuciót, vagy sem. A mechanizmus kimenete: listen ill. utter-assert(φ). D2: React or Not: Egy procedura minden φ állításhoz, ami lehetővé teszi Pi ágens számára, az assert(pk, φ)-t követően eldöntse, kimondja-e a question(pj, Pi, φ) vagy a challenge(pj, Pi, φ) lokuciókat, A mechanizmus kimenete: listen, utter-question(pi, φ), vagy utter-challenge(pi, φ). D3(φ): Defend or Not: Egy procedura, hogy egy állítása kapcsán indoklás dialektikus közelezettsége alatt lévő Pi ágens eldönthesse, hogy az indoklás lokuciót kimondja-e a közelezettség teljesítése érdekében. A mechanizmus kimenete: listen ill. utter-justify(.) D4(φ): Fold or Not: Egy procedura, hogy egy állítása kapcsán indoklás dialektikus közelezettsége alatt lévő Pi ágens eldönthesse, hogy a retract(.) lokuciót kimondja-e. A mechanizmus kimenete: listen ill. utter-retract(.). D5: Listen or Do: Egy procedura, hogy az ágens a résztvevők üzeneteire vár és ha érkeznek, eldönthesse, hogy mely D1-D4 viselkedéshez folyamodjon. A kimenet: listen és do-mech(di), i= 1,2,3,4.
Állapotátmenetek rendszere Pi, K, s Pi ágens által alkalmazott K mechanizmus s kimenettel Pi részéről Pi, K,. nincs konkrét kimenet Állapotátmenet ua. az ágens mechanizmusai között Pi, D5, listen Pi, D5,. Állapotátmenet két különböző ágens mechanizmusai között egy lokució révén Pi, D1, utter-assert(φ) F1 Pj, D5, do-mech(d2) (részlet) TR1: Pi, D1(φ), listen Pi, D5,. TR2: Pi, D1, utter-assert(φ) F1 Pi, D5, listen TR3: Pi, D1, utter-assert(φ) F1 Pj, D5, do-mech(d2) TR4: Pj, D2, listen Pj, D5,. TR5: Pj, D2, utter-question(pi, φ) F2 Pj, D5, listen TR6: Pj, D2, utter-question(pi, φ) F2 Pi, D5, do-mech(d3(φ)) TR7: Pj, D2, utter-question(pi, φ) F2 Pk, D5, listen TR21: Pi, D5, do-mech(d4(φ)) Pi, D4(φ),. F1 F2 assert kimondása question kimondása