http://www10.plala.or.jp/t_itokin/

ナンバープレイスの解き方(レベルの違いについて)

まえがき
 どんなに難しい問題も、ナンバープレイスは1つ1つ数字を当てはめていけば必ず解けます。問題を印刷し、鉛筆と消しゴムを用意して下さい。そして、ある場所(マスと呼ぶことにしましょう)に1から順番に数字を当てはめて解いていきます。もし途中で矛盾したら矛盾する前まで戻り、今度は違う数字を入れてやり直します。これを繰り返せば、どんな問題も必ず解けるはずです。しかし、そうは言っても、この解き方はものすごく時間がかかります。まさに、ナンバープレイスを解くコンピュータプログラムと全く同じことをするわけですから。

 レベルの違いは解法の違いによります。レベル1は基本中の基本ですが、レベル2以上は上位下位の明確な違いはありません。コンピュータに問題を作成させると、自分のプログラムでは2→3→7→4→5→6の順に作成数が少なくなりますので、作成数の多い解法から順にレベルを付けたのです。ただし、作成数の比較的多いレベル7の解法にどうして最上位のランクを付けているかというと、理由の一つは自分が一番新しく発見した解法であるということと、もう一つは人間には答えを見つけにくい解法だと思うからです。しかし友人の一人は難しくないと言いますので、人(解き方)によって難しく感じられたりそうでなかったりするでしょう。また、レベルは7で終わりではありません。自分がまだそこまでしか解法を見つけていないということです。レベル8、9を探すために自分はナンバープレイスを続けています(最近は探求心がめっきり弱くなってしまいましたが...)。恐らく、数学の世界ではその答えがすでに出ていることだと思います。しかし、何とか自分自身ですべての解法を発見したいなぁと思っています。

 それでは、以下にそれぞれの解法をご紹介いたします。ネタバレで楽しみが半減すると思われる方はご覧にならない方がいいかも知れませんね。


まえがき | レベル1 | レベル2 | レベル3 | レベル4 | レベル5 | レベル6 | レベル7トップ

レベル1
 レベル1の解法は基本の解法です。あるマスの答えが決まるのは必ずこの解法によります。つまり言いかえると、レベル2以上の解法はレベル1の解法を導くための補助的な解法であって、すべての答えは必ずこのレベル1の解法でしか決まりません。この解法には以下の2つの考え方があり、ナンバープレイスを解く根底となっています。

 それぞれの縦、横、ブロックにおいて、
  @ある数字はある1つのマスにしか入らない。
  Aあるマスにはある1つの数字しか入らない。


このどちらかの考え方に当てはまるとき、はじめて1つの答えが決まります。もし仮に、どうあってもこの解法で答えが見つからないとき、その問題は元々矛盾しているか、或いは答えが複数あると考えられます。(※ルールのページでもお断りしているように、本サイトでは複数の解答が得られる問題は扱っていませんし、それはナンバープレイス本来のルールではないと考えています。)

図A


 それでは具体的に見てみましょう。図Aの赤い線の入った横一列を見てください。この横一列の中で「1」の入るマスはどこでしょうか?それは赤い枠のあるマス以外にありません。それは左と真ん中のブロックにはすでに「1」が入っているので左から1〜6番目までのマスに「1」が入らないからです。これが先ほど述べた@の解法になります。すなわち「赤い線の入った横一列に数字の「1」はたった1つのマスにしか入らない」という解法によります。
図B


 次にAの解法を見てみましょう。今度は図Bの赤い線の入った横一列を見てください。この横一列の赤い枠の中に入る数字は何でしょうか?それは「1」以外にありません。理由は縦やブロックに入っている数字のためにこのマスには「1」以外の数字が入らないからです。これがAの解法ということになります。すなわち「赤い線の入った横一列の赤い枠には数字の「1」しか入らない」という解法によります。

まえがき | レベル1 | レベル2 | レベル3 | レベル4 | レベル5 | レベル6 | レベル7トップ

レベル2
 レベル2の解法は、2つの領域の相互関係による解法です。ナンバープレイスのマスはX座標とY座標に加えてブロックという座標も持っています。このため、ある数字の配置が次のようになるケースが考えられます。

 1)横列内のある数字は1つのブロックにしか入らない。
 2)縦列内のある数字は1つのブロックにしか入らない。
 3)ブロック内のある数字は1つの横列にしか入らない。
 4)ブロック内のある数字は1つの縦列にしか入らない。

