Re: 世界大百科事典
fj.comp.applications.dictionaryの記事<87smkox0ba.wl%fujii@chi.its.hiroshima-cu.ac.jp>で
fujii@chi.its.hiroshima-cu.ac.jpさんは書きました。
> > 以下、現状のプログラムです。
> すごいです。すごすぎる。
あはは。圧縮方式については私の想像はほとんど外れて
ましたし、藤井さんの助けがなかったらここまで来てな
かったんですけどね。
> すみません、私の力量ではお役には立てそうにありません。
了解。もうしばらく考えてみます。
> 私が思いついたのは、
> (1) 効率の悪い適応型ハフマンから静的ハフマンへの移行
> (2) ハフマン木の初期化
> (3) オーバフロー対策で重みの減衰
ふむ。(3)は考えつきませんでした。
> 太田さんはどのように推測されましたか?
ルートノードの重みが32768(あるいは32767)に達したら
(1)以後ハフマン木を更新しない、(2)ハフマン木をいっ
たん初期状態に戻すというのはすでに試してみたのです
が、どちらもだめでした。
> この化けっぷりからすると、(3) かなー、という気がしました。
> 各葉っぱの頻度を半分にして、ハフマン木の再構築。
頻度を単純に半分にできるなら葉っぱも中間ノードも同
じ比率で半分になるわけですが、頻度が1のノードは0に
はできないし、順序がかわる余地はあるのですね。でも
ハフマン木の再構築はけっこうめんどうかも。どうやっ
て実現すればいいのかちょっと考えてみます。
そのほかにも、この周辺でまだ試してみることがいくつ
かありそうですね。
> 8万項目のなかのたったの14項目、
> この感激を前に、今はどうでもいいやって気もしているのですが。
> WEIGHT FULL が出たら、リターンするとか。
うーむ。(^^;
難あり、ジャンク扱いってことで、使いたい人は現状の
プログラムをそのまま持ってってください。完成したら
世界大百科事典のすべての項目データをテキスト化する
プログラムとしてcsrdと同じnearly public domainで公
開するつもりですが。FreePWING化はおそらくどなたか
にお願いすることになると思います。
--
太田純(Junn Ohta) (株)リコー/新横浜事業所
ohta@sdg.mdd.ricoh.co.jp
Fnews-brouse 1.9(20180406) -- by Mizuno, MWE <mwe@ccsf.jp>
GnuPG Key ID = ECC8A735
GnuPG Key fingerprint = 9BE6 B9E9 55A5 A499 CD51 946E 9BDC 7870 ECC8 A735