« 砂漠の風に悩む | トップページ | 豆カンナで悩む »

2012年8月19日 (日)

数独で悩む

アメリカへの往復にはDELTA航空を使った。食事も一部を除いて満足できるものだったが、LCDで見る映画関係が機材の故障などあってつまらなかった。まぁ、行きも帰りも睡眠に当てるつもりだったのでどうでもよかったのだけれども。

食事の時に「プレゼントです」とかいって渡されたのが一枚のカードに印刷された「数独」ゲームだ。行きも帰りも同じものが渡されたが、ちょっとくらいバリエーションがあってもいいんじゃないのか?

Sudokudlt

数独は前から知ってはいたが、あんまりまじめにやったことはなかった。数独のルールはここに書いてあるとおりで、図に示した緑の枠の中に1~9の数字がそれぞれ1個ずつしか存在できない。

で、早速やって見るわけだが、図中で情報の多そうな、つまり該当する道のマスの縦横と3×3のマス内に既知の数字が多いと思われるマスに注目する(赤で囲った部分)。で、緑で囲った部分にすでに出ている数字を取り除いていけばいいわけで、それなら該当するマス内にさらに3×3の枠を作り、1~9の数字に対応する部分に☓マークを付けていけばいい。するとここには5か6しかありえないことが分かる。

まぁ、分かることはわかるので、これを未知の数字のマスについて全てやればいいのだろうが、そんなことはコンピュータにやらせればいいので、人間がやってもつまらない。なのでここでおしまい。

帰国してから簡単なプログラムを書いて、上記のような「マス内3×3」を表示するものを作ってみた。

Sudokudelta

こういう表を出力するもので、赤く示した部分は「9個の候補から8つまで潰したから、これで分かるでしょ」という事を意味している。右上の赤いモザイクはこのマスの解答が「6」であるということを示している。2行目のは「7」、7行目のは「6」、一番下の行のは「5」という解答であることを示している。

だから、この赤いモザイクが示してくれる解答を、上の対応する空欄へ書き込んで再度「SEND」をクリックすると、さらに次の回答が得られる。(追記:ちょっと改造したので、空欄へ転記しなくてもSENDをクリックするだけで解答へ一歩ずつ近づくことができる。)

この作業を繰り返すと、最終的な解答を得ることができる。この作業を自動的に繰り返して一発で回答を得ることもできるとも思うのだが、めんどくさいし、こうやって解答が得られることがわかったら、もう興味はない。

むしろ興味があるのは、数独の問題を作ることだ。問題のまず解答(全数字が表示されているもの)を作成し、そこから数字を隠していって、解読可能な「問題」を作るのは、問題を解くよりもはるかに難しい。難しいから興味がある、とも言える。まぁぼちぼちやってみようかな

|

« 砂漠の風に悩む | トップページ | 豆カンナで悩む »

パソコン・インターネット」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)




« 砂漠の風に悩む | トップページ | 豆カンナで悩む »