http://en.wikipedia.org/wiki/Data_compression#Lossless_data_compression概念檢查:任何無損數據壓縮可以「打敗」了吧
對於任何給定的壓縮方案,可以提供樣品輸入將導致太空中沒有積蓄,右
http://en.wikipedia.org/wiki/Data_compression#Lossless_data_compression概念檢查:任何無損數據壓縮可以「打敗」了吧
對於任何給定的壓縮方案,可以提供樣品輸入將導致太空中沒有積蓄,右
是的,總會有東西會變大。鴿子的原理說,如果你有一個輸入空間和一對一的功能(無損壓縮),那麼輸出的數量必須與輸入的數量相同。
如果輸入是N位的文件,那麼輸入的數量是2**N
,輸出的數量是2**N
。您不能在文件中存儲短於N位的許多不同輸出。
這並不意味着所有的無損壓縮通常是無用的嗎? – 2009-12-11 19:15:29
從理論上講,任何事情都沒有必要變大。但是我們可以保證有至少同樣大的投入。 – recursive 2009-12-11 19:15:41
當然,如果沒有輸入變大,那麼輸入也不會變小。 – 2009-12-11 19:17:10
正確? 。儘量壓縮和解壓縮文件...如果數據已經被壓縮,您將無法獲得進一步的壓縮。
對於任何給定的壓縮方案,一個 可以提供樣品輸入那會 結果沒有節省空間, 對?
是:一個位。
空字符串也可以工作。 – 2011-10-10 19:09:43
絕對如此。
如果不是這樣,你可以想象將壓縮輸出再次運行到壓縮器中,以便進行更好的壓縮,直到完成一個位。這顯然是不可能的。
雖然這將是很好的... – 2009-12-11 19:33:00
「如果我給你一個整數流,你能壓縮它們嗎?」
在「壓縮zipfile」的例子中,爲什麼你想把zipfile中的字節看作除了整數流之外的東西?
這是一個非常簡潔的例子,當你可以「擊敗」無損數據壓縮時。
顯然。例子包括壓縮已壓縮的數據或隨機數據流。 – 2009-12-11 19:12:00
您是指通用壓縮方案,還是抽象地說任何域中的壓縮方案?對於前者:是的。對於後者,我會說:不。 – 2009-12-11 19:14:23
通用;我已經想過「壓縮zip文件」的例子。我在考慮更直接的問題,「如果我給你一個整數流,你可以總是壓縮它們嗎?」 – 2009-12-11 19:17:40