つまり「同一のブロックと同一の横列」及び「同一のブロックと同一の縦列」という2つの領域に同時にまたがる数字の配置が起こりえるのです。このことによってどんな解法が考えられるのかを見てみましょう。

図C


 これは最も極端な例です。図Cの上段真ん中のブロックを考えてみましょう。今、最上段の横列に1−2−3及び7−8−9という数字がすでに入っています。このことからこの横列に入る残りの4,5,6という3つの数字は必ず青いラインの所に入ることになります。この青いラインはご覧のように上段真ん中のブロックに固まっています。つまり上段横一列の4,5,6は同時に上段真ん中のブロックに限定されていることになり、上記1)のケースということになります。では、このことから得られる解法は何でしょうか?もうお分かりだと思いますが、このブロック内の赤い枠に囲まれた6つのマスには4,5,6という3つの数字は入ることができないということです。
 図Cは上記1)のケースですが、この解法を以下のようにまとめることができます。残りのケースについても言葉を読み替えて当てはめてみて下さい。

 横列内のある数字が1つのブロックにしか入らないとき、そのブロックの残りのマスには横列内に入ることが決まっている数字を入れることができない。

 では、この解法によってどこか特定のマスに数字を埋めることができたでしょうか?答えはもちろんイイエです。確かに1つの解法と言えますが、このことによってどこかのマスに数字をすぐに埋めることはできません。直接数字を埋めることができるのはあくまでレベル1の解法だけです。ですから、このレベル2の解法を使ってレベル1の解法を導くことができるとき、初めて直接答えを出せます。では、そのような手順の踏める例を考えてみましょう。

 
図D


 図Dは上記3)のケースです。上段真ん中のブロックで数字の「1」が入る場所はどこでしょうか?青いラインにしか入りませんね?そしてこのラインは最上段の横列に限定されています。この横列に入るべき「1」は必ずこの青いラインのいずれかに入りますから、青いライン以外の横列のマスに「1」を入れることはできません。その結果どういう答えが得られるでしょうか?
 今度は最も右側の縦列を見てください。この縦列の残りマスは2つで、数字の残りは1と4です。しかし、先ほどの解法により赤い枠に「1」を入れることはできませんから、この枠には残った候補の「4」しか入らないということになります。つまり、レベル1の解法がレベル2の解法によって導かれたのでこの赤い枠に「4」という答えが出せることになります。

まえがき | レベル1 | レベル2 | レベル3 | レベル4 | レベル5 | レベル6 | レベル7トップ

レベル3
 レベル3の解法は、ある1つの領域において2つの数字が2つのマスにしか入らないときに得られる解法です。このようなケースでは次のような解法を得ることが出来ます。

 それぞれの縦、横、ブロックにおいて、2つの数字が2つのマスにしか入らないとき、そのマスに2つの数字以外の数字を入れることはできない。

それでは、具体的にこの解法が意味することを見てみましょう。

図E


 図Eの中段左のブロックを見てください。このブロックにはすでに「7」「8」「9」の3つの数字が入っていますので、このブロックの残りのマスには「1」〜「6」の6つの数字が入ります。しかし、縦、横のラインから数字の「1」と「2」の入る場所が赤い枠に囲まれた2つのマスに限定されていることがお分かりいただけると思います。このような状態がレベル3のケースです。そしてこのとき、この赤い枠には「1」と「2」以外の数字、すなわちここでは「3」「4」「5」「6」を入れることができないというレベル3の解法が得られます。仮に、この解法に反してこの赤い枠のどちらかに「3」「4」「5」「6」のいずれかの数字を入れてみてください。もしそのようなことをすれば、赤い枠の残った1つのマスに「1」と「2」の2つの数字を同時に入れなければならないという矛盾が起こってしまいます。ですから、このレベル3の解法は必ず成立しなければならないのです。
 では、より具体的な事例でこの解法を見てみたいと思います。レベル3第1集No.1の問題を実際に解きながら考えてみましょう。

図F


 図Fはレベル2までの解法を用いて解き終わった状態です。ここから先はレベル3の解法を利用しなければ解けません。どこにレベル3の解法を利用できる場所があるでしょうか?よく見ると2カ所あります。いずれもブロックの中で「2つの数字が2つのマスだけにしか入らない」状態ができています。まず図F−1で1つ目の場所を見てみましょう。
