ナンプレの難易度は何で決まるか

ナンプレの本やアプリには、たいてい「かんたん」「むずかしい」のような難易度がついています。では、その難易度は何で決まっているのでしょうか。最初に入っている数字(手がかり)が少ないほどむずかしい、と考える人は多いと思います。
結論から書くと、手がかりの数はあまり関係がありません。難易度を決めているのは、最後まで解くためにどんな手筋が必要か、です。この記事では、そのことを Sudoku365 に入っている1200問の数字で確かめながら書きます。
手がかりの数はほとんど変わらない
Sudoku365 には、「かんたん」「ふつう」「むずかしい」「エキスパート」の4つの難易度に300問ずつ、計1200問が入っています。この1200問の手がかりの数を、難易度ごとに数えてみました。
| 難易度 | 手がかりの数(平均) | 少ないもの〜多いもの |
|---|---|---|
| かんたん | 25.1 | 25〜27 |
| ふつう | 25.2 | 25〜27 |
| むずかしい | 24.0 | 21〜27 |
| エキスパート | 24.7 | 22〜28 |
どの難易度も、平均は24から25個ほどです。「かんたん」と「エキスパート」の差は、平均でわずか0.4個しかありません。エキスパートには、かんたんのどの問題よりも手がかりが多い28個の問題もあります。
手がかりの数には下限があります。英語版 Wikipedia の Mathematics of Sudoku によれば、答えが1つに決まるナンプレの手がかりは最低17個で、これは2014年にマクガイアらの論文で、コンピューターによる全数探索を使って証明されました。17個から先は、手がかりが同じ数でも、やさしい問題もむずかしい問題も作れます。
難易度を決めるのは、必要な手筋
ナンプレの手筋には、おおまかな段があります。
- ブロックの中で、その数字が入る場所が1つしかない。 数字を1つ決めて、行と列から消していく手筋です
- 行・列・ブロックの中で、その数字が入る場所が1つしかない。 1をブロック以外にも広げたものです
- そのマスに入る数字が1つしかない。 1つのマスに注目して、同じ行・列・ブロックにある数字を消していきます
- ブロックと行・列の関係。 ある数字がブロックの中で1つの行にしか入らないなら、その行のほかのブロックからはその数字を消せます
- 予約や、2つ・3つのマスの組。 メモ(候補数字)どうしの関係を使います
- X-Wing、ソードフィッシュ、XY-Wing など。 名前のついた上級の手筋です
- それでも決まらないときの、ねばり強い読み
1から4は ナンプレ(数独)の解き方:初心者が最初に覚える基本の手筋 に、5と6は ナンプレの上級テクニック に書きました。
1から3は、メモを書かずに頭の中で使えます。4から先は、メモがあって初めて見えてきます。問題の難易度は、この段のどこまでを使わないと最後まで解けないか、で決まると私は考えています。
ここで大事なのは、むずかしさは「いちばんむずかしい1か所」で決まることです。ほとんどのマスがやさしい手筋で埋まっても、残りのどこかで1回だけ X-Wing が必要なら、その問題を解くには X-Wing を知っていなければなりません。逆に、手がかりが少なくて埋めるマスが多くても、毎回1から3のどれかで次のマスが決まるなら、時間はかかってもむずかしい問題にはなりません。
Wikipedia「Sudoku」 によれば、イギリスの新聞でナンプレを広めたウェイン・グールドは、問題を作って難易度をつけるコンピューターのプログラムを6年かけて作りました。人が感じるむずかしさを、手がかりの数のような見た目ではなく、解き方の側から測る。どこで作られる問題でも、考え方の中心はそこにあると思います。
Sudoku365 の4つの難易度で必要な手筋
Sudoku365 の問題を、上の手筋ごとに解いて確かめた結果は、これまでの記事に書いてきました。まとめると、次のとおりです。
- かんたん: 300問すべてが、1から3の手筋だけで最後まで解けます。メモはいりません
- ふつう: 1から3だけで解き切れる問題はありません。4を加えると、7割ほどが最後まで解けます
- むずかしい: 300問すべてが、5までの手筋(予約と、2つ・3つのマスの組)で最後まで解けます
- エキスパート: 6までの手筋を全部使っても、最後まで解き切れるのは1割ほどです。多くの問題で、さらに先の手筋か、ねばり強い読みが必要になります
手がかりの数がほとんど同じなのに、必要な手筋はここまで違います。難易度の名前は、手がかりの数ではなく、この違いを表していると考えてよいと思います。
次の難易度に進む目安
難易度が手筋で決まるなら、次の難易度に進む目安も、手筋で考えるのが分かりやすいと私は思います。
- かんたんから、ふつうへ: 1から3を使って、止まらずに最後まで解けるようになったら。ふつうでは、メモを書く練習が始まります。書き方は ナンプレのメモ(候補数字)の書き方 に書きました
- ふつうから、むずかしいへ: 4のブロックと行・列の関係を、自分で見つけられるようになったら。むずかしいでは、予約と組がいります
- むずかしいから、エキスパートへ: 予約と組を、メモの中から迷わず見つけられるようになったら
スタッツでは、難易度ごとに「クリア数」「ベストタイム」「平均タイム」が見られます。平均タイムが下がらなくなってきたら、今の難易度で使う手筋はもう身についている、というしるしだと思います。逆に、上の難易度で毎回同じところで止まるなら、それは足りない手筋がある、というしるしです。そのときは一つ下に戻って、止まったところで使うはずだった手筋を練習するのが近道だと思います。止まったときの見直し方は ナンプレで行き詰まったときの見直し方 に書きました。
Sudoku365 について
Sudoku365 は、私が作っているナンプレのアプリです。iPhone、iPad、Android で遊べます。4つの難易度に300問ずつ、計1200問が入っていて、1200問すべてが答えが1つだけに決まることを確かめてあります。
「ヒント」は最初に10個あり、パズルをクリアすると1個、広告を見ると1個増えます。アプリは無料で、広告が入ります。「広告を削除」の買い切り(300円)で広告を消せます。
