【解法】Reverse BUG

 Reverse BUG は「ナンプレの解はただ1つしかない」という前提で使用する特殊な解法です。
 既に盤面に書かれている数字を使います。
 正式な解法と言えるかどうかは微妙ですが、早解きをする場合に有用……ではないかも😅
 手順が結構メンドくさいんです。

1.Reverse BUG の扱う複数解パターン

 通常、ナンプレには解は1つしかありません。
 これはルールで定められているわけではないですが、パズル界においてこれは暗黙の了解です。
 となると、解が複数存在してしまうような理屈はおかしい! ……という考えは一理ある。
 Reverse BUG はその考えから生まれた解法なんです。

 ただ、その前に「複数解が起こる……とは何ぞや?」という話になる。
 そして、他の解法とは違って Reverse BUG は特殊なパターンを扱うんです。
 そこで、まずはそのパターンについて解説していきましょう。

 なお、ナンプレの複数解のページでも解説しています。

図 1-1

 図1-1、ポツポツと黄色6マスが並んでいます。
 どの黄色マスにも数字が入っていますね。
 黄色全体を見ると、次の状況になっています。

  • どの黄色マスにも数字1, 2どちらかが入っている。
  • 黄色マスの属するどの列やブロックを見ても、黄色マスが2つある。さらに、その2マスには数字1, 2が1個ずつ入っている。

 例えば、左端のタテ列には黄色マスがちょうど2つありますね。
 その2マスには数字1と2が1個ずつ入っている。
 これは、黄色マスの属する列・ブロックすべてに言えることです。

 さて。
 この黄色6マス、実は、大きな特徴が1つあるんです。

図 1-2

 数字を交換しても完成図ができる!

 他の数字でマス全部を埋めると、図1-2 左側のように完成図ができあがります。
 しかし、そこから黄色マスの1と2を交換すると 図1-2 右側のようになる。

 あら、これも完成図になってるよ!
 実は、白マスの状況にかかわらず、黄色6マスをいじると完成図をもう1つ作れるんですね。

 この黄色マスのように、数字を交換してもまた完成図になっている。
 これが黄色6マスの大きな特徴なんです。

 黄色マスの数字を交換しても完成図を作ることができる。
 この黄色マスの数字配置を unavoidable set と呼びます。

図 1-3

 盤面にはいろんな unavoidable set が潜んでいます。
 形もマス数もさまざまです。

 例えば、数字4, 5の set。
 緑色の4マスです。
 ちっちゃい😊

 他には数字7, 9の set もあったり。
 青色の14マスです。
 おぉ、ずいぶん多い!

図 1-4

 ここまでは数字2種類の unavoidable set を紹介しました。
 もちろん、3種類以上の数字からなる物も存在します。
 例えば、図1-4 の黄色8マスです。

 ……が、実は Reverse BUG で扱うのは数字2種類の物だけです。
 なので、以降は数字2種類に限定して unavoidable set を扱うことにします。

 ちなみに、数字2種類の場合、マス数の最大は18マスです。

 ルールには明記されていないものの、パズル界において「どの問題も唯一解を持つ」は暗黙の了解。
 そのようなナンプレを解いている時、複数解パターンが現れることは絶対にありません。
 そして、複数解パターンに関連して unavoidable set という物がありますが、解法 Reverse BUG においてこの unavoidable set は大きなカギを握っているんです。

2.unavoidable set は独りじゃない

 前セクションでは unavoidable set を紹介しました。
 「数字を交換可能」という特徴があったんでしたね。
 実は、unavoidable set には重要な特徴がもう1つあるんです。
 それは解法 Reverse BUG を使うにあたって必須の特徴!
 それを紹介しましょう。

 あっ。
 前セクションでも言いましたが、以降は数字2種類の unavoidable set のみを扱います。
 ご注意ください。

図 2-1

 図2-1 を見てみましょう。
 完成図ですが、数字1と2にだけ注目していきます。

 まずは黄色6マス。
 前セクションで説明した通り、この6個の数字1, 2は unavoidable set です。
 黄色マスの1と2を交換しても完成図ができますもんね。

 では、今度は残りの数字1, 2に注目しましょう。
 赤色12マスの数字1, 2です。
 ここで、ちょいと試しに赤色マスの1と2を交換してみましょうか。

図 2-2

 あら!
 これも完成図になってるよ!!

 なんと、黄色マスだけかと思いきや、赤色マスも同じ性質を持っていた!
 赤色12マスも unavoidable set だったんですね。
 これが unavoidable set のもう1つの性質です。

 一般的な話をしましょう。
 これが成り立つんです。

  • 数字a, bで構成される18マス未満の unavoidable set が見つかった時、残りのマスでも数字a, bの unavoidable set が必ず見つかる。

 18マス未満の unavoidable set は必ず複数存在する。
 ここが重要なんです。

 unavoidable set クン、君は独りぼっちじゃないのさ。

