画面のキャプチャ練習

今回は、画面キャプチャの練習です。簡単なプログラムを書いて、その様子を録画したいことが稀にあります。Snow Leopard とかだと QuickTime 単体でできるそうなのですが、Apple Store 行く体力が無い。通販で購入すれば良いですね。

下の動画は、なんか適当なプログラムを持ってきて録画したものをYouTube経由で貼っ付けたものです。画面キャプチャや動画ファイルの作成は、適当なツールを使ってやりました。すごく粗い感じがします。もっといろいろ試す必要がありそうです。納得できたら再度まとめてみたいと思います。フレームレートがどうとか圧縮がどうとかを考慮しないといけないと思うのですが、そういうのを踏まえると持ってきた題材がひどすぎかも。次は、平面上に与えられたオブジェクトが連続的に変化するようなプログラムで試してみましょう。
http://www.youtube.com/watch?v=pB7QC_2lnR0:movie:W333
動画について。ここでは、矩形集合の配置に対して最小包囲矩形の面積最小化を目的とする問題を考えています。詳しいことは忘れましたが、一応 NP 完全問題で、実行可能な解空間のサイズが O(4n) 位のレベルの問題だったと思います。解空間のサイズはたぶん間違ってる。あしからず!
それから、メタ戦略*1 (やきなまし; SA) を適用するために、任意の2解の隣接関係を与える sequence-pair を使っています。自分でO(nlog n) のデコード作って(原著はO(n2)だったので)レポートに起こしているときに、同じ計算量の方法が記述されている論文が公開されていることを知って、とても残念な気分になりましたよね。今は O(n log log n) とか線形時間とかでデコードできるやり方が知られているんですね。すごい!

このプログラムは「むかしのコード」の続編として公開してみようと思ったのですが、700行くらいあって整理するのもめんどくさいし、抜粋するのもめんどくさいので、画面キャプチャの練習シリーズとして公開することにしました。FreeBSD, NetBSD から Mac OS XWindows なんかでコンパイルできるように、一つのソースの中でいろいろやっていてグチャグチャです。また、メルセンヌツイスタとかもソースの中に埋め込まれていたりして「ライセンス?知るかよ」的な最悪なコードでした。ただ公開や配布とかはしていませんが。

最後に、もっときれいに動画が作れるようになりたいです。あと、音入れたり編集もやってみたいです。

*1:昨年 メタヒューリスティクスの数理 っていう本が出版されてるんですね。復習を兼ねて読んでみたいです。あと組合せ最適化―メタ戦略を中心として (経営科学のニューフロンティア)