ナンプレ(ライブ)上級1

数学
画像はBeetles Games Studioのものです。

しばらくナンプレをやるのをやめていた。

というのは、初級、中級、上級、エキスパートときて、毎日エキスパートをやっていたら、常勝無敗になったので興味をなくしてしまったのである。

ところがある日、「別のアプリだとどのような難易度だろうか」と思い、別のナンプレアプリを入れてみた。

このアプリには「エキスパート」より上の「エクストリーム」というクラスがあった。これは、難しかった。

久しぶりに「1問解くのに2時間かかる」という経験をした。

そして再び、毎日1~2問ずつ解く生活が始まった。そのうちに、「エキスパート」以下ではやらなくてもよかった新しい解法を編み出したので、それを紹介しようと思う。

(現在、「エクストリーム」クラスにおいて199勝中なので、間違ってはいないと思う)

これまでのエキスパート以下のクラスで通用したテクニックはもちろんそのまま使う。

  • 2マス占有の法則
    数字a、bが2マスにあれば、その2マスでそのabを占有できる。
    例:「1、3」「1、3」というマスがあったとしたら、同じ列、同じ正方形から1と3は除外できる。
  • 3マス占有の法則
    2マスと同様に考えて、数字3つ(以下)が3マスにあった場合、その3マスで3つの数字を占有できる。
    例:「1、2、3」「1、3」「2、3」というマスがあったら、その3マスで「1、2、3」を占有するため、同じ列、同じ正方形から「1、2、3」を除外できる。
    2マスのときは証明もいらないが、こちらは必要。要するにどれか1つを確定すれば残り2マスも一意に決まるか、あるいは2マス占有のケースと同じになるためである。
    気が付きにくいが、これも3マス占有の例:「1、2」「2、3」「1、3」。
    最初のマスを「1」とすると次のマスが「2、3」、その次が「3」となるから、2番目が「2」と決まる。
  • 同様に、4マス占有、5マス占有とあるが、4マスはエクストリームでは使うが、5マス占有はほぼ使わない。
  • 9*9マスの普通のナンプレにおいては正方形が9つできるが、縦と横の列において一つの数字がどの正方形に属するか決まれば、他の正方形からは除外できる。
  • 行き詰まったら、候補の数が2つのマスを基点として仮定法で「仮にここは~~である」と決めてある程度進み、矛盾が生じたら仮定をしたところまで戻り、もう一つの候補数に決める。

ここまでがこれまで使ってきたテクニック。そして今回紹介するのは、「どれほど候補の数が増えても使える」という方法である。

  • 候補数が少ないマスに注目するのではなく、9つの正方形のうち、例えば「9」なら「9」のはまる候補が2つしかない正方形に着目し、どちらかを仮に「ここは9である」として仮定法を行う。

という方法である。

では順を追ってみてみよう。

まずは初期画面。

これが初期画面。そして、とりあえずはまる候補の数を全部埋めたものが次になる。

で、ここから将棋でいうところの「整地」をしていく(なお、私は将棋は全然ダメである)

ここでは、赤で囲ったところを見てほしい。

「6、7、8」「6、7」「6,7」なので、「6、7」のマスはこの2マスで決まるため、「6、7、8」のとところは「8」になる。

すると今度は「6、7」の列において「6、7」は除外できるため、それを消すと上記のようになる。

次に赤で囲ったところに注目すると、右端の正方形は一番上にしか「3」がないため、この列はここで決定となる。そのため、中央の正方形の上にある「3」は除外できる。

すると、こうなる。

ここで少し行き詰まりを感じたので、例の「新しい方法」を使う。

これまで私が行ってきた方法では、

「1マスの数字の候補が2つのところ」を基点として仮定法を使っていたが、今回はそうではなく、

「ある数字に着目して、その数字が正方形内に2つあるところを探し、どちらかを基点とする」というやり方でいく。

赤で囲ったところで、特に「5」に注目すると、ここは「5」の候補が2つしかないので、ここではじめてみようと思う。

で、右側の方を「ここは5だ」と仮に確定する。「仮」なので、確定はせず、メモ機能で書くのみ。ただし、他の候補数を全て削除する(これが大事!)

ただし、同じマスには他の候補の数が「4、6、8、9」と4つもあったので、それをごっそり減らせたのが大きい。で、ここを「5」とした場合、盤面にどういう変化が出るのかを見ていく。

赤で囲ったところが、「6、8、9」「6、8、9」「8、9」となっているので、「6、8、9」の数字を占有できるため、同じ正方形内の「6、8、9」を除外する。

するとこうなって、単体の「3」「4」ができる。一歩前進である(仮だが)。この単体の数字を用いて、他のところにある数字を消して整理していく。

最初に「1」の位置が全て定まった。今回の「エクストリーム」では、「ある数字に着目し、その数字の位置を先に固めてしまう」というやり方でやっているのだが、これは効率がよいと感じる。

次に「3」がある程度定まったが、まだ仮確定できない部分もあるが、それはほうっておいて先に進む。

赤で囲ったところで「6、7、9」の占有がおきているため、同じ列、同じ正方形内で、重複する数字を消す。

するとこのように整理できるが、

ここで単体の「8」が出てきたので、これを使ってさらに整理すると、

このようになる。

赤枠のところに着目すると、「2、9」「2、8、9」「2、8、9」で「2、8、9」の占有が起きているから、ここも同じ列の重複を消すことができる(正方形をまたがっているため、正方形内の数字は消せない)。

ここまでやって、さらに整理してようやく「3」の位置が全て定まった。

さらに整理していくと、次は「4」の位置が定まった。まだ矛盾は生じていない。

「5」が定まった。

「6」が定まった。あと残るは「2」「7」「9」あたりの絡まりで、このへんが解ければいいのだが。

ようやく全てのマスが埋まった。

これを検証する。要は縦、横に重複する数字がないかを見ればよい。ないことを確認して確定する。

これで最後までいった。

今回は「仮定法で仮定した数字が結果的にあっていた例」である。

いくら複雑そうに見えても、細かい問題の積み重ねに落とし込んでしまえば、時間はかかるにしても解ける。

ということで、最近はまたエクストリームを一日1~2題解く日々である。

コメント

タイトルとURLをコピーしました