基本テクニック

1. 全ての列・ボックスには1-9の数字がそろう

最初のテクニックはルールそのものです。下の図で色が付いているマスはナンプレのルールから自動的に決まります。

縦、横、ボックス内の既に埋まっている数字を見れば、色が付いているマスは残り物、この場合はr4c3=3, r5c9=9, r8c2=6となります。


2. どの列・ボックスにも同じ数字は入らない

1であげた基本が実際に適用できるケースは実はあまりありません。なぜかといえば、残り物1つをさがしてマスに入れるのはパズルというより、作業と呼んだ方がふさわしくあまり楽しくないからでしょう。

ナンプレのテクニックの真髄はこの2番の"どの列・ボックスにも同じ数字は入らない"にあります。(多分)

ナンプレは縦・横の列、それぞれのボックスが9つのマスで構成されています。したがって、一つの列やボックスに同じ数字が二つ以上入ってしまうと、その列・ボックスは1-9の数字をそろえることができなくなってしまいます。

ナンプレの全てのマスには20のマスによる排他的なエリアが存在します。そのマスにある数字を入れる場合は、この排他的エリアに同じ数字が存在してはなりません。

このエリアの事をピアと呼ぶことにします。

青色のマスr6c7のピア。青のマスと同じ数字は黄色のマスには含まれない。


2.1 単独候補マス

どのボックスも上下左右に2つずつ同じ並びのボックスがあります。この合計4つのボックスである数字の位置が決まっている場合、必ず着目したボックスの数字の位置が確定します。

左の図では縦横並びのボックスですべて3の位置が決まっているためこれらと重ならないように3を配置できるマスはbox4の中にはr4c2の一つしかありません。

このように4つの並びすべてが確定していれば文句なしですが、数字の配置によってはそれ以下でも候補マスが単独になります。

並び1つの位置しか決まっていなくても確定できる一例(緑のマス以外一番右のマスにある3をよけることができない)

並びの数字の位置は必ずしも確定している必要はありません。左の図で中央のボックスでは3の位置が確定していませんが、ピンクのマスのどちらかにしか3を入れることができないので、左端のボックスの3の位置が決まります。

同じ考えをボックスではなく、列に適用することもできます。

左の例でc4の列に8が入る場所を探すと、 box2とbox9の8をよけられるマスは緑のr8c4しかありません。

列に適用する場合衝突をチェックする範囲が広くなるため、ある程度列が埋まってからでないとかなり手間がかかります。

序盤から中盤にかけては、ボックス単位での衝突チェックで、置ける場所を確定して行くのが効率的です。(簡単な問題だと、これだけでほとんど解けてしまうこともあります。)


2.2 単独候補数字

数字が入れられる場所を探すのではなく、何が入れられるかを調べてマスをうめる事もできます。

左の例でr9c3に入れられる数字を考えてみます。このマスのピア(黄色の部分)にある数字と同じ数字はr9c3に入れることができません。そこで使用されている数字をチェックすると、1- 6, 8, 9が使用されていることがわかります。

従ってこのマスには残りの数字、7しか入れることができません。

この手法は2.1で使った位置の重なりをチェックする方法とくらべると、かなり手間がかかります。2.1を使っても手がかりが得られない場合や、特定の列/ボックスの数字がかなり決まっている状況で使用するのが良いと思われます。(この手法を何度も繰り返し使わせる意地悪な問題も中にはあります。)

実際この例では、r9c3の他にピンクのマスに入れられる数字も1種類しかないのですが、これを紙と鉛筆ベースでやっているときに見つけるのはかなり大変です。(ナンプレのサポートソフトなどで、Auto pencil mark機能を使うと逆にあっさり見つかる)


2.3 候補数字の配置による絞り込み

これ以降の解法はほとんど全てがあるマスに入る数字を決定するのではなく、マスに入る数字の候補を絞り込むものです。(= ある数字を入れられない場所を見つけていく)

数字を入れられる場所をチェックした結果、探している場所が1ヶ所に絞れなくても、その数字が入る可能性があるマスの配置によっては他の場所の数字を置く場所が制限されるケースがあります。

あるボックス内で特定の数字xの候補マスが縦または横一列にしか存在しない場合、その横列のボックス外のマスにはxをおくことができない。

左図で黄色のボックス内に3をおける場所が, 3と書かれている場所だけしかない場合、列r8のボックス外の部分(ピンクの場所)には3をおくことはできません。

理由: ボックス外の横列に置いてしまうとボックス内に置く場所がなくなる。

ある列内で特定の数字xの候補マスが1つのボックス内にしか存在しない場合、そのボックス内の横列とかさならない部分にはxをおくことができない。

黄色のr9列内で5が置ける場所を探した結果、5と書かれている場所にだけおけることがわかった場合、ボックス内の列外の部分(ピンクの場所)には5をおくことはできません。

理由: 横列と重ならない部分においてしまうと、横列に置く場所が無くなる。

2つの横もしくは縦に並んだボックス内の候補の位置から制限をかけることができる場合もあります。

2つの横もしくは縦に並んだ(離れていてもよい)ボックス内で、特定の数字候補xの位置が並んだ方向の2つの列にしか分布していない場合、3番目のボックスにはその2つの列にxを置くことができない。

左図の例では、ピンクの部分には7は置くことができません。

理由: その二つの列上に置いてしまうと、どちらかのボックスで置く場所がなくなる。

これらの手法は特に意識しなくても2.1の3つめのような配置では自然に適用できます。中盤から後半にかけて、数字がおける範囲が後述する2/3国同盟などで制限されているケースでは意識して使うと威力を発揮することが多いと思います。

→home →next


2006/8/23

inserted by FC2 system