2013-07-12 37 views
1

我有機會爲放氣壓縮預置字典。這對我來說是有道理的,因爲要壓縮的數據是相對較小的1kb-3kb,並且我有大量代表性示例。要壓縮的數據由任意的字節序列組成,所以標記等不是一個好的方法。此外,數據顯示了很多重複(數據示例之間),所以好的字典可能會給出非常好的結果。 問題是如何計算好字典?是否有算法計算最佳字典(給出樣本數據)?如何計算良好的預設字典用於放氣壓縮

我開始查看前綴樹,但不清楚如何在此上下文中使用它們。

最好的問候, 亞雷克

回答

2

我不知道的算法來產生最佳的,甚至一本好字典。這通常是手工完成的。我認爲後綴樹是查找字典常用字符串的好方法,但我從來沒有嘗試過。

首先要嘗試的是簡單地連接32K值的1-3K示例,並看看在沒有字典的情況下提供了多少收益。然後你從那裏弄亂它,改變例子的順序或者把例子中重複的部分拉到字典的末尾。

請注意,最常見的字符串應放在最後,因爲較短的距離需要較少的位。

+0

謝謝馬克,這正是我現在正在做的。即使使用簡單的連接示例,壓縮也相當不錯。我還會嘗試找到最常見的子字符串並將其放在字典末尾。我也計劃使用多個字典(我的樣本可以自然地分成子類)。 –