線形代数 · 第23回 · 動画3 · インタラクティブ教材

百年後、人はどこに住む?固有値で人口の釣り合いを予測する

I重要な公式

公式 名称 説明
uk=Aku0u_k = A^k u_0 人口の推移 kk ステップ後の状態ベクトル
各列の和が 11 マルコフ行列(確率行列) 保存則:人が生まれることも消えることもない
λ1+λ2=trace(A)\lambda_1 + \lambda_2 = \text{trace}(A) トレースの等式(2×2) 固有値の和 = 対角成分の和
uk=c1λ1kx1+c2λ2kx2u_k = c_1 \lambda_1^k x_1 + c_2 \lambda_2^k x_2 固有ベクトルによる分解 uk=Aku0u_k = A^k u_0 の一般解
λ=1\lambda = 1 が必ず固有値になる 確率行列の性質 定常状態の固有値

II可視化1 — 人口が釣り合いに達するまで

2つの州が毎年住人をやりとりします。人口の配分はどこに落ち着くのでしょうか。出発点は関係するのでしょうか。

💡 1年ごとの更新は uk+1=A uku_{k+1} = A\,u_k、ただし A=[1−pqp1−q]A = \begin{bmatrix} 1-p & q \\ p & 1-q \end{bmatrix} です(CA はカリフォルニア、MA はマサチューセッツ)。チャレンジ:最初の配分だけを変えてみましょう。破線で示した定常状態の水準はまったく動きません。

III可視化2 — 減衰する部分はどれだけ速く消えるか

定常な部分はずっと 11 のまま動かず、減衰する部分は λ2k\lambda_2^k のように縮んでいきます。その速さはどれくらいでしょうか。

💡 対角化は、手ごわい行列のべき乗 AkA^k を、手軽なスカラーのべき乗 λk\lambda^k に置き換えます。固有値でこの問題が扱いやすくなる理由は、これに尽きます。

IV可視化3 — 行き着く先は固有ベクトルが決める

保存則の直線上のどこから出発しても、軌道はすべて固有ベクトルの半直線へと曲がっていきます。

💡 固有ベクトル (2,1)(2, 1) が長期的な比を決め、保存される合計 10001000 が大きさを決めます。この2つで、定常状態がただ1つに定まります。

V確認クイズ

問1

次の行列のうち、マルコフ行列(確率行列)はどれでしょうか。

M1=[0.60.50.50.7],M2=[0.50.50.50.5],M3=[1.20.0−0.21.0],M4=[0.60.40.40.6]M_1 = \begin{bmatrix} 0.6 & 0.5 \\ 0.5 & 0.7 \end{bmatrix}, \quad M_2 = \begin{bmatrix} 0.5 & 0.5 \\ 0.5 & 0.5 \end{bmatrix}, \quad M_3 = \begin{bmatrix} 1.2 & 0.0 \\ -0.2 & 1.0 \end{bmatrix}, \quad M_4 = \begin{bmatrix} 0.6 & 0.4 \\ 0.4 & 0.6 \end{bmatrix}

思い出しましょう:どの列も和が 1 で、どの成分も 0 以上でなければなりません。

✅ 正解です! M2M_2 と M4M_4 はどちらも、各列の和が 11 で、成分はすべて 0 以上です。一方、M1M_1 の1列目の和は 1.11.1 で、M3M_3 には負の成分があります。

❌ 惜しい! 確率行列であるためには、(1) どの列も和がちょうど 1 であること、かつ (2) どの成分も 0 以上であることが必要です。M3M_3 をよく見てください。負の成分はありませんか?

解答を見る

解答:

各列の和を確かめ、成分が 0 以上かどうかも確かめます。

  • M1M_1:1列目 = 0.6+0.5=1.10.6 + 0.5 = 1.1。列の和が 1 ではありません。確率行列ではありません。
  • M2M_2:1列目 = 0.5+0.5=1.00.5 + 0.5 = 1.0、2列目 = 0.5+0.5=1.00.5 + 0.5 = 1.0。成分はすべて 0 以上です。確率行列です。
  • M3M_3:1列目 = 1.2+(−0.2)=1.01.2 + (-0.2) = 1.0。列の和は問題ありませんが、負の成分(−0.2-0.2)があります。確率行列ではありません。
  • M4M_4:1列目 = 0.6+0.4=1.00.6 + 0.4 = 1.0、2列目 = 0.4+0.6=1.00.4 + 0.6 = 1.0。成分はすべて 0 以上です。確率行列です。

答えは「M2 と M4」です。成分が 0 以上であること、そして各列の和がちょうど 1 であること。この2つの条件がどちらも成り立たなければなりません。

問2

AA は 2×22 \times 2 のマルコフ行列で、対角成分が 0.60.6 と 0.850.85 だとします。2つ目の固有値 λ2\lambda_2 はいくつでしょうか。

ヒント:トレースの等式と、どのマルコフ行列も λ1=1\lambda_1 = 1 をもつという事実を使いましょう。

