2012-01-25
木探索とCPS
| ![]()
もともと、俺のHaskell学習の目標は、“ Haskellと確率と限定継続 - Life Goes Onを全部理解できるようになること”だったわけで、それは今でも変わっていない。
で、Haskellはだんだんわかって来たけど、“木探索から CPS にすることで効率化”が腑に落ちてなかった。
そんな時に M.Hiroi’s Home Page / お気楽 OCaml プログラミング入門というページを見つけた。
おお、なるほどね。CPSで効率化を理解する取っ掛かりができたぞ。
確率計算の例だと、CPSに変換する際に実は計算モデルも若干変わっていて、そのために効率化されています。逆にもともとの木探索でも、モデルの記述をちょっと変えるだけで効率化できます。木探索が悪いわけではなくて、モデルの記述の仕方が悪いのです。
そのあたりは僕も整理できてなくて、うやむやにしていたのですが、時間を見つけて考えたいと思います。(そういう意味ではオリジナルの論文も、誤りがあるのではないかと思っています)