ライン解法:1行または1列ずつ
ほとんどのノノグラムは、根っこでは同じやり方で解けます。盤面全体をにらむのではなく、1本のライン(1つの行または列)を取り上げ、そこから確定するマスをすべて絞り出してから次へ進むのです。これがライン解法であり、すでにご存じかもしれない重なり法や端からの解法は、実はその特別な場合にすぎません。この一般的な方法を身につければ、どんな大きさのパズルにも通用する、当てずっぽうのない確実な手順が手に入ります。
1本のラインだけで分かること
ラインの数字は、盤面の他の部分とは無関係に、そのラインを完全に記述します。数字は塗られたマスのブロックを順に表し、それぞれの間には少なくとも1つの空きマスが入ります。ですから、その行が列とどう関わるかを見る前に、もっと狭い問いを立てられます。この数字とこの長さだけを手がかりにしたとき、ブロックがどこに収まろうとも必ず塗られるマスはどれか、必ず空くマスはどれか、という問いです。
答えはたいてい「そのうちのいくつか」であり、その確定マスを1ラインずつ見つけることこそ解法の原動力です。1回で1本のラインを終わらせられることはまれですが、ほとんど必ず何かが分かります。そしてその何かが、そのラインと交差するすべてのラインへの手がかりになります。
左に寄せ、右に寄せ、重なりを残す
数字がいくつあっても、あらゆるラインに使える一般的な方法がこれです。頭の中で、順序と1マスの間隔を守ったまま、すべてのブロックをできるだけ左(または上)へ滑らせます。次に、同じようにできるだけ右(または下)へ滑らせます。両極端の詰め方で同じブロックが覆うマスは、決して空にはなりません。塗ることが確定しています。
10マスのラインで数字が 3 4 の場合を考えます。目一杯左に寄せると、ブロックはマス 1-3 と 5-8 に入ります。目一杯右に寄せると、マス 3-5 と 7-10 に入ります。両者を比べると、1つ目のブロックは両方でマス 3 を覆い、2つ目は両方でマス 7 と 8 を覆います。したがってマス 3、7、8 は確実に塗られ、どちらのブロックがどこから始まるかまだ分からなくても、すぐに印を付けられます。
これはまさに重なり法を一般化したものです。長い数字が1つだけなら、おなじみの「両端に寄せる」手に帰着しますが、左に寄せて右に寄せるという枠組みは、ラインに2つ、3つ、それ以上のブロックがあっても働き続けます。目分量で重なりを見積もる方法が崩れ始めるのは、まさにそこです。
分かったマスをラインに戻す
ラインが交差から得た情報をすでに含んでいると、ライン解法はずっと強力になります。空きと印を付けたマス(✕)は壁として働きます。ラインを短い区間に分け、各ブロックはどれか1つの区間にすっかり収まらなければなりません。これによって、少し前まで自由だったブロックの位置が定まることがよくあります。塗ると印を付けたマスは、それを覆うべきブロックを固定するので、そのブロックを伸ばし、両端を締めることができます。
だからこそ解くという作業は一度の掃引ではなく、ループなのです。1つの行を行けるところまで進めれば、その新しい印は、塗ったマスも ✕ も、それと交差するすべての列へ下りていきます。それらの列を進めれば、新しい印が行へ戻ってきます。交差の1つが情報を得るたびに、各ラインはもう少し先まで解けるようになります。
ラインを今は打ち切る判断
ラインが「今は完了」なのは、現在の数字と分かっているマスからそれ以上何も確定しないときであり、必ずしも完成したときではありません。1本の頑固なラインをすり潰すのに固執しないでください。今確定するものをすべて印し、前回見たときから最も多くの新しい情報を得たラインへ移りましょう。よくできたパズルなら、行と列をこうして巡ることで、絵が完成するまで新しい推論が次々と開けていきます。
ひと回りしても本当にどこも動かないなら、それは当てずっぽうが必要なパズルに当たったのではなく、どこかのラインで推論を見落としているのです。正しく作られたノノグラムには純粋な論理だけで到達できる解がちょうど1つあるので、確定するマスは必ずどこかにあります。ライン解法とは、それを見つけるための規律にほかなりません。
よくある質問
ライン解法は重なり法と同じものですか?
重なり法は、長いブロック1つに適用したライン解法です。両端に滑らせ、両方で覆われるマスを残します。左に寄せて右に寄せる一般的なテクニックは、ブロックがいくつあるラインでも同じことを行うので、重なり法はその最も単純な場合にすぎません。
ライン解法だけを使う場合、いつか当てずっぽうが必要になりますか?
いいえ。解が一意な公正なノノグラムなら、すべての行と列でライン解法を繰り返し、各ラインの新しい印を交差に戻していけば、必ずパズルは完成します。行き詰まったなら、それは本当の袋小路ではなく、見落とした確定マスがあるということです。
