探索について

人工知能が好きというよりは探索が好きなんだと思う。ある問題に対してより良い答えを探すために何をするのか、ということを知ることがおもしろい。

 

 本を読んでいると悲観的解(暫定解)のことを考える。

いまここで読書を打ち切ったほうが効果が高いのではないか?

目次で構造を見直して別の個所に飛んだほうがよりよい知識が得られるのではないか?

ここで読み続けるほうが得策だと思うが、では何を読むのか?

 話法か?

 背景か?

 内容(トピック)か?

 立場か?

 それとも当該の文章を翻訳したときに何が削られる可能性が高いかか?

 

 デバッグがたまに楽しいときもおなじ理屈だと思う。むずかしめの探索を達成した感じがたまらない。某Railsアプリのインストールに6度ほど失敗して、バックトラックにあたるような試行を何度か繰り返したのちについに成功したときの感動は味わい深いものがあった。そのときも、実際に達成した内容が大きいかは別として、

 成功に至るこのような発見ができた理由はなんだろうか?

 それは偶然でしかできないか?

 ある特定の知識が欠けていたら自分の力で気付くことは絶望的か?

 この種類の壁は誰に聞いたら崩れるだろう?

 自分はいまなぜこれを崩せたのだろう?

 人々がこの壁をそれほど高いと思っていない(ように感じる)その理由とは?

ということが非常に気になる。

 

ただし、きょうぐらいになってごくごく簡単な探索でもよいものが手に入ることを忘れてはならないという基本原理を再確認した。単にインターネットで何のひねりもないクエリを投げかけたり、その種の人々が集まるところに言ってごくごく普通の選択を行うだけで、その10倍の労力をかけるのとほぼ同等ぐらいの満足感が得られることがある。簡単な探索というとつい難しい探索、多くの人ができないような探索のほうがすばらしい、効果が高いと思ってしまいがちだけど、実はページランクアルゴリズムが数年来ずっと優秀な成績を収めていたことを忘れてはならない。問題を難しく考え直そうという志向に並行して、実は簡単に解決できたんじゃないか(誰かが既に解決してるんじゃないか)と考え直すことも、大事な探索の一つだろう。