図F−1


 図F−1の中段左(赤枠で囲まれた)ブロックを見てください。このブロックにはすでに「5」「6」「9」が入っています。ですから、このブロックにはあと「1」「2」「3」「4」「7」「8」を入れなければなりませんが、このうち2つの数字は青いラインの所にしか入れられません。このブロックを交差する縦と横から判断すると、「1」と「7」の2つの数字はここの2つのマスにしか入れられないことが分かります。この状態がレベル3の状態です。そしてレベル3の解法から、この青いライン上の2つのマスには「1」と「7」以外の数字、「2」「3」「4」「8」は入らないという結果が得られます。
 しかし、残念なことに、ここの場所ではレベル3の解法を使ってもこれ以上解き進めることはできません。つまり、レベル3の解法を利用してもレベル1の解法を導けないのです。この問題を解くためにはもう一つの場所を見るしかありません。

図F−2


 今度は、図F−2の中段右(赤枠で囲まれた)ブロックを見てください。このブロックもすでに「5」「6」「9」が入っています。残りは「1」「2」「3」「4」「7」「8」がこのブロックの空いているマスに入ります。先ほどと同じようにこのブロックに交差する縦列と横列から判断すると、「2」と「3」の2つの数字が赤い枠に囲まれた2つのマスにしか入れられないことが分かります。ですから、レベル3の解法からこの2つのマスには「2」「3」以外の数字を入れることはできません。一方、このブロックに「7」を入れることのできるマスはどこでしょうか?交差する縦2つの列から判断してこのブロックには青いラインの2つのマスのどちらかにしか「7」は入れられません。しかし、青いラインの2つのマスのうち、上の赤い枠のマスにはレベル3の解法から「2」と「3」以外の数字を入れられないことがわかっていますので、「7」は下のマスにしか入れられないというレベル1の解法が導かれるのです。これが分かれば、あとはスイスイとこの問題を解くことが出来ます。

まえがき | レベル1 | レベル2 | レベル3 | レベル4 | レベル5 | レベル6 | レベル7トップ

レベル4
 レベル4の解法は、レベル3の解法と同じ考え方なのですが、対象の数字が2つではなく3つの場合です。つまり、ある1つの領域において3つの数字が3つのマスにしか入らないときに得られる解法を指します。ですから、レベル3の解法の対象個数を3つに増やした解法がレベル4の解法となります。

 それぞれの縦、横、ブロックにおいて、3つの数字が3つのマスにしか入らないとき、そのマスに3つの数字以外の数字を入れることはできない。

それでは、レベル3の解説と同じようにレベル4第1集No.1の問題を実際に解きながら、具体的にこの解法を見ていきましょう。
図G


 図Gはレベル3までの解法を用いて解き終わった状態です。ここから先はレベル4の解法を利用しなければ解けません。さて、レベル4を示す部分、すなわち、「3つの数字が3つのマスだけにしか入らない」部分がわかりますか?ちょうど真ん中の縦列でそのような状態になっています。
図G−1


 図G−1の真ん中の縦列をご覧下さい。この縦列には上から「3」「1」「8」がすでに入っていますので、残りのマスには「2」「4」「5」「6」「7」「9」が入ることになります。次に赤いラインの3つのマスに注目してください。この赤いラインの部分はすべて上段真ん中のブロックに属していますが、このブロックには「4」「5」「7」という数字がすでに入っていますので、この赤いラインの部分にはこれら3つの数字を入れることができません。ということはこの縦列の「4」「5」「7」の3つの数字は下の青いライン部分にしか入らないことがわかります。この状態がレベル4の状態です。そしてレベル4の解法から次のことが導かれます。すなわち、青いラインの部分には「4」「5」「7」の3つ以外の数字「2」「6」「9」は入らないという結論が得られます。では、このあとこの結論からどのように問題を解き進められるでしょうか。数字の「2」に着目して下さい。
