カエデ自動機械

ちょっとしたものづくりや電子工作のメモなど。技術開発とは今は呼べないかな。

マルチエージェントシステムの制御(コロナ社)_第1章読書メモ

少々事情があって、マルチエージェントとか群制御と呼ばれるような技術について少し勉強しています。
事情というのは仕事関連ですが、この本の入手も、読むための時間も全て自腹ですので、少なくとも読書メモは私有財産としてこちらに残しています。
今は一周読んで、消化しきれないので二周目を読みつつ、板書的にこのメモを作っている次第です。

業務時間中に職務放棄しているわけではなく、職場の状況が、とてもこれを読んで消化しきるような状況ではないというだけです。
この本を読めと名指しで指定されているわけでもないですし。

この本以外でも多少取り組んでいますので、そちらについては残念ですが非公開というか、手元にすらありません。
そちらについても、概説的な話くらいは紹介したいとは思っていますが・・・


そしてそもそも、読書メモを公開する必要も無いのですが・・・・そうでもしないと続かない気がするので。



1.1項 マルチエージェントシステム(以下MAS)とは
  • MAS:多数の自律的に意思決定を行うことのできる構成要素からなるシステム
  • エージェント:MASの各要素
1.2項 動物の協調行動モデル:ボイド

自然界における協調制御としてよく挙げられる魚や鳥の群れの行動→レイノルズによるボイドというモデル(?)が有名。

ボイドモデル:
複数のエージェントが一定速度で移動しており、各エージェントは自己とその近接する周囲のエージェントの情報しか得られない状況とする。
この際、これらエージェントに

  1. 衝突回避:各エージェントは、他のエージェント同士が衝突しないよう混雑してきたら離れる
  2. 整列:各エージェントが、その認識範囲内の全エージェントの進行方向の平均に当たる方向に向きを変える
  3. 結合:各エージェントが、その認識範囲内の全エージェントの位置の重心に当たる方向へ移動する。

の3つのルールを与えると、それらしい動きをするようになる。
リーダーに相当するエージェントがおらず、能力、権限が全て等しいエージェントによって実現できるのがポイント。
(←むしろ、権限は変わらないのに能力だけ異なると、難しくなる?それが異種間協調?)

①と③は役割がかぶるようだが、③は群れ全体が散逸しないようにする作用を有する。
群れの最外縁に位置するエージェントAが、その認識範囲内の全エージェント(全てAに比べれば群れの内側にいる)の重心に位置を移す、つまり群れ全体の散逸度のようなものを縮小する動きをすると考えるとわかりやすい。


1.3項 ビークル群の協調制御

事例1:
人工衛星のフォーメーションフライトにより、例えば大きな1つの人工衛星により行っていたミッションを3つの小さな衛星により代替する、あるいは能力を拡張する等。
抗堪性向上、打ち上げコスト低減等が期待される。

複数の望遠鏡で天体観測を行い、画像処理により合成すると、基線長と同じ口径のレンズを用いた場合と同等の解像度が得られる。複数の衛星に望遠鏡を搭載し、宇宙空間で精密なフォーメーション制御を行えば、大気に邪魔されず、大型の望遠鏡を運用するのと同等の効果が得られる。

リーダー衛星による集中制御は、結局そのリーダー衛星の演算能力等負担が高まり、特に衛星が多い場合は分散の効果が薄まるため、分散制御型が好まれる。NASAが昔熱心に取り組んでいたが、予算の都合により中断。

事例2:
ビークル群の運用により低コストで効率的な探索、捜索等を行うことができる。基本的なメリットはMASで共通。
特に取り上げられているのが、火星探査機Curiosityで使われるアンテナアレイという技術。アンテナを並べることで電波を合成し、到達距離を高めるらしい。

任意の時点で、その時のビークルの位置関係に応じた集合地点を動的に決定し、さらにその地点で所望のフォーメーションを維持することが課題。合意問題、ランデブー問題と呼ばれる。


1.4項 センサネットワーク

複数のセンサ端末を広範囲に設置し、当該範囲の物理量を計測する分散システム。例えば巨大構造物の健全性モニタリングのため、複数箇所で加速度センサにより振動を計測・解析する等。
各端末は通信可能であるほか、通信不可な距離にある端末間は他の端末を介して通信する(マルチホップ通信)

センサネットワーク形成上の最大の問題が電源問題であり、更に通信が最も電池を食うため、重要な問題。

データセンタとして1つ、データを集中管理するノードを設ける集中型と、完全分散の分散型がある。
集中型は大局的な解析、意思決定が可能だがデータセンタ端末の負荷が大きく、故障にも脆弱。 分散型の場合のメリットは、集中型のデメリットが無いことと思われる(それ以外にメリットがあるとは思えない)

分散型でも、マルチホップ通信を使えば全端末のデータが得られるが、それは全端末が集中型のデータセンタとして振る舞うのと同じで、通信リソースも集中型以上に食うと思われることから不適。
分散型を採用した場合でも、システム全体で特定の値(全端末の計測値の平均等)を得るアルゴリズムは、1.3項でも触れた合意問題に属する。

