Ágensek beszélgetnek. Intelligens Elosztott Rendszerek BME-MIT, 2018

Hasonló dokumentumok
5. Hogyan beszélgetnek az ágensek Agent Communication Language. Intelligens Elosztott Rendszerek BME-MIT, 2017

Ágensek beszélgetnek/1

Ágensek beszélgetnek/2

Kooperatív és Tanuló Rendszerek. 4. ACL-KQML-szabványok Dobrowiecki Tadeusz Horváth Gábor

Témalabor 2018 Kooperatív intelligens rendszerekről. Dobrowiecki Tadeusz

BDI architektúra, AgentSpeak(L) és Jason ismertetı Mesterséges intelligencia, Dobrowiecki T., BME-MIT

BEVEZETÉS A NYELVTUDOMÁNYBA

Jason platform. Intelligens Elosztott Rendszerek BME-MIT, 2018

Ágensek bevezető áttekintés:

- megnyilatkozás értelmezéséhez kell: 1. a világ ismerete pl.: vág 2. kommunikációs ismeret pl.: udvariasság - a beszédhelyzet szerepe pl.

1. Informatikai trendek, ágensek, többágenses rendszerek. Intelligens Elosztott Rendszerek BME-MIT, 2018

Bevezetés a nyelvtudományba Pragmatika

Kooperatív és Tanuló Rendszerek

Osztott alkalmazások fejlesztési technológiái Áttekintés

Intelligens Elosztott Rendszerek. Dobrowiecki Tadeusz és Eredics Péter, Gönczy László, Pataki Béla és Strausz György közreműködésével

Programok értelmezése

S0-02 Típusmodellek (Programozás elmélet)

ANGOL NYELV KÖZÉPSZINT SZÓBELI VIZSGA I. VIZSGÁZTATÓI PÉLDÁNY

ROS Remote Operations Service

Adatbázisok MSc. 12. téma. Ontológia és SPARQL

R3-COP. Resilient Reasoning Robotic Co-operating Systems. Autonóm rendszerek tesztelése egy EU-s projektben

Üzleti élet Nyitás. Nagyon hivatalos, a címzettnek meghatározott rangja van, aminek szerepelnie kell

Steps Towards an Ontology Based Learning Environment. Anita Pintér Corvinno Technologia Transzfer Kft

Üzleti élet Nyitás. Nagyon hivatalos, a címzettnek meghatározott rangja van, aminek szerepelnie kell

A modell-ellenőrzés gyakorlata UPPAAL

Komputeralgebra Rendszerek

Kooperáció és intelligencia

Szolgáltatásintegráció (VIMIM234) tárgy bevezető

UML (Unified Modelling Language)

1. Sorolja fel a számítástechnikának azokat a fejlődési jellemzőit, amik az autonóm rendszerek fejlesztésének igényét létrehozták!

Szkriptnyelvek. 1. UNIX shell

VoIP (Voice over IP)

Dunaújvárosi Főiskola Informatikai Intézet. Intelligens ágensek. Dr. Seebauer Márta. főiskolai tanár

8. Komponens elvű programfejlesztés. Ágens, akció, cél, kontraktus.

Osztott rendszer. Osztott rendszer informális definíciója

Proxer 7 Manager szoftver felhasználói leírás

Kommunikáció. Távoli eljáráshívás. RPC kommunikáció menete DCE RPC (1) RPC - paraméterátadás. 3. előadás Protokollok. 2. rész

Adatbázisok elleni fenyegetések rendszerezése. Fleiner Rita BMF/NIK Robothadviselés 2009

Modell alapú tesztelés mobil környezetben

Travel General. General - Essentials. General - Conversation. Asking for help. Asking if a person speaks English

Mr. Adam Smith Smith's Plastics 8 Crossfield Road Selly Oak Birmingham West Midlands B29 1WQ

ARM Cortex magú mikrovezérlők. mbed

Hálózati architektúrák és Protokollok GI 8. Kocsis Gergely

Ágens kommunikáció labor mérési útmutató BME VIK BSc. Intelligens Rendszerek ágazat, Kooperatív rendszerek labor

Szemantikus Web Semantic Web A szemantikus web alkalmas megközelítés, illetve megfelel nyelvekkel, eszközökkel támogatja az intelligens információs

Követelmények formalizálása: Temporális logikák. dr. Majzik István BME Méréstechnika és Információs Rendszerek Tanszék

