解題技巧

【鏈式推理①】基礎篇:強連結与弱連結

2025-06-06 · 12 分鐘閱讀
知識庫 / 技巧目錄 / 鏈式推理基礎

鏈式推理(Chain)是數獨高級技巧的核心理论框架。幾乎所有的高級排除技巧——從簡單的X-Wing到複雜的AICs——都可以用鏈式推理来統一理解和描述。本文将深入探討鏈式推理最基礎也最重要的兩個概念:強連結弱連結

鏈式推理系列 (1/3)
① 基礎篇(當前) ② 构建篇 → ③ 應用篇
建議按順序閱讀,本系列共3篇文章
鏈式推理概念图
鏈式推理核心概念:強連結保证"恰好一真一假",弱連結保证"至多一個為真"

什么是鏈?

在數獨中,(Chain)是候選數之间通過某种逻辑關係形成的连接序列。想象一下:如果我们能在候選數之间建立"如果A為真,则B為真/假"這样的推理關係,並将這些關係串联起来,就形成了鏈。

鏈的本质是逻辑传递:從一個起点出发,通過一系列的逻辑推斷,得出某個结论。這個结论通常用於:

  • 確定某個候選數必须為真(確定填入值)
  • 確定某個候選數必须為假(排除候選數)

要理解鏈,我们必须首先理解构成鏈的基本單元:連結(Link)。連結描述的是兩個候選數之间的逻辑關係,根据關係的強度分為強連結和弱連結。

強連結(Strong Link)

強連結的定義:
兩個候選數A和B之间存在強連結,当且仅当:A和B恰好一個為真,一個為假
换言之,如果A為假则B必為真,如果A為真则B必為假(互斥且完备)。
記法:A = B 或 A ═══ B(雙線表示)
強連結類型示意圖
強連結的三种常见來源:雙值格、共軛對、組合強連結

強連結的來源

強連結可以来自以下几种情況:

1. 雙值格内的強連結(Bi-value Cell)

当一個格子只有兩個候選數时,這兩個候選數之间存在強連結。

格子R3C5只有候選數{4, 7}。那么R3C5的候選數4和候選數7之间存在強連結。
逻辑:如果4為假,该格子必须是7;如果7為假,该格子必须是4。

雙值格是最常见的強連結來源,因為它直观明了:格子要么填這個数,要么填那個数。

2. 共軛對形成的強連結(Conjugate Pair)

当某個数字在一個單元(行、列或宫)内只出现在兩個位置时,這兩個位置的该候選數之间存在強連結。這种關係稱為共軛對

在第5行,候選數3只出现在R5C2和R5C8兩個位置。那么"R5C2的3"和"R5C8的3"之间存在強連結。
逻辑:第5行必须有一個3。如果R5C2不是3,R5C8必须是3;反之亦然。
关键理解:
共軛對強連結的兩端是同一個数字在不同位置,而不是同一位置的不同数字。這与雙值格内的強連結有本质区别。

3. 分組強連結(Grouped Strong Link)

更广泛地說,当一组候選數与另一组候選數之间满足"恰好一组為真"的關係时,就存在強連結。這在高級技巧中会涉及,本系列第三篇将詳細討論。

強連結的核心性質

重要性質:
  • 恰好一真:強連結的兩端恰好一個為真,一個為假
  • 假传真:如果一端為假,另一端必為真
  • 真传假:如果一端為真,另一端必為假

弱連結(Weak Link)

弱連結的定義:
兩個候選數A和B之间存在弱連結,当且仅当:如果A為真,则B必定為假
换言之,A和B至多有一個為真(可能都為假,但不可能都為真)。
記法:A - B 或 A ─── B(单线表示)
弱連結類型示意圖
弱連結的兩种常见來源:同格不同数、同單元同数

弱連結的來源

弱連結同樣有多种來源:

1. 同一格子内不同候選數之间的弱連結

在同一個格子内,任意兩個不同的候選數之间都存在弱連結。

格子R2C4有候選數{1, 5, 8}。那么這個格子的候選數1和候選數5之间存在弱連結。
逻辑:一個格子只能填一個数。如果填了1,就不可能是5。

