kazu: MIT Scheme のことで恐縮ですが、質問させて下さい。 http://bit.ly/9WU3mS
2010-09-14 17:46:24kazu: 質問は、「MIT Scheme に wttee というライブラリがありますが、これはどれくらいつかわれていますか?」です。 http://bit.ly/95Yb6o
2010-09-14 17:47:11kazu: Haskell には、Data.Map という finite map の実装があります。 http://bit.ly/bxlGsH
2010-09-14 17:47:50kazu: 内部では、weight binary search tree というバランス木が使われています。 http://bit.ly/aJIZTi
2010-09-14 17:48:46kazu: the art of computre programming 3 では、AVL の代替品として半ページぐらい紹介されている木です。 http://bit.ly/ahD7r2
2010-09-14 17:49:44kazu: 最近、Data.Map にバグが発見されました。 http://bit.ly/bhQN3w
2010-09-14 17:50:00kazu: 挿入はいいのですが、要素を削除すると、バランスが壊れることがあるのです。 http://bit.ly/bw1t9Q
2010-09-14 17:50:22kazu: これをきっかけに、weight binary search tree を研究してみて、面白いことが分かったので、現在論文を書いているところです。 http://bit.ly/aWysXC
2010-09-14 17:51:07kazu: 同じアルゴリズムが、MIT Scheme の wttree にも使われています。 http://bit.ly/9e4bFp
2010-09-14 17:51:34kazu: wttree の亜種を考えた Stephen Adams さんが、MIT Scheme のメンテナーだったみたいなので、入っていても不思議ではありません。 http://bit.ly/b7atGZ
2010-09-14 17:52:29kazu: Data.Map の実装も、Adams さんのテクニカルレポートに基づいています。 http://bit.ly/9147wo
2010-09-14 17:52:51kazu: というわけで、MIT Scheme の wttree にもバグがあります。 http://bit.ly/9v58Zy
2010-09-14 17:53:10kazu: 実際、実験してみたところ、やはり削除で簡単にバランスを崩すことができます。 http://bit.ly/9XwQAB
2010-09-14 17:53:41shiro: 実装のバグではなくアルゴリズム上のバグだったってことですか? http://bit.ly/bPTqJ5
2010-09-14 17:53:48kazu: 大枠のアルゴリズムはいいのですが、パラメーターの選び方がダメです。 http://bit.ly/daLrVU
2010-09-14 17:54:36kazu: Adams さんの wttree のパラメーターは (5,1) なんですが、これは削除のことをまったく考えていません。 http://bit.ly/bWZYrD
2010-09-14 17:55:16kazu: (x,y) の x は、バランスが取れてないか判断して回転させるかを決めるもの、y は回転させるときに一回転か、二回転かを決めるものです。 http://bit.ly/cHA3Hs
2010-09-14 17:56:01kazu: Adams さんの方式に対しては、数学的に証明を与えられていませんが、我々のテストでは (4,2) と (3,2) のときしかバランスが成り立ちません。 http://bit.ly/dBUhbw
2010-09-14 17:56:44higepon: http://www.google.co.jp/codesearch?as_q=wttree&btnG=Search+Code&hl=&as_package=&as_lang=&as_filename=&as_clas… http://bit.ly/9EH63Q
2010-09-14 17:58:01kazu: Adams さんが元にしていて、TAOCP でも紹介されているオリジナルの論文の方式に対しては、我々は Coq で証明を与えられそうなところまで来ています。オリジナルの論文の方式に対する整数解は面白いことに (3,2) しか… http://bit.ly/c4JFDp
2010-09-14 17:58:19kazu: 興味があれば、我々の英語のスライドをお送りします。 http://bit.ly/cnH0eJ
2010-09-14 17:59:03