強制網
關卡12 · 黑帶
策略:
強制概述
ForcingNet透過同時追蹤每個候選數的所有推論來擴展強制鏈,而不僅僅是單條鏈。這會建立一個分支推論網路,能夠發現更深層的矛盾和共同結果。
運作原理
- 找到一個有多個候選數的單元格。2.依次假設每個候選數,並追蹤所有由此產生的推論(而不僅僅是一條鏈)。3.如果某個假設導致矛盾(不可能的狀態),則排除該候選數。4.如果所有假設都得出相同結論,則該結論成立。
範例
起始位置
尋找強制網。
1
對r1c1的每個候選數進行分支
單元格r1c1有3個候選數:{1, 3, 9}。
2
假設r1c1是1
假設r1c1=1,並沿網路追蹤所有推論。
3
此分支導致矛盾
此假設導致矛盾,因此該分支不可能。
4
從r1c1中排除1
所以1導致矛盾,可以從r1c1中排除。
5
結果
套用技巧後的結果。
技巧與規律
- ForcingNets比強制鏈更強大,因為它們追蹤每一個推論,而不僅僅是一條路徑。它們的運算成本很高,通常是窮舉前的最後手段。分支特性使它們難以手工追蹤。