PMakerを楽しみにしていた読者の方にお詫びとお知らせです。
NPMakerを開発している間に、実は別のアルゴリズムの有効性が分かってしまって、NPMakerの開発を中止し、方針を切り替えたことを書くのを忘れていた。
それで、ここに、ちょっと経過を書いておこうと思う。
NPMakerは、統計的な手法を使って、できるだけ制約が大きい、つまり解の個数が絞られるマスの数字から決めていく手法でつくられている。この手法は、パズル作家が問題を作るときの手法にやや近いのだが、1つマスを決めるごとに状況判断するために、解空間の統計を取るので、とても時間がかかる。
出来上がりの問題の品質は良いのだが、スピードをもっと上げなければと思っていたところで、貪欲法を使うと高速になるのが分かった。それで、まったくゼロから作り直すことにしてしまった。
この、貪欲法による方法が、現在、
http://puzzle.gr.jp/
で公開されている方法である。
この方法だと、問題の作成時間が一気に100倍以上に高速になってしまったので、今はそのやり方だけを実際に使っている。
貪欲法の良いところは、速度だけではない。問題を作るときに細かな調整機能を付けることが比較的簡単なことだ。また、評価方法をちょっと変更するだけで、さまざまな特徴さえ出せる。
さらに重要なことは、ナンプレというパズルに限定したものではなく、かなり多数のパズルにも応用できそうだということだ。
そういう大きな発見があって、バサッと方向転換が行われていたのだが、ここに経緯を書くのをすっかり忘れていた。
ということで、NPMakerはもうまったく使っていないし、メンテナンスもされていない状態にある。ぜひ、puzzle.gr.jpにあるプログラムを試して欲しい。
(2011年3月7日)