【チェーン推論①】基礎編:強リンクと弱リンク
チェーン推論(Chain)は、数独上級テクニックの核心的な理論フレームワークです。シンプルなX-Wingから複雑なAICsまで、ほぼすべての上級排除テクニックはチェーン推論で統一的に理解・説明できます。本記事では、チェーン推論の最も基本的かつ重要な2つの概念、強リンクと弱リンクを深く探求します。
チェーンとは?
数独において、チェーン(Chain)とは、候補数間で特定の論理関係を通じて形成される接続の連鎖です。想像してみてください:候補数間で「Aが真ならBは真/偽」という推論関係を確立し、これらの関係を連結すると、チェーンが形成されます。
チェーンの本質は論理伝播です:ある出発点から一連の論理推論を経て、ある結論に到達します。この結論は通常、以下の目的で使用されます:
- ある候補数が真でなければならないことを確定する(確定値)
- ある候補数が偽でなければならないことを確定する(候補数の排除)
チェーンを理解するには、まずチェーンを構成する基本単位であるリンク(Link)を理解する必要があります。リンクは2つの候補数間の論理関係を記述し、関係の強度に基づいて強リンクと弱リンクに分類されます。
強リンク(Strong Link)
2つの候補数AとBの間に強リンクが存在するのは、次の条件を満たす場合のみです:AとBのちょうど一方が真で、もう一方が偽。
言い換えると、Aが偽ならBは必ず真、Aが真ならBは必ず偽(相互排他的かつ完全)。
表記法:A = B または A ═══ B(二重線)
強リンクの源
強リンクは以下の状況から生じます:
1. 2値セル内の強リンク(Bi-value Cell)
セルに2つの候補数しかない場合、これら2つの候補数間に強リンクが存在します。
論理:4が偽なら、そのセルは7でなければならない。7が偽なら、そのセルは4でなければならない。
2値セルは最も一般的な強リンクの源です。直感的に明らかだからです:セルにはこの数字かあの数字のどちらかが入ります。
2. 共役ペアによる強リンク(Conjugate Pair)
ある数字がユニット(行、列、またはボックス)内で2つの位置にのみ出現する場合、これら2つの位置のその候補数間に強リンクが存在します。この関係を共役ペアと呼びます。
論理:5行目には3が必要です。R5C2が3でないなら、R5C8は3でなければならない。逆も同様です。
共役ペア強リンクの両端は異なる位置の同じ数字であり、同じ位置の異なる数字ではありません。これは2値セル内の強リンクとは本質的に異なります。
3. グループ強リンク(Grouped Strong Link)
より広義には、候補数のグループと別のグループの間で「ちょうど一方のグループが真」の関係を満たす場合、強リンクが存在します。これは上級テクニックで扱われ、本シリーズの第3記事で詳しく議論します。
強リンクの核心的性質
- ちょうど一方が真:強リンクの両端のちょうど一方が真で、もう一方が偽
- 偽は真を伝播:一方が偽なら、もう一方は必ず真
- 真は偽を伝播:一方が真なら、もう一方は必ず偽
弱リンク(Weak Link)
2つの候補数AとBの間に弱リンクが存在するのは、次の条件を満たす場合のみです:Aが真ならBは必ず偽。
言い換えると、AとBの最大で一方が真(両方偽の可能性はあるが、両方真は不可能)。
表記法:A - B または A ─── B(単線)
弱リンクの源
弱リンクも複数の源があります:
1. 同一セル内の異なる候補数間の弱リンク
同一セル内では、任意の2つの異なる候補数間に弱リンクが存在します。
論理:セルには1つの数字しか入れられない。1を入れたら、5にはなれない。
2. 同一ユニット内の同じ候補数間の弱リンク
同一ユニット(行、列、またはボックス)内では、同じ候補数のすべての位置間にペアワイズの弱リンクが存在します。
論理:ボックス内で同じ数字は1回しか出現できない。R1C7が6なら、R2C8とR3C9は6になれない。
強リンクに比べて、弱リンクはより遍在しています。実際、数独の基本ルール(行、列、ボックス内で数字は重複しない;1セルに1数字)は、本質的に大量の弱リンク関係を定義しています。
弱リンクの核心的性質
- 最大で一方が真:弱リンクの両端の最大で一方が真
- 真は偽を伝播:一方が真なら、もう一方は必ず偽
- 両方偽の可能性:両端が同時に偽になることができる(強リンクとは異なる!)
強リンクと弱リンクの比較
強リンクと弱リンクの違いを理解することは、チェーン推論をマスターする鍵です。比較表でまとめてみましょう:
| 特性 | 強リンク (Strong Link) | 弱リンク (Weak Link) |
|---|---|---|
| 核心的性質 | ちょうど一方が真、一方が偽 | 最大で一方が真 |
| 論理伝播 | 偽 → 真、真 → 偽 | 真 → 偽 |
| 両方真は可能か | ✗ いいえ | ✗ いいえ |
| 両方偽は可能か | ✗ いいえ | ✓ はい |
| 表記法 | ═══(二重線)または = | ───(単線)または - |
| 一般的な源 | 2値セル、共役ペア | 同一セル異数字、同一ユニット同数字 |
特別なケース:強リンクは弱リンクでもある
ここで重要な概念を理解する必要があります:強リンクは多くの場合、弱リンクでもある。
強リンクの観点:4が偽なら、7は必ず真 → 強リンクが存在
弱リンクの観点:4が真なら、7は必ず偽 → 弱リンクも存在
結論:これら2つの候補数間には強リンクと弱リンクの両方がある!
強リンクの観点:R5C2の3が偽なら、R5C8の3は必ず真 → 強リンクが存在
弱リンクの観点:R5C2の3が真なら、R5C8の3は必ず偽(同じ行に2つの3は不可)→ 弱リンクも存在
結論:共役ペアも強リンクと弱リンクの両条件を満たす!
2つの候補数間が「ちょうど一方が真、一方が偽」の関係(両方真は不可能、両方偽も不可能)を満たす場合、それらは強リンクと弱リンクの両方を持つ。これは最も「強い」リンク関係であり、チェーン構築において非常に有用です。
記憶のコツ:2値セルと共役ペアは、常に強リンクと弱リンクの両方を持つ。
「見える」の概念
チェーン推論では、「見える」(see)という概念がよく使われます。「見える」を理解することは、リンク関係を識別するために重要です。
候補数Aが候補数Bを「見る」とは、AとBの間に弱リンクがあることを意味します。
Aが真なら、Bは必ず偽——つまりAはBを「排除」できます。
「見える」関係は以下の間に存在します:
- 同一セル内の異なる候補数間
- 同一行内の同じ候補数間
- 同一列内の同じ候補数間
- 同一ボックス内の同じ候補数間
この概念は、チェーンの応用を議論する際に頻繁に使用されます。例えば「両端から見える候補数は排除できる」など。
なぜ強リンクと弱リンクの区別が重要なのか?
強リンクと弱リンクの区別は、チェーン推論の礎石です。その違いは以下を決定します:
強リンクは「偽」から「真」を推論できる;弱リンクは「真」から「偽」を推論できる。チェーン推論は、これら2つの異なる伝播方向を利用して複雑な論理推論を構築します。
チェーンを構築する際、各ステップが強リンクか弱リンクかを正しく識別しなければ、推論の正確性を保証できません。弱リンクを強リンクとして誤って使用すると、誤った結論につながります。
一見異なるテクニック(X-Wing、Skyscraper、XY-Wingなど)は、本質的に特定のパターンのチェーンです。強リンクと弱リンクを理解すれば、これらのテクニックを統一されたフレームワークで理解できます。
次のステップ
本記事では、チェーン推論の最も基本的な2つの概念、強リンクと弱リンクを紹介しました。これらの概念を理解した後、それらを組み合わせて完全なチェーンを構築する方法を学び始めることができます。
次の記事では、以下を議論します:
- 強リンクと弱リンクを交互に使用してチェーンを構築する方法
- チェーンにおける真/偽状態の伝播ルール
- チェーン推論の「着色」アプローチ
- チェーンの両端から結論を導く方法
- 数独用語集 - 本記事で使用される用語のクイックリファレンス
- XY-Wingテクニック - チェーン推論の実践的応用
- XY-Chainテクニック - 2値セルチェーンの拡張応用