【问题标题】:What are good algorithms for extracting structure/compressing sequences?什么是提取结构/压缩序列的好算法?
【发布时间】:2023-04-02 01:01:01
【问题描述】:

从序列中提取层次结构有哪些好的算法?

我主要关心的是压缩序列,序列有一些层次结构。我不太担心算法的运行时间,尽管序列的长度最多为 256k 符号,并且运行时间不应超过几秒钟。

到目前为止,我知道sequitur algorithm,并且我想知道任何其他可能同样有用的算法/想法。

编辑:解压需要非常简单。

EDIT2:我正在压缩代码。我已经将一个相当大的函数详细说明为一个巨大的基本代码块,对于某些大小,它比原始递归函数运行得更快,但是随着我改变参数,代码变得笨拙和庞大。我一直在尝试使用 sequitur 来压缩完全精细化的函数,并且效果很好——它允许我在递归函数和完全精细化的基本块之间取得一些中间立场。我现在想知道是否还有其他算法我也应该尝试。

【问题讨论】:

  • 部分匹配预测是否符合您的要求?
  • @harold 我没有想到 PPM——我认为对于这个应用程序来说,解压缩会过于计算密集
  • 那里有很多压缩算法...除了您提到的一两个之外,您还看过什么。同样,了解数据也很重要。例如,图像数据有许多多分辨率方法。一般来说,您对数据的层次结构先验了解多少?
  • @Iterator 这是用于代码压缩的。到目前为止,我只尝试过 sequitur(见上面的编辑)

标签: algorithm compression


【解决方案1】:

LZ77 and LZ78Burrows-Wheeler Transform 是一个很好的开始方式。前两个可以很好地处理流数据,并且可以非常快速地实现。 LZ78 的纯字典风格非常适合提取层次结构。

如果您不太关心快速压缩并且只想要结构,那么 sequitur 算法将很难被击败 - AFAICT,它是同类中最好的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-04-11
    • 1970-01-01
    • 2010-09-12
    • 1970-01-01
    • 2012-03-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多