強制網

關卡12 · 黑帶

策略:

強制

概述

ForcingNet透過同時追蹤每個候選數的所有推論來擴展強制鏈,而不僅僅是單條鏈。這會建立一個分支推論網路,能夠發現更深層的矛盾和共同結果。

運作原理

  1. 找到一個有多個候選數的單元格。2.依次假設每個候選數,並追蹤所有由此產生的推論(而不僅僅是一條鏈)。3.如果某個假設導致矛盾(不可能的狀態),則排除該候選數。4.如果所有假設都得出相同結論,則該結論成立。

範例

起始位置

尋找強制網。

1

對r1c1的每個候選數進行分支

單元格r1c1有3個候選數:{1, 3, 9}。

2

假設r1c1是1

假設r1c1=1,並沿網路追蹤所有推論。

3

此分支導致矛盾

此假設導致矛盾,因此該分支不可能。

4

從r1c1中排除1

所以1導致矛盾,可以從r1c1中排除。

5

結果

套用技巧後的結果。

技巧與規律

  • ForcingNets比強制鏈更強大,因為它們追蹤每一個推論,而不僅僅是一條路徑。它們的運算成本很高,通常是窮舉前的最後手段。分支特性使它們難以手工追蹤。