図G−2

 図G−2は、この縦列に「2」の入るマスを示しています。先ほどの解法から得られたように、下の青いライン部分には「4」「5」「7」以外の数字は入れられませんので、この3つのマスには数字の「2」を入れることはできません。次に、赤いラインの部分を見てみると、左右のブロックに「2」がありますので、この縦列には一番上の赤い枠のマスにしか「2」を入れることができないことがわかります。これで、メデタシメデタシ、です。
 この問題は、たまたまレベル4が発生している縦列そのものから「2」のマスを特定できましたが、いつもこのように答えが出るわけではありません。実際にレベル4が発生している場所ではなく、違う場所で答えが見つかる場合もあります。この問題の場合、青いラインを含む下段真ん中のブロックでも「2」を特定することができますが、どこのマスに「2」が入るかおわかりになりますか?せっかくレベル4の発生している場所がわかってもすぐに答えが出せないときはイライラします。でも、根気よく問題を見回して答えを見つけられたとき、そのときの感激がナンプレの醍醐味ですよね!

まえがき | レベル1 | レベル2 | レベル3 | レベル4 | レベル5 | レベル6 | レベル7トップ

レベル3・4の延長上にある解法の話
 レベル3とレベル4は全く同じ考え方による解法です。その違いは、対象個数が2つか3つかの違いでしかありません。と言うことは、この考え方を更に延長して、対象個数が4つ、5つ・・・という解法が考えられます。しかし、私のプログラムにはこの解法を組み込んでいません。レベル5〜7は別の解法になっています。

 では、どうしてこの延長した解法を組み込んでいないかというと、実際にそれらの解法が必要とされる機会が少ないのではないかと思うからです。ちなみに、最大である9つの場合を考えてみましょう。

  ある領域の9つの数字が9つのマスにしか入らないとき、その9つのマスには他の数字(?)は入らない。

 他の数字って何でしょう?9つ以上に数字はありませんので、全くナンセンスな解法です。言いかえれば、9つのマスには「1」〜「9」の数字が入るとしか言ってないわけで、それは単にルールを説明しただけのことじゃないですか!全く意味がありませんよね?それでは次に、1つ少ない8つの場合を考えてみましょう。

  ある領域の8つの数字が8つのマスにしか入らないとき、その8つのマスには他の数字(?)は入らない。

 他の数字?他の数字はあと1つだけです。この解法は、9つのマスのうち8つのマスに入る数字が決まっている場合と言っています。そして、その8つのマスには他の(あと1つしか残っていない)数字が入らないと言っているわけですから、その数字は残った1つのマスに入ることになります。これって、レベル1の解法そのものですね。
 しかも、もしその領域にすでに1つ数字が入っていて残りのマスがぴったり8つだとすると、先ほどの9つの場合と同様、残りのマスがないわけですから、この解法は全く意味のないものということになります。

  ですから、この考え方を延長したとしても、対象マス以外にマスが残っていなければ意味がなく、残り1マスではレベル1の裏返しということになりますから、このプログラムを組んでもあまり利用価値がないと判断したのです。しかし、可能性はゼロではないわけですから、一度プログラムに組み込みたいと考えています。そのプログラムで問題が作成できた場合は、勿論ご紹介しますので、そのときは一緒に楽しんでいただければと思います。

まえがき | レベル1 | レベル2 | レベル3 | レベル4 | レベル5 | レベル6 | レベル7トップ

レベル5
 レベル5の解法は、ある1つの領域において2つのマスに同じ2つの数字しか入らないときに得られる解法です。このように書くと、レベル3との違いが分かりにくいかも知れません。しかし、レベル3(レベル4も同様)の解法は「入る場所の同じ数字がある」という考え方に対して、レベル5(レベル6も同様)の解法は「入る数字の同じマスがある」という考え方になっています。レベル1に2つの考え方があるように「ある数字から特定のマスを求める」方向と「あるマスから特定の数字を求める」方向の2つがあるのです。では、このような状況が生まれるときに得られる解法を以下に示します。

 それぞれの縦、横、ブロックにおいて、ある2つの数字しか入らないマスが2つあるとき、その領域の残りのマスにはその2つの数字を入れることはできない。

 では、図Hで具体的にどのような内容かを見てみましょう。
