合同会社小村ソフト
第 1 章

探索者が持つ状態は3つだけ

中身を推測する前に、現在地・最高点・歩幅を紙に固定し、一回ずつ測って進む探索の型をつくる。

見えるのは、入力とScoreだけ

(X1, X2, ..., Xn)  ── BLACK BOX ──>  Score

この講座で相手にするのは、入力を渡すとScoreという数字を一つだけ返してくる箱です。式もグラフも勾配も、正解の位置も見えません。探索者にできるのは、入力を一つ決めて採点係に渡し、返ってきたScoreを記録することだけです。

これは「中身を当てる競技」ではありません。中身が分からないままでも実験を前に進める手順を練習するのが、この講座の目的です。

盤面に置くのは、3枚のカード

探索の間、覚えておくことは3つで足ります。それぞれをカードにして、盤面に置きます。

カード書き換えるとき
現在地(4, 7, 2, 8) / Score 63候補が現在地よりも良かったとき
最高点63新しい最高Scoreが出たとき
歩幅Δ = 2全方向を一巡しても改善しなかったとき

探索の途中では、悪くなった候補には移動しません。良くなった候補だけを新しい現在地にするので、現在地のScoreと最高Scoreはつねに同じ値になります。両者が分かれるのは、第6章で扱う「再出発」のときだけです。

1回の評価は、この5手順で回す

  1. 現在地と歩幅を見る。
  2. 方向カードを1枚選ぶ。
  3. 候補を紙の上で計算する。
  4. 候補を採点係に渡し、Scoreを受け取る。
  5. Scoreが上がっていたら、現在地を候補に置き換える。下がっていたら、現在地はそのまま。

大事なのは順番です。候補を先に確定してから、Scoreを受け取ります。結果を見てから候補を書き換えたり、評価の途中で別の変数まで動かしたりはしません。

紙上課題

紙の上で答えを出してから、ここで採点できます。

Q1. 現在地 (4,7,2,8)、歩幅 Δ=2、方向 (+1,0,0,0) のときの候補を書いてください。

半角のカンマ区切りで入力します。例: (1,2,3,4)

Q2. 候補のScoreが63から71へ上がりました。3枚のカードのうち、書き換えるのはどれですか。

Q3. 候補のScoreが58でした(現在地は63)。現在地と歩幅をどう扱いますか。

この章の合言葉

候補を先に決める。Scoreは後から受け取る。良くなったときだけ移動する。