礼儀正しく『ホームページ』に立ち寄ろう / JAVAとパズルの世界

馬鹿独


あるパズルのイベントで、パズルプログラマとして面白いものを見せようということで、 前日の午後になってから、急にナンプレを解くアプレットを見せようと思い、作りはじめた。 突貫作業だったので、何とかデモに耐える程度のはできたが、 ろくなプログラムではないが、公開しようと思う。

普通に解くのでは芸がないので、最も馬鹿な解き方である方法で解くのが良かろうと思い (見た人が、自分はコンピュータより賢いと思い込むのが狙い)、 馬鹿独と私が勝手に命名している解き方を実現してみた。 ちなみに、馬鹿独とは、馬鹿が独り延々と白みつぶしを行なうから、こう名付けてみた。他意はない。

この解き方の優れている点は、どんな難しい問題でも、あるいはやさしい問題でも、 そういうことには左右されないこと。 で、どんんな解き方をするかは、左3つのボタンで問題を選択(数字は初出の数字の数)してから、 [Start] ボタンを押す。すると、解き始める。 [Stop] の表示の時に押せば停止し、[Continue]の表示の時に押せば再開。 思考錯誤途中でも問題選択ボタンを押すと、解くのを中断し、問題が切り替わる。

延々と調べて、解が求まると停止。そのとき、[Continue]ボタンを押すと、 その続きから再開。全て調べ尽すと、最初の表示(黒い数字だけ)になる。 左上には、何回数字を入れ替えたかを示す。


まあ、とにかく[Start]ボタンを押してみよう。

馬鹿独のソース:BakadokuApplet.java 我ながら無茶な書き方だと思う。

ナンプレの自動生成プログラムとの関係

実は、この馬鹿独のプログラムの律義な動きをぼ〜っと眺めていたら、 ある着想が湧き、この馬鹿独のプログラムを応用することで、 自動生成プログラムができるのではないかと思った訳である。

何事も、徹底的に馬鹿を極めれば、新しいことに繋がるようだ。 まあ、皆が正しいという意見の一致をみるようなことをやっていては、 平穏無事な生活はできるだろうが、何も新しいことは出来まい。 馬鹿な、それも呆れ返るくらいの優れた馬鹿さで詰っているならば、 新しいアイデアも出てくるというものだ。

さて、私は何を思い付いたのでしょうか?


礼儀正しく『ホームページ』に立ち寄ろう / JAVAとパズルの世界