図H

 2つの縦列がそれぞれマス2つを残して数字が入っています。そして、空いている2つのマスにはそれぞれ残りの数字「8」と「9」が入ります。今、それぞれの空いたマスのうち、お互いの赤い枠のマスがたまたま赤いラインで示す横列に並んでいるのがお分かりいただけると思います。このような状態がレベル5の状態です。つまり、「8」と「9」の2つの数字しか入らないマスがこの横列内に2つあるということです。そして、このとき、この赤いラインの横列で、赤い枠以外のマスに「8」と「9」は入らないというレベル5の解法を導くことができます。もし、それに反して赤い枠以外のライン上に「8」か「9」を入れてみてください。では、「8」を入れてしまったとしましょう。そうすると、どちらかの赤枠に残りの「9」が入ります。これでこの横列には「8」も「9」も使われました。では、残ったもう一つの赤枠には何の数字が入りますか?入れられる数字がなくなってしまいますね。ですから、この解法は必ず成立しなければならないわけです。
 では、これまでと同じように、レベル5第1集No.1の問題を通して、実際の場面を見てみましょう。

図I


 図Iはレベル4までの解法を用いて解き終わった状態です。ここから先はレベル5の解法を利用しなければ解けません。どこにレベル5の解法を利用できる場所があるでしょうか?どうも、この問題は少し複雑なようです。「2つの数字だけが入る2つのマス」のうち、1つはレベル3の解法を利用しなければならないようです。では、その一つ目を探してみましょう。
図I−1


 図I−1の(赤枠で囲まれた)中段左のブロックを注目して下さい。このブロックの残りマスのうち、「4」と「7」の入るマスはどこでしょうか?上下を見ると「4」と「7」が縦2列に入っているのが分かりますね?ですから、このブロックには青いライン部分の2つのマスにだけ「4」と「7」を入れることができます。これはレベル3の状態になっていますから、その解法を適用すると、この2つのマスは「4」と「7」以外の数字は入れられないことが結論されますので、「2つの数字しか入らないマス」の1つの候補となります。このうち、上の方のマスがこの先問題となりますので、覚えておいて下さい。

図I−2


 今度は図I−2の赤枠で囲まれたマスに注目して下さい。そしてこのマスに入る残りの数字を消去法で探していきます。ブロック内に「1」「3」「6」「8」「9」が入っているのでそれらの数字は入れられません。、更に縦列から判断して「2」「5」も入れることはできません。よって、このマスには「4」と「7」しか入れられないことがわかります。これが2つ目の「2つの数字しか入らないマス」です。これで、図I−1で探したマスと合わせて「4」と「7」しか入らない2つのマスが出揃いました。これらのマスは都合よく横一直線に並んでいますね。では、この横列にレベル5の解法を適用して、1つの答えを出す手順を調べてみましょう。

図I−3


 では、図I−3をご覧下さい。先ほどの2つのマスには青い色で「4」と「7」を入れてあります。勿論、この並びは確定したわけではありません。「7」「4」の順に横並びするかも知れません。しかし、この2つのマスには必ず「4」と「7」が入るのは確実です。この結果、レベル5の解法によりこの2つのマス以外のマスから「4」と「7」を消去します。と言うよりも、手っ取り早く赤い枠の部分を消去法で探していきましょう。ブロック内に「2」があります。縦列には「1」「3」「5」「9」が入っています。そして、横列から「8」と今回判明した「4」「7」も消去できます。するとどうでしょうか?このマスには「6」しか入れられないことがわかりました!レベル1のAよりこのマスの答えは「6」になります。

まえがき | レベル1 | レベル2 | レベル3 | レベル4 | レベル5 | レベル6 | レベル7トップ

レベル6
 レベル6の解法は、レベル3・4の関係と同様に、レベル5の解法の対象個数が2つから3つに拡張された解法です。すなわち、ある1つの領域において3つのマスにある3つの数字以外は入らないときに得られる解法ということになります。具体的には、次のように言うことができます。

 それぞれの縦、横、ブロックにおいて、ある3つの数字以外入らないマスが3つあるとき、その領域の残りのマスにはその3つの数字を入れることはできない。

 ここで、言葉の使い方に注意して下さい。例えば、ある3つの数字は「1」「2」「3」のことだとします。このとき、3つのマスには必ず「1」「2」「3」の3つが入ると言っているのではありません。あるマスは「1・2」かも知れません。あるマスは「2・3」かも知れません。つまり、種類は3種類ですが、それぞれのマスに入る数字が2つの場合もあるし3つ全部の場合もあります。1つが「1・2」、1つが「1・3」、1つが「2・3」という場合もあるということです。
 では、図Jで具体的にどのような内容かを見てみましょう。
