基于SBA与SPA的主动自动机学习及稠密时间度量时态逻辑语义基础探索
1. SBA与SPA在主动自动机学习中的比较
在主动自动机学习领域,系统行为自动机(SBAs)和过程自动机(SPAs)是两种重要的形式化方法。SBAs打破了SPAs强制的调用符号和返回符号之间的联系,能够进行更自然的系统探索,甚至可以对非终止过程进行建模,这是SPAs在空栈语义下无法做到的。此外,SBAs能够对系统进行更细粒度的表示,这在处理行为时至关重要。
两者并非相互排斥,我们可以通过以下步骤将行为自动机转换为SPAs使用的过程自动机:
1. 将每个状态标记为拒绝状态。
2. 将每个具有(先前)接受r - 后继的状态标记为接受状态。
3. 移除每个r - 转换。
从全局语言层面来看,这种转换相当于将SBA语言与匹配良好的单词语言相交,从而得到所有的SPA语言。这样,我们就可以使用基于SBA的交互方式来模拟SPA学习者,这可能更便于系统集成。
这种替代的SPA学习方法也会影响学习过程本身。一般来说,SPA假设通常更小,因为过程自动机忽略了无法成功返回的系统状态,并考虑较少的输入符号,这可能会减少推断SPA模型所需的查询次数。然而,由于SPAs要求空栈语义,每个扩展查询都需要附加一个终止序列。对于非常嵌套的系统,这些序列可能会变得非常长,从而降低SPA学习者的符号性能。而使用SBA语义时,这种扩展是不必要的。
2. 基准测试设置
为了比较SBAs和SPAs在主动自动机学习中的性能,我们进行了一系列基准测试。具体设置如下:
- 构建随机SBA :首先构建一个包含5个调用符号
超级会员免费看
订阅专栏 解锁全文
25

被折叠的 条评论
为什么被折叠?



