2005-01-27 [長年日記]
λ. Bayesian Networks for Lossless Dataset Compression, Scott Davies and Andrew Moore
を読んだ。レコードの列を圧縮する際に、レコードのフィールド間の関係をベイジアンネットワークとして学習し、その確率分布の情報を使って算術符号化や(改良した)ハフマン符号化を行うことで、高い圧縮率を達成できるという話。こんなのにもベイジアンネットワークを使えるんだという点で私には新鮮だった。
λ. Probabilistic Logic Programming and Bayesian Networks, Liem Ngo and Peter Haddawy
を読んだ。
λ. Announce: 圏論勉強会(第三回)
そうそう。今週末は圏論勉強会の三回目がありますよ。堅苦しい集まりではないし、特に前提知識は必要ないので、圏論に興味のある人は是非お気軽に御参加下さい。(初参加の方は mixi:圏論勉強会(第三回) か haskell-jpメーリングリスト で参加を表明しておくと良いと思います)
- 日時
- 2005年1月29日(土曜) 13:00〜
- 場所
- タイムインターメディア様 2階会議室 (地図)
- テキスト
- Conceptual Mathematics: A First Introduction to Categories
λ. GHC 6.4 の ライブラリ
多少変わっているようなので、ちょっと覗いてみた。
- Data.FiniteMap
- deprecated。Data.Mapを推奨。
- Data.Map
- DDataから取り込まれた
- Data.Set
- DDataのそれに置き換わった。古いインターフェースはdeprecated。
- Data.Queue
- DDataから取り込まれた
- Data.IntSet
- Data.IntMap
-
DData.IntSetとDData.IntMapが取り込まれた。Int限定だけど、性能は汎用のものより結構良かったはず。以前あるプログラムで(DData.Setの実装になる前の)Data.FiniteSetとDData.IntSetを比較したときはこんな感じだった。
あるプログラムでの比較 Data.FiniteMap DData.IntSet total time 3.94 secs
(197 ticks @ 20 ms)2.88 secs
(144 ticks @ 20 ms)total alloc
(excludes profiling overheads)245,779,276 bytes 127,081,744 bytes - Data.FunctorM
-
mapをfmapに一般化するように、mapMをfmapMに一般化するクラス。
個人的には以下のように分配則(?)として表現するほうが好みかな。
class Functor f => DistOverM f where dist :: Monad m => f (m a) -> m (f a) fmapM :: (DistOverM f, Monad m) => (a -> m b) -> f a -> m (f b) fmapM f = dist . fmap f
- Data.Version
- ソフトウェアのバージョン番号を表すデータ型。Cabelで使ってる。