図J


 3つの縦列がそれぞれマス3つを残して「1」〜「6」の数字が入っています。空いている3つのマスにはそれぞれ残りの数字「7」「8」「9」しか入らない状態です。そして、それぞれの空いたマスのうち、お互いの赤い枠のマスがたまたま上から3段目の赤いライン上に並んでいます。これがレベル6の状態です。つまり、「7」「8」「9」の3つの数字しか入らないマスがこの横列内に3つあるということです。レベル5で説明した図Hに縦列1本多い状態ですね。そして、このとき、この赤いラインの横列のマスのうち、赤い枠以外のマスに「7」「8」「9」の3つの数字は入らないというのがレベル6の解法です。理由はレベル5で説明したことと全く同じです。これに反すると、たちまち矛盾を起こすことになります。
 では、これまでと同じように、レベル6第1集No.1の問題を通して、実際の場面を見てみましょう。

図K


 図Kはレベル5までの解法を用いて解き終わった状態です。この問題はここまで解くだけでもかなり大変です。更に、この先も大変。なぜなら、レベル6の現れている場所を見つけるためには、3つのマスのうち1つをレベル3(もしくはレベル5)の解法で発見しないといけないからです。まずは、その場所を探してみましょう。
図K−1


 図K−1の上から3段目の横列に注目して下さい。ここにレベル3(もしくはレベル5)の解法が現れています。この横列にはすでに「2」「3」「7」「8」「9」が入っていますので残りの数字は「1」「4」「5」「6」です。しかし、2つの青枠の部分には、縦列から判断して「5」と「6」は入らず、「1」と「4」しか入らないマスになっています。この状態はある意味レベル3とも言えますし、レベル5とも言えます。なぜなら、残りのマスが4つしかなく、2つ決まれば必然的に残りの2つが決まりますから、どちらの考え方でも同じことになります。結論は赤枠に「5」か「6」、青枠に「1」か「4」が入ることになります。この先特に重要なのは、一番左の赤枠です。ここには「1」と「4」が入らないということを覚えておいて下さい。

図K−2

 図K−2では、左から2番目の縦列に注目して下さい。ここの縦列にレベル6の解法が隠れています。図K−1で判明したこととして、上から3段目の横列に青い数字で「1」「4」を入れてあります。勿論、これは左から「4」「1」の順番で入るかも知れません。しかし、「1」「4」か「4」「1」のどちらが入るにしても、その結果、左から2番目の赤枠には「5」か「6」しか入らず「1」は決して入らないということが肝心です。
 では、この縦列の赤枠のマスをよく見て下さい。これらのマスにはそれぞれ「1」「3」「7」「9」が入らないことが分かりますか?つまり、この3つの赤枠には「2」か「5」か「6」しか入らない状態になっています。これがレベル6の状態です。その結果、青枠のマスにこれら3つの数字は入れられません。さて、この解法の結果、どのようにこの問題は解決するでしょうか?ヒントは青枠のマスに「2」「5」「6」、特に「2」が入らないということです。この結果、ある場所の「2」が決まりますが...。

図K−3


 では、図K−3をご覧下さい。先ほどの解法によって左から2番目の縦列では、赤枠のマス以外に「2」は入りませんから×を埋めてあります。次に下段左のブロックを見て下さい。このブロックの縦中央には2が入れられないことになりますから、このブロックに「2」の入る場所は、赤い「2」の入ったどちらかのマスということになります。これらのマスは横一列に並んでいることを覚えておいて下さい。これはレベル2の状態を示しています。そして更に、下段真ん中のブロックを注目して下さい。今、このブロックで「2」の入らないマスには青い×が入っていますが、もう1つ赤い×も入っています。これは先ほどのレベル2による解法により、ここにも「2」が入れられません。よって、このブロック内に「2」の入る場所は赤い「2」の入った場所以外あり得ないことがわかりますので、このマスに「2」を答えることができます。なかなか、手応えのある問題でしたね。

まえがき | レベル1 | レベル2 | レベル3 | レベル4 | レベル5 | レベル6 | レベル7トップ

レベル5・6の延長上にある解法の話
 「レベル3・4の延長上にある解法の話」でも述べたように、レベル5・6にもその延長上にある解法が有効である可能性があります。つまり、対象個数が4つ、5つ・・・という解法が考えられるのです。しかし、同じようにこの解法もプログラムには組み込まれていません。可能性はゼロではないわけですから、やはり一度プログラムに組み込みたいですね。何か新しいことがわかるかも知れません。

