パズル勉強会

パズルプログラミング勉強会

初心者課題:Meteor

by パソコン初心者


■経緯
Java最適化手法 ( Java optimization techniques) (IBM)ということで、Meteoという箱詰めパズルの1種のプログラムについて、 いかにして高速化し、アルゴリズムの改良で、何と2,000,000倍になったという記事を読んだ。
 しかし、日頃仕事をさぼってパズルプログラムを組んでいる者としては、ついそれをダウンロード して、動かしてみた。2,000,000倍も高速になったのだからと、かなり期待して動かしてみた。 しかし、直観で、1桁以上期待した速度より遅いと思ったので、つい間違いを起こしてプログラムを組んでみた。 (そんなことをやる程暇ではないのだが)

■java ソース:
Meteor.java

実行形式
java Meteor または java -p Meteor

■解説:
とりあえず、数時間で書き殴っただけのしょうもないプログラムであり、何ら最適化は行っていない。 もちろん汚い。だから、プログラムの勉強としては読まない方が良い。
 そんなプログラムでも、 Java最適化手法 で紹介されていたものより、20倍弱は速くなった。 まあ、初心者の勉強としてちょっと作った程度なので、このくらいで我慢して下さい。 なお、綺麗に書き直すのは面倒なので、だれかやってくださ〜い。ついでに、さらに高速化するなども。

■参考情報:
再帰のお勉強のペントミノで紹介しているC版のアルゴリズムを ちょっと流用してみた。しかし、再帰のお勉強はかなり最適化して高速化を図っているが、 そういうところまで実装するのは面倒なのでやめておいた。
2002年8月22日

パズル勉強会