Pixel Oracle · Nonogram
15×15ノノグラムの重なり法:推測せず確定マスを見つける
単一ブロックと複数ブロックの正確な例で、15×15ノノグラムの重なり法を学びます。確定マスと余白を見極め、すべての手を論理で進めます。

要点
15×15ノノグラムの重なり法では、ヒントのブロックを置ける全ての合法位置を比べ、全配置が覆うマスだけを塗ります。空の15マスに単一ヒント10を置くと開始位置は6通りで、6~10番目が共通します。複数ブロックでは各ブロックの同一性を保ち、ライン候補全体の合意を確かめます。
15×15ノノグラムの重なりで証明できること
ノノグラムのヒントは、順番どおりに並ぶ連続した塗りブロックを表します。各ブロックは数字と同じ長さで、隣り合うブロックの間には少なくとも1マスの空きが必要です。行と列のヒントが強制する事実だけを記入します。
重なり法はブロックの位置を予想しません。現在のラインで許される位置を全て作り、どの可能性でも状態が同じマスだけを残します。開始位置がまだ分からなくても、全ての合法配置が塗るマスは確定です。
塗る前に、次の2条件を守ります。
- 全配置がヒントの順序、必須の間隔、確定済みの塗りマスとX印を満たすこと。
- 同じヒントブロックが全配置でそのマスを覆うか、完全な合法ライン候補が全て塗りで一致すること。
単一ブロックの例:15マスにヒント10
空の15マスの行に単一ヒント10があるとします。ブロックは1~6番目から開始できます。最も左と最も右の配置を比べます。
左端 ██████████·····
右端 ·····██████████
確定 ·····█████·····
位置 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15両端の配置と、その間の4配置は全て6~10番目を塗ります。この5マスは安全に確定できます。図の点は「この比較では未証明」を示し、確定したXではありません。
長さnの明確な区間に長さkのブロックが一つだけある場合、重なるマス数は max(0, 2k − n) です。ここでは 2 × 10 − 15 = 5 です。空の15マスならヒント8は中央1マスを確定し、ヒント7は交差情報で区間が狭まるまで重なりません。
この式は、既知の区間にブロックが一つだけある場合に限ります。複数ヒントや既存の印があるラインでは、完全な配置規則が必要です。
複数ブロックの例:ヒント4 8で注意する理由
空の15マスにヒント4 8を置きます。塗りは4 + 8マス、さらに最低1マスの区切りが必要なので、最小幅は13マスです。余白は2マスしかありません。
左端 ████·████████··
右端 ··████·████████
確定 ··██···██████··合法パターンは6通りです。全てを比べると、第1ブロックは常に3~4番目、第2ブロックは常に8~13番目を覆います。この8マスが確定します。
6番目が落とし穴です。左右の端に寄せた図ではどちらも塗られていますが、左端では長さ8、右端では長さ4のブロックが覆っています。別の合法配置では6番目が空きます。両端の図だけを重ねると誤って塗ってしまいます。
安全な方法は、ラベル付きの同じブロック同士を比較するか、より一般的には全合法ラインを列挙して完全な合意だけを採用することです。Pixel Oracleのラインソルバーは後者を使い、順序付き候補を生成し、既知マスと矛盾する候補を除き、残り全てが一致した状態だけを確定します。
X印で区間が狭まったら重なりを再計算する
交差ラインが境界を与えると、重なりは強くなります。単一ヒント6の行で、1~3番目と12~15番目が空きと確定した場合、ブロックは4~11番目の8マスに限られます。開始位置は4、5、6なので、6~9番目は全配置で塗られます。
これは新しい規則ではなく、合法区間を小さくして同じ計算をしただけです。複数ヒントでは、どのブロックが区間内に属するかを先に証明します。Xはブロックを分けても、任意のブロックを割り当てる根拠にはなりません。
確定した塗りマスまたはXを追加したら、次の順に進めます。
- 同じラインを全ヒントに照らして再評価する。
- 新しい事実と交差する垂直方向を確認する。
- 境界が証明された完成ブロックの隣をXで閉じる。
- 合法区間が小さくなったラインへ戻る。
大きな盤面を推測なしで進める手順
15×15は5×5や10×10より候補空間が広いものの、判断の単位は局所的なままです。
- 制約の強いラインを探す。長い単一ヒントや、ブロックと間隔が利用可能幅をほぼ使う複数ヒントから始める。
- 合法配置を作る。ヒント順、確定した塗りマス、X印を守る。
- 合意したマスだけを採用する。全ての合法配置で同じ状態のマスだけを塗るか印を付ける。
- 交差方向へ伝える。確定マスは一つの行と一つの列を同時に変える。
- 完成ブロックを閉じる。証明済みの空き境界を加え、次回の区間を小さくする。
- 推測せず再走査する。重なりで進まなければ別の論理規則か論理限定ヒントを使う。
WebPBNの原典pbnsolve文書は、左右に詰めたライン推論を説明し、この簡略な重なりが完全なラインソルバーではないと明記しています。重なりは局所的な事実を安全に作れますが、それだけで全ての有効な問題を完成できるとは限りません。
Pixel Oracleは、収録して公開した各問題について、解が一つであることと、決定的な論理証明を再生できることを別々に検査します。解の一意性だけでは、この一つの技法が常に進むとは証明できません。また、ここに示した合成ラインはどのデイリー問題の証明でもありません。
この違いは推測なし基準で確認し、必要に応じて重なりを総合的なノノグラム戦略と組み合わせてください。
よくある質問
15×15ノノグラムの重なりとは何ですか?
同じヒントブロックが全ての合法配置で覆うマス、または完全な合法ライン候補の全てが塗りで一致するマスです。ブロックの正確な位置が不明でも、そのマスは確定します。
空の15マスで重なる単一ヒントはどれですか?
8以上です。ヒント8は中央1マス、ヒント10は5マスを確定します。単一ブロックの長さをkとすると、2k − 15が正のとき、その数だけ重なります。
解が一つなら推測は不要ですか?
いいえ。一意性は問題全体の性質であり、特定の推論法が常に前進できることを示しません。推測なしという主張には、別途再生可能な論理トレースが必要です。
候補の合意を取り、交差方向へ進む
安全な15×15ノノグラムの重なり法は、見た目の予想ではなく候補の合意を使います。単一ブロックを全ての合法開始位置に動かし、共通マスだけを残し、Xで区間が狭まるたびに再計算します。複数ヒントではブロックの同一性を保ち、全合法パターンを調べ、両端で別のブロックが覆うマスを確定と誤認しないようにします。証明したマスを交差方向へ伝え、次のラインを進めてください。