1.Bivalue Universal Grave の扱う複数解パターン
通常、ナンプレには解は1つしかありません。
これはルールで定められているわけではないですが、世に出ているナンプレはこの性質を必ず持っています。
そのため、「解が複数存在してしまうような理屈はおかしい!」という考えは一理ある。
Bivalue Universal Grave はその考えから生まれた解法です。
解法を説明する前に、まずは「解が複数存在するとは何ぞや?」という話をしましょう。
ナンプレには、複数解の避けられないパターンが存在します。
パターンの形はさまざまですが、当ページでは、Bivalue Universal Grave に絞って解説していきます。
あっ。
いちいちバイヴァリューユニヴァうんたらかんたらなんて言ってたら21世紀が終わるので、以降は BUG と略しちゃいます。
図1-1、盤面の大半が数字で埋まっていますね。
これだけ盤面が真っ黒だと、空きマス(黄色)に入れられる数字はごく僅か。
黄色全体を見ると、次の状況になっています。
- どの黄色マスを見ても、候補数字は2つしかない。
- 黄色マスの属するどの列やブロックを見ても、黄色マス内部の候補数字はそれぞれ2回ずつしか現れない。
例えば、左端のタテ列には黄色マスが3つありますが、その候補数字1, 2, 9はそれぞれ2回ずつ現れています。
右下ブロックでは候補数字1, 6, 7, 9が2回ずつ現れていますね。
こういう状況だと、どうにも困ったことが起こるんです。
絶対に解き終えることができない!
と言うか、前図1-1 からは1マスも埋まりません😅
マジです😅
本当に一歩も先に進めない!
なぜなら、前図1-2 の状況からは完成図を2通り作ることができるからです。
図1-3 ですね。
どの黄色マスも数字は二択だけど、どちらを選んでも完成できてしまう……。
結局、図1-1 の状況が生まれた時点で、そのナンプレは複数解を免れないんですね。
図1-1 の黄色マス全体、これが解法 BUG で扱う複数解パターンです。
当ページでは BUGパターン と呼ぶことにしましょう。
「このマスはこの数字で確定する!」
これが最後の1マスまで続くから、ナンプレは完成まで解き進めることができる。
ところが、盤面に複数解パターンができるとその流れは途絶えてしまう。
どんなに解き進めたとしても、結局は 図1-2 のような状況に陥って解けなくなってしまう……。
解けないことがわかると、解く意欲が急激に冷める。
解けた達成感のないナンプレなんて解く意味がありません。
そういう状況を避けるため、ナンプレ製作者は必ず唯一解を持つように作っています。
そのようなナンプレを解いている時、複数解パターンが現れることは絶対にありません。
したがって、複数解パターンは必ず間接的な使い方をします。
- ナンプレ盤面に複数解パターンが現れそうになったら、それを避けよう!
この使い方を踏まえつつ、セクション2以降で例を交えて解説しましょう。
2.Bivalue Universal Grave (BUG+1)
では、BUG とはどういう解法なのか?
このセクションと次セクション3で例を挙げて解説していきましょう。
図2-1 を見てみましょう。
問題図から解き進めて7割ほど埋まったところです。
どの空きマスも候補数字を2個持っていますね。
ただし、マスAだけは例外で候補数字を3個持っています。
今、マスAの候補数字7を一旦見なかったことにすると、図2-1 の盤面は次の状況になっています。
- どの空きマスを見ても候補数字は2つしかない。
- 空きマスの属するどの列やブロックを見ても、候補数字はそれぞれ2回ずつしか現れない。
この状況、まさに次の通りになっていた!
マスAの候補数字7を取り除くと BUGパターンをなす。
この一旦無視した候補数字7のことを、ここでは オマケ候補 と呼ぶことにしましょう。
また、BUG という解法は、オマケ候補の個数に応じて BUG+n という形で表されます。
図2-1 の場合はオマケ候補が1個なので、BUG+1 です。
さて、前図2-1 の状況の時、どういう結論になるんでしょう?
こうなるんです。
- オマケ候補である数字7がマスAに確定する。
なんと、マスに数字が確定するという!
なぜこういう結論になるんでしょう?
それは、もしマスAに数字7が入らないとすると、BUGパターンが現れてしまうからなんです。
BUGパターンが現れると、そのナンプレは複数解を持ってしまう。
これは避けなければいけない!
だから、マスAに数字7を入れなければいけないんですね。
3.Bivalue Universal Grave (BUG+2)
前セクションでは、オマケ候補が1個ある場合について解説しました。
今回はオマケ候補が2個ある場合を解説します。
2個なので、BUG+2 です。
図3-1 を見てみましょう。
どの空きマスも候補数字を2個持っています。
ただし、2マスA, Bは例外で候補数字を3個持っていますね。
今、マスAの候補数字8とマスBの候補数字3を無視してみましょう。
すると、図3-1 の盤面は次の状況になります。
- どの空きマスを見ても候補数字は2つしかない。
- 空きマスの属するどの列やブロックを見ても、候補数字はそれぞれ2回ずつしか現れない。
つまり、こうです。
マスAの候補数字8とマスBの候補数字3を取り除くと BUGパターンをなす。
この場合のオマケ候補はこの候補数字8, 3です。
さて、前図3-1 の状況の時、どういう結論になるんでしょう?
こうなるんです。
- 2つのオマケ候補のうち最低1つが当該マスに確定する。
つまり、「マスAに8が確定する」「マスBに3が確定する」のうち少なくとも1つが成り立つというわけです。
なぜ、こういう結論になるのか?
それは、もしオマケ候補を2つとも除去してしまうと BUGパターンが現れてしまうからです。
もちろん、それは避けなければいけません。
だから、オマケ候補を最低1つは残さなければいけない。2マスA, Bのどちらかにはオマケ候補を入れる必要があるんです。
オマケ候補が最低1つは入る、ということがわかった。
じゃぁ、そこからどう解き進められるんだろう?
左上ブロックに注目して、数字3の入り得るマスを見てみると……。
なんと、マスBに数字3を入れられないことが判明するんです。
あら、マスBのオマケ候補が却下されてしまった。
もう1つのオマケ候補8をマスAに入れるしかなくなりました。
マスAに8が確定です!
前図3-3 の場合は、たまたまオマケ候補に直接影響したから簡単に解き進められました。
別のアプローチも1つ紹介します。
オマケ候補からスタートして、数字確定の流れを追ってみましょう。
まず、マスAのオマケ候補8から。
- マスAに8が入る。
- すると、マスDに8は入れられない。3が確定する。
- よって、マスCに3は入れられない。
次は、マスBのオマケ候補3。
- マスBに3が入る。
- よって、マスCに3は入れられない。
なんと、どちらのオマケ候補が当該マスに入っても、同じ結論が得られました!
というわけで、マスCから候補3を除去できることになりました。
BUG には他にもさまざまなパターンがあります。
例えば次のような感じ。
- オマケ候補が3個以上あるパターン。
- 1マスにオマケ候補が複数入っているパターン。
こういった場合でも理屈は同じです。
もちろん結論も同じ。
「全部のオマケ候補のうち少なくとも1つが当該マスに確定する」となります。
この結論を基に解き進めていくことになりますね。
4.芋を洗うような BUG+n
ここからは余談です。
今までの BUG はオマケ候補が1個や2個のパターンでした。
実はもっと多いパターンもあるんです。
このセクションでは、それを2つ紹介します。
図4-1 の盤面を見てみましょう。
問題図から解き進めて、半分ほどマスが埋まった状態です。
まだまだ候補数字は多いですね。
ただ、候補数字を2個しか持たないマスもチラホラ。
なんとな〜く BUG+n の片鱗が見えるような見えないような……。
そんな雰囲気の盤面です。
実は、この中に BUGパターンが隠れているんです。
BUGパターンは 図4-2 です。
おぉ、たしかに BUGパターンになってますね!
候補数字が綺麗に2個ずつ揃ってる。
オマケ候補もちゃんとありますね。
BUG を使うためにはオマケ候補がなきゃダメですもんね。
……でも、ちょっと待て。
なんかオマケ多くね?
前セクションとは明らかに違う。
いったい何個あるんだ? 数えてみましょうか。
なんと、オマケは 29個もありました。
ぐはぁっ! 29個!
29個ですってよ奥さん!
もぅもぅもぅ多すぎだろ😅
オマケ達が芋を洗うよう。
こんなにぎやかな BUG、見たことありません😅
オマケ候補が 29個。
すごくすごく大きな BUG ですね。
ただ、残念なお知らせがひとつあります。
この BUG+29、見かけ倒しの BUG なんです。
もちろん、BUG+29 でもこれが成り立ちます。
- 29個のオマケ候補のうち最低1つは当該マスに確定する。
しかし、この BUG、オマケ29個のうち 25個は破綻を引き起こしてしまいます。
ほとんどがフェイク! 実質 BUG+4 という粉飾 BUG😅
一応、残ったオマケ候補3332を個別に検証していくと、どの場合も次の結論が得られます。
- 青色マスに数字4が確定する。
これさえ確定すれば後は基本解法だけで解けるので、このナンプレは論理的に解けるっちゃぁ解けます。
でも、苦行過ぎる😞
背理法を29回も試してオマケをチマチマ消すなんて、考えただけでも気が滅入る。
しかも、左上隅のオマケ候補3を仮定してみたら破綻せずに完成まで行けるんです😅
もぅ何ですかこの BUG😅
オマケ 29個のすっごく壮大な BUG。
ところが、蓋を開ければすっごい駄作。
ビーユージーじゃなくてただのバグじゃねぇか😅
ロクな例じゃなくてホントすんません😅
次は真っ当な BUG を紹介しましょう。
『The New Sudoku Players' Forum』のトピック November 6, 2018 で実際に出題されたナンプレです。
トピック内ではいろんな解き方が示されていますが、なんと、BUG でも解けるという!
このナンプレ、途中まで解き進めると BUG+23 が見つかります。
図4-4 の通り。
候補数字が綺麗に2個ずつ揃い、オマケが23個入っている。
壮大な BUG です。
しかも!
驚いたことに、どのオマケ候補でも同じ結論が出せるんです。
- 23個のオマケ候補のうち最低1つは当該マスに確定する。
そして、どのオマケ候補が当該マスに確定しても、赤色マスから候補数字6を除去できる。
一例を 図4-5 に示します。
マスAのオマケ候補4の場合はこんな流れです。
- マスAに数字4が入る。
- マスBに4は入らず、9が入る。さらにマスCに数字6が入る。
- マスDに数字6は入らない。
- マスEに数字6が入る。
- よって、赤色マスに数字6は入らない。
図4-5 で述べた結論は、先述のトピック「November 6, 2018」のレス記事で証明されています。
オマケ23個、見事に完全網羅した証明です。
興味があればご覧ください。
ただ、その証明文はマニア向けなので注意してください。
すべてこういう書式で書かれています。
(4)r2c2 - (4=96)r7c28 - r9c7 = (6)r9c4.
この表記法、Eureka notation と呼ばれています。
これは 強いリンク や 弱いリンク による論理展開を簡略表記するためのもので、主に X-Chain などチェーン系解法で使われます。
詳細は Eureka Notation のページをご覧ください。
もし Eureka notation を理解しているなら、当該記事の証明文を検証してみるのも良いでしょう。
数学の証明でもなかなか見かけない何十通りもの場合分け。
しかも、すべてが同じ結論に収束するという。
圧巻の証明に驚きを隠せません。
あ、実際に検証する時は、慌てず急がずやりましょう!
Bivalue Universal Grave ですもんね。
お墓だけにボチボチと、ってね。(寒い)
参考・参照
- The New Sudoku Players' Forum, 『November 6, 2018』,
http://forum.enjoysudoku.com/november-6-2018-t35475.html#p272053
更新履歴
- 2022. 2. 5.
- 新規公開。
- 2023. 3.31.
- ページ冒頭に難易度表記を追加。
- 2024.11.22.
- セクション1に 図1-3 を追加。