IT用語を超やさしく理解する
マルコフ過程
別名: マルコフ過程 / マルコフ性 / マルコフ連鎖 / Markov process / Markov chain
先に知っておくと分かりやすいことば(1語)
必要なら先に確認できます。知っていることばは、そのまま読み進めて大丈夫です。
- 確率の基本標本空間と事象、基本的な確率の求め方、余事象、加法定理、独立な事象の乗法と同時確率を初心者向けに説明します。
30秒で思い出す
マルコフ過程は「現在の状態が分かれば、次の状態の確率を考えられる」ような確率モデルです。
大切なのは、次の状態を考えるときに、現在より前の長い履歴を追加で使わないというマルコフ性です。
たとえばシステムが、
正常
↓ 10%
障害
のように、現在の状態から次の状態へ移る確率を持つと考えます。
状態とは?
マルコフ過程では、対象が今どの状況にいるかを状態として表します。
たとえばサーバーなら、
- 正常
- 高負荷
- 障害
のような状態を考えられます。
天気なら、
- 晴れ
- 曇り
- 雨
のように分けることもできます。
何を1つの状態として扱うかは、モデルの目的に合わせて決めます。
マルコフ性とは?
マルコフ性の核心は、次の状態の確率を決めるとき、現在の状態が分かれば、それ以前の履歴を追加で使わないことです。
たとえば現在が「正常」で、
正常 → 次も正常 90%
正常 → 次は障害 10%
と決まっているなら、昨日や一昨日に何回障害が起きたかを直接使わず、現在が「正常」であることから次の確率を決めます。
これは「過去が存在しない」という意味ではありません。
過去の影響が現在の状態に反映されていると考え、次を予測するときは現在の状態を基準にするのがポイントです。
状態遷移
ある状態から別の状態へ移ることを状態遷移と呼びます。
2状態の例を考えます。
現在: 正常
├─ 80% → 次も正常
└─ 20% → 次は障害
現在: 障害
├─ 60% → 次は正常
└─ 40% → 次も障害
このように、「どの状態から、どの状態へ、どの確率で移るか」を整理します。
遷移確率
状態から次の状態へ移る確率を遷移確率と呼びます。
先ほどの例なら、
正常 → 障害 = 0.20
障害 → 正常 = 0.60
です。
ある現在状態から次の各状態へ進む確率の合計は1になります。
正常 → 正常 0.80
正常 → 障害 0.20
合計 = 1.00
まずは現在状態を確認し、そこから次の状態への確率を読めれば十分です。
状態遷移図
状態と遷移を図にすると、変化の流れを視覚的に整理できます。
先ほどの例を矢印で書くと、次の4つの遷移があります。
[正常] --0.80--> [正常]
[正常] --0.20--> [障害]
[障害] --0.60--> [正常]
[障害] --0.40--> [障害]
実際の状態遷移図では、状態を丸や箱、遷移を矢印、遷移確率を矢印の近くに書くことがあります。
時間を1時間ごと、1日ごとなど離散的な時点に区切って状態遷移を考える代表的なモデルをマルコフ連鎖と呼びます。このKnowledgeでは、この単純な離散時間の例を使ってマルコフ過程のあらましを理解します。
図や表から1ステップの遷移確率を読むところまでを扱い、複雑な行列計算は扱いません。
どこで使う?
マルコフ過程は、状態が確率的に変化する仕組みをモデル化するときの基礎になります。
たとえば、
- システムの正常 / 障害状態
- 機器の稼働状態
- 待ち状態の変化
- ユーザー行動の状態変化
- 天候の変化
などを単純化して考える場面があります。
実際のシステムでは、過去の履歴や多くの条件が必要なこともあります。すべての現象がマルコフ性を持つわけではありません。
よくある勘違い
マルコフ過程では過去が完全に無関係?
そういう意味ではありません。
マルコフ性は、現在の状態が与えられたとき、次の状態の確率を考えるためにさらに過去の履歴を使わないという性質です。
次の状態は必ず1つに決まる?
違います。
複数の次状態があり、それぞれに遷移確率が設定されることがあります。
遷移確率はいつでも同じ?
基本的なモデルでは一定として扱うことがありますが、現実には時間や条件によって変化するモデルもあります。
このKnowledgeでは、固定された遷移確率を持つ単純な例だけを扱います。
行列計算まで必要?
このKnowledgeでは不要です。
このKnowledgeでは、マルコフ性、状態、状態遷移、1ステップの遷移確率の理解に留めます。
このKnowledgeで扱わないこと
ここでは、マルコフ過程の基本的な考え方を扱います。
次は対象外です。
- 遷移行列の累乗による多段階計算
- 定常分布
- 吸収マルコフ連鎖
- 連続時間マルコフ過程の詳細
- 隠れマルコフモデル
- マルコフ決定過程
- 強化学習との詳細な関係
ここまで分かればOK
- 状態と状態遷移の意味を説明できる
- マルコフ性が「現在状態を基準に次の確率を考える性質」だと説明できる
- 単純な状態遷移図や表から1ステップの遷移確率を読める
- ある状態から次状態への確率の合計が1になると分かる
- マルコフ過程がすべての現象に当てはまるわけではないと説明できる
資格との関係
基本情報技術者試験
- シラバス
- Ver.9.2
- 必要な理解
- 仕組みまで理解できる
- 重要度
- 中
- 分野
- テクノロジ
理解できたか確認しよう
答えを選んで、なぜそうなるのかまで確認できます。
確認問題 1
マルコフ性を表す説明を選ぶ
あるシステムの状態変化を確率モデルで表します。
マルコフ性の説明として最も適切なものはどれですか?
確認問題 2
状態遷移表から次の障害確率を読む
あるサーバーには「正常」と「障害」の2状態があります。1時間後の状態への遷移確率は、正常から正常が0.8、正常から障害が0.2、障害から正常が0.6、障害から障害が0.4です。現在の状態は正常です。
1時間後に障害状態になっている確率として正しいものはどれですか?