図 2-3

 ところで。
 unavoidable set のマス全部が空きマスだと非常にマズいわけですね。
 複数解が生じてしまうから。

 ということは、ナンプレ制作者側としては複数解を防ぐ手立てが必要です。
 具体的には、set 内部のどこかにヒント数字を置かなきゃいけません。
 そんなわけで、次が成り立つんです。

  • すべての unavoidable set において、最低1マスにはヒント数字が存在する。

 図2-3 だと次の2つが必要です。
 最低1つの黄色マスにヒント数字を配置する。
 最低1つの赤色マスにヒント数字を配置する。

 黄色&赤色、両者ともヒント数字を抱えなきゃいけないんですね。
 「両者とも」です。

図 2-4

 逆に、もし片方の unavoidable set にしかヒント数字が存在しなかったとしたらどうなるか。
 例えば、赤色マスがヒント数字1, 2を独占していたとしたら……?

 もぅもぅ明らかですね。
 図2-4 の通りです。
 赤色部分は一意に決まっても、黄色部分では複数解が発生してしまうんです。

 というわけで、こんなことが言えます。

  • 数字a, bで構成される18マス未満の unavoidable set は、ヒント数字a, bを独占できない。

 小さな unavoidable set がヒント数字を独占してしまう。
 こういう状況はNGなんですね。
 そして、その状況になりかけている時、解法 Reverse BUG の出番がやってくるんです。

 余談ですが、Sudopedia のミラーサイトによると、It is unavoidable for the puzzle maker to place at least one given in one of these cells.と書かれてました。
 「これらのマスのどこかにヒント数字を最低1つ配置する。ナンプレ制作者はそれを避けることができない」と。
 ここから「unavoidable set」という用語が生まれたのかもしれませんね。

3.どういう解法?

 Reverse BUG は unavoidable set とヒント数字が大きなカギとなる解法です。
 そのカギがどういうふうにはたらくのか。
 それを解説していきます。

図 3-1

 図3-1 を見てみましょう。
 問題図から少しだけ解き進めたところです。
 ヒント数字があちこちに散らばっていますが、ここではある2種類の数字に注目します。
 3と6です。

 この2つの数字、よく見たらたった3箇所にしかありません。
 すべて黄色4マス内部にあるんですね。

 ここで「もしマスAに数字3が入ったとしたら……?」な〜んて考えると、解法 Reverse BUG で解決の糸口が見えてきそうです。

図 3-2

 前図3-1 からはどういう結論になるんでしょう?
 こうなります。

  • マスAから候補数字3を除去できる。

 あらら。
 「もしマスAに数字3が入ったとしたら……?」なんて言ってたら、その数字3が消えちゃうのね😓

 なぜこういう結論になるのか?
 その理由には unavoidable set が深く関わってきます。
 それを今から説明しましょう。

 もしマスAに数字3が入ると、黄色4マスで数字3, 6の unavoidable set ができあがる。
 その黄色 set はヒント数字3, 6をすべて独占しちゃってる。
 こりゃぁマズい! 複数解が発生してしまう!
 ……というわけなんです。

図 3-3

 もう少し詳しく説明しましょう。
 「マスAに数字3が入る」と仮定したらどうなってしまうのか?

 黄色4マスでは数字3, 6の unavoidable set ができました。
 ここで、前セクションの話を思い出しましょう。
 こういうことが成り立つんです。

  • 数字3, 6からなる unavoidable set はもう1つ存在する。

 18マス未満の unavoidable set は複数存在する。
 つまり、黄色以外にも unavoidable set が必ずどこかにある。
 図3-3 だと、青色領域上にもう1つの unavoidable set が隠れているんです。
 14マスで構成される、数字3, 6の set です。

 今のところ、その set の姿は見えません。
 しかし、存在することは確かです。

図 3-4

 この青色領域に目を向けましょう。
 さて、この領域にヒント数字3と6はあるでしょうか?

なんと、1つもありません!

 これは何を意味するのか?
 解き進めていくと姿が露わになるであろう青色 unavoidable set は、もぅ……こういう状態になってしまっているんです。

  • 数字3, 6からなる unavoidable set なのに、ヒント数字3と6が1つもない。

 つまり、複数解を持つことが約束されてしまう!

 これはマズい。
 複数解は避けなければいけないのに😞
 よって、「マスAに数字3が入る」という仮定は却下せざるを得なくなったわけです。

 図3-2 の結論通りになりましたね😊

4.もっと複雑なパターン

 次は、もっと複雑なパターンを紹介します。
 ヒマな時にでも軽くご覧ください😊

図 4-1

 図4-1 を見てみましょう。
 問題図から6マス埋まったところです。
 今回注目する数字は2と9です。

 この2種類の数字、すべて黄色領域の中にしかありません。
 しかも、マスAには候補数字9、マスBには候補数字2。
 いかにも「Reverse BUG を使え〜使え〜!」と言わんばかりの雰囲気が漂ってます😅

