一尘不染

如何找到两个NFA的交集

algorithm

在DFA中,我们可以通过对两个自动机的状态进行叉积运算,并接受两个初始自动机中都接受的状态,来进行两个自动机的交集。联合执行类似。尽管我可以使用epsilon过渡轻松地在NFA中实现联盟,但是我如何进行交集呢?


阅读 565

收藏
2020-07-28

共1个答案

一尘不染

您可以像使用DFA一样在NFA上使用跨产品构造。唯一的变化是您如何处理ε过渡。具体来说,对于叉积自动机中的每个状态(q i,r
j),您将从该状态添加一个ε跃迁到第一台机器中存在ε跃迁的每对状态(q k,r j)从q i到q k,到第二对机器中从r j到r
k都有一个ε跃迁的状态对(q i,r k)。

另外,您始终可以将NFA转换为DFA,然后计算这些DFA的叉积。

希望这可以帮助!

2020-07-28