2

私は2060年までの国勢調査局の人口予測についての記事を書いています。これは非圧縮時の3.3MBの.csvファイルで構成されています。

このファイルは539,781個の値で構成され、各値は5〜7桁で、3,455,372文字を使用します。ファイルをgzipで圧縮すると、1550063バイト、つまり1.47MBになります。

3.5インチフロッピー、最大容量1.44MBに収まると正直に述べたいと思います。これは単なる参照ポイントであり、その方法についての指示を必要とするユーザーへのアドバイスではありません。

上記の文字数に基づいてテキストファイルの理論上のサイズを計算する方法はありますか?実際に3.5インチフロッピーとそのドライブがあれば、情報を失うことなくこのファイルをディスクに保存することは可能でしょうか?ありがとう!

4

2 に答える 2

2

いいえ、文字数だけに基づいてファイルの圧縮バージョンのサイズを見積もることはできません。さまざまな文字列をさまざまなレベルの効率で圧縮できます。純粋に1つの文字で作成された文字列は、純粋にランダムに生成された文字の文字列よりもはるかに簡単に圧縮されます。

情報理論には、コルモゴロフ複雑性の概念があります。これは、文字列を再構築するために必要な(多かれ少なかれ)最小量の情報です。すべての文字列がより小さな文字列に圧縮されるわけではなく、任意の文字列のコルモゴロフ複雑度を見つけるための一般的なアルゴリズムを構築することは不可能です。さらに、文字列が十分に長くなると、文字列に最適なエンコーディングが見つかったことを証明することはできません。

お役に立てれば!

于 2012-12-14T17:53:01.827 に答える
1

1.44 MBフロッピーに収まると言いたい場合は、より優れたコンプレッサーでそれを証明してください。7-Zipまたはxzを試してください(プラットフォームによって異なります)。あなたは十分に近いので、それでうまくいくと確信しています。(gzip -9を使用しましたか?)

ちなみに、この「フロッピーディスク」のことを説明するとき、多くの人はあなたが何について話しているのか見当がつかないので、これの有用性についてはよくわかりません。

すでに述べたように、理論上の最良の圧縮を計算することはできません。見積もりを取得するには、最高のコンプレッサーを使用してください。

アップデート:

ダウンロードしました。xzはそれを1177180バイトに圧縮しました。そうです、それはぴったりです。

于 2012-12-14T19:47:59.540 に答える