文書の過去の版を表示しています。


マルコフ決定過程とは

4つの部品

マルコフ決定過程は、対象の状態S、状態の遷移P、行動A、状態の評価関数R、の4つのコンポーネントからなる確率事象に関する意思決定のモデルである。

  1. S 状態
  2. A 行動
  3. P 遷移
  4. R 評価

状態Sの遷移Pには、次の2種類がある。

  • 何も行動を取らず対象に介入しないことによる状態の遷移
  • 何らかの行動Aを取り対象に介入することによる状態の遷移

ロボットなどの制御の問題では、何も行動を取らない場合には状態が遷移しない、とすることもある。以下では、遷移しないことも状態遷移の1つとして扱う。介入するか否か、また介入するならその内容は、介入後の状態の良し悪しを評価関数Rに基づいて評価して比較検討する

例えば、車で交差点に進入する状況を考える。そのままの車線を走り続ければ直進だが、駅に家族を迎えにきたのであれば、右折レーンに入って、右折の準備をするのが良い。その方が目標を果たすことに近付く。そこで、右折のウィンカーを点灯して右折レーンに入る、という操作を行う。これが介入である。

また、ロボットを格子状の盤の上に作った迷路の中に置き、ゴールGを目指させる状況を考える。ロボットは見通せる範囲の通路の形状しか認識できない。迷路の大きさも分からない。つまり、前後左右を向いたり、何歩が歩いたりしてみても、ゴールに近付いているかどうかを認識できない。状況を簡単にするために、ロボットは自分の前後左右が壁か通路かのみを認識できるとしよう。この時、どのような行動をとっていけば、ゴールに辿り着く確率が高まるだろうか。たとえ、ゴールの上に立たなければゴールに着いたことが分からないとしても、多くの試行を重ねることで、ゴールへ辿り着くための行動選択の指針を見出せることがある。

保全でも同様で、対象の状態を観測し、劣化の度合いに応じて、今、どの保全行動を取れば良いか、またもう少し遷移を見守るのが良いか、を将来に渡って運用し続けるために、余計な費用発生は避け、必要な費用発生は積極的に認めるように、保全行動を選択していく。

東北エンタープライズ

GEI

ブリッジエンジニアリング

東和電機工業

ナブコシステム

上の図はリンク先の企業の事業における劣化と保全の関係を表したものである。保全は社会を支える重要な技術であり、大きな市場を形成している。

行動の選択は、将来の状態の評価関数の予測を行い、最も評価が高くなるように行動を選択することが合理的である、という考え方に基づいて行う。将来の状態は、行動ごとに定められた遷移行列を繰り返し用いて行う。

これらのことを、マルコフ決定過程はモデル化していく。

方策と迷路の例

ロボットの状態を次のように考える。

番号状態
1正面に進める
2正面に進めない

行動は次の3種類とする。

番号状態
1正面に進む
2右に90度回転する
3左に90度回転する

大きさ3×3の迷路が次のようになっているとする。

左下隅に、上向きにロボットを置く。人間であれば簡単に、ゴールまでたどり着くには、

時点行動
11(前進)
21(前進)
32(右90度回転)
41(前進)
52(右90度回転)
61(前進)
73(左90度回転)
81(前進)
93(左90度回転)
101(前進)

という行動選択をすればいい、とたぶん分かる。

コンピュータ上であれば、最初の1ステップ目で

番号状態
1正面に進む
2右に90度回転する
3左に90度回転する

を全て試して、ゴールにたどり着くかどうかを調べる。辿り着かなければ、それぞれのステップの次に

番号状態
1正面に進む
2右に90度回転する
3左に90度回転する

を行う、3×3=9通りの行動の組み合わせを検討する。それでもだめなら、さらに9通りそれぞれの先に

番号状態
1正面に進む
2右に90度回転する
3左に90度回転する

を行う、9×3=27通りの行動の組み合わせを検討する。これをゴールに到達するまで繰り返すのが、総当たり法である。

それに対して、マルコフ決定過程では状態が2つしかないことから、次のような状態とアクションの対応表を埋めようとする。

番号状態行動
1正面に進める
2正面に進めない

