基于(破损的)压缩算法生成“随机”数据的程序

基于(破损的)压缩算法生成“随机”数据的程序

有时,查看故意破坏的解压结果会很有趣 - 你对压缩文件进行一些更改,然后将其解压。结果文件从某个位置被破坏,数据偏离轨道:“略有修改”->“乍一看像正常数据,但很奇怪”->“带有可识别源数据部分的乱码”->“伪随机”->零。有时你会得到有趣的文本(从形式上看,它仍然基于源数据,但本质上是随机的)。

通常我使用paq8l如果我想玩它(当您在文件中编辑压缩级别时也是有趣的模式),但未完全损坏的部分的数量很少:它很快就会发散为噪音然后变为零。

  • 是否有特殊的程序可以读取源数据并采用类似于压缩程序中使用的算法来生成“类似”数据(具有灵活的相似度尺度)?
  • 产生有趣噪声的能力是否与算法的压缩比(近似“质量”)有关?
  • 我可以告诉一些现有的解压缩器“不要在压缩数据的末尾停止,只需根据随机数据(受真实数据启发的状态)想出一些东西”吗?

PS:我已经了解马尔可夫链,我正在寻找更复杂的东西。

答案1

我自己实现的,使用液相色谱作为来源。

关联:https://github.com/vi/lpaq1_stream

答案2

是否有特殊的程序可以读取源数据并采用类似于压缩程序中使用的算法来生成“类似”数据(具有灵活的相似度尺度)?

十年后的答案:是的,它们被称为生成人工智能程序。它们读取整个互​​联网,你可以选择相似度的尺度。它们的算法是否与压缩程序中使用的算法相似,这一点值得商榷。

生成式人工智能程序与无损压缩的不同之处在于它们不会重新创建给定的文本。但是,你可以说,给人工智能的提示是你在生成输出时获得的膨胀文本的压缩版本。

你可以做一个实验,要求对文本进行总结,然后使用总结作为提示来重写文本(可能给出长度限制)。对于某些样板类型的体裁,原始文本和缩减/膨胀文本的质量可能相似,因此这具有压缩和解压的特征。

相关内容