[论文解读] Three Simulation Algorithms for Labelled Transition Systems
本文提出了三种针对标记转移系统(LTS)的优化模拟算法,消除了字母表大小对时间与空间复杂度的影响。通过利用高效数据结构并采用一种新颖的转移集编码方式,对分区细化方法进行重构,作者实现了目前已知最优的时间复杂度 O(|Psim|·|→|) 和位空间复杂度 O(|Psim|² + |→|·log|→|),显著优于以往方法中因字母表大小带来的乘法成本。
Algorithms which compute the coarsest simulation preorder are generally designed on Kripke structures. Only in a second time they are extended to labelled transition systems. By doing this, the size of the alphabet appears in general as a multiplicative factor to both time and space complexities. Let $Q$ denotes the state space, $ ightarrow$ the transition relation, $Σ$ the alphabet and $P_{sim}$ the partition of $Q$ induced by the coarsest simulation equivalence. In this paper, we propose a base algorithm which minimizes, since the first stages of its design, the incidence of the size of the alphabet in both time and space complexities. This base algorithm, inspired by the one of Paige and Tarjan in 1987 for bisimulation and the one of Ranzato and Tapparo in 2010 for simulation, is then derived in three versions. One of them has the best bit space complexity up to now, $O(|P_{sim}|^2+|{ ightarrow}|.\log|{ ightarrow}|)$, while another one has the best time complexity up to now, $O(|P_{sim}|.|{ ightarrow}|)$. Note the absence of the alphabet in these complexities. A third version happens to be a nice compromise between space and time since it runs in $O(b.|P_{sim}|.|{ ightarrow}|)$ time, with $b$ a branching factor generally far below $|P_{sim}|$, and uses $O(|P_{sim}|^2.\log|P_{sim}|+|{ ightarrow}|.\log|{ ightarrow}|)$ bits.
研究动机与目标
- 设计针对LTS的模拟算法,避免时间与空间复杂度中因字母表大小带来的乘法成本。
- 将分区细化框架从Kripke结构扩展至LTS,同时保持最小的额外开销。
- 实现计算最粗模拟预序关系的目前已知最优时间与位空间复杂度。
- 提供一个实用且可实现的框架,支持未来优化及双模拟关系的集成。
提出的方法
- 基础算法使用一对(P, R)表示模拟关系,其中P是状态的划分,R是块之间的关系。
- 引入一种新型数据结构,通过使用单个共享数组(以转移标识符为索引)来编码每个标签的 a.PreB 和 a.Remove 集合,从而减少空间使用。
- 使用带二进制标记的列表来维护如 alph、SplitCouples 和 Touched 等集合,实现高效的重置与查找。
- 关键创新在于:对所有字母使用单个数组进行标记,避免了 O(|Σ|·|Q|) 的空间开销,转而通过转移列表进行索引。
- 块的分裂通过在全局数组 Qp 中重新排列状态指针来实现,每个块的分裂次数被独立追踪。
- SplitImplementation 函数高效处理块的分裂,并通过紧凑且增量的更新策略更新关系 R。
实验结果
研究问题
- RQ1是否可以在不因字母表大小导致乘法成本的前提下,计算LTS上的最粗模拟预序?
- RQ2何种数据结构设计能最小化LTS模拟算法的时间与位空间复杂度?
- RQ3如何在保持Kripke结构算法效率的同时,将分区细化方法适配至LTS?
- RQ4是否可能在模拟算法中实现最优时间复杂度 O(|Psim|·|→|) 和近似最优的位空间复杂度 O(|Psim|² + |→|·log|→|)?
主要发现
- 所提出的算法实现了目前已知最优的时间复杂度 O(|Psim|·|→|),且不依赖于字母表大小。
- 位空间复杂度为 O(|Psim|² + |→|·log|→|),是目前模拟算法中最佳的。
- 第三种变体的时间复杂度为 O(b·|Psim|·|→|),其中 b 为分支因子,通常远小于 |Psim|,提供了实用的时间-空间权衡。
- 算法的空间使用为 O(|Psim|²·log|Psim| + |→|·log|→|) 位,显著优于以往基于分区的方法所使用的 O(|Psim|·|Q|·log|Q|) 空间。
- 通过基于转移标识符的共享数组对转移集进行编码,将空间从 O(|Σ|·|Q|) 降低至 O(|→|·log|→|)。
- 该框架支持与最粗双模拟预计算的集成,从而减少转移集大小并降低整体复杂度。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。