図 4-2

 前図4-1 からは最終的にこうなります。

  • マスXに数字3が確定する。

 なぜこういう結論になるんでしょう?
 それを解説しましょう。

 まず、解法 Reverse BUG によって、こういう結果が得られます。

  • 「A=9 かつ B=2」は成り立たない。

 なぜか?
 もし仮にマスAに9、マスBに2を入れてしまうと、複数解が避けられなくなるからです。
 黄色8マスで unavoidable set ができあがるけれど、盤面に5つあるヒント数字2, 9を独占してますもんね。

図 4-3

 というわけで、次のどちらかは成り立つことになりました。

  • マスAから候補数字9が除去される。
  • マスBから候補数字2が除去される。

 それぞれ話を進めてみましょう。
 前者の場合、マスAの候補数字は5, 7になりますね。
 すると、ブロック内部で2マスA, Cの2国同盟が発生!
 そのあおりを受けて、マスXには数字5も7も入れられなくなっちゃいました(図4-3)。

 後者の場合も同様です。
 マスBの候補数字は5, 7になり、ヨコ列内部では2マスB, Cの2国同盟が発生します。
 よって、マスXには数字5も7も入れられません。

 どちらにしろ、マスXに数字3が確定するわけですね。
 図4-2 の結論通りになりましたね😊

5.unavoidable set って盤面に何個あるの?

 ここからは余談です。
 数字2種類の unavoidable set、18マスなら1個だけ存在するし、18マス未満なら必ず複数存在するわけですね。
 ということは、盤面によっては unavoidable set の個数はまちまちだと言えます。
 じゃぁ、1枚の盤面に数字2種類の unavoidable set は何個存在できるんだろう?
 その最大値と最小値を考えてみたいと思います。

図 5-1

 まずは、最小値です。
 これは、次の状況の時に最も少なくなります。

  • すべての unavoidable set が18マスで構成されている。

 つまり、「どの数字ペアに対しても unavoidable set は1個しかない」という状態ですね。
 例えば、図5-1 の盤面はそういう状態になっています。

 この場合、unavoidable set の個数はいくつになるのか?
 数字ペア1組に対して set が1個対応するわけなので、9つの数字から2つを選ぶ場合の数と同じですね。

(最小値) = 929・82・1 = 36

 というわけで、最小値は36個でした😊

図 5-2

 次は最大値です。
 まず、特定の数字ペアに対する unavoidable set は最大何個できるのかを考えてみます。
 例えば、数字1, 2の unavoidable set は最大何個作れるんでしょう?

 答えは4個です。
 図5-2 のような形ですね。
 赤色、青色、黄色、緑色。全部で4つ。

 ペア1組あたり最大4個の set ができる。
 ということは、unavoidable set の最大個数は次の式で求まりそう。

(最大値) = 92 × 4 = 36×4 = 144

 ただ、困ったことがひとつ。
 9×9の狭い空間に全ペア4個ずつ詰め込めるんだろうか……?
 そんな都合の良い完成図は無理かもしれません。
 だから、理論上は144個が最大ということにしておきましょう😊

 ここからは駄文です。
 Reverse BUG はヒント数字が決め手となる解法です。
 そこで、ヒント数字についてちょいと無駄話をしてみます。

 複数解を防ぐためには、どの unavoidable set にもヒント数字1個は必要です。
 しかし、世に出ているナンプレにはヒント数字が24個程度しかありません。
 あれ? unavoidable set は最低36個あるのにヒント数字は24個程度で済んでいる?
 36個じゃないのが不思議なところ。
 あ、数字1個が複数の set のヒント数字を兼ねていてもおかしくはないから、たいして不思議ではないのか。

 ヒント数字の個数に関して、私の個人的な感覚をひとつ。
 なんとな〜く「24個と23個の間には壁がある」と感じています。

 中級ナンプレを制作する時、私はヒント24〜25個で作ることがほとんどです。
 なぜかと言うと、24個以上だと制作に苦労しないから。
 特に苦もなく問題ができあがる。
 ところが、ヒント23個で作ろうとすると一気に制作難易度が跳ね上がってしまうんです。

 ヒント23個だと、あと一歩で完成というところまでは行ける。
 だけど、そこからマスを埋めきれない。ヒント数字が足りなくて。
 あと一歩だからヒント数字を変えればうまくいきそうなんだけど、そうすると今度は別のマスが埋まらない。
 さらにヒント数字を変えても別のマスが埋まらない。
 どう試しても「あと一歩」。ゴールが見えているのにゴールテープが遠い。
 結局あきらめてヒント24個で作り直す。
 もどかしい思いばかりするんです。

 単純にヒント数字が少ないほどナンプレは完成しにくくなります。
 逆に、めちゃくちゃ多ければ鼻ほじりながらでも完成できる。
 そう考えると、ヒント数に関して「制作しやすい/しにくい」の境界線はどこかにあるだろう。
 その具体的な位置が「24個と23個の間」なのかなぁと考えています。

 これは私の経験則であって、何の根拠もありません。
 24と23に本質的な違いはないでしょうし。
 でも、作りやすさが本当に段違いで変わる。これがもぅ不思議でしょうがない。
 個人的に感じる『ナンプレの不思議』です。

 以上、とりとめもない駄文で失礼しました。

更新履歴