まえがき | レベル1 | レベル2 | レベル3 | レベル4 | レベル5 | レベル6 | レベル7トップ

レベル7
 レベル7の解法は、自分が一番新しく発見した解法です。と言っても、発見してから数年が経っていますが。このレベル7の解法は4つのマスを対象とします。4つのマスとそれらの位置関係。加えて、それら4つのマスに現れる3つの数字の関係。それによってレベル7の解法が得られます。これだけ説明しただけでも、今までよりも複雑な感じがしませんか?実際、私には発見するのがおっくうで、新しい問題を作成しても、自分はレベル7の問題を大抵解きません。解き方がネタバレしてる上に、発見が難しい(と言うより面倒)なのであまり楽しめないのです。そうは言っても、ナンバープレイスに潜んでいる全ての解法を解き明かすには、避けて通ることができません。

 では、まず言葉上で説明しますが、かなり複雑です。複雑ですので、成立条件を1つ1つ箇条書きにし、その後で、解法をまとめたいと思います。

 @入ることのできる数字の候補が2つであるマスが4つあること。(例えば「2」か「4」など。)
 Aそれらの数字は3種類から成り、そのうち2つのマスだけが同じ組み合わせであること。(例えば数字の種類が「1・2・3」の3種類だけから成っていて、4つのマスは「1・2」「2・3」「1・3」そしてそれらの組み合わせのいずれかと同じマスがあと1つ。)
 Bそれらのマスの位置関係が次のような関係にあるとき、すなわち、残りの数字の候補がAと同じ組み合わせであるB及びAの片方の数字と同じ組み合わせを持つC及びACと共通の数字ではないBの片方の数字と同じ数字を持ちかつもう片方の数字がCと同じ数字を持つDを考えたとき
  1)AとBが他の2つとは違う同一の領域にあり、
  2)AとCが他の2つとは違う同一の領域にあり、
  3)BとDが他の2つとは違う同一の領域にあり、
  4)CとDが他の2つとは違う同一の領域にあるとき
  AはCと共通の数字を選ぶことはできない、またはBはDと共通の数字を選ぶことはできない。

 あぁ〜、何という複雑な条件!私の説明も下手なので、ますます分かりにくいのではないでしょうか。それでは、図を使って説明いたします。できるだけ分かりやすくするために、残りの数字を使った方法にしたいと思います。
図L

 では、図Lを使ってもう一度成立条件を整理したいと思います。まずABCDの4つのマスには残りの候補が2つずつあります。これらの候補の種類は3種類で「1・2・3」の組み合わせになっています。AとBは「1・2」という同じ組み合わせで同一の横列に位置しています。AとCは「1」だけが共通の組み合わせになっていて同一の縦列に位置しています。BとDはAとCで共通の数字「1」とは違う方の数字「2」だけを共通の数字として持っていて同一の縦列に位置しています。そしてCとDは共通の数字の「3」、CはAと同じ数字の「1」、DはBと同じ数字の「2」をそれぞれ持っていて同一の横列に位置しています。これが成立条件のすべてです。そしてレベル7の解法では、AはCと共通の「1」を選ぶことができず答えが「2」となり、またBはDと共通の「2」を選ぶことができず答えは「1」になります。本当にそうなるか、Aの答えを「1」にして解いてみて下さい。Aを「1」にするとBは「2」になります。するとCが「3」でDも「3」ということになって矛盾が起こるのです。レベル7の解法は直接答えを出すことができますが、それは直接レベル1の状況を引き起こしてしまうからですね。
 では、これまでと同じように、レベル7第1集No.1の問題を通して、実際の場面を見てみましょう。

図M


 図Mはレベル6までの解法を用いて解き終わった状態です。この場面まで来ればすぐにレベル7のケースが見つかるはずですが、実は直前のレベル6の結果が隠されていて、それを先に理解しておかなければレベル7の起こっている場所を特定するのは難しくなっています。ですから、まずレベル6の結果を調べ、空いているマスの状態を確認しておきましょう。
図M−1


 図M−1の左から2番目の縦列に注目して下さい。4つの赤枠に「4」「5」「8」の3つの数字が入らないことがお分かりいただけるでしょうか?所属するブロック内や交差する横列を見て確認して下さい。この結果「4」「5」「8」はこの縦列の青枠に、そして赤枠には「1」「2」「7」「9」が入ることになります。

