<a href="http://d.hatena.ne.jp/k3c/20070224/p2">数独解法ツール</a>の続き

一晩考えたが結局、超難問を解くロジックは見つからなかったので、別のアプローチ。

総当りメソッド(w

ボードスイープとエリアスイープを繰り返して、変化がなくなった時点で、空マスに入る候補の数字はかなり絞り込まれている。中には2つの数字のうちどちらか、というマスもある。そこで、

  • 2つの候補があるマス
  • 3つの候補があるマス
  • 4つの候補があるマス

というように候補数の少ないマスから順番に、全ての候補を実際に入れてみて、改めてその状態からボードスイープ、エリアスイープをやる。ダメだったら次の候補。という「総当りメソッド」を導入。
一応手元に用意した問題は全て解けた。やったぜママン(誰
あとはコーディング中に仕掛けたデバッグ出力を整備して、monotoneのレポジトリに入れておしまい。Pentium MMX 133Mhz(激遅)でも「超難問」を数秒で解けるから、まあ、そこそこの能力なんじゃないでしょうか。(自画自賛