這個問題好!

回答: 什麽叫難?jinjing2011-10-22 21:37:28

沒有統一的確定算法來確定“難度”。一般采用所使用邏輯的複雜程度,(計算時間,等等)比如說,一個swordfish 比一個x-wing難(算法類似,參數大一級),但是沒有x-y wing難(算法不同)。但是大家公認某些邏輯的算法比另一些要難。因為sudoku explainer 可以解決所有已知的數獨,所以大家以它作為難度參考。它大致使用解題中使用的“最複雜的”邏輯算法來確定難度。不一定百分之百的可靠,(比如說,人們有時發現,在一個數獨上增加一個線索,sudoku explainer 報告難度上升!但是這很少見。)其他類似的、基於邏輯的程序並不一定認可我所引用的例子是前三名,但是,它們都會認可這三個例子的確有頂級難度!

當然,你可以用一個基於backtracking的算法使用的回溯的次數來確定某個數獨的難度,往往會得到17線索數獨有較大的回溯次數。不過,因為數獨迷們認為回溯是猜測,不是邏輯解法,並不認可。的確,這四萬多個17線索數獨從邏輯算法角度來說並不難。

所有跟帖: 

回複:這個問題好! -jinjing- 給 jinjing 發送悄悄話 (183 bytes) () 10/23/2011 postreply 10:50:21

請您先登陸,再發跟帖!