ブラックボックス探索を紙と手で体得する
式もグラフも見えず、入力に対してScoreという数字が一つ返ってくるだけ——。そんな未知の対象を「少し動かして、測って、比べる」だけで改善していく手順を練習する講座です。手順そのものは紙と鉛筆だけで回せるほど単純で、実際に印刷キットだけでも完結します。すぐ試したい人は、サンプルのブラックボックスに実際に入力を与えられる探索シミュレータから始めてください。答えを勝手に出してくれる自動最適化ツールは登場しません。
まず体験してみる
探索シミュレータでは、この講座で使う5つの問題(A〜E)のブラックボックスに、ブラウザ上でそのまま入力を与えられます。方向カードを押すと候補が計算されてScoreが返り、盤面(現在地・Score・歩幅)と記録票も画面が管理します。中身の式や地形は最後まで表示されません。
章を読む前に触って「見えない相手を手探りする」感覚をつかんでもよいですし、章を読み終えてから演習の場として使ってもかまいません。
身につけるのは、5つの動作
この講座では、アルゴリズムの名前や数式は覚えません。代わりに、未知の対象を前にした人間が何度でも繰り返せる、次の5つの動作を体に入れます。
- まず大きく動かす。
- 良くなった方向を、もう一度試す。
- 悪くなったら戻り、別の方向を試す。
- 一巡して改善しなければ、歩幅を小さくする。
- 最小の歩幅でも動けなければ、別の場所からやり直す。
この5つを、毎回同じ記録票と方向カードの上で繰り返します。候補を大量に並べたり、確率分布を更新したりはしません。
道具立ては、3枚のカードと1つの式
探索の間、紙の上に置いておく状態は次の3つだけです。
| 状態 | 紙に書くもの | 役割 |
|---|---|---|
| 現在地 | (X1, X2, …, Xn) と、その地点のScore | 次の一歩を出す基準 |
| 最高点 | その試行で得た最高Score | 改善を見失わないための記録 |
| 歩幅 | Δ | 一回にどれだけ動くか |
次に試す候補は、いつも同じ1つの式で作ります。
候補 = 現在地 + 歩幅 × 方向
x_new = x + Δd
方向 d は「各変数を増やすか、減らすか、動かさないか」を書いたカードです。最初は変数を一つだけ動かすカードを使い、行き詰まったときにだけ、二つを同時に動かすカードを足します。
章構成
演習のやり方は3通り
使う問題とルールはどれも同じです。やりやすい形を選んでください。
| やり方 | 用意するもの | 向いている場面 |
|---|---|---|
| ブラウザだけ | 探索シミュレータ | いますぐ体験したい。盤面や記録の管理は画面に任せたい。 |
| 紙 + Web採点係 | 鉛筆、探索者用キット、Web採点係 | 一人で、盤面・記録票を自分の手で回す練習をしたい。 |
| 紙 + 採点係役の相手 | 鉛筆、探索者用キット、採点係用冊子 | 二人以上で、ワークショップ形式で行いたい。 |
Web採点係は候補を入力するとScoreだけを返すページ、採点係用冊子は採点係役の人が持つ答え入りの冊子です(探索者には見せません)。手順を自分の手と紙で回した経験は現実の調整作業にそのまま持ち出せるので、シミュレータで体験したあとに紙でも一度回してみることをおすすめします。