2017-04-25 3 views
0

私は400 * 400グリッドサイズのSudokuを解決するJavaプロジェクトに取り組んでいます。私はそれを解決するためにバックトラック再帰を使用しましたが、それは私に複雑さの解決策を与えていません。このタイプのSudokuグリッドで動作する他のアルゴリズムがあるかどうかは疑問です。助けてください。数独パズルグリッドサイズを解決する方法400 * 400 Javaを使用する

+0

https://bob-carpenter.github.io/games/sudoku/java_sudoku.html – NBaua

+0

は、 "検索エンジン" のことをやってみましたか?好き。 http://stackoverflow.com/questions/36037919/heuristic-function-for-applying-a-sudokuまたはhttps://en.wikipedia.org/wiki/Sudoku_solving_algorithms – GhostCat

+1

数独はNP完全です。あなたは妥当な時間内に絶対に特定の解決策を得ることはできませんが、ヒューリスティックな解決策を探すことはできます。 – RealSkeptic

答えて

0

@RealSkepticがコメントで指摘したように。数独はNP完全です。これは、時間の入力サイズに依存して、多項式の範囲内でインスタンスをチェックできることを意味します。私はあなたの質問をマルチスレッドでタグ付けして以来、私は以下の分解を提案しています。

  • チェック各候補
    1. 生成し、適切な候補解は、すべての意図や目的のために高速に行うことができます。一つは挑戦です。

      私は、各セルが持つことができるオプションの数を減らすために[constaint programming] [1]の何らかの形を試みます。次に、各状況を試すためにプロセスをハッシュアウトし、基本的にはバックトラックをパラレルにします。

      [1] https://en.wikipedia.org/wiki/Constraint_programming

    関連する問題