如果您知道数据的真实分布,则可以进行最佳压缩。如果可以为每个整数提供概率分布,则可以使用算术编码或其他 技术将其压缩为理论上的最小大小。
首先,您可能应该压缩数字之间的 ,因为这可以使您做出统计报表。如果直接压缩数字,则很难建模,因为它们只会出现一次。
接下来,您可以尝试建立一个非常简单的 下一个距离。保留所有以前看到的距离的直方图,并根据频率计算概率。
您可能需要考虑缺失值(您显然无法为它们分配0的概率,因为这无法表达),但是您可以为此使用启发式方法,例如逐位编码下一个距离并分别 。您几乎不需要为高阶位支付任何费用,因为它们几乎始终为0,并且熵编码会将其最优化。
如果您 那么所有这些操作都将更加简单。示例:您正在压缩所有素数的列表,因此您知道距离的理论分布,因为存在公式。这样您已经有了一个完美的模型。