*COLOR(blue){SIZE(30){Rで数独}} [#tb7b8c0b]

*数独とは [#vae77441]
 [[数独:http://www.nikoli.co.jp/puzzles/1/]]とは新聞((朝日の土曜版等))や週刊誌でよく見かける n X n (n は完全平方で、通常は 9 が使用されている)個の数字を n 個からなるブロック(nの平方根 X nの平方根:n=9であれば、3 X 3)に分割したパズル。別名ナンプレ。イギリスなど、欧米でも人気を博しており、2006年には第1回の世界選手権が開催された。その結果として、この sudoku パッケージが生まれたのであろう。

 COLOR(red){2.0が出ました、大幅に変更され、GUIやヒントを与える関数が追加されました。}


*パッケージのロード [#i8285f3b]
 CRANよりsudokuパッケージを入手し、ロードする。

 library(sudoku)

*数独パズルを解く [#h8096303]

 sudoku(数独パズルのファイルまたは配列)

 数独パズルのサンプルファイル"puz1.txt"。'-'は空白(虫食い)を表す。

 -6-1-4-5-
 --83-56--
 2-------1
 8--4-7--6
 --6---3--
 7--9-1--4
 5-------2
 --72-69--
 -4-5-8-7-

 これは表にすると、以下のようになる。

||6||1||4||5||
|||8|3||5|6|||
|2||||||||1|
|8|||4||7|||6|
|||6||||3|||
|7|||9||1|||4|
|5||||||||2|
|||7|2||6|9|||
||4||5||8||7||

 さてこのパズルを以下のコマンドを実行して解いてみよう。

 sudoku("puz1.txt", dir=system.file(package="sudoku"))

 実行結果は以下のとおり。

      [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9]
 [1,]    9    6    3    1    7    4    2    5    8
 [2,]    1    7    8    3    2    5    6    4    9
 [3,]    2    5    4    6    8    9    7    3    1
 [4,]    8    2    1    4    3    7    5    9    6
 [5,]    4    9    6    8    5    2    3    1    7
 [6,]    7    3    5    9    6    1    8    2    4
 [7,]    5    8    9    7    1    3    4    6    2
 [8,]    3    1    7    2    4    6    9    8    5
 [9,]    6    4    2    5    9    8    1    7    3

 表にすると

|COLOR(red){9}|6|COLOR(red){3}|1|COLOR(red){7}|4|COLOR(red){2}|5|COLOR(red){8}|
|COLOR(red){1}|COLOR(red){7}|8|3|COLOR(red){2}|5|6|COLOR(red){4}|COLOR(red){9}|
|2|COLOR(red){5}|COLOR(red){4}|COLOR(red){6}|COLOR(red){8}|COLOR(red){9}|COLOR(red){7}|COLOR(red){3}|1|
|8|COLOR(red){2}|COLOR(red){1}|4|COLOR(red){3}|7|COLOR(red){5}|COLOR(red){9}|6|
|COLOR(red){4}|COLOR(red){9}|6|COLOR(red){8}|COLOR(red){5}|COLOR(red){2}|3|COLOR(red){1}|COLOR(red){7}|
|7|||9||1|||4|
|5||||||||2|
|||7|2||6|9|||
||4||5||8||7||

 赤字は答え。

*[[A new Sudoku Solver in R. Part 1:http://hernanresnizky.wordpress.com/2013/06/04/a-new-sudoku-solver-in-r-part-1/]] [#v6e5cbd6]

*[[Sudoku Automation Solver Challenge - R:http://www.econometricsbysimulation.com/2013/06/sudoku-automation-solver-challenge-r.html]] [#t19659a9]

*数独パズル解法アルゴリズム [#n19344e2]
-[[simulated annealing for Sudokus [2]:http://www.r-bloggers.com/simulated-annealing-for-sudokus-2/]]
*リンク [#l9e739a6]
-[[晴耕数独 on WWW :http://www.oct.zaq.ne.jp/woodside/jsudok/]]
 各レベルごとのパズルあり

-[[goo で検索した「数独」の結果:http://search.goo.ne.jp/web.jsp?TAB=&MT=%BF%F4%C6%C8]]

*[[sudoku break:http://xianblog.wordpress.com/2013/12/13/sudoku-break/]] [#vb68b7be]

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS