3. プログラム例

作成中 😃

書籍「エージェントシステムの作り方」(木下編著, 電子情報通信学会, 2001) の3章に掲載されているプログラムを書きなおしたものを例に説明します.

本文書 上記書籍の該当箇所
3.1 基本構造 3.1 エージェントの言葉ACL (p.43)
3.2 問合せ 3.2 エージェントをプログラムする (p.50)
3.3 プログラム制御 3.3 既存ソフトウェアを制御する(p.56)
3.4 仲介 3.4 人間とエージェントとの通信を支援する (p.66)
3.5 タスク分割 3.5 問題の処理手順を考える (p.73)
3.6 交渉 3.6 状況を認識して判断する (p.80)
3.7 契約ネットプロトコル 3.7 適切なエージェントを探して協調する(p.90)
3.8 黒板モデル 3.8 情報を共有して連携する(p.102)

3.1 基本構造

%0 user user Simple Simple user->Simple Q&A about "designer"

useruserSimpleSimplerequest-informationalt[success]inform[error]sorry

3.2 問合せ

%0 user user ODB_aomori ODB_aomori user->ODB_aomori Q&A about "onsen in aomori"

useruserODB_aomoriODB_aomorirequest-informationalt[success]inform[no data]retrieve-failed[other]sorry

3.3 プログラム制御

3.4 仲介

%0 user user DB_access DB_access user->DB_access human-agent ODB_aomori ODB_aomori DB_access->ODB_aomori agent-agent

useruserDB_accessDB_accessODB_aomoriODB_aomorifrom-userrequest-informationalt[success]informto-user[missing data]retrieve-failedsorry[other]sorrysorry

3.5 タスク分割

%0 user user Searcher Searcher user->Searcher Q&A about "Tohoku onsen" ODB_aomori ODB_aomori Searcher->ODB_aomori Q&A ODB_iwate ODB_iwate Searcher->ODB_iwate Q&A ODB_akita ODB_akita Searcher->ODB_akita Q&A

useruserSearcherSearcherODB_aomoriODB_aomoriODB_iwateODB_iwateODB_akitaODB_akitarequest-information3つに並列に問い合わせるparrequest-informationinformrequest-informationinformrequest-informationinform返答が集まるまで待つinform

3.6 交渉

%0 Secretary_A Secretary_A Secretary_B Secretary_B Secretary_A->Secretary_B adjust schedule Secretary_C Secretary_C Secretary_A->Secretary_C adjust schedule

Aliceの秘書AgentSecretary_AAliceの秘書AgentSecretary_ABob(Aliceの上司)の秘書AgentSecretary_BBob(Aliceの上司)の秘書AgentSecretary_BCarn(Aliceの同僚)の秘書AgentSecretary_CCarn(Aliceの同僚)の秘書AgentSecretary_Cuseruserdo-appointmentSecretary_Cに指示を出すappointmentacceptCarnからの申込みを受理するdo-appointmentSecretary_Bに指示を出すappointmentacceptBobからの申込みを優先して受理するcancelCarnとの予定はキャンセル

3.7 契約ネットプロトコル

%0 user user Manager Manager user->Manager request hotel information Hotel_X Hotel_X Manager->Hotel_X task-announcement, bid,award Hotel_Y Hotel_Y Manager->Hotel_Y task-announcement,bid Hotel_Z Hotel_Z Manager->Hotel_Z task-announcement

useruserManagerManagerHotel_XHotel_XHotel_YHotel_YHotel_ZHotel_Zrequest-informationタスク通知,入札parrequest-bidbidrequest-bidbidrequest-bid落札awardinform

3.8 黒板モデル