ADSense script

Code Colors

2020年5月4日 星期一

猴子壓縮法(monkey zip with pseudorandomness)

在一本書上的插畫,常看到一堆猴子在敲鍵盤,
也許是因為 "猴子若有夠多數目和夠長時間在打字機上敲打,最終必然會打出莎士比亞的全部作品"
諷刺著工程師跟猴子應該有差別

然而這句話觸動了我的心,
"猴子長時間敲打,最終會敲出作品"
也許它可以當成壓縮法的核心概念。

把句子替換成 "猴子若有足夠長的時間在打字機上敲打,最終必然會打出內容"
再換一下,"有限的時間內猴子有足夠快速度在打字機上敲打,最終必然會打出內容"

內容:固定大小的隨機數.如1K,4K... 等大小區塊.
有限的時間內: 就限定一個小時內
足夠快當人們以為破不了的MD5 或 加密都變成瞬解的時候,也就是在量子電腦上
猴子在打字機上敲打: 亂數產生器
如果是真亂數那就無法還原了,所以要使用偽亂數,也就是用相同亂數種子可以跑一樣的內容
例如, R250n (R250 random number generator偽亂數產生器。

上述如果成立,壓縮代碼可能就是 種子,pass次數,data長度
解碼方式 就是在任一個電腦上面重現亂數即可:

rand_init(seed);
while(passCnt --) rand();
while(dataCnt --) printf("%c",rand());

這樣壓縮率應該可以到2%以下,而且解壓縮超快。
如果再次壓縮,那就....再壓個2%...
壓縮代碼可能變成  (rand 種子,pass次數,data長度,壓縮層數)
{rand 種子,pass次數,data長度},{rand 種子,pass次數,data長度},{.....}
或者 {rand 種子,pass次數,data長度,壓縮層數},{rand 種子,pass次數,data長度,壓縮層數},{.....}

到那一天,硬碟映像檔案可能就 1k以下。


沒有留言:

張貼留言

手機選擇帳號後,按下發布 要再點選一次發布哦

牙醫助理櫃檯療程預約預留時間

 預約預留時間要根據醫生的習慣,有的醫生療程比較快有的比較慢,每個醫生習慣不一樣,可以另外記住每個醫生的習慣,畢竟如果醫生15分鐘完成,約30分鐘,可能中間會有很長時間差,以下是常見的時間可以參考看看。 OD補牙 ~30min  ENDO根管治療     ~30-50min En...