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

軸方向へ一つずつ動かす

まずは一度に一つの変数だけを動かし、どの方向がScoreを上げるかを手で確かめる。

最初に使うのは、軸方向の8枚だけ

方向カードのうち、最初に使うのは「一つの変数だけを増やす、または減らす」カードです。4変数なら次の8枚になります。

[+1, 0, 0, 0]   [-1, 0, 0, 0]
[ 0,+1, 0, 0]   [ 0,-1, 0, 0]
[ 0, 0,+1, 0]   [ 0, 0,-1, 0]
[ 0, 0, 0,+1]   [ 0, 0, 0,-1]

1枚につき変わる変数は一つだけです。だから「どの変数をどちらに動かしたら、Scoreがどうなったか」という原因と結果の対応がはっきり残り、あとから記録を読み返すのも簡単です。

候補は「現在地 + 歩幅 × 方向」で作る

現在地  x = (4, 7, 2, 8)
歩幅    Δ = 2
方向    d = (+1, 0, 0, 0)

候補 x_new = x + Δd = (6, 7, 2, 8)

注意したいのは、方向カードの数字は移動量そのものではないことです。+1は「歩幅のぶん増やす」、-1は「歩幅のぶん減らす」、0は「動かさない」という意味です。実際の移動量は歩幅Δが決めます。

範囲の外に出る候補は、評価しない

変数の範囲が0〜10なのに、候補が-112になるカードは評価できません。採点係に渡す前に、候補が範囲内に収まっているかを確認します。

もう一つ大事な点があります。範囲の外に出る方向は「試して失敗した方向」には数えません。そもそも候補が存在しなかったのですから、別の方向カードを選び直すだけです。

一つずつ変えることの利点と限界

利点限界
どの変数を動かした結果かが明確に残る二つを同時に動かしたときだけ改善する関係には届かない
候補の計算が簡単変数が多いと一巡に時間がかかる
紙の記録から探索を再現できる局所的な山頂で止まることがある

限界の側は、第5章(斜め方向)と第6章(再出発)で補います。最初から方向カードを増やすのではなく、まず軸方向だけで十分に試すのが基本です。

紙上課題

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

Q1. x=(2,8,5,1)Δ=3d=(0,-1,0,0) のときの候補を求めてください。

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

Q2. 同じ現在地 (2,8,5,1)Δ=3 から d=(0,0,0,+1) を選んだときの候補を求めてください。

半角のカンマ区切りで入力します。

Q3. 各変数の範囲が0〜10のとき、x=(9,4)Δ=2で評価できない軸方向はどれですか。

Q4. 一度に三つの変数を変えた記録は、なぜあとから原因を読み取りにくいのですか。