

本記事は"Algorithms to Live By: The Computer Science of Human Decisions"のchapter02の要約と所感のようなものです。
二章はExplore/Exploit(探索・活用)もう少しわかりやすく言うと「今までのベストと未知のもの」どちらがいいかをアルゴリズムを用いて考えようというものです。
例えば、あなたが一週間後に今住んでいる町から引っ越すとします、そんな時あなたは今の町で行きなれたレストランとまだ知らないレストランどちらを選びますか?おそらく多くの人が今まで何度も言った自分の好きなレストランを選ぶ事でしょう。では、あなたは今の町に引っ越して一か月のニューカマーだったとします。この町で行ったことあるレストランとまだ行ったことがないレストランどちらに行きますか?おそらくさっきより多くの人が新しいレストランを開拓したいと思うでしょう。
これはまさにExplore/Exploitのいい例で、未知のものを探索(Explore)することと既に知っている知識の活用(Exploit)の対比をしています。上の例からもわかるように残された時間が少ない時にはExploit(すでにあるものの活用)が良く、まだ利用する知識があまり蓄えられていないときはExplore(未知の開拓)をしたほうが良いことは直感的にもわかりますね。
これは一つ面白い洞察を含んでいます、一般的に人は年を取るにつれて人間関係が狭まっていくようです。普通に考えれば体力の低下などが理由だと思われますが、CarstensenとFredricksonという研究者の報告によるこれは高齢者は体力がないからではなく自分から進んで関わる人を減らしているということです。人生を長く生きて、後半に差し掛かった人の視点では最も利益を得る過ごし方は新しい人と関わりを持つ(Explore)よりも今まで過ごした中で心地よい人と過ごす(Exploit)するほうが論理的ということです。
もう少し難しい話になりますがGittinsという数学者の考案したGittins Indexという指標があります。皆さんはmulti-armed bandit problem(多腕バンディット問題)、名前の由来はバンディットマシン(スロットマシン)から来ていて、簡単に言えばどのスロットを回すのが最も利益が出るかという問題です。まだ回したことがないスロットマシンのアームを回すことがExplore、すでに数~数十回回してどれくらいの確立で勝てるかわかってるマシンのアームを回すことがExploitにあたります。
この一つ一つのアームに対してGittinは何回回したか、回したうち何回勝ち、何回負けたかによって以下のようにGittin Indexという指標を付けます。

面白いことに一回も回したことがないアームは偶数回回して勝ち・負けの比が5分5分であるアームより常にGittin Indexが高いです。何も情報がないもののほうが5分5分でわかっている賭けよりも情報を得ることができる分有用だと直感的に解釈することもできます。
Grittin Indexはとても複雑なのですが、これと同じようなもので「後悔」の量を最小にするためのアルゴリズムがあります"Upper confidence bound"直訳すると「上側信頼限界」というものがあります、簡単にいうとよく知られていないものを試すボーナスを各試行の期待値に加算することでExploreを加点して、実は良いものを数回の施行で運悪く悪いものと決めつけてしまわないようにするアルゴリズムです。これによってほんとはいいものを取り逃す「後悔」の量を最小にしています。
バンディット問題のアルゴリズムの詳細な数理的説明はhttps://banditalgs.com/2016/09/18/the-upper-confidence-bound-algorithm/を参照してください。
時間のあるうちは次新しく試すものはきっといいものだという楽観的な姿勢でいるのが一番お得かもしれません。
適切なExplore/Exploitバランスで人生を最大限楽しめるように一瞬立ち止まって考え直してみましょう?
次はコンピュータサイエンスで一番最初に習うアルゴリズムといっても過言ではない
"Sorting algorithm"「並べ替えアルゴリズム」です。
更新時期は未定です!











