• 検索結果がありません。

CaSPA による問題解決の例

ドキュメント内 及びその応用に関する研究 (ページ 72-77)

ᵡᵿᵱᵮᵟ ᵣᶌᶅᶇᶌᶃ

5.7 CaSPA による問題解決の例

5.7.1 単独エージェントによるゴール到達ゲーム

CaSPAによるエージェントの動作を確認するため,単独エージェントの場合に関し

てテストケースを作成した.今回のテストケースの概観を図5.7に示す.テストケース はゴール到達型のパズルゲームとし,エージェントはゴールに到達するのが目的であ る.ゲームの環境は,床面,壁,ブロックから構成される.エージェントは何もない 床面を通ることができるが,壁及びブロックを通ることはできない.エージェントと ブロックが隣接し,さらに,ブロックを挟んで反対側が床だった場合,エージェント はブロックを押すことができる.

'ŽĂů

͗ŐĞŶƚ

͗ůŽĐŬ

͗tĂůů

͗&ŝĞůĚ ŽĨsŝĞǁ

͗&ůŽŽƌ

図 5.7: CaSPAテストケースの概観

また,エージェントには周囲1セルの視界を設定し,障害物を含む環境の情報は,視 界の範囲しか得られないものとした.今回の実験のために用意したタスクを5.2に示 す.ルートタスクとしてゴールの座標への移動タスクを設定することで,エージェン トは自分がゴールまで移動するためのタスクグラフを構築する.

座標の情報取得タスクにアクションを設定していないのは,この場合は条件を満た した時点で既に情報を取得できているためである.また,今回は「移動するタスク」の コストに対し,「ブロックを押すタスク」のコストを高く設定した.これは,移動が可 逆な行動なのに対して,ブロックを押す行動は不可逆な場合があるためである.その ため,他の選択肢がある場合にブロックを押す選択肢の優先度を低くしている.

上記の条件で実験を行った結果,エージェントの動作は図5.8に示すようなものと なった.

5.7 CaSPAによる問題解決の例

表 5.2: CaSPA動作確認用ルール

㼀㻭㻿㻷 㻯㻻㻺㻰㻵㼀㻵㻻㻺 㻭㻯㼀㻵㻻㻺

ᗙᶆ㻔㼤㻘㼥㻕䜈䛾

⛣ື䝍䝇䜽

䞉䛭䛾ᗙᶆ䛻㞄᥋䛧䛶䛔䜛䛛䠛 㼁㼚㼗㼚㼛㼣㼚

㻲㼍㼘㼟㼑䛺䛧

ᗙᶆ㻔㼤㻘 㼥㻕䛾㞄᥋ᗙᶆ䜈䛾⛣ື䝍䝇䜽 䞉䛭䛾ᗙᶆ䛜ᗋ䜎䛯䛿䝂䞊䝹䛛䠛

㼁㼚㼗㼚㼛㼣㼚

ᗙᶆ㻔㼤㻘 㼥㻕䛾᝟ሗྲྀᚓ䝍䝇䜽 㻲㼍㼘㼟㼑

ቨ䛾ሙྜ

䝤䝻䝑䜽䛾ሙྜ䛺䛧

䝤䝻䝑䜽㻔㼤㻘 㼥㻕䛾⛣ື䝍䝇䜽

ᗙᶆ㻔㼤㻘㻌㼥㻕䜈⛣ື

ᗙᶆ㻔㼤㻘㼥㻕䛾᝟

ሗྲྀᚓ䝍䝇䜽

䞉䛭䛾ᗙᶆ䛜ど⏺ෆ䛛䠛 㼁㼚㼗㼚㼛㼣㼚

䛺䛧 㻲㼍㼘㼟㼑

ᗙᶆ㻔㼤㻘 㼥㻕䛾࿘ᅖᗙᶆ䜈䛾⛣ື䝍䝇䜽 䛺䛧

䝤 䝻 䝑 䜽 㻔㼤㻘㼥㻕 䛾⛣ື䝍䝇䜽

䞉䝤䝻䝑䜽䛻㞄᥋䛧䛶䛔䜛䛛䠛 㼁㼚㼗㼚㼛㼣㼚

