たとえば、非常に似ているが完全に同一ではない多くの文字列があるとします。
それらは多かれ少なかれ異なる場合がありますが、類似性は肉眼で確認できます。
長さはすべて等しく、それぞれが 256 バイトです。文字列の総数が 2^16 未満です。
このような場合の最適な圧縮方法は何でしょうか?
更新 (データ形式):
データを共有することはできませんが、現実に非常に近いことを説明できます。
平面上を移動して描画するためのデバイスの一連のコマンドである (ロゴ言語のような) 表記法を想像してみてください。そのような:
U12 - move up 12 steps
D64 - move down 64 steps
C78 - change drawing color to 78
P1 - pen down (start drawing)
等々。
この言語の語彙全体は、英語のアルファベットのサイズを超えません。
次に、文字列は全体像を表します: "U12C6P1L74D74R74U74P0...."。
今、この言語の助けを借りて非常に具体的なイメージを描くように言われた1万人の子供たちのクラスを想像してみてください:彼らの国の旗のように. すべてが異なっていて、すべてが同じである 10K の文字列を同時に取得します。
私たちの仕事は、一連の文字列全体を可能な限り圧縮することです。
ここで私の疑念は、文字列のこの類似性と共通の長さを利用する方法があるということですが、Huffman はそれを明示的に使用することはありません。