ホームページ目次前の話次の話

パズル三昧で15周年を忘れた

2010年9月5日

1995年8月30日が、このホームページの誕生の日だったのだ。 もう15年も経過した訳だ。 15年も続けることは困難で、このページはかなり放置状態が続くようになり、 最近1年ほどは何もせず、更新の方法すら忘れてしまいそうである。

とりあえず、近況だけは書いておこう。

なんと、まだプログラムをいろいろ書いている。 普通にプログラムを書くのはとっくに飽きているので、手続きをごちゃごちゃ書きまくるという 非人間的なプログラム開発から逃避し、アルゴリズムさえ捨てて、それで、 プログラムを頑張って書いても無理なような問題を解いてしまえるような方法はないものかと思案している。

なんてことを考えていると、当然の結果として、制約論理プログラミングという世界に行ってしまうのだ。 ごちゃごちゃプログラムを書いたり、アルゴリズムを考えることがないので、 いままでのプログラミングで苦労していた部分は根本的に解決されるのだ。 しかし、まあ、色々別の問題が発生してくるのだが、 それについては今後解決されてくるものと期待しているのだ。

あとは、パズルであろうか。SUDOKUが世界的に流行してしまったので、 自動生成プログラムのよいものが、日本は無理にしても、海外から出てくるものと予想していた。 だから、自分でプログラムを組むという無駄はしない方がよいだろうと思い、 自動生成プログラムの開発は中断したままだった。

しかし、幾ら待っても、ゴミのような問題しか作らないプログラムしかできなかったようだ。 恐ろしく強力な問題を解くプログラム(ソルバー)はできたが、 問題を作るプログラムは極めて稚拙なものばかりで、信じ難い出来のものばかりであった。 まあ、それでも、ナンプレあるいはSUDOKUというパズルは大流行してしまい、 自動生成した恐ろしくダメな問題集が氾濫してしまった。 悪問は良問を駆逐するということだろうか。

そういうことがあって、また自動生成プログラムを作るようになったのだ。 そして、いくつかの出版社には問題を提供するようになり、結構好評を得ている。 というか、予想以上に忙しくなってしまったのだ。

自動生成プログラムは、自動生成エンジンと呼び、こちらだけを作っている。 ビジネス的に考えれば、エンジンだけでなく、さまざまなサービスもやればよい訳だが、 さまざまなサービスは自分でやらなくても、 そのくらいはさすがにできる人、会社などはいっぱいあるだろうから、 他人任せにしたら無茶苦茶になってしまう自動生成にだけ特化してやっている。

さて、ナンプレだけ作っていても面白くもなんともない。 ということで、出版社によっては、ナンプレのバラエティにやたらに走っているところがあるが、 その多くは悪問だ。標準の問題では歯が立たないから、目先を変えると言うよくやる方法だ。 パズル的にはおかしいが、ビジネス的にはただしい方法だろう。

バラエティでも、中にはおもしろいものもある。 ナンプレは、9×9という狭さが良さでもあり、悪さでもある。 もっと広々とした問題なら面白いのではというのもあって、合体ナンプレはちょっと頑張ってみた。 9×9がいくつも重なったものだが、とりあえず100枚程度重なるのなら簡単に作れることも分かった。

合体ナンプレをやっても、それはナンプレの延長というより、ちゃんと抽象化してつくってしまえば、 実は9×9のナンプレと何ら差はないのである。そもそも、プログラム上は、縦とか横とかいう概念さえ 使っていないのだ。そんなものをプログラムの中に持ち込むこと自体おかしいのだ。

ナンプレに飽きて、当然次のものを開発している。実はそれに忙しいのだ。 いまやっているのは、クロスサム、あるいは足し算クロス、あるいはカックロとか色々呼び名はある。 足し算を利用したパズルだが、名前のとおりにプログラムを作るのはバカで、 実際のプログラムではビット演算しかやっていない。

基本的なアルゴリズムは、ナンプレとまったく同じで、貪欲法である。 貪欲法を使えば、かなりのパズルの自動生成が作れるという実証実験である。 途中まで作ってもらっていたものを引き継いで、実用化に向けた改造だけをしていたのだ。 といっても、かなり大胆な変更を加えてしまった。 貪欲法の常識を全部覆すような変更も行ってしまった。でも、まだ貪欲法には違いない。

クロスサムの問題も、無茶苦茶な問題が横行しているので、もっとまともな自動生成された問題で 置き換えて行こうと思っている。少ない黒マス、白マスの長い連続もいっぱいあり、 数字の決まり方も、次々と連鎖が発生するようなもので、もちろん計算しなくても解ける問題が作れる。 クロスサムの問題の自動生成で考えたことといえば、 計算しなくてもスラスラ解ける問題を生成するにはどうすればよいかだけだ。

計算しなければ解けない問題は、それだけでゴミなのだ。 解いていて、腹が立つタイプの問題だ。 この点を解決できていなければ、自動生成は当然失敗である。

実現方法は極めて簡単だ。計算しなくても解ける問題は、計算のできないプログラムなら作れるのだ。 冗談になってしまうが、そうやって問題は解決されていくのだ。 その他にも、冗談みたいな部分はいっぱいある。 貪欲法の解説書にある普通のやり方をどんどん無視してしまっている。 無視するほど性能が上昇したのだ。面白いものである。

ナンプレ問題
自動生成


これで、今日から
貴方もパズル作家


稲葉のパズル研究室


ホームページ目次前の話次の話