「このカフェ、メニューの決め方が変なんだ」
陸が困った顔で、タブレットを見せた。そこには「今日のおすすめ」という欄だけがあり、選択肢は表示されていない。
「おすすめをタップすると、別のおすすめが出る仕組みらしい」
由紀がタップしてみた。「抹茶ラテ」と表示された。もう一度タップすると「カフェラテ」。さらにタップで「抹茶ラテ」に戻った。
「ランダムじゃないね」葵が観察する。
「でも、規則性もよく分からない」由紀が首をひねる。
葵はノートを取り出した。「これはマルコフ連鎖かもしれない」
「マルコフ…?」
「状態遷移の一種。今の状態だけを見て、次の状態が確率的に決まる」
陸が興味を示した。「過去は関係ない?」
「そう。マルコフ性、または無記憶性と呼ばれる。直前の状態しか影響しない」
由紀がメモを取り始めた。「じゃあ、このカフェのメニューは…」
「『抹茶ラテ』と『カフェラテ』が二つの状態。それぞれから、どちらかに遷移する確率が設定されている」
葵はホワイトボードに図を描いた。
抹茶ラテ → 抹茶ラテ (0.3)
抹茶ラテ → カフェラテ (0.7)
カフェラテ → 抹茶ラテ (0.6)
カフェラテ → カフェラテ (0.4)
「これが遷移確率行列。各状態から、次の状態へ行く確率を表す」
陸が試してみた。「抹茶ラテから始めて、10回タップしたら、7回くらいはカフェラテに変わるってこと?」
「1回の遷移ではね。でも、長期的には定常分布に収束する」
「定常分布?」由紀が聞いた。
「十分時間が経つと、各状態にいる確率が一定になる。この例だと、抹茶ラテが約46パーセント、カフェラテが約54パーセント」
「どうやって計算するんですか?」
葵が式を書いた。「πP = π を満たす分布π。これが定常分布だ」
陸が笑った。「つまり、最初に何を選んでも、結局は同じ確率に落ち着くってこと?」
「マルコフ連鎖が既約で非周期的なら、そうなる」
「既約?」
「どの状態からでも、他のどの状態にも到達できること。このカフェの例では、両方向に遷移できるから既約だ」
由紀がふと思いついた。「じゃあ、会話もマルコフ連鎖ですか?」
葵が感心した。「良い直感。実際、自然言語処理では、マルコフモデルが使われる。次の単語は、直前のいくつかの単語に依存する」
「でも、人間の会話はもっと複雑では?」陸が指摘する。
「そう。だから高次のマルコフモデルや、より複雑なモデルが必要になる。でも基本原理は同じだ」
由紀がタブレットを操作した。「あ、ついにブラックコーヒーが出た!」
「第三の状態があったのか」葵が笑った。「遷移確率が低かったから、なかなか到達しなかった」
陸が真剣な表情で言った。「じゃあ、人生もマルコフ連鎖かな。今の状態から、次の状態に確率的に遷移する」
「哲学的だね」由紀が言った。
「でも、人間には自由意志がある。確率だけでは決まらない」葵が補足した。
「じゃあ、マルコフ連鎖に自由意志を加えたら?」
「制御可能なマルコフ過程になる。マルコフ決定過程とも呼ばれる」
三人は注文を決めた。由紀は抹茶ラテ、陸はカフェラテ、葵はブラックコーヒー。
「僕らの選択も、マルコフ連鎖の一部かもね」由紀が微笑んだ。
「それとも、遷移確率行列を書き換えてるのかも」葵が答えた。
カフェのタブレットは、静かに次のおすすめを待っている。状態空間を静かに彷徨いながら。