タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

Algorithmに関するosamu0329のブックマーク (2)

  • Adler-32 - Wikipedia

    Adler-32 はフレッチャーのチェックサムを修正したものである。 同じくマーク・アドラーが開発したzlib圧縮ライブラリの一部として使われている。Adler-32 に基づくローリングチェックサムが rsync で使われている。 Adler-32 チェックサムは、まず2つの16ビットのチェックサム A と B を計算し、それらを連結して32ビットの整数にする。Aは全てのバイトの総和に1を加えた値、B は A を計算している各ステップの値を累積した総和である。 初期状態では、A は 1 に初期化され、B は 0 に初期化される。これらの総和は modulo 65521 で保持される(65521 は 216 未満の最大の素数)。これらのバイトはネットワークオーダー(ビッグエンディアン)で格納され、B が最上位バイト側に位置する。 式で表すと、以下のようになる。 A = 1 + D1 + D2

  • Prediction by Partial Matching - Wikipedia

    Prediction by Partial Matching(PPM)は1984年にJ.G.ClearyとI.H.Wittenによって考案されたデータ圧縮アルゴリズムの1つ。 この改良版が7-zip等に用いられている。非常に高い圧縮率の反面、圧縮速度はかなり遅くメモリも多く消費するアルゴリズムである。 この亜種としてPPMC、PPMd、PPMZ等がある。 符号化の原理[編集] aabacaabbaとデータを符号化したとして、次にどの記号が出現するかを統計的に予測する。 この場合、統計的にaの次にはaが出現する可能性が高い。逆にcが出現する可能性は低いであろう。このように出現確率に偏りがあるとハフマン符号や算術符号で圧縮することが出来る。 しかし、上記の場合に次に出現する符号をaを50%、bを40%、cを10%と予測したとすると、他の記号は絶対に現れないということになり、新たな記号(dとする

  • 1