http://www10.plala.or.jp/t_itokin/ |
まえがき |
レベルの違いは解法の違いによります。レベル1は基本中の基本ですが、レベル2以上は上位下位の明確な違いはありません。コンピュータに問題を作成させると、自分のプログラムでは2→3→7→4→5→6の順に作成数が少なくなりますので、作成数の多い解法から順にレベルを付けたのです。ただし、作成数の比較的多いレベル7の解法にどうして最上位のランクを付けているかというと、理由の一つは自分が一番新しく発見した解法であるということと、もう一つは人間には答えを見つけにくい解法だと思うからです。しかし友人の一人は難しくないと言いますので、人(解き方)によって難しく感じられたりそうでなかったりするでしょう。また、レベルは7で終わりではありません。自分がまだそこまでしか解法を見つけていないということです。レベル8、9を探すために自分はナンバープレイスを続けています(最近は探求心がめっきり弱くなってしまいましたが...)。数学の世界ではその答えがすでに出ているのかも知れません。しかし、何とか自分自身で少しでも多くの解法を発見したいなぁと思っています。 それでは、以下にそれぞれの解法をご紹介いたします。ネタバレで楽しみが半減すると思われる方はご覧にならない方がいいかも知れません。 |
レベル1 | ||||
レベル1の解法は基本の解法です。あるマスの答えが決まるのは必ずこの解法によります。つまり言いかえると、レベル2以上の解法はレベル1の解法を導くための補助的な解法であって、すべての答えは必ずこのレベル1の解法でしか決まりません。この解法には以下の2つの考え方があり、ナンバープレイスを解く根底となっています。 それぞれの縦、横、ブロックにおいて、 ①ある数字はある1つのマスにしか入らない。 ②あるマスにはある1つの数字しか入らない。 このどちらかの考え方に当てはまるとき、はじめて1つの答えが決まります。もし仮に、どうあってもこの解法で答えが見つからないとき、その問題は元々矛盾しているか、或いは答えが複数あると考えられます。(※ルールのページでもお断りしているように、本サイトでは複数の解答が得られる問題は扱っていませんし、それはナンバープレイス本来のルールではないと考えています。)
|
レベル2 | ||||
レベル2の解法は、2つの領域の相互関係による解法です。ナンバープレイスのマスはX座標とY座標に加えてブロックという座標も持っています。このため、ある数字の配置が次のようになるケースが考えられます。 1)横列内のある数字は1つのブロックにしか入らない。 2)縦列内のある数字は1つのブロックにしか入らない。 3)ブロック内のある数字は1つの横列にしか入らない。 4)ブロック内のある数字は1つの縦列にしか入らない。 つまり「同一のブロックと同一の横列」及び「同一のブロックと同一の縦列」という2つの領域に同時にまたがる数字の配置が起こりえるのです。このことによってどんな解法が考えられるのかを見てみましょう。
横列内のある数字が1つのブロックにしか入らないとき、そのブロックの残りのマスには横列内に入ることが決まっている数字を入れることができない。 では、この解法によってどこか特定のマスに数字を埋めることができたでしょうか?答えはもちろんイイエです。確かに1つの解法と言えますが、このことによってどこかのマスに数字をすぐに埋めることはできません。直接数字を埋めることができるのはあくまでレベル1の解法だけです。ですから、このレベル2の解法を使ってレベル1の解法を導くことができるとき、初めて直接答えを出せます。では、そのような手順の踏める例を考えてみましょう。
|
レベル3 | ||||||||
レベル3の解法は、ある1つの領域において2つの数字が2つのマスにしか入らないときに得られる解法です。このようなケースでは次のような解法を得ることが出来ます。 それぞれの縦、横、ブロックにおいて、2つの数字が2つのマスにしか入らないとき、そのマスに2つの数字以外の数字を入れることはできない。 それでは、具体的にこの解法が意味することを見てみましょう。
|
レベル4 | ||||||
レベル4の解法は、レベル3の解法と同じ考え方なのですが、対象の数字が2つではなく3つの場合です。つまり、ある1つの領域において3つの数字が3つのマスにしか入らないときに得られる解法を指します。ですから、レベル3の解法の対象個数を3つに増やした解法がレベル4の解法となります。 それぞれの縦、横、ブロックにおいて、3つの数字が3つのマスにしか入らないとき、そのマスに3つの数字以外の数字を入れることはできない。 それでは、レベル3の解説と同じようにレベル4第1集No.1の問題を実際に解きながら、具体的にこの解法を見ていきましょう。
|
レベル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の裏返しということになりますから、このプログラムを組んでもあまり利用価値がないと判断したのです。しかし、可能性はゼロではないわけですから、一度プログラムに組み込みたいと考えています。そのプログラムで問題が作成できた場合は、勿論ご紹介しますので、そのときは一緒に楽しんでいただければと思います。 |
レベル5 | ||||||||||
レベル5の解法は、ある1つの領域において2つのマスに同じ2つの数字しか入らないときに得られる解法です。このように書くと、レベル3との違いが分かりにくいかも知れません。しかし、レベル3(レベル4も同様)の解法は「入る場所の同じ数字がある」という考え方に対して、レベル5(レベル6も同様)の解法は「入る数字の同じマスがある」という考え方になっています。レベル1に2つの考え方があるように「ある数字から特定のマスを求める」方向と「あるマスから特定の数字を求める」方向の2つがあるのです。では、このような状況が生まれるときに得られる解法を以下に示します。 それぞれの縦、横、ブロックにおいて、ある2つの数字しか入らないマスが2つあるとき、その領域の残りのマスにはその2つの数字を入れることはできない。 では、図Hで具体的にどのような内容かを見てみましょう。
|
レベル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で具体的にどのような内容かを見てみましょう。
|
レベル5・6の延長上にある解法の話 |
「レベル3・4の延長上にある解法の話」でも述べたように、レベル5・6にもその延長上にある解法が有効である可能性があります。つまり、対象個数が4つ、5つ・・・という解法が考えられるのです。しかし、同じようにこの解法もプログラムには組み込まれていません。可能性はゼロではないわけですから、やはり一度プログラムに組み込みたいですね。何か新しいことがわかるかも知れません。 |
レベル7 | ||||||||||||
レベル7の解法は、自分が一番新しく発見した解法です。と言っても、発見してから数年が経っていますが。このレベル7の解法は4つのマスを対象とします。4つのマスとそれらの位置関係。加えて、それら4つのマスに現れる3つの数字の関係。それによってレベル7の解法が得られます。これだけ説明しただけでも、今までよりも複雑な感じがしませんか?実際、私には発見するのがおっくうで、新しい問題を作成しても、自分はレベル7の問題を大抵解きません。解き方がネタバレしてる上に、発見が難しい(と言うより面倒)なのであまり楽しめないのです。そうは言っても、ナンバープレイスに潜んでいる全ての解法を解き明かすには、避けて通ることができません。 では、まず言葉上で説明しますが、かなり複雑です。複雑ですので、成立条件を1つ1つ箇条書きにし、その後で、解法をまとめたいと思います。 ①入ることのできる数字の候補が2つであるマスが4つあること。(例えば「2」か「4」など。) ②それらの数字は3種類から成り、そのうち2つのマスだけが同じ組み合わせであること。(例えば数字の種類が「1・2・3」の3種類だけから成っていて、4つのマスは「1・2」「2・3」「1・3」そしてそれらの組み合わせのいずれかと同じマスがあと1つ。) ③それらのマスの位置関係が次のような関係にあるとき、すなわち、残りの数字の候補が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と共通の数字を選ぶことはできない。 あぁ~、何という複雑な条件!私の説明も下手なので、ますます分かりにくいのではないでしょうか。それでは、図を使って説明いたします。できるだけ分かりやすくするために、残りの数字を使った方法にしたいと思います。
|
レベル8の予測 |
レベル7を拡張して6つとか8つとかのマスの位置関係と残り数字の関係で新しいレベル8の解法が見つけられるような気がします。もし、その解法がわかれば、すぐにもプログラムに組み込みたいのですが、残念ながら今はまだ分かりません。ここ数年は、さっぱりサボってしまっています。というか、見つけるのは本当に難しいです。 ところで、私のプログラムは次のような考え方・手順で問題を作成します。 ①レベル1~7の解法で問題を解くエンジン部分がある。 ②最初、どこか1つのマスに1~9の数字を入れてみる。 ③1つ入れる度にエンジン部分で問題を解かせ、空いているマスに入れてはいけない数字を割り出す。 ④入れてはいけない数字(入れると矛盾する)を選ばないように、更にどこかのマスに数字を入れてみる。 ⑤これを解答が得られるまで続ける。 ⑥解答が得られれば問題は完成!あとはトリミング。 ⑦1つ数字を消して解く。もし解けたら、その数字を消す。解けなかったら残す。これを繰り返す。 実は、この中で1つ重要な手順が抜けています。それは④の後に入りますがどんな内容か分かりますか?それは次のような内容です。 ★矛盾したら別の数字を入れる。矛盾しない数字を選ぶまで繰り返す。 もし、問題を解くエンジンが完全なら、絶対に矛盾する数字を選ばないでしょう。レベル1~7だけの今のエンジンは、まだまだ不完全というわけです。私の目標はこのエンジンを完成させること。問題作成途中の数字の選択で矛盾を起こさせないことです。完成できるかどうかわかりません。恐らく無理でしょう。でも、頑張ります! ただ、余りにも難しすぎる問題を解くのはおっくうです。今ぐらいのレベルが自分には一番楽しめるのですが。この気持ちがエンジン完成を鈍らせてるのかなぁ~。 |