Folyamatmodellezés és eszközei. Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék

A CAN mint ipari kommunikációs protokoll CAN as industrial communication protocol

Software Engineering Babeş-Bolyai Tudományegyetem Kolozsvár

Modbus kommunikáció légkondícionálókhoz

ANGOL NYELV KÖZÉPSZINT SZÓBELI VIZSGA I. VIZSGÁZTATÓI PÉLDÁNY

Osztott Objektumarchitektúrák

Hálózati architektúrák és Protokollok PTI 5. Kocsis Gergely

Funkcionális és logikai programozás. { Márton Gyöngyvér, 2012} { Sapientia, Erdélyi Magyar Tudományegyetem }

Az 40 éves története. Beleznay Péter CCIE#10282, CCSI#31966 Fast Lane Cisco Learning Solution Partner

Rendszer szekvencia diagram

A Java EE 5 plattform

matematikus-informatikus szemével

SQL ALAPOK. Bevezetés A MYSQL szintaxisa Táblák, adatok kezelésének alapjai

15. Programok fordítása és végrehajtása

OOP. Alapelvek Elek Tibor

INTELLIGENT ENERGY EUROPE PROGRAMME BUILD UP SKILLS TRAINBUD. Quality label system

A modern e-learning lehetőségei a tűzoltók oktatásának fejlesztésében. Dicse Jenő üzletfejlesztési igazgató

Tranzakciókezelés PL/SQL-ben

BASH script programozás II. Vezérlési szerkezetek

Business Opening. Very formal, recipient has a special title that must be used in place of their name

A szemantikus világháló oktatása

On The Number Of Slim Semimodular Lattices

Csoportosítsd a szövegben található szavakat! / Group the words according to the text.

Alapszintű formalizmusok

Angol Középfokú Nyelvvizsgázók Bibliája: Nyelvtani összefoglalás, 30 kidolgozott szóbeli tétel, esszé és minta levelek + rendhagyó igék jelentéssel

Technical Object Maintenance (TOM) Bihari Róbert november 26.

Ágens technológiák. Starkné dr. Werner Ágnes Pannon Egyetem Műszaki Informatikai Kar Villamosmérnöki és Információs Rendszerek Tanszék

Hálózati architektúrák és Protokollok GI 7. Kocsis Gergely

Számítógépes Hálózatok GY 8.hét

Komponens alapú programozás Bevezetés

KOGGM614 JÁRMŰIPARI KUTATÁS ÉS FEJLESZTÉS FOLYAMATA

Szemantikus Web Semantic Web A szemantikus web alkalmas megközelítés, illetve megfelel nyelvekkel, eszközökkel támogatja az intelligens információs

Hogyan használja az OROS online pótalkatrész jegyzéket?

A KUTATÁS EREDMÉNYEI ZÁRÓJELENTÉS

Debreceni Egyetem Matematikai és Informatikai Intézet. 13. Védelem

Symfony kurzus 2014/2015 I. félév. Controller, Routing

Intelligens Rendszerek Elmélete. Versengéses és önszervező tanulás neurális hálózatokban

Formális szemantika. Kifejezések szemantikája. Horpácsi Dániel ELTE Informatikai Kar

Angol szóbeli Információkérés

Első lépések. File/New. A mentés helyét érdemes módosítani! Pl. Dokumentumok. Fájlnév: pl. Proba

Cloud computing. Cloud computing. Dr. Bakonyi Péter.

Hardver leíró nyelvek (HDL)

Széchenyi István Egyetem

DR. SZABÓ LÁSZLÓ 1 DOBOS GÁBOR 2

Tudok köszönni tegezve és önözve, és el tudok búcsúzni. I can greet people in formal and informal ways. I can also say goodbye to them.

A J2EE fejlesztési si platform (application. model) 1.4 platform. Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem

Utolsó módosítás:

Számítógépes Hálózatok Felhasználói réteg DNS, , http, P2P

Felhasználói réteg. Számítógépes Hálózatok Domain Name System (DNS) DNS. Domain Name System

Hálózati architektúrák laborgyakorlat

Ethernet/IP címzés - gyakorlat

SIP. Jelzés a telefóniában. Session Initiation Protocol

Szoftvertechnológia alapjai Java előadások

COMET webalkalmazás fejlesztés. Tóth Ádám Jasmin Media Group

Átírás:

Á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