【チェーン推論③】応用編:パターン分類と高度な構造
前の2つの記事では、強リンクと弱リンクの概念およびチェーンの構築と伝播ルールを学びました。本記事では、チェーン推論の様々な応用パターンを体系的に紹介し、統一的なチェーンフレームワークで様々な具体的なテクニックを理解する方法を示します。
形態による分類:オープンチェーンとクローズドチェーン
チェーンの始点と終点が接続されているかどうかに基づき、チェーンはオープンチェーンとクローズドチェーン(ループ)に分類できます。
オープンチェーン(Open Chain)
- チェーンには明確な始点と終点がある
- 始点と終点は接続されていない
- 結論は始点と終点の関係に基づく
オープンチェーンは最も一般的なチェーン構造です。チェーンの両端に弱リンク関係(互いに見える)が存在する場合、候補数字を除外できます。
A ═ B - C ═ D - E ═ FAとFが互いに見える(弱リンクが存在する)場合、AとFのうち少なくとも一方が真であり、AとF両方を同時に見ることができる他の同じ数字の候補を除外できます。
クローズドチェーン/ループ(Closed Chain / Loop)
- チェーンの終点が始点に戻り、ループを形成
- 特定の候補数字の真偽を直接決定するために使用可能
- ループの奇偶性が結論のタイプを決定
クローズドチェーンは、その構造に基づいて連続ループ(Nice Loop)と不連続ループ(Discontinuous Loop)に分類できます。
ループ上のすべてのノードは2つの色グループに分けられ、同色は同じ真偽、異色は反対。
矛盾点の候補数字は真または偽と確定できます。
内容による分類:シングルディジットチェーンとバイバリューチェーン
チェーン上の候補数字のタイプに基づき、チェーンはシングルディジットチェーンとバイバリューチェーンに分類できます。
シングルディジットチェーン(Single-digit Chain)
チェーン上のすべてのノードが同じ数字の候補です。リンクは共役ペア(同じユニット内でその数字がある位置が2つだけ)から生じます。
- 1つの数字の異なる位置間の関係のみを追跡
- 強リンクは共役ペアから生じる
- 弱リンクは同じユニット内の他の位置から生じる
- 代表的なテクニック:X-Wing、Skyscraper、X-Chain
バイバリューチェーン(Bi-value Chain / XY-Chain)
チェーン上のすべてのノードがバイバリューセル(候補数字が2つだけのセル)から来ています。リンクは異なる数字間で転換されます。
- すべてのノードがバイバリューセルから来る
- セル内の2つの候補数字が強リンクを形成
- 隣接セルが1つの候補数字を共有して弱リンクを形成
- 代表的なテクニック:XY-Wing、XY-Chain、Remote Pairs
XY-Chainは純粋なバイバリューセルで構成される交互チェーンです。例えば:
R1C1{3,5}(5) - R1C4{5,7}(7) - R3C4{7,9}(9) - R3C8{4,9}(4)始点は3、終点は4で、始点と終点の両方を見ることができる候補数字3と4を除外できます。
混合チェーン(Mixed Chain / AIC)
チェーン上にシングルディジットチェーンノードとバイバリューチェーンノードの両方が含まれます。これは最も汎用的なチェーン構造です。
- 様々なリンクソースを柔軟に組み合わせ
- シングルディジットノードとバイバリューノード間で自由に転換可能
- 最も強力な表現力を持ち、より多くの除外を発見できる
- 代表的なテクニック:AIC(Alternating Inference Chain)
グループリンク(Grouped Links)
グループリンクは、複数の候補数字を1つの全体としてチェーンの推論に参加させます。これによりチェーンテクニックの適用範囲が大幅に拡大されます。
ある数字があるユニット(行/列/ブロック)内のすべての候補位置が別のユニットの交差領域に集中している場合、これらの位置は「グループ」として扱うことができます。
例:ブロック1の数字5が第1行の3つの位置にのみ現れる場合、これら3つの位置をグループとしてチェーンに参加させることができます。
グループ強リンク
グループと別の候補数字/グループの間に「ちょうど1つが真」という関係が成立する場合、グループ強リンクが存在します。
第1行の他の位置(ブロック2とブロック3)の数字5はR1C8の1つの位置にのみあり、これを単一点Bとします。
グループAとBの間に強リンクが存在:第1行には必ず1つの5があり、グループA(ブロック1)またはB(R1C8)のいずれか。
グループ弱リンク
グループと別の候補数字/グループが同じユニット内にある場合、それらの間にグループ弱リンクが存在します。
不連続ループ(Discontinuous Loop)
不連続ループは特殊なクローズドチェーンで、あるノードで「不連続」が発生します—すなわち、そのノードの2つの隣接リンクが同じタイプ(両方とも強リンクまたは両方とも弱リンク)です。
- Type 1(2つの強リンクが連続):不連続点の候補数字は必ず偽
- Type 2(2つの弱リンクが連続):不連続点の候補数字は必ず真
Type 1:2つの強リンクが連続
A ═ B - C ═ D - ... ═ A(始点に戻るときは強リンク)Aが偽と仮定:
→ ループの伝播を経て → Aが真(矛盾!)
Aが真と仮定:
→ 最後の強リンクのもう一端(Xとする)は真でも偽でも可 → 矛盾なし
しかし、Xから「偽」を追跡すると:
X偽 → A真(強リンク)→ ... → X真
これはXが偽になれないことを示しているので、Xは真、したがってAは偽。
結論:不連続点Aは必ず偽。
Type 2:2つの弱リンクが連続
A - B ═ C - D ═ ... - A(始点に戻るときは弱リンク)Aが真と仮定:
→ ループの伝播を経て → Aが偽(矛盾!)
結論:不連続点Aは必ず偽...待って、これは正しくない?
実際には、Type 2についてはより慎重に分析する必要があります。正しい結論は:
「真」をAから追跡して最終的にAに戻り、Aが偽であることを要求すると、これが矛盾を生じます。
結論:不連続点Aは必ず真。
一般的なテクニックのチェーン理解
一見異なる多くの数独テクニックは、すべてチェーン推論のフレームワークで統一的に理解できます。
| テクニック名 | チェーンによる説明 | チェーンの特徴 |
|---|---|---|
| X-Wing | 4ノードシングルディジットチェーンループ | 2行2列の共役ペアが長方形を形成 |
| Skyscraper | 4ノードシングルディジットチェーンオープンチェーン | 2つの共役ペアが一端を共有 |
| 2-String Kite | 4ノードシングルディジットチェーンオープンチェーン | 行列の共役ペアがブロックを通じて接続 |
| XY-Wing | 3ノードバイバリューチェーン | 軸が2つの翼を接続 |
| XY-Chain | 複数ノードバイバリューチェーン | 純粋なバイバリューセルチェーン |
| Remote Pairs | 偶数ノードバイバリューチェーン | 同じ候補数字のバイバリューセルチェーン |
| W-Wing | 混合チェーン | バイバリューセルが共役ペアを通じて接続 |
| AIC | 汎用混合チェーン | 任意の組み合わせの交互チェーン |
チェーンテクニックの選択戦略
実際の問題解決において、適切なチェーンテクニックをどのように選択するか?以下はいくつかの提案です:
共役ペア推論、Skyscraperなどのシンプルなテクニックから始め、その後複雑なAICを試みます。
バイバリューセルはチェーンを構築するための優れた材料です。バイバリューセルが多い場合は、XY-WingとXY-Chainを優先的に検討します。
除外が難しい数字について、各ユニットで共役ペアを形成しているかどうかを確認すると、シングルディジットチェーンを発見できる可能性があります。
特定の候補数字を除外したい場合、両端がその候補数字を「見る」ことができるチェーンの構築を試みます。
チェーン推論の価値
チェーン推論理論を学ぶ価値は、より多くの高度なテクニックを使用できるだけでなく、さらに重要なのは:
- 統一的な理解:1つのフレームワークで多数の具体的なテクニックを理解
- 柔軟な適用:固定パターンに縛られず、状況に応じて柔軟にチェーンを構築
- 新しいチェーンの発見:特定のパターンの記憶に依存せず、原理を理解した後に自分で発見
- 数独の深い理解:論理の本質から候補数字間の関係を理解
まとめ
これら3つの記事を通じて、チェーン推論の理論的基礎を体系的に学びました:
- 第1回:強リンクと弱リンクの定義、ソース、性質
- 第2回:チェーンの構築ルール、伝播ロジック、着色の考え方
- 第3回:チェーンの分類、応用パターン、一般的なテクニックの統一的な理解
これらの理論を習得すれば、様々なチェーンテクニックを理解し発見する能力を持つことになります。実践で継続的に適用し定着させることで、チェーン推論は複雑な数独を解決するための強力な武器となるでしょう。
数独ゲームを開始して、チェーン思考で候補数字の関係を分析してみましょう!困難に遭遇したときは、次のように考えてください:
- どこにバイバリューセルがありますか?それらはチェーンを形成できますか?
- ある数字がどのユニットで共役ペアを形成していますか?
- 除外したい候補数字を両端が同時に見ることができるチェーンを見つけられますか?