Agent Communication Language: Porovnání verzí

Smazaný obsah Přidaný obsah
Bez shrnutí editace
Řádek 1:
'''Agent Communication Language (ACL)''' se nazývá jazyk navržený pro komunikaci v prostředí [[multiagentní systém|multiagentních systémů]], který slouží ke vzájemné výměně informací, koordinaci a kooperaci mezi agenty.<ref name="berka">BERKA, Petr. ''Inteligentní Systémy.'' Praha : Nakladatelství Oeconomica, 2008. [Cit. 2010-01-16]. ISBN 978-80-245-1436-9.</ref>
 
[[multiagentní systém|multiagentních systémů]], který slouží ke vzájemné výměně informací,
koordinaci a kooperaci mezi agenty.<ref name="berka">BERKA, Petr. ''Inteligentní Systémy.''
Praha : Nakladatelství Oeconomica, 2008. [Cit. 2010-01-16]. ISBN 978-80-245-1436-9.</ref>
==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:
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ů<br />
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 [[jazyk (lingvistika)|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ý akt|Řečové akty]] mohou být:<ref name="berka"></ref>
vycházející z lingvistické analýzy komunikace v přirozeném [[jazyk (lingvistika)|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ý akt|Řečové akty]]
mohou být:<ref name="berka"></ref><br />
* oznamovací
* zavazující
Řádek 21 ⟶ 12:
* 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é [[lingvistika|lingvistiky]]. Problém agentní komunikace lze z tohoto úhlu pohledu rozdělit na tři úrovně. A to na úroveň [[syntax|syntaktickou]], [[sémantika|sémantickou]] a [[pragmatika|pragmatickou]].<ref name="stastny">{{Citace elektronické monografie | příjmení = ŠŤASTNÝ | jméno = Pavel | titul = Multiagentní systémy v medicíně | url = https://dip.felk.cvut.cz/browse/pdfcache/stastp2_2007dipl.pdf | datum přístupu = 2009-1-26}}</ref>
V oblasti jazyků ACL, kromě teorie řečového aktu hrají roli i teorie tvorby počítačových
jazyků resp. počítačové [[lingvistika|lingvistiky]]. Problém agentní komunikace lze z tohoto
úhlu pohledu rozdělit na tři úrovně. A to na úroveň [[syntax|syntaktickou]],
[[sémantika|sémantickou]] a [[pragmatika|pragmatickou]].<ref name="stastny">{{Citace elektronické monografie | příjmení = ŠŤASTNÝ | jméno = Pavel | titul = Multiagentní systémy v medicíně | url = https://dip.felk.cvut.cz/browse/pdfcache/stastp2_2007dipl.pdf | datum přístupu = 2009-1-26}}</ref>
* '''ú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í
Řádek 34 ⟶ 22:
# '''Ú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í [[Extensible Markup Language|XML]], KIF (Knowledge Interchange Format), [[Lisp]], [[Prolog (programovací jazyk)|Prolog]], [[SQL]],...
 
==Architektura z hlediska komunikace==
Architektura multiagentního systému může být:<ref name="berka"></ref><br />
* '''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.
 
škálovatelnosti (rozšiřitelnosti o další komponenty), implementačním nároků a nároků na
komunikaci
==Jazyky==
Nejznámějšími jazyky v oblasti [[Multiagentní modelování|multiagentního modelování]] jsou: '''KQML''' a '''FIPA-ACL'''.
 
'''KQML''' a '''FIPA-ACL'''
===KQML===
'''KQML (Knowledge Query and Manipulation Language)''' je jazyk a [[protokol (informatika)|protokol]] pro výměnu informací a znalostí. Byl vyvinut na začátku 90. let v rámci projektu [[ARPA]] Knowledge Sharing Effort.<ref name="kqml">{{Citace elektronické monografie | příjmení = Finin | jméno = Tim | příjmení2 = Weber | jméno2 = Jay | příjmení3 = Wiederhold | jméno3 = Gio | příjmení4 = Genesereth | jméno4 = Michael | příjmení5 = Fritzson | jméno5 = Richard | příjmení6 = McKay | jméno6 = Donald | příjmení7 = McKay | jméno7 = Donald | příjmení8 = McGuire | jméno8 = James | příjmení9 = Pelavin | jméno9 = Richard | příjmení10 = Shapiro | jméno10 = Stuart | příjmení11 = Beck | jméno11 = Chris | titul = DRAFT Specification of the KQML Agent-Communication Language | url = http://www.cs.umbc.edu/research/kqml/papers/kqmlacl.pdf | datum přístupu = 2009-1-26}}</ref> Jazyk se zaměřuje na podporu pragmatických a sémantických aspektů komunikace mezi [[Agent (teorie systémů)|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.<ref name="berka"></ref>
'''KQML (Knowledge Query and Manipulation Language)''' je jazyk a [[protokol (informatika)|protokol]] pro výměnu informací a znalostí. Byl vyvinut na začátku 90. let v rámci projektu [[ARPA]] Knowledge Sharing Effort.<ref name="kqml">{{Citace elektronické monografie
| příjmení = Finin | jméno = Tim | příjmení2 = Weber | jméno2 = Jay | příjmení3 = Wiederhold
| jméno3 = Gio | příjmení4 = Genesereth | jméno4 = Michael | příjmení5 = Fritzson | jméno5 =
Richard | příjmení6 = McKay | jméno6 = Donald | příjmení7 = McKay | jméno7 = Donald |
příjmení8 = McGuire | jméno8 = James | příjmení9 = Pelavin | jméno9 = Richard | příjmení10 =
Shapiro | jméno10 = Stuart | příjmení11 = Beck | jméno11 = Chris | titul = DRAFT
Specification of the KQML Agent-Communication Language | url =
http://www.cs.umbc.edu/research/kqml/papers/kqmlacl.pdf | datum přístupu = 2009-1-26}}</ref> Jazyk se zaměřuje na podporu pragmatických a sémantických aspektů komunikace mezi [[Agent (teorie systémů)|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.<ref name="berka"></ref>
 
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.<ref name="marik">{{Citace elektronické monografie | příjmení = Mařík | jméno = Vladimír | titul = prezentace k předmětu Inteligentní Software |