✅ 正解です! トレース = 1.45 で、λ1=1\lambda_1 = 1 なので λ2=0.45\lambda_2 = 0.45 です。

❌ 惜しい! それはトレースそのもので、λ2\lambda_2 単独ではなく λ1+λ2\lambda_1 + \lambda_2 に等しい値です。λ1=1\lambda_1 = 1 を引きましょう。

❌ 惜しい! トレース(対角成分の和)を計算し、そこから λ1=1\lambda_1 = 1 を引くと λ2\lambda_2 が得られます。

解答を見る

解答:

どのマルコフ行列も λ1=1\lambda_1 = 1 をもちます。

AA のトレースは固有値の和に等しいので、 trace(A)=0.6+0.85=1.45=λ1+λ2\text{trace}(A) = 0.6 + 0.85 = 1.45 = \lambda_1 + \lambda_2

λ1=1\lambda_1 = 1 なので、 λ2=1.45−1=0.45\lambda_2 = 1.45 - 1 = 0.45

答えは λ₂ = 0.45 です。

問3

動画の人口移動の行列 A=[0.90.20.10.8]A = \begin{bmatrix} 0.9 & 0.2 \\ 0.1 & 0.8 \end{bmatrix} を使います。最初の人口が u0=(500,500)u_0 = (500, 500)、つまり半分ずつに分かれているとします。u1=Au0u_1 = A u_0 はいくつでしょうか。

✅ 正解です! 1行目:0.9(500)+0.2(500)=5500.9(500) + 0.2(500) = 550。2行目:0.1(500)+0.8(500)=4500.1(500) + 0.8(500) = 450。合計はやはり 1000 です。

❌ 惜しい! 行を取り違えたのかもしれません。AA の1行目から得られるのは、新しいカリフォルニア(CA)の人口です。

❌ 惜しい! (500,500)(500, 500) は定常状態ではありません。定常状態は (2000/3,1000/3)≈(667,333)(2000/3, 1000/3) \approx (667, 333) です。A⋅u0A \cdot u_0 を丁寧に計算しましょう。

❌ 惜しい! 1行ずつ計算しましょう。AA の ii 行目と u0u_0 の内積をとります。

解答を見る

解答:

A⋅u0A \cdot u_0 を1行ずつ計算します。

1行目(翌年の CA): 0.9⋅500+0.2⋅500=450+100=5500.9 \cdot 500 + 0.2 \cdot 500 = 450 + 100 = 550

2行目(翌年の MA): 0.1⋅500+0.8⋅500=50+400=4500.1 \cdot 500 + 0.8 \cdot 500 = 50 + 400 = 450

したがって u1=(550,450)u_1 = (550, 450) です。合計は 550+450=1000550 + 450 = 1000 で、保存則が成り立っています。

答えは u₁ = (550, 450) です。

問4

正しいか誤りか:人口移動の行列 A=[0.90.20.10.8]A = \begin{bmatrix} 0.9 & 0.2 \\ 0.1 & 0.8 \end{bmatrix} について、最初の人口を (0,1000)(0, 1000) から (1000,0)(1000, 0) に変えると、長期的な定常状態の人口 u∞u_\infty は変わる。

✅ 正解です! 定常状態はどちらの場合も (2000/3,1000/3)(2000/3, 1000/3) です。u∞u_\infty を決めるのは固有ベクトル (2,1)(2,1) と保存される合計(10001000)です。初期条件が変えるのは道筋だけで、行き着く先は変わりません。

❌ 惜しい! ここが動画のいちばん大事なポイントです。減衰する項 c2(0.7)k(−1,1)c_2 (0.7)^k (-1, 1) は、c2c_2 がいくつであっても 0 に向かいます。生き残るのは c1(2,1)c_1 (2, 1) だけで、c1c_1 は保存される総人口で決まります。

❌ 惜しい! もう一度考えてみましょう。kk が大きくなると、どの項が残るでしょうか。

解答を見る

解答:

誤りです。定常状態が依存するのは、次の2つだけです。

  1. 行列 AA(λ=1\lambda = 1 の固有ベクトルを決めます。ここでは (2,1)(2, 1))
  2. 総人口(列の和が 1 なので保存されます)

一般解は uk=c1⋅1k⋅(2,1)+c2⋅(0.7)k⋅(−1,1).u_k = c_1 \cdot 1^k \cdot (2,1) + c_2 \cdot (0.7)^k \cdot (-1, 1).

k→∞k \to \infty とすると、第2項は消え(∣0.7∣<1|0.7| < 1 だからです)、c1(2,1)c_1 (2, 1) だけが残ります。

初期条件を変えても、変わるのは c1c_1 と c2c_2 だけです。しかも c1c_1 は総人口で決まります。合計が 10001000 なら、どちらの場合も c1=1000/3c_1 = 1000/3 です。したがって、最初の配分によらず u∞=(2000/3,1000/3)u_\infty = (2000/3, 1000/3) となります。

初期条件が左右するのは定常状態にどれだけ速く近づくかであって、定常状態が何であるかではありません。

正解数:0 / 4