ヘックバートの中央値分割のアルゴリズムヘックバートの中央値分割減色で使っているアルゴリズムはすべて自分で思いついたつもりだったのですが、それよりずっと昔に、Paul S. Heckbertという人が作っていました。一時期はそれでやる気を無くしていました。異なっている部分もあるのですが。異なっている部分の一部は、、大津の方法で、それも僕よりずっと前でした。さらにその残りの部分だけが僕独自であるわけです。 (ヘックバートの論文へのリンクを福島隆行さんのページ (http://amethyst.ie.akita-u.ac.jp/~fukusima/genshoku.html)で見つけました。査読したのは、メディアラボのネグロポンティ( WIREDに連載している人 )みたいです。ヘックバートは中央値分割だけではなく、誤差を最小にする点で分割するという提案もしていました。インプリメントはしていないとなっています。 大津の方法大津の方法についても、平均での分割にこだわるのをやめた頃に独自に思いついたのですが、これも後で、遅かったことがわかりました。 また、すでにヘックバートが1980年に誤差を最小にする点で分割するという提案もしていました。 勘違いしていてしばらく、間違ったことを書いていたのですが、大津の方法の方がヘックバートよりも前1978でした。 pag1当時のアルゴリズムの新しさ最初の頃に最初に僕が思いついたのは、中央値ではなく平均を分割点にして分割する方法でした。中央値<平均<大津の方法の順に画質はよくなります。しかし、そのための計算量は、n^2,n*logn,n^2です。まあ、中央値と比べれば画質も良いし、処理も軽いわけですが、オリジナルではなく亜種だったのでがっかりしました。 TSPプログラムに適用した場合に、大津の方法をn回用いれば、n^2(これも大雑把でn^1.66とかだと思いますが)に比例してしまうので、速度を上げるために精度を犠牲にして、平均を使う方法に戻したりしています。 1998/7/14のさきがけ21のヒアリングの時に、説明のための時間がないと思って大雑把な比喩的な話をしていて、n*log(n)と言っていたのですが、それは、大津の方法ではなく、平均を使った場合のものでした。減色の場合には、256までしか分割しないので、n^2の項があっても問題なくて、大津の方法を用いています。それどころか、主成分での分割とかも(効果はともかく)大した時間のロスにはなりません。それにバケット法との比較を喋るチャンスもあったのですが、その時には、きちんと計算してみていませんでした。 pag1tetoのアルゴリズムの新しさ多次元を順次分割していくアルゴリズムでのデータ構造が他と異なっています。以下少し比較検討します。配列とバケット法の2つが主に使われ、3つめは超遅そうなデータ構造です。
|
関連ディレクトリ 関連サイト |
|
|