粘菌の迷路解答アルゴリズムをゲーム木探索として考えてみよう

粘菌が、迷路を解く問題を一般化すると


  • 分岐

粘菌は、分岐を見つけると両方に分岐する。さらに分岐を見つけるとさらに分岐する。
己の物理的リソースがある限り分岐可能である。
この分岐行為は、時系列では並列処理として行える。

  • 分岐評価

どちらにより分岐するか、全体でどっちを目指すか?
については、光や、経路上に落ちている好物・苦手物の濃度というバイアスがかかるだろう。
これらは、オーダリングを実施する評価関数と考えられるだろう(実際はシークエンスではなくパラレルなのでオーダリングではない。そもそも順序はない)

  • 末端到達

エサに到達すると、「勝ち」 負けは無い。「勝ち」を見つけるまで分岐を繰り返すはずである
(袋小路は「負け」と言えるかもしれない)

  • 末端に到達した複数のパス

末端に到達すると、そこから取り込んだ栄養が、逆に全体に向かって流れ始める。
分岐を繰り返す広がっていく方向と、体内で、身体の末端から全体に栄養が流れる方向という
「逆に流れ」が共存している(これって、前に読んだPalm創始者のAI本の話と同じですね)

  • 栄養が流れないパスは枯れていく

栄養が流れ始めると、栄養が全然流れていない分岐は、だんだん細くなっていく。
これは、まず、ざっくり悪いパスを刈ってしまう行為に相当する。
ただ一回刈ったら、それまでではなく、栄養の流れる量というダイナミックな変化で、
徐々に枯れていくので、一時的な勘違いで間違って刈ってしまうようなおそれは少ないだろう。
(このへんはUCTのような強さがある)

  • 不要なパスが枯れることで、栄養が流れるパスはますます太っていく

枯れることと太ることは完全に並列動作している。
流れる栄養量が変化することで、栄養自体が、並列処理の同期処理を行っている
(これは、我々の血液と同じではないか! 太ると毛細血管が大量に出来るが、そこから痩せても枯れた血管は残る)
(食べ過ぎると、胃腸に流れる血液が増大して臓器が活性化され、考えると脳で血液と糖分を消費する)
(火事場のクソ力は、アドレナリン分泌で実施される)

  • 太いパス同士の差分評価で、最終的な勝者(最善手パス)が決定される

だんだんんと最善手が絞り込まれていく。並列分散処理で。



この粘菌アルゴリズムをゲーム木探索に取り込むとして、
末端で、「勝ち」だった場合に、勝ちの情報を、末端から、ゲーム木ルートに上げる場合に
分岐数を含んで、やってくる距離(というか通過するときに消費される栄養量)で、パスの距離を
上に上げないといけない。
(ゲーム木の場合、分岐数を計算したり、といったコストに反映させる必要がある)
同じ末端に到達する複数のパスを、栄養量消費という観点からパスの太さを調整する必要がある


うさ親さんが日記に書いていた、モンテカルロでフレーム問題を解決する考え方で考えると、
粘菌が身体リソースで分岐をして広がる行為は、やり直しはない。
徐々に、ただ広がるだけで、バックトラックはないし、モンテカルロのように複数のプレイアウトを繰り返しているわけではない。
そういう意味で、無駄はないと言えると思う。


ただ、何かをするにはまず何かを定義しないといけないという無限地獄的フレーム問題は発生しない。
レストランに入れば、ナイフとゴミ箱にすてる分岐、フォークを自分の頭に突き刺す分岐、料理を廊下にぶちまける分岐、食い逃げする分岐、あらゆる分岐が並列に育ち、
食う寝る遊ぶというより自分の本能を満たす「勝ち」という末端に到達したパスが
より、自分を楽しませるという栄養を自分の脳内妄想に送り込み、
より栄養を供給するパスは太り、栄養をくれないパスは細る。
ことで、最善手的行動の予測が行える。


目の前に相手の頭にフォークを突き立てることが、より栄養を自分に流し込むパスなら、
フォークを突き立てることが最善手になる場合もあるのである


いくら自分が楽しくてもフォークで刺したらだめだよ