この表を、方策policyという。 状態ごとにどのような選択をするかを、将来の評価関数を高めるように選んでいく。

状態の定め方が大事

実は、上の2状態では、常にゴールにたどり着ける解法はもとまらない。

番号状態行動
1正面に進める進む
2正面に進めない右に回る

上の方策を適用すると次のようになる。

手順123456789
正面の状態
行動前進前進右回転前進右回転前進右回転右回転前進

こうすると、途中でUターンしてしまい、永遠にスタート地点付近をさまようことになる。

一度、自分で確認してみてほしい。

番号状態行動
1正面に進める進む
2正面に進めないランダムに右か左に回る

これなら、運が良ければ、たどり着ける。

状態を次のように拡張してみる。

番号状態
1正面に進める
2正面が壁で、右手の壁がない
3正面が壁で、左手の壁がない
4正面が壁で、右手と左手の両方とも壁がない

こうすると、例えば

番号状態行動
1正面に進める進む
2正面が壁で、右手の壁がない右に90度回転する
3正面が壁で、左手の壁がない左に90度回転する
4正面が壁で、右手と左手の両方とも壁がない右に90度回転する

という方策を学習できたとする。適用してみよう。

手順123456789
正面の状態
左手の状態
右手の状態
行動前進前進右回転前進右回転前進右回転左回転前進

これで有名な「右手づたいに壁を辿る」という迷路脱出のルールと等しくなる。 最後まで続けると、ゴールに辿り着く。

このように、マルコフ決定過程による問題解決には、適切な状態の表現が不可欠となる。

もう少し状態数を増やすと、次のような表ができる。

この表の右側にどの状況でどの行動を取るかを定めるのが、方策表である。 前に壁があると、進めないなど、選択できない行動のセルは塗りつぶしてある。

正前に壁がないのに前進しないと、いつまで経っても同じ場所に留まる方策ができあがってしまう。

上の4状態での方策は、7状態でも次のようになる。

状態1,4,5,7は前進できるので前進、状態2,6,7は前進できないので右が空いていれば右、右が空いてなければ左に回転するので、同じ方策である。

方策の学習

上にも述べたがマルコフ決定過程では、状態と行動を結びつける表を方策という。 方策の最適化が、マルコフ決定過程を用いた対象のモデル化の目標である。

方策の候補をひとつ定める。

正前に壁が無ければ前進、壁があれば右回転、という方策を例にとる。 これを迷路の中に、ランダムな場所に、ランダムな向きにして置いたロボットに従わせる。 たとえば100ステップ内にゴールに辿り着けたら(100-到達ステップ数)点、辿り着けなければ0点として、何回も試行してみる。 例えば、上のこの例は0点である。

まったく到達できなければ、この方策をどこか一箇所、変更してみる。

そしてまたランダムに場所と向きを変えて置いて、迷路に挑戦させる試行を何度も繰り返して、この方策を評価する。上のもう1つの例は、100-10=90点を獲得する。

別の場所に下向きに置くと、100-14=86点を獲得する。

これを繰り返して、平均点をその方策の評価とする。

このように方策を比較して、良い方策を得るように探索をしていくのが、マルコフ決定過程の基本的な考え方である。1980年代から2000年代までは、ボードゲームのコンピュータのプレイヤーを作るのに、マルコフ決定過程の考え方がよく用いられていた。どのようなボードゲームにも、神の手と呼ばれる、誰でもその手順に従えば勝てる、という方策は存在せず、相手の手に合わせて状況を評価し、最善の手を打っていくことになる。ゲームでは、状況の数が膨大になり、取り得る行動もたくさんあるため、すべての行動の順列を比較検討すると、組み合わせ爆発が生じる。その爆発した組み合わせを、アドホックに刈り込んで、必要な組み合わせだけを比較するようにして、計算量を軽減する工夫が行われていた。

強化学習

上ででてきたQという関数を、様々な状態の対象に様々な行動を適用して、その結果から試行錯誤を繰り返すことで学習し、その下で最適な行動を選択していく。必要に応じて、アクションごとの状態推移も学習する。

https://gym.openai.com/envs/MountainCarContinuous-v0/

強化学習の話は、この原稿のスコープを大きく超えるので、別の機会に譲る。