また、この場合の時刻同期が重要。各端末のクロックには個体ごとの誤差がある。
(昔PICマイコンで2個のステッピングモータを制御した際、水晶発振子をモータ毎に個別に用意したら動作周期が微妙に変わる現象があったが、それに近い現象だろうか? というかPICマイコン自体にクロック入ってるのではないのか? あの発振子はなんのために・・・?)

電波時計を用いた方法でも誤差が大きく十分でない。

集中型ではデータセンタ端末が基準時刻を決め、各端末に伝達する。この通信所要時間の方が電波時計の誤差よりよほど大きそうなものだが、電波時計というのはそんなに誤差が大きいのか?
分散型は合意問題のやり方で、各端末がその周囲の端末と時刻情報を共有して時刻同期する。

各端末が動けるロボットの場合、ある計測範囲を各端末が効率的に計測できるようカバーする問題となる。被覆問題、そのための制御を被覆制御という。


1.5項 エージェント間の情報交換

今まで述べてきたMASは全てエージェント間のが何らかの手法で情報交換を行えることが前提となっている。
情報交換のやり方は2通り、通信と計測。

通信は、あるエージェントが自己の情報を送信し、他エージェントの情報を受信することにより情報交換を行う。
通信の到達距離、通信に伴う電力消費等が制約となる。

計測はあるエージェントが別のエージェントの位置をカメラで取得する等、各エージェント独立の方法により取得する。
センシング誤差、センサの計測範囲等が制約となる。

通信による情報交換をするにしても、通信の内容である各エージェントの自己情報は、何らかの手法で「計測」する必要があるため、厳密に通信と計測の2種類と単純にわけられるものでもないような気がするが。。。
自己情報の方が計測誤差は少ないとは思うものの、自己位置をSLAMで取得していたりすれば、そうもいかなくなるだろう。


1.6項 ネットワーク構造のモデル化

これまで述べてきたエージェントと、エージェント間の情報交換をネットワーク構造としてモデル化して論じる必要がある。そのためにグラフという数学的概念を導入する。
グラフ理論では、エージェント、端末等と読んでいたものを頂点(node, vertex)、頂点同士の相互作用を表す線を辺(edge)と呼ぶ。

通信の場合は辺の長さ(通信距離)も重要な要素となるが、当面はその概念は導入せず、頂点と辺のみでグラフを論じる。

頂点間(辺)は必ずしも双方向通信が可能とは限らない。全ての辺において双方向通信が可能なものを無向グラフ、そうでないものを有向グラフと表現する。
有向グラフの場合、一般的には情報を得ることができる側が矢印の指し示す側(鏃)である矢印を用いて辺を表現する(少数派だが、矢印が逆の流派も)
無向グラフの場合、辺は単なる線分で表現する。

グラフ構造が変化しない静的ネットワーク、変化する動的ネットワークが存在する。動的ネットワークは、頂点の移動により通信経路自体が変化する場合の他、使用し得る経路は固定だが時刻により使用されるものと使用されないものが断続的に切り替わるもの、通信にノイズが入るために辺の存在自体を確率的に取り扱う必要があるものがある。


1.7項 関連分野におけるMAS

事例1:電力システム
発電所、変電所、各家庭のMASとなる。

交流電源の位相を合わせるための同期問題をとく必要。

各エージェントは地理的に広範囲に広がり、扱うデータ量も多いことから各エージェントの状態推定、制御、故障検出等も分散的に実施するメリットが大きい。
(←箱庭の中で動く小型ロボットや、後で結果が分かれば良い火星探査ロボット、「神の視点」が使えるソフトウェアアーキテクチャならともかく、電力システムの場合は物理世界で、リアルタイムに管理が可能な「神の視点」もしくは「データセンタ」が結局必要になるのでは? データセンタ端末は存在するが、分散制御によりその負担を軽減するということか??)

事例2:情報科学における分散アルゴリズム
通信を介して接続された複数の計算機を用いて膨大な計算量をこなすシステム。各端末で何が計算されているのか等、情報が限られ、各端末や通信に不具合が発生する場合もある中で計算を実施する課題。
Google社がWebサイト間のリンクを介して定まる接続構造を元に各ページの人気度、重要度を定量化するページランク問題においても、全てを解析的に解くことは大変なため、MASの考え方を用いた分散計算手法が導入されている。

事例3:ネットワーク科学
これまでの事例のほか、交通ネットワーク、通信網、生物の代謝ネットワーク等、様々な分野でネットワーク構造が存在する。
この構造を、要素間の相互結合が持つ特徴量を抽出してモデル化することで分析するネットワーク科学というジャンルが新しく生まれている。


まとめというか

とりあえずマルチエージェントシステムが何たるかを導入されました。

読書メモってこういうものなのか少々疑問に思わなくもないですが・・・ 
たとえ殆どが掻い摘んだ抜粋だとしても、理解した部分をもう一度紙でも画面でも書き起こす程度には精読するのは良いことだと思いますが。
ただ、それをしなくてもキチンと読めば頭の中に残るくらい、頭が良ければもっと良かったですね。


次回は第3章です。第2章は数学的基礎を学ぶ章なので、2周目としても目を通しはしますが、メモを作るというよりは紙に証明を書き取って論理を追おうと思います。
次回はこちら
ktd-prototype.hatenablog.com