2022年度 エージェント特論 「タイルワールド」 ルール ver.2
1.ゲームの目的
各エージェントは穴にタイルを入れることで得点を得ることができる.
最終的により多くの得点を得ることを目的とする.
2.ルール
盤面の状態
- 盤面にはフリーグリッド,エージェント,タイル,穴,障害物が存在する.
- エージェント,タイル,穴はフリーグリッドの上に存在する.
- エージェント,タイル,穴,障害物をこの文書では「ユニット」と呼ぶ.
とくに,エージェント,タイルをこの文書では「移動可能なユニット」と呼ぶ.
- ひとつのグリッドに複数のユニットが存在することをこの文書では「競合」と呼ぶ.
世界の表現
- フリーグリッドはデータ上は'.'で表現される.同様に,
障害物は'#'で表され,
穴は'1'から'9'までの数字で表され,
タイルは'T'で表される.
-
エージェントは'a'から順に'b',
'c',...,'z'と示される.
エージェントの数は最大26.
移動
- エージェントは1クロックに1グリッド移動だけでき,エージェントの移動
は'u','d','l','r','s'で示され,それぞれ「上」,「下」,「左」,「右」,
「移動しない」を意味する.
- エージェントはコマンドが's'以外で,移動先がフリーグリッド
で,さらにそのコマンドによる競合が発生しないような状況であれば,
その方向に移動する.
- あるエージェント'a'の隣にタイル'T'があり,
エージェント'a'がタイル'T'の方向に向かうコマンドを
'D'とすると,
'D'の方向で最初にタイルでなくなったグリッドが,
フリーグリッドまたは穴であり,
競合が発生しない場合,タイルはその方向に一つずつ押され,
エージェント'a'はタイル'T'のあった位置に,
移動する.
-
タイル'T'の移動先が穴'H'であった場合,
移動後そのタイル'T'と穴'H'は消滅し,エージェ
ントがタイルを穴に入れたとみなされ,
押したエージェント'a'は得点を得ることができる.
得られる得点は穴の表現される数字によって示される.
マルチエージェント環境での競合の解決
-
エージェントのコマンドによって「移動可能なユニット」の移動先が,
単独のエージェントについての移動先である場合,
競合はおこらない.
- 優先度は,タイルを押しているエージェント <
タイルを押していないエージェントとする.
移動の処理は,優先度の高い順から行われる.
- 優先度が等しい
すべてのエージェントにおいて,移動の結果,競合が発生する場合については,
該当するエージェントすべての動作を's'とする.
つまり,次のクロックの「移動可能なユニット」の移動先('s'のエージェ
ントや移動しないタイルも含む)が複数のユニット間で一致している場合
には,そのような動作をする要因となるすべてのエージェントの動作は's'と
なる.
評価
- 管理プログラムにより指定されたクロック経過したとき,ゲームは終了する.
-
ゲームが終了した後に各エージェントは点数順に順位が決定される.点数
が同じ場合は同じ順位になる.
3.この文書について
この文書は2022年度の「エージェントシステム特論」の講義のLABで行われる,
「タイルワールド」の世界の更新についてのルールであり,
通信規定その他については含まれていない.