Partition refinement is a method for minimizing automata and transition systems of various types. We present a tool implementing a recently developed partition refinement algorithm that is generic in the transition type of the given system and typically runs in time either $\mathcal{O}(m\cdot \log n)$ or $\mathcal{O}(m\cdot \log n\cdot\log m)$ for systems with $m$ edges and $n$ states. This matches the runtime of the best known algorithms for several fixed types of systems, e.g. deterministic automata as well as ordinary, weighted, and probabilistic (labelled) transition systems, and in the case of weighted systems over non-cancellative monoids, such as (the additive monoid of) the tropical semiring, even improves the asymptotic runtime. Genericity is achieved by modelling transition types as endofunctors on sets and state-based systems as coalgebras. In addition to thus obtaining an efficient partion refiner for the mentioned types of systems, we demonstrate how the user can quickly obtain a partition refiner for new types of systems by composing pre-implemented basic functors, and how the tool can easily be extended with new basic functors by implementing a refinement interface.
翻译:部分精细是一种最大限度减少不同类型自动和过渡系统的方法。 我们提出了一个工具, 用于执行最近开发的分区精细算法, 该算法在给定系统的过渡类型中通用, 通常在时间上运行, 无论是$\mathcal{O}( m\cdot\log nn) 美元还是$mathcal{O} (m\cdot\log n) 或$\mathcal{O} (m\cdot\log\ m) {O} (m\cdott\ nc\cdot\log\ m) 美元, 用于具有 美元边缘和 美元状态的系统。 这与若干固定类型系统的已知最佳算法运行时间相匹配, 例如确定性自动自定义的自动精细算法以及普通、 加权和概率( 标签) 过渡系统, 通常在非扫描性单项单项单项的系统中运行, 例如( 添加单项的单项) 热带半项, 甚至改进无损耗损运行时间。 通过模拟转换类型, 将转换类型作为机和基于 煤格的系统 制的系统 获得一个高效的精细化系统。 我们通过快速的系统获得新的系统, 快速的系统获得一个可快速的精细化系统, 和新工具的新的工具的精细化工具的精细化系统如何获得新的工具的精细。