View on GitHub

解独

数独・ナンプレの解析プログラム

難易度レベル別に問題を選ぶ

難易度レベルの決定

解独は、ナンプレの問題を9種類の難易度レベルに分類する、

レベル 1 trivial 簡単すぎ
レベル 2 very easy 超簡単
レベル 3 easy 簡単
レベル 4 normal 普通
レベル 5 hard 難しい
レベル 6 very hard とても難しい
レベル 7 evil 意地悪
レベル 8 extreme 難しすぎ
レベル 9 ultimate 究極

難易度レベルは、問題図面における空白セルの数、使われる解法の難易度、検索の複雑さによって決められる。レベル3までは空白セルの数が支配的要因であり、レベル6までは解法の難易度が支配的要因であり、レベル7以降は検索の複雑さが支配的要因となる。ナンプレの難易度には様々な基準があるため、以下に解独の難易度を他の基準と比較する。

ナンプレ7の「神域レベル」10問(No.701001 〜 701010)の中で、5問(1,2,5,6,9)は解独ではレベル5(難しい)に分類され、残りの5問(3,4,7,8,10)はレベル 6(とても難しい)に分類された。また、「上級レベル」10問(No.401001 〜 401010)の中で、4問(1,2,3,4)はレベル 4(普通)に分類され、残りの6問(5,6,7,8,9,10)はレベル5(難しい)に分類された。

Web sudoku の evil レベルの問題をランダムに10個選んだところ、解独ではすべてレベル5(難しい)に分類された。

Sudoku.com の問題をいくつか解独でレベル分けしたところ、Hard が解独のレベル4〜5、Expert がレベル6〜8、Evil がレベル8に分類された。

レベルと問題の選択

オンライン問題集では、レベルはプルダウンメニューから選び、問題番号はボックスに入力する。

コマンドラインの解独では、レベルは l レベル で選ぶことができる。たとえば、レベル 5 を選ぶためには次のようにする。

kaidoku-1.0.1> l 5
Level 5 No. 1

どのレベルからでも好きなところから始めて、問題が難しすぎると思ったらレベルを下げて、簡単すぎると思ったらレベルを上げることで、常に自分に最適な難易度の問題を解くことができる。

それぞれのレベルで、次のコマンドで問題を移動することができる。

n 次の問題に進む
p 前の問題に戻る
j num 問題番号 num に移動する

それぞれのレベルで、現在の問題番号が保存される。たとえば、

ここで、それぞれのレベルの問題番号のみが保存される。それぞれの問題のどこまで解き進めたかという情報は、現在解いている問題だけ保存されている。

したがって、推奨される方法は、それぞれのレベルで問題番号1から始めて、解き終わったらnコマンドで次の問題へと進めることである。

それぞれのレベルの問題数の一覧を book コマンドで見ることができる。解独は、それぞれのレベルで一定数の問題が同梱されている。そして、新しい問題を作ることも可能である。解独が新しい問題を作るスピードは人間が問題を解くスピードよりも速いため、いくらでも新しい問題を解き続けることが可能である。

最新版の解独に同梱されている問題は、ナンプレ問題集でオンラインで解くことができる。