03/09/29

//- Weg zur uni.

学校が始まってしまった. 週に3日も1限登校があったりして大変
物欲大魔神の自転車でマニュアルして怒られたりしながら登校. 遅刻.

//- binary PPM(3nd)

bppm_1.c

LOE(Local Order Estimation)を実装してみた.
高いオーダーでの統計は、サンプルが溜まりにくく、
推定精度が低くなる問題点がある.

そこで、精度があまりに低い場合は、
オーダーを下げて推定しなおす事で精度を上げることができる.
これがLOEである.

具体的な実装としては、
「頻度表の和が10以下だったらオーダーを下げていって、256サンプル溜まったら抜ける」
というまーなんというかやっつけ仕事.

具体的には、なんだかよくわからんテキストデータの場合、
予測のヒットしたビット数が、23669 から 27931 まで向上.

圧縮率にして、だいたい数%の改善になりました.
まぁほとんど気づかない差なんだけど.


03/09/27

//- binary PPM(2nd)

bppm_1.c
bppm_8.c

後輩のZAMAI君から、昨日のBinaryPPMについてメールをもらった
日記に書いてあった「ビット列でPPM」だけれど、ちょっと変えれば良くなる気がします。
(8ビット周期で区切りで)1ビットごとに使用する確立表を変えてみたらどうでしょうか?
1バイト中の
「第1ビット専用確率テーブル」
「第2ビット専用確率テーブル」
「第3ビット専用確率テーブル」

「第8ビット専用確率テーブル」
って感じに。
二バイト文字を重視するなら16ビット区切りでもいいかも。
ので、いろいろ実験してみました.
まず、昨日のコードをよく見てみたら、頻度表の生成がかなりバグってたので修正.
ようやく「圧縮」してくれるようになりました.

テストデータには、IRCのログ(2,611,200バイト)を用いました.
まず、1ビットマルコフの場合. (ファイル名は、オーダー)
3,476,642 2.out
3,409,202 4.out
3,298,572 6.out
2,969,740 8.out
2,490,933 10.out
2,089,076 12.out
1,735,191 14.out
1,424,400 16.out
1,172,022 18.out
1,044,173 20.out
次に、8ビットマルコフの場合. (ファイル名は、オーダー)
3,069,519 2.out
2,858,079 4.out
2,674,223 6.out
2,533,823 8.out
2,410,372 10.out
2,321,714 12.out
2,237,764 14.out
2,179,655 16.out
2,153,778 18.out
2,151,038 20.out

性能悪くなりました.
IRCのログが日本語(Shift-JIS)であるため、8ビット区切りではなく
16ビット区切りで頻度表を作るべきだったかもしれません.

参考までに calgary-corpus

56,519 bib.out
380,806 book1.out
310,292 book2.out
94,699 geo.out
224,269 news.out
16,810 obj1.out
158,648 obj2.out
75,025 p.out
31,424 paper1.out
44,523 paper2.out
28,544 paper3.out
9,478 paper4.out
8,825 paper5.out
23,329 paper6.out
72,444 pic.out
23,878 progc.out
33,535 progl.out
23,656 progp.out
46,251 trans.out

& 03/09/26

//- binary PPM

bppm.c

何をしてるかというと、ビット列でPPM.
なんですが、縮みません.
データがだいたい3倍くらいのサイズになります. 笑える.

//- 自転車

CooperMINIに抜かれたので40km/hで追撃したらおまわりさんに怒られた
なんだアイツら. 昨日なんて一人も居なかったのに.


03/09/25

//- PPM再び

PPM.C
order1までの頻度表を力技で更新.
展開部分は書いてません.
適当なBMP(150kb,16色)を圧縮してみたところ,
てな感じ. order1だけでずいぶん変わるもんだなぁ.

//- 筋トレ

ベンチプレスを55キロにした
あと走ったりした. UnderArmour最高


03/09/23

//- 車

車で買出しに.
墓場の近所なので、やたら混んでいて困る.

エンジンが静かな車なので,歩行者がほとんど気づいてくれなくて
突然前を横切ってきたりして危なすぎる.
しかたないので、NuNRGのコンピかけて音量アップ+低音増強
曲が始まった瞬間,車の前から人がいなくなった.

ただいなるDQNっぷりをアピールしてしまった.
クラクション鳴らすよりはいいかなぁと思うんだけど,
あんまりこういう事はしたくない.

//- 料理

シチュー作ってたら、指を切った
いい出汁が採れちゃうところだった


03/09/22

//- 自転車

はいなんか気づいたら22日ですねー
自転車乗りまくってると疲れて寝てしまうんですねー
あと最近書いたコードはどれもこれもショボいので日記に書くネタがないというのもある

ようやくマニュアルができるようになった
腰をかなり後ろに引くのが重要らしい
今のチャリンコはブレーキがカンチで弱いので、マニュアル維持がしにくい
バニーホップまではまだまだ.

積算距離 178km


03/09/18

//- ツーリング

横浜から横須賀まで、片道24kmを走ってきた.
国道16号をひた走り.

途中葉山のあたりで、クラクション&幅寄せされて左腕を擦った. 最悪.
サイクリング中?のお姉ちゃんが「大丈夫?」みたいな顔で見てたので
話しかけたら外人だった. ベースからきたらしい.
「日本語少しわかります」とか言ってた. 速かった. けど追い抜いた.


03/09/17

//- CPUを創っちゃう

DesignWaveにFPGA開発キットがついてくるらしい.
個人の趣味でCPU創る時代なのか…

つっても、CPUの創りかた の表紙はどうなんだ…


//- 自転車

累積100km超えた
一日にだいたい5キロくらい.

03/09/16

//- previous 俺

昔の証明写真発見.
やっべー誰だこれ. 別人すぎる.


//- すじとれ

ベンチプレス50kg 10RM 10RM 8RM
ロウロウが厳しい. 背筋が落ちてる気がする.


03/09/15

//- はてなダイアリ

はてなダイアリを使ってたんだけど,
どうも編集画面にいくまでが遅い

たまらない遅さなのでついこっちに書いてしまう


//- 文化祭

母校の文化祭に行ってきた
デキっつーかやる気はあんまり感じられなかったけど
AIオセロが強かった


03/09/01

//- 旅行

北海道をふらついてきます.

パソコン持ってかないので更新できません.
筋トレ日記を携帯電話で更新していく予定です.