ノノグラムソルバーとは?
ノノグラムソルバーは、絵のロジックパズルの数字ヒントから、どのマスを塗り、どのマスを空けるかを計算するツールです。ピクロス、グリドラー、Hanjie、イラストロジックも同じ基本ルールを使うため、これらの名前のパズルにも使えます。
ヒントは塗られたマスの連続ブロックを表します。4 2 なら、4マスのブロック、少なくとも1つの空き、次に2マスのブロックです。ソルバーは行の可能性と列の可能性を照合し、両方のヒントに合う絵の盤面を探します。
- ノノグラム、ピクロス、グリドラー、Hanjie の行ヒントと列ヒントを入力する。
- ヒントに有効な答えがあるか確認する。
- 条件が合う場合は完成した盤面を表示する。
- 不可能、広すぎる、または曖昧なヒントを見つける。
このノノグラムソルバーの使い方
まず幅と高さを選びます。幅は列数、高さは行数です。ヒント枠は各行や列に表示する数字入力欄の数なので、いちばん長いヒント行を入れられる数にします。
盤面を作成したら、列ヒントを上に、行ヒントを左に入力します。使わない欄は空欄にします。完全に空の行や列は空欄のままでも、0を入れてもかまいません。そのあと解くを押します。
- 幅、高さ、ヒント枠を選ぶ。
- 盤面を作成を押す。
- 列ヒントを上から下の順に入力する。
- 行ヒントを左から右の順に入力する。
- 解くを押して答えの盤面を表示する。
ノノグラムのヒントの仕組み
各数字は塗りブロックの長さです。1つの行や列に複数の数字がある場合、その順番どおりに現れ、ブロック間には少なくとも1つの空きマスが必要です。最初のブロックの前や最後のブロックの後ろの空きは、0マスでも長くてもかまいません。
この単純なルールがノノグラムを論理パズルにしています。ブロックが長く、どの配置でも重なるマスがある場合、その重なりは必ず塗られます。ブロックが確定すると、その周囲のマスが空きの区切りとして決まることもよくあります。
- 5は5マスの塗りブロック1つを意味します。
- 1 1は、少なくとも1つの空きマスを挟んだ2つの1マスブロックです。
- 0または空欄は、その行や列に塗りマスがないことを意味します。
- 行と列は同じ塗りマスで一致する必要があります。
解なし、または複数解
有効なノノグラムでは、行ヒントと列ヒントが同じ合計塗りマス数を表す必要があります。たとえば行ヒントの合計が32マスで、列ヒントの合計が30マスなら、解は存在しません。
合計が合っていても曖昧な場合があります。そのときは複数の盤面がすべてのヒントを満たします。公開用のよいノノグラムは通常、解が1つだけです。一意解なら、推測ではなく論理で進められます。
ソルバーの動き方
ソルバーはまず各行と列の合法パターンをすべて生成します。次に、確定マスと矛盾するパターンを取り除きます。残ったパターンすべてが同じマスについて一致する場合、そのマスは確定します。
その強制論理だけで完成しない場合は、制御された探索を行います。残り候補が最も少ない行または列を選び、1つのパターンを試し、交差するすべてのヒントを満たし続ける分岐だけを残します。
ノノグラムを手で解く方法
ノノグラムを楽しむのにソルバーは要りません——純粋な論理で解けるように作られています。まず最も制約の強い線から始めます。ヒントのブロックとその間の空きで線がほぼ埋まるとき、重なりの手筋が必ず塗れるマスを生みます。ブロックを片端まで寄せた場合と反対端まで寄せた場合を思い浮かべ、両方で覆われるマスは必ず塗りです。
次に行と列を交互に見て、塗ったマスごとに交差する線を絞ります。塗りマスだけでなく、空きと分かったマスにも点やバツを付けましょう——その印が、ブロックの広がりすぎを防ぎます。終わった線のヒントは、読み直さないように消しておけます。
- ヒントの余裕が最も少ない行・列から始める。
- 線の半分より長いブロックには重なりの手筋を使う。
- 塗りマスだけでなく、確定の空きマスも点やバツで印を付ける。
- 新しいマスが出るたびに、行と列を交互に見る。
- 最後にソルバーで答えを確認する。
ピクロス、グリドラー、ハンジーとノノグラムの名前
ノノグラムには多くの呼び名があります。このパズルは1980年代の日本で広まり、「ノノグラム(Nonogram)」という名前は、広く世に広めた立役者とされるデザイナー Non Ishida(いしだのん)に由来します。任天堂のピクロスが世界中の家庭用ゲーム機へ広め、英国の新聞はハンジー(Hanjie)として掲載し、グリドラー(Griddlers)の名はパズル誌やウェブサイトで広まりました。
呼び名は違っても、ルールは変わりません。数字のヒントが各行・列の塗りブロックの長さを示し、マスを塗って隠れた絵を浮かび上がらせます。仕組みが同じなので、このソルバーはピクロス、グリドラー、ハンジー、日本のクロスワード(お絵かきロジック)にも同じように使えます。
ソルバーでノノグラムを作る・検証する
ソルバーは、解くのと同じくらい問題作りにも役立ちます。絵を描いてノノグラムにしたいなら、ヒントを割り出し、それをソルバーに入れて結果を確かめましょう。良い問題はちょうど1つの絵に解けるはずです。ソルバーが複数見つけたら、ヒントが曖昧なので設計を引き締める必要があります。
2つの素早い確認が役立ちます。1つ目、行のヒントと列のヒントは塗りマスの合計が一致していなければならず、さもないと解は存在しません。2つ目、強制論理の段階がバックトラックなしで解き切れる問題を目指しましょう。それこそ、人が推測ではなく推理で解ける問題です。
- 自分のヒントを解いて、唯一の絵になることを確かめる。
- 複数解はヒントが曖昧な証拠——引き締める。
- 行と列のヒント合計が一致するか確認する。
- 推測なしに論理だけで解ける問題を選ぶ。
- 絵やヒントを変えたら、その都度確認し直す。