図M−2


 図M−2は、先ほどの縦列で、空いているマスにあとどの数字を入れられるかを示しています。赤枠のところは「1」「2」「7」「9」のうちの可能なものを赤い字で、青枠のところは「4」「5」「8」のうちの可能なものを青い字で示しています。この先、レベル7の解法を見ていくわけですが、特に上から6番目の「4・5」が残っている枠を確認しておいて下さい。

図M−3


 実は、すぐにレベル7の解法へと進められない理由がもうひとつだけ残っています。これにはレベル2の解法が関わっているのですが、この問題も片付けておかなければいけません。
 では、図M−3の青枠のマスをご覧下さい。今、周りの状況から判断すると、この枠にはあと「1・4・7」が候補として残っているように見えます。しかし、実際にはこの枠に「1」を入れることはできません。その理由を図に示してあります。一番左の縦列に注目して下さい。この縦列で「1」の入るマスはどこでしょうか?青いラインで示した2つのマスにしか入りませんね。そしてこの青いラインはちょうど中段左のブロックに収まっています。と言うことは、レベル2の解法により、このブロック内でも青いラインの2マス以外には「1」を入れることはできません。よって、青枠の残りはあと「4・7」です。このマスも、次のレベル7解法に必要となります。

図M−4


 では、いよいよレベル7の解法を説明します。図M−4では、残りの候補が2つであるマスをすべて表示しています。この中でレベル7の条件に合う4つのマスは、ABCDの4つです。ABは残りの候補が「5・7」の共通で同じブロック内にあります。CDは互いに共通な数字「4」とABの候補「5・7」の1つずつを分け合った組み合わせを持ち、同じブロック内にあります。そしてACは同一横列内にあり、BDも同一横列内にあります。このような数字の組み合わせと位置関係では、連鎖的に答えが決まりますから、それを利用してレベル7の解法が得られます。AはCと共通の数字を選べない、もしくはBはDと共通の数字を選べないことがこの解法から得られますので、Aの候補から「7」を消去して答えは「5」、Bの候補から「5」を消去して答えは「7」が得られます。これで、この問題も容易に最後まで解くことができます。

まえがき | レベル1 | レベル2 | レベル3 | レベル4 | レベル5 | レベル6 | レベル7トップ

レベル8の予測
 レベル7を拡張して6つとか8つとかのマスの位置関係と残り数字の関係で新しいレベル8の解法が見つけられるような気がします。もし、その解法がわかれば、すぐにもプログラムに組み込みたいのですが、残念ながら今はまだ分かりません。ここ数年は、さっぱりサボってしまっています。というか、見つけるのは本当に難しいです。

 ところで、私のプログラムは次のような考え方・手順で問題を作成します。
  @レベル1〜7の解法で問題を解くエンジン部分がある。
  A最初、どこか1つのマスに1〜9の数字を入れてみる。
  B1つ入れる度にエンジン部分で問題を解かせ、空いているマスに入れてはいけない数字を割り出す。
  C入れてはいけない数字(入れると矛盾する)を選ばないように、更にどこかのマスに数字を入れてみる。
  Dこれを解答が得られるまで続ける。
  E解答が得られれば問題は完成!あとはトリミング。
  F1つ数字を消して解く。もし解けたら、その数字を消す。解けなかったら残す。これを繰り返す。

 実は、この中で1つ重要な手順が抜けています。それはCの後に入りますがどんな内容か分かりますか?それは次のような内容です。

  ★矛盾したら別の数字を入れる。矛盾しない数字を選ぶまで繰り返す。

 もし、問題を解くエンジンが完全なら、絶対に矛盾する数字を選ばないでしょう。レベル1〜7だけの今のエンジンは、まだまだ不完全というわけです。私の目標はこのエンジンを完成させること。問題作成途中の数字の選択で矛盾を起こさせないことです。完成できるかどうかわかりません。恐らく無理でしょう。でも、頑張ります!
 ただ、余りにも難しすぎる問題を解くのはおっくうです。今ぐらいのレベルが自分には一番楽しめるのですが。この気持ちがエンジン完成を鈍らせてるのかなぁ〜。

まえがき | レベル1 | レベル2 | レベル3 | レベル4 | レベル5 | レベル6 | レベル7トップ