第 2 章 関連研究
4.4 戦国戦闘シミュレーションの主要機能
4.4.1 必要な機能の検討
戦国時代の合戦を模擬するための戦闘シミュレーションに必要な機能について検討 する.戦闘シミュレーションには多数のエージェントが登場することから,エージェン トを管理する仕組みは必須である.また,それぞれのエージェントを自律的に動作さ せるために,行動判断の機能も有している必要がある.
また,戦闘シミュレーションを実施するためには,エージェントが行動するための 仮想空間として,地形及び障害物を含む環境が必要である.
これらのシミュレーションの経過を人間が確認し,また操作のためには状況表示及 びユーザーインターフェースを備えていなければならない.また,エージェントの設 定や配置,その経路といったシミュレーションシナリオの操作を頻繁に実施すること が考えられることから,シミュレーションのシナリオ編集を容易に実行できることが 求められる.
本システムには,戦闘シミュレーションに必要と考えられるこれらの機能を搭載し た.それぞれの機能について,以下に記す.
4.4.2 エージェント管理
MASにとって最も重要な機能は,エージェントの管理機能である.
本システムでは,シミュレーションで模擬する両軍の武将によって率いられる部隊 は,部隊エージェントとして模擬することとした.部隊エージェントの基本的なパラ メーターは,兵力と統率力である.兵力は武将が率いている兵数をモデル化したもの であり,戦闘が発生した場合には敵に対する攻撃力に影響する.また,統率力はどれ だけ兵を統率できているかをモデル化したものであり,どのくらいの損害を受けても 部隊を維持できるかに影響する.統率力が100であれば部隊は兵力0になるまでシミュ レーション上に存在するが,統率力が50であれば初期状態から兵力が半分になった時 点で部隊は全滅とみなされ,シミュレーションから消滅する.
本システムにおける行動判断は,状態遷移モデルを利用した.各部隊エージェント の行動は,それぞれの部隊エージェントが保持している作戦に依存する.作戦は通常,
転進,籠城,突撃が存在する.作戦はエージェント自身の判断か,または上司からの 命令によって選択される.
命令や戦闘のようなエージェント間の相互作用は,メッセージの交換によって実施 することとする.メッセージはエージェントから相手のエージェントを指定して送付
4.4 戦国戦闘シミュレーションの主要機能 され,各エージェントは自分あてのメッセージを確認することで,上司からの命令及 び敵からの攻撃等を確認する.
部隊エージェントには,歩兵,騎兵,銃兵の3種を設定した.歩兵は基準となる兵 種であり標準的な戦闘能力と移動能力を有する.騎兵は機動力が高く,銃兵は火器に よる遠距離攻撃が可能である.
4.4.3 エージェントの行動判断
エージェントの移動と戦闘
本システムでは,エージェントが完全に自律的に移動するのではなく,ウェイポイ ントを指定して移動させることとした.
これは,各武将は総大将から予め策を与えられて,それを遂行するという想定に基 づいたものである.なお,ウェイポイントを指定して移動する場合であっても,ウェイ ポイント間の経路探索を行う必要がある.そうでなければウェイポイント間が直線移 動となり,高低差や河川等を考慮せずに乗り越えるなど,著しく移動効率が悪くなる ためである.本研究では地形上を50m間隔で覆うノードを設定し,A*アルゴリズムに よって経路探索を行うこととした.
エージェントは経路を設定されると,まず自分の最近傍のウェイポイントを探し,そ こまでは直線的な最短距離で移動する.ウェイポイントに到達すると,次のウェイポイ ントまでの経路はA*アルゴリズムで探索する.経路の終点にたどり着いた場合,エー ジェントはその場で待機する.
また,移動中に敵を発見した場合,エージェントは戦闘行動に入ることとした.戦 闘行動に入ったエージェントは,自分の射程に入るまで敵に接近し,以後は敵を全滅 させるまで戦闘を継続する.
なお,エージェントは状況が不利と判断した場合には,味方を裏切るという判断を 下すようにした.エージェントは自分の周囲の敵味方の勢力を認識しており,周囲の味 方に比べて敵の数が多く,状況が著しく不利と判断した場合,それまでの味方を裏切っ て敵陣営に寝返る.このとき,裏切るための閾値の設定には忠誠心のパラメーターを 参照することとした.
なお,一度味方を裏切ったエージェントは,その後は再度裏切ることはないことと した.
4.
組織構造
本シミュレーションにおいて,組織構造は総大将と武将の二層モデルを採用した.こ れは,通信が十分に発達していない戦国時代の戦闘において,厳密な指揮系統に基づ いた詳細な組織行動を模擬する必要性は高くないと考えられたためである.
そのため,必要に応じて総大将が命令を下し,部下の武将たちは命令に従って行動 を決定することとした.総大将は,部下の武将たちに対して「我に続け」という追従 の指示を下すことができる.
行動方針の決定
エージェントの行動判断モデルの基本は,状態遷移モデルを利用することとした.本 システムでは,状態はその時点でのエージェントの作戦を表す.エージェントの持つ 作戦としては,通常,籠城,追従,転進,突撃の5つを設定した.各作戦の内容につ いては,表4.1に示す.
4.4.4 環境モデル
本システムで模擬する環境は,標高を有する2次元メッシュで表現した.標高値の 設定には国土地理院の数値地図データを利用した.河川の流れなど,当時と現在で状 況が違うものについては,当時の状況に近づけるよう流路の変更等を行った.メッシュ の解像度は10mとし,東西約21km,南北約16kmの範囲を対象とした.地形の種類と しては地上と水域に大別し,水域を移動する際には移動速度にペナルティが発生する こととした.
また,アセットとして馬防柵と城を設置できることとした.騎兵は馬防柵を乗り越 えることができないため,馬防柵の反対側に目的地がある場合には迂回しなければな らない.城はそれぞれの勢力の本拠地として設定し,初期配置では総大将が配置され ている.城の防御効果をモデル化するため,城内にいる部隊は防御力が向上する設定 とした.アセットは地形上に置かれるオブジェクトという点ではエージェントと似て いるが,能動的なアクションを実施せず,メッセージのやり取りを行わない.
また,現代戦を想定した軍事用途のシミュレーションにおいては道路が重要な要素 となるが,本システムではウェイポイントが存在することと,経路探索によりできる だけ高低差の小さい経路を移動する機能が設定されているため,明示的な道路は設定 しなかった.
4.4 戦国戦闘シミュレーションの主要機能 表 4.1: 作戦
作戦名 解説
通常 通常は指定されたウェイポイントに従い移動し,視 界内に敵を発見したら戦闘に移る.
籠城 エージェントが城の内部に位置する場合のみ発動.
ウェイポイントを無視して城から動かず,視界内 に敵を発見しても城の外には出ない.ただし,状 況不利と判断した場合には転進作戦に移行する.
追従 上司から「我に続け」の命令を受け取った場合に 発動.上司を追いかけるウェイポイントを生成し,
上司に追従する.
転進 「我に続け」の命令を発行しつつウェイポイント に従い移動する.ウェイポイントの末尾に到達し た場合,突撃作戦に移行する.
突撃 状態遷移した瞬間にウェイポイントをすべて削除 し,敵の本拠地までのウェイポイントを生成する.
以降,「我に続け」の命令を発行しつつウェイポイ ントに従い移動する.
4.4.5 状況表示及びユーザーインターフェース
シミュレーションを視覚的に確認するため,状況表示機能を設定した.状況表示は 2次元表示とし,地形を表示した上にエージェントを凸型のアイコンとして表示した.
地形表示は水域か地面かの違いによって,また地面においては高度によって色を変 化させることで,地形の形状が操作者に理解しやすいようにした.
4.4.6 シミュレーション編集機能
シミュレーションシステムで実行するためのシナリオを構築するためには,エージェ ントの配置及びパラメーター設定等の編集機能が必要である.本システムでは,特別 な編集画面を設定せず,シミュレーションの実行画面と編集画面を共通化することと した.
本システムでは,エージェントの配置,パラメーターの設定,経路の設定等を全て