2. 同單元内相同候選數之间的弱連結

在同一個單元(行、列或宫)内,同一個数字的所有候选位置之间兩兩存在弱連結。

在宫3中,候選數6出现在R1C7、R2C8、R3C9三個位置。這三個位置的候選數6之间兩兩存在弱連結。
逻辑:一個宫内同一数字只能出现一次。如果R1C7是6,则R2C8和R3C9都不能是6。
弱連結无处不在:
相比強連結,弱連結更加普遍。实际上,數獨的基本規則(行、列、宫内数字不重複;一格只填一数)本质上就是定義了大量的弱連結關係。

弱連結的核心性質

重要性質:
  • 至多一真:弱連結的兩端至多有一個為真
  • 真传假:如果一端為真,另一端必為假
  • 可能共假:兩端可以同时為假(這点与強連結不同!)

強連結与弱連結的對比

理解強連結和弱連結的区别是掌握鏈式推理的关键。让我们通過一個對比表格来總結:

特性 強連結 (Strong Link) 弱連結 (Weak Link)
核心性質 恰好一真一假 至多一個為真
逻辑传递 假 → 真,真 → 假 真 → 假
可否同真 ✗ 不可以 ✗ 不可以
可否同假 ✗ 不可以 ✓ 可以
记号 ═══(雙線)或 = ───(单线)或 -
常见來源 雙值格、共軛對 同格异数、同單元同数

強連結的特殊情況:同时也是弱連結

這裡有一個重要的概念需要理解:強連結往往同时也是弱連結

雙值格R3C5只有候選數{4, 7}。
強連結角度:如果4為假,7必為真 → 存在強連結
弱連結角度:如果4為真,7必為假 → 也存在弱連結
结论:這兩個候選數之间既是強連結也是弱連結!
第5行候選數3只出现在R5C2和R5C8兩個位置(共軛對)。
強連結角度:如果R5C2的3為假,R5C8的3必為真 → 存在強連結
弱連結角度:如果R5C2的3為真,R5C8的3必為假(同行不能有兩個3)→ 也存在弱連結
结论:共軛對也同时满足強弱兩种連結!
核心理解:
当兩個候選數之间恰好满足"一真一假"的關係(即不可能同真,也不可能同假)时,它们之间既是強連結也是弱連結。這种關係是最"強"的連結關係,在鏈的构建中非常有用。

记忆口诀:雙值格和共軛對,強弱兩相随。

"看到"的概念

在鏈式推理中,经常会用到"看到"(see)這個概念。理解"看到"對於识别連結關係至关重要。

"看到"的定義:
候選數A"看到"候選數B,意味著A和B之间存在弱連結
如果A為真,则B必為假——即A能"排除"B。

"看到"關係存在於:

  • 同一格子的不同候選數之间
  • 同一行中相同候選數之间
  • 同一列中相同候選數之间
  • 同一宫中相同候選數之间

這個概念在後續討論鏈的應用时会頻繁使用,比如"兩端能同时看到的候選數可以被排除"。

為什么區分強弱連結如此重要?

強連結和弱連結的區分是鏈式推理的基石。它们的区别決定了:

1 推理方向不同:
強連結允许從"假"推出"真";弱連結允许從"真"推出"假"。鏈式推理正是利用這兩种不同的传递方向来构建複雜的逻辑推导。
2 鏈的有效性判定:
在构建鏈时,必须正确识别每一步是強連結還是弱連結,才能保证推理的正确性。錯誤地把弱連結当作強連結使用,会导致錯誤的结论。
3 不同技巧的統一理解:
许多看似不同的技巧(如X-Wing、Skyscraper、XY-Wing等)本质上都是特定模式的鏈。理解了強弱連結,就能用統一的框架理解這些技巧。

下一步

本文介绍了鏈式推理最基礎的兩個概念:強連結和弱連結。理解了這兩個概念後,我们就可以開始學習如何将它们組合起来构建完整的鏈。

下一篇文章中,我们将討論:

  • 如何交替使用強連結和弱連結构建鏈
  • 鏈的真假状态传递規則
  • 鏈式推理的"着色"思想
  • 從鏈的兩端得出结论的方法
相关閱讀: