Agent Communication Language
From Wikipedia, the free encyclopedia
Remove ads
Agent Communication Language (ACL) se nazývá jazyk navržený pro komunikaci v prostředí multiagentních systémů, který slouží ke vzájemné výměně informací, koordinaci a kooperaci mezi agenty.[1]
Specifikace komunikace
Základní typy komunikace se liší podle cíle, kam směřují zprávy. Komunikaci tedy můžeme rozdělit na přímou, kdy jsou zprávy posílány dalším agentům a komunikaci nepřímou, kdy jsou zprávy soustředěny v dané struktuře (např. tabule). U přímé komunikace můžeme rozlišit tři druhy posílání zpráv:
- adresné posílání zpráv – zpráva se posílá konkrétním agentům
- všesměrové posílání zpráv – zpráva se posílá všem agentům
- selektivní posílání zpráv – zpráva se posílá určité skupině agentů
Jazyky pro komunikaci v multiagentních systémech jsou založeny na teorii řečových aktů vycházející z lingvistické analýzy komunikace v přirozeném jazyce. Teorie řečového aktu vychází z představy, že v souvislosti s řečovou komunikací člověk nejenom vyslovuje nějaké tvrzení, ale současně koná i jisté akce. Řečové akty mohou být:[1]
- oznamovací
- zavazující
- přikazovací
- expresivní
- deklarační
V oblasti jazyků ACL, kromě teorie řečového aktu hrají roli i teorie tvorby počítačových jazyků resp. počítačové lingvistiky. Problém agentní komunikace lze z tohoto úhlu pohledu rozdělit na tři úrovně. A to na úroveň syntaktickou, sémantickou a pragmatickou.[2]
- úroveň syntaktická – všichni agenti používají jednotnou syntaxi
- úroveň sémantická – všichni agenti jsou vybaveni stejným ontologickým rámcem používaných znalostí
- úroveň pragmatická – zajišťuje znalosti o nalezení určitého agenta a následné vzájemné komunikaci
Na vlastním přenosu zpráv a informací se podílí různé úrovně:[1]
- Fyzická úroveň – vrstva zajišťující přenos zprávy jako posloupnost bitů (využívá fyzické, linkové a síťové vrstvy OSI modelu)
- Transportní úroveň – specifikace protokolů pro kódování zprávy (transportní vrstva OSI modelu). Mezi tyto protokoly lze zahrnout například: HTTP, TCP/IP, WAP, apod.
- Úroveň komunikační architektury – zajišťují překlad zpráv do posloupnosti bytů; příkladem jsou různé komunikační platformy jako CORBA, Java RMI, UNIX RPC, XML RPC atd.
- Úroveň ACL – zaměřuje se na identifikaci odesílatele a příjemce a na jazyk vlastní zprávy (př. KQML, FIPA-ACL)
- Úroveň obsahu zprávy – zaměření na konkrétní reprezentaci přenášeného sdělení. Realizace např. pomocí XML, KIF (Knowledge Interchange Format), Lisp, Prolog, SQL,...
Remove ads
Architektura z hlediska komunikace
Architektura multiagentního systému může být:[1]
- centralizovaná – v multiagentním systému je jeden řídící agent, kterému jsou ostatní podřízeni
- hierarchická – v multiagentním systému se používají různé úrovně řízení
- federovaná – v multiagentním systému se používá nepřímá komunikace přes prostředníka
- decentralizovaná – v multiagentním systému jsou decentralizovány role i řízení
Tyto architektury můžeme hodnotit z hlediska robustnosti (odolnosti vůči poruchám), škálovatelnosti (rozšiřitelnosti o další komponenty), implementačním nároků a nároků na komunikaci.
Remove ads
Jazyky
Nejznámějšími jazyky v oblasti multiagentního modelování jsou KQML a FIPA-ACL.
KQML
KQML (Knowledge Query and Manipulation Language) je jazyk a protokol pro výměnu informací a znalostí. Byl vyvinut na začátku 90. let v rámci projektu ARPA Knowledge Sharing Effort.[3] Jazyk se zaměřuje na podporu pragmatických a sémantických aspektů komunikace mezi agenty. Je to tedy jazyk podporující činnost agentů při hledání agentů vhodných ke spolupráci, navazování spojení mezi agenty a výměně informací mezi agenty. Na syntaktické úrovni není KQML vázán na použití žádného konkrétního jazyka. Jazyk KQML je založen na dvou základních principech.[1]
Prvním principem je definice relativně malého počtu tzv. performativů (komunikačních sloves) pro realizování předem specifikovaných řečových aktů. Každá zpráva sestává zejména performativu a jeho parametrů. Vlastní obsah zprávy může být zapsán v libovolném jazyce a představuje obsah jednoho parametru.[4] Performativy se rozdělují do několika typů jako např. informační (tell, deny, untell,…), dotazy (ask, ask-if, ask-about,…), odpovědi (error, sorry,…), práce s virtuální bází znalostí (insert, delete,…), atd.[5]
Příklad zprávy
(inform
:sender (agent-identifier :name i)
:reciever (agent-identifier :name j)
:content
"weather(today,raining)"
:language Prolog
)
Druhým principem je nepřímá komunikace s využitím tzv. faciliátorů. Zavádí se speciální
třída agentů. Rozlišují se tři druhy faciliátorů: matchmaker, broker a mediátor.[1]
- Matchmaker – agent, který pouze hledá vhodné agenty pro požadovanou službu. Agent, který poptává nějakou službu na základě informace od matchmakera přímo kontaktuje agenta, který službu poskytuje
- Broker – agent, který nejen hledá agenty pro požadovanou službu, ale službu přímo i objedná. Poptávajícímu agentovi pak předá rovnou výsledek poskytnuté služby
- Mediátor – agent, který podobně jako broker službu objedná. Agent, který službu poskytuje, pak ale službu nabídne a díle komunikuje přímo s poptávajícím agentem.
FIPA-ACL
Jazyk FIPA-ACL byl navržen koncem 90. let sdružením FIPA (Foundation for Physical Intelligent Agents), které se zabývá standardizací v multiagentních systémech. Vychází z principů jazyka KQML, ale snaží se lépe definovat sémantiku a komunikační protokoly. Základem jazyka jsou opět typizované druhy zpráv realizující řečové akty, nazývané tentokrát komunikační akty. Komunikační akty se konceptuálně neliší od performativů, jejich nabídka je ovšem odlišná.[1]
FIPA jich stanovila pouze uzavřenou množinu a nové komunikační akty mohou vzniknout jen přípustnou kombinací těch základních.[4] Tyto akty se dá rozdělit do pěti skupin:
- přenos informace
- vyžádání informace
- vyjednávání
- vykonání akce
- chybová hlášení
Další rozdíly oproti KQML:[4]
- sémantika jazyka je striktně formalizována s využitím modální logiky v rámci FIPA-SL (FIPA Semantic Language). Výhodou je existence precizního formálního popisu komunikace, nevýhodou je, že agenti obvykle nedokáží v rámci modální logiky rozhodovat
- neexistují performativy pro síťování a administraci přenosu zpráv
Remove ads
Literatura
- Vladimír Mařík, Olga Štěpánková, Jiří Lažanský ...[a kol.].: Umělá inteligence [Díl] 2 a [Díl] 3. Praha: Academia. ISBN 80-200-0502-1.
Reference
Související články
Externí odkazy
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads