- プログラミングのお題スレ Part3
441 :デフォルトの名無しさん[sage]:2014/04/03(木) 05:18:10.53 ID:Qmt7sLIR - >>438
乱数列は元々どんな圧縮アルゴリズムとも相性悪い。 ブロックソートは例えば「abcdef」って単語が100回出る文章を変換すると、 「bcdef【中略】a」が100行並んで結果「a」が100文字並び、 「cdef【中略】ab」が100行並んで結果「b」が100文字並び…て理屈でランレングスなどで圧縮しやすくなる。 乱数列では同じ文字の後に同じ並びがほぼ来ないから意味が無い。 ランレングスやスライド辞書は同じパターンの繰り返しを特定の記号で表すだけ。 乱数列では同じパターンがほぼ出て来ないから意味が無い。 ハフマン等の符号化は原文のビット列A(単語A)を出力ではビット列A’(略語A’)に置換するってだけ。 よく出現する原文のビット列(単語)に短い略語を当てたら出力も短くなるみたいな理屈。 注:原文のビット列(単語)は、通常原文を8ビット単位で区切って得られる256種の単語とかそういうノリなんで一般的な単語とは関係ない 乱数列では出現頻度が偏らないから短い略語を割り当てるべき入力語が無くてほぼ意味が無い。
|