䛺䛧 㻲㼍㼘㼟㼑

㞄᥋ᗙᶆ䜈䛾⛣ື䝍䝇䜽

䞉䝤䝻䝑䜽䜢ᣳ䜣䛷཯ᑐഃ䛾䝉䝹䛜ᗋ䛛䠛 㼁㼚㼗㼚㼛㼣㼚

ᙜヱᗙᶆ䛾᝟ሗྲྀᚓ䝍䝇䜽 㻲㼍㼘㼟㼑

ቨ䛾ሙྜ

䛺䛧

䝤䝻䝑䜽䛾ሙྜ

䛭䛾䝤䝻䝑䜽䛾⛣ື䝍䝇䜽

䝤䝻䝑䜽䜢ᢲ䛩

5.

図5.8において色の濃い部分は未知の領域,色の薄い部分は既知となった領域であ る.手順3,4番についてブロックの反対側に回り込むような動作をしているのは,手 順3の時点ではゴールの下に隣接したセルが未知であるため,そこに経路が存在する 可能性を確認しているものである.実際にそのセルが壁であることを確認すると,ブ ロックを押す以外の選択肢が無くなるため,ブロックを移動させて経路を作っている.

エージェントがゴールに至る経路を探索したのち,ブロックを移動させて経路を確 保し,ゴールに到達できることを確認した.

' ' '

' ' '

ϭ Ϯ ϯ

ϰ ϱ ϲ

図 5.8: CaSPAによるゲームの推移

5.7.2 チームによる協調作業の再現 (1)

エージェントの脱出ゲーム(2)を図5.9に示す.本ゲームは,1名のリーダーと2名 の部下から構成され,リーダーの指示の下2名の部下が協調作業を行って目的を達成 することを確認するためのものである.

本ゲームにおいてゴールに到達するためにはブロックを動かさなければならず,ブ ロックは2エージェントが協調して押さなければ動かないものとした.

初期状態では,ゴールは視界の範囲外にあり,ブロックが進路をふさいでいるかど うかわからない.よって,リーダーは自らも含めて各エージェントにゴールまでの移 動を命令する.

5.7 CaSPAによる問題解決の例

'

図 5.9: 脱出ゲーム(2):協調が必要な場合

エージェントがゴール付近に達し,周囲の状況が判明すると,そのままではゴール に到達できないことが明らかになる.エージェントはゴールに到達できないと判断し た時点で与えられた命令をキャンセルし,障害物情報をリーダーに報告する.

障害物情報を得たリーダーは,エージェントのゴールへの途上に障害物が存在する ことを認識する.その場合,ゴールへ移動する命令を出せなくなるため,ゴールへの 経路を確保する必要がある.本例では,ゴール前に3つのブロックが存在する.ブロッ クの移動コストは配置状況によって変化するため,全てのブロックを押すタスクを生 成したのち,中央付近の座標(3, 3)にあるブロックを押すタスクが選択される.リー ダーはブロックの南側となる(3, 2)へエージェントを誘導し,プッシュ命令を発行する ことでゴールへの経路を作る.

ゴールへの経路ができた時点で,ゴールを目指す移動命令が達成可能となるため,全 エージェントがゴールする.実際の計算機上での動作を図5.10に示す.この図におい て,Lと記入された円がリーダーエージェント,数字が記入された円が部下エージェン トを表す.

5.7.3 チームによる協調作業の再現 (2)

エージェントの脱出ゲーム(3)を図5.11に示す.本ゲームは先述した(2)の環境を更 に複雑にしたもので,エージェントの数等その他の条件は同じである.

この環境においては,マップの中央付近に壁があり,エージェントの経路は2段階 にわたってブロックによって塞がれている.エージェントがゴールに到達するために

ΤʔδΣϯτͷߦಈ൑அͷͨΊͷ࿈࠯త෦෼໨తੜ੒ΞϧΰϦζϜ

ਤ 5.10: ήʔϜͷਪҠ(1)

'

ਤ 5.11: ୤ग़ήʔϜ(3)ɿΑΓෳࡶͳ؀ڥ

ドキュメント内 及びその応用に関する研究 (ページ 72-77)