パソコン・メモメモ備忘録

気の向くままパソコン関係等で気になることを書き記す。毎日更新を目指す!

数独 解法支援 Excel シート 強化

以前、数独を解くのを助ける Excel シートを作った。そこで、数独には、決定的に(後戻りする可能性なく)は解けない問題がある、と考えたのだが、Excel シートを強化することで、その問題も後戻り無しで解けてしまった。やっぱり数独は、決定的に解けるのだろうか。
今回強化したのは、ある列、行、3x3のブロックのいずれかで、ある数字は、そのマスにしか入れられない、というのを検出する機能の追加だ。以前のものだと、そのマスに入れられる数字の候補を出していたのだが、今回対応したのは、例えば、ある列で、その候補の中である数字が1箇所しかでてない、という場合だ。そのマスに入れられる数字が複数あっても、その数字がそこにしか入れられなければ、確定する。

後、気がついたのは、そのマスに入れられる数字の候補が2種類で、例えば同じ行に、同じ2種類しか候補にないマスがあったら、それらのマスは、そのどちらかに絞られる。その他のマスで、それらの2種類の数字が使われることはない。これは拡張できて、同じ n 種の数字の候補のマスが n 個あれば、それらはそのどれかに絞られる。が、n = 2 以外はめったなことでは出てきそうにない。

これは逆?もあって、ある数字がある行の2箇所しか入れる可能性のあるマスがない、というのが、もう一つの数字で、同じ2箇所のマスで同じ条件になれば、それらはどちらかがどちらかで絞られる。その他の数字は、その2マスに入ることはない。これも n 個のマスに拡張可能だが、現実的ではない。

その他にも、行の制限から列の制限が生じる場合など、解いているうちに気がついた。

これらを Excel のシートに実装するのは結構面倒そうだなぁ。

コンピュータを用いれば、総当たりで、どんな数独の問題もそんなに時間をかけずに解けてしまう。が、それは面白くない。やはり人間が解くためのやり方、というものを考えるのがいいのだ。ということで、こういうエクセルシートで、人間が解く際に採用するだろうルールを実装していくことで、人間のための解き方を考えたりするわけだが、結局自己満足だけかなぁ。