數獨中的劍魚技巧
劍魚(Swordfish)把X-Wing的魚形邏輯擴展到3個基準單位與3個覆蓋單位,利用同一候選數的位置關係進行排除。
什麼是劍魚?
以行型劍魚為例,同一候選數在3行中的所有位置都限制在相同3列內。每行可有2個或3個位置,確認後可從這3列的其他格子刪除候選數。
候選數5的範例
第2行位於C2/C6,第5行位於C2/C9,第8行位於C6/C9,所有位置都落在C2、C6、C9。
為什麼劍魚成立?
3個基準行都需要各放入一個目標數字,而所有可能位置都限制在3個覆蓋列中。因此這3個數字必然占用3列的交點,覆蓋列的其他格子不能再填入該數字。
基準單位與覆蓋單位
主動選擇比較的3行稱為基準單位,承載所有候選位置的3列稱為覆蓋單位。列型劍魚則交換兩者。圖形不必對稱,每個基準單位可包含2個或3個位置,重點是候選位置的聯集正好只使用3個覆蓋單位。
行型與列型
行型劍魚從3行出發並在3列中排除;列型從3列出發並在3行中排除。可優先選擇候選位置較少的方向,若行型不明顯就切換到列型檢查。
實戰檢查
先標記候選數只出現2次或3次的單位,再比較3個單位使用的覆蓋位置。一旦需要第4個覆蓋單位,就不是標準劍魚。最後還要確認模式外確實存在可刪除的候選數。
常見誤區
每行不必都有3個候選位置,但整體不能占用4列,也不要刪除構成劍魚的候選數。
與其他魚形技巧的關係
X-Wing、劍魚與Jellyfish使用相同的魚形邏輯,分別涉及2組、3組與4組基準單位及覆蓋單位。實戰中應先檢查單數、數對和X-Wing;當同一候選數在多行或多列都只剩少量位置時,再尋找劍魚會更有效率。
確認清單
- 整個圖形追蹤的是同一個候選數。
- 有3個基準單位,而且聯集正好落在3個覆蓋單位。
- 只刪除覆蓋單位內、基準單位外的候選數。
- 完成排除後,重新檢查單數、數對與區塊互動。
不必猜測3個交點中哪一格會填入目標數字。劍魚的重點是候選位置已被鎖定在3個覆蓋單位,因此無論3個數字最後如何排列,基準單位以外的相同候選數都不可能成立。若圖形沒有產生任何實際排除,它雖可能符合結構,卻暫時無法推進盤面。
常見問題
什麼是數獨中的劍魚?
當同一候選數在3行中只分布於相同的3列內時,就可能形成行型劍魚;交換行列可得到列型劍魚。
劍魚和X-Wing有什麼不同?
X-Wing使用2個基準單位和2個覆蓋單位,劍魚把相同邏輯擴展到3個基準單位和3個覆蓋單位。
確認劍魚後可刪除哪些候選數?
行型劍魚從3個覆蓋列的其他格子刪除目標候選數;列型則從3個覆蓋行刪除。
