解法ガイド / Nishio
Nishio
> 前提条件: [Chain Basics](learning://chains)
上級
#西尾強制チェーン
前提条件: Chain Basics
概要
西尾強制連鎖は、矛盾排除による証明手法です。
候補が「疑わしい」ように見えても、直接的な手法では削除できない場合は、次のようにすることができます。
- テストする候補を選択します (赤)
- それが真実であると仮定してください
- 強制された真実/虚偽を広めます (青 = 強制的に真、黄色 = 強制的に偽)
- 矛盾に達した場合 (たとえば、行に数字が入る場所がない)
⇒ その仮定は不可能です
⇒ 先発候補を外す
ウォークスルー

上の画像では、赤色の除外ターゲットは r1c3 の候補 5 です。
r1c3 = 5 が真であると仮定して、矛盾の証明を開始します。
次に、強制チェーンに従います。
- 青色の候補は、この仮定の下では強制的に真となります
- 黄色の候補は、この仮定の下では強制的に誤りとなります
最初にすべてのホップを検証する必要はありません。矛盾に注目してください。
この例では、チェーンは最終的に 行 1 のすべての候補 7 を削除します。つまり、行 1 には数字 7 を入れる場所がありません。
ただし、すべての行には 1 ~ 9 の数字が含まれている必要があるため、これは矛盾します。
したがって、r1c3 = 5 という仮定は真ではなく、r1c3 の候補 5 は除外できます。
例
西尾市の例をさらに 2 つ紹介します。次の表示順序に従ってください。 赤の開始 (真であると仮定) → 青/黄色の伝播 → 矛盾 → 赤の除去。


西尾の見分け方
1 行のチェックリスト: 行き詰まった場合は、主要な候補を選択し、矛盾によってテストします。すぐに矛盾が生じる場合は、それを排除してください。
実践的なチェックリスト:
- 「影響力の高い」候補を優先します: 二値セルまたは共役ペアに近い候補
- それが真実であると仮定し、決定論的な伝播のみを適用します。
- 矛盾(空きマス/家の中に数字が入る場所がない)に達したら、開始候補を削除します