Hadoopを使ってSudokuを解決するには?
Hadoop
にはテスト目的のjarファイルの例があります。このjarファイルには、スドク問題を解決するための例があります。
1.入力ファイル
この例を使用するには、スドク問題の入力ファイルを作成する必要があります。このファイルでは、各スドクセルはセパレータとして空白を持つ数字または ‘?’のいずれかになります。これと同じように:
ファイル:puzzle1.dta
8 5 ? 3 9 ? ? ? ? ? ? 2 ? ? ? ? ? ? ? ? 6 ? 1 ? ? ? 2 ? ? 4 ? ? 3 ? 5 9 ? ? 8 9 ? 1 4 ? ? 3 2 ? 4 ? ? 8 ? ? 9 ? ? ? 8 ? 5 ? ? ? ? ? ? ? ? 2 ? ? ? ? ? ? 4 5 ? 7 8
この “puzzle1.dta”ファイルはHadoopディレクトリにあります:
hadoop-0.20.2/src/examples/org/apache/hadoop/examples/dancing/puzzle1.dta
または
hadoop-2.0.0-alpha-/src/hadoop-mapreduce-project/hadoop-mapreduce-examples/ src/main/java/org/apache/hadoop/examples/dancing/puzzle1.dta
2. Hadoopの部分
この入力ファイルをローカルディレクトリに保存する必要があります。そして、この入力をhadoopのサンプルjarに与えます。 hadoopを起動し、次のコマンドを実行します。
$hadoop-directory/bin/hadoop jar hadoop-examples-version.jar sudoku puzzle1.dta Solving puzzle1.dta 8 5 1 3 9 2 6 4 7 4 3 2 6 7 8 1 9 5 7 9 6 5 1 4 3 8 2 6 1 4 8 2 3 7 5 9 5 7 8 9 6 1 4 2 3 3 2 9 4 5 7 8 1 6 9 4 7 2 8 6 5 3 1 1 8 5 7 3 9 2 6 4 2 6 3 1 4 5 9 7 8 Found 1 solutions
Hadoopは、数秒でパズルのすべての可能な解決策を提供します(複数の回答がある場合は時間が長くなります)。
ご質問がある場合は、私にコメントを書くことができます…