[论文解读] SYNTAX: A computer program to compress a sequence and to estimate its information content
本文提出 SYNTAX,一种基于 Fortran 的算法,通过迭代地将频繁子串替换为非终结符来压缩符号序列,利用观测到的块熵指导规则生成。该方法通过结合子串的频率与自信息的复杂度度量来估计信息含量,在压缩效果和复杂度估计方面优于以往的语法复杂度方法。
The determination of block-entropies is a well established method for the investigation of discrete data, also called symbols (7). There is a large variety of such symbolic sequences, ranging from texts written in natural languages, computer programs, neural spike trains, and biosequences. In this paper a new algorithm to construct a short context-free grammar (also called program or description) that generates a given sequence is introduced. It follows the general lines of a former algorithm, employed to compress biosequences (1,2) and to estimate the complexity of neural spike trains (4), which uses as valuation function the, so called, grammar complexity (2). The new algorithm employs the (observed) block-entropies instead. A variant, which employs a corrected "observed entropy", as discussed in (7) is also described. To illustrate its usefulness, applications of the program to the syntactic analysis of a sample biological sequences (DNA and RNA) is presented.
研究动机与目标
- 开发一种新算法,通过基于观测到的块熵构建上下文无关文法来压缩符号序列。
- 通过整合观测到的自信息与频率,利用复杂度度量来估计序列的信息含量。
- 通过区分终结符与非终结符的信息成本,在复杂度计算中改进以往的语法复杂度方法。
- 在二进制序列和生物序列(DNA/RNA)上展示该方法在句法分析中的实用性。
- 提供一种计算高效、可扩展的程序,用于在多种领域中实现序列压缩与复杂度估计。
提出的方法
- 该算法计算长度为一和二的子串的观测块熵,以公式 I = log₂(kj/N) 估计自信息,其中 kj 为某词的频率,N 为总序列长度。
- 识别长度为二且频率大于 freq_accept 的最频繁子串,并将其所有出现替换为新的非终结符(如 S0)。
- 该过程迭代进行,针对更长的子串,替换最长的重复模式,直至无更多模式满足频率阈值。
- 压缩完成后,移除频率低于 freq_accept 的规则,并在每一步重新计算复杂度以找到最小值。
- 最终复杂度计算为所有规则的自信息值之和,按其频率和结构加权。
- 该程序以 Fortran77 实现,读取整数形式的序列,并输出最小复杂度与压缩后的文法。
实验结果
研究问题
- RQ1观测到的块熵能否有效用于指导上下文无关文法的构建以实现序列压缩?
- RQ2与传统的语法复杂度方法相比,使用观测到的自信息如何改善对序列信息含量的估计?
- RQ3使用这种基于熵的压缩方法,给定符号序列的最小复杂度可达多少?
- RQ4该方法能否通过句法分析检测生物序列(如 DNA 和 RNA)中的结构模式?
- RQ5在压缩效率与复杂度估计方面,该算法相较于以往的语法复杂度方法表现如何?
主要发现
- 对于二进制序列 '11110000111100001111000011110000',该算法最终复杂度为 11.2294,压缩后长度为 4 个符号。
- 初始复杂度为 32.0000,经过六轮迭代后复杂度降低超过 65%,显示出强大的压缩效率。
- 最终文法规则 S4 → (1 1 1 1 0 0 0 0) 的自信息为 0.807355,反映出其高频率(出现 4 次)与低信息成本。
- 该算法成功识别出重复模式如 '11'(S1)、'00'(S0),以及复合结构如 'S1 S2'(S3),展示了层次化结构的检测能力。
- 该方法优于以往的语法复杂度方法,因其在复杂度计算中考虑了终结符与非终结符自信息的差异。
- 该程序在配备 24 MB 内存的 Sun SPARCstation IPC 上成功测试,证实其在普通硬件上的可行性。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。