两个DFA的相等性是一个可决定的问题吗?


11

因此,给定两个DFA,查找它们是否生成相同语言的问题是否可以解决?

我已经知道两个CFL的平等性是不可决定的

但是两个DFA的平等呢?考虑到DFA的大多数问题都是可以决定的,这也是可以决定的吗?



1
欢迎来到计算机科学!你尝试了什么?你在哪里被困?我们不想只为您提供解决方案;我们希望您了解。但是,由于我们不知道您的根本问题是什么,因此我们无法开始提供帮助。有关询问运动问题的提示,请参见此处。如果您不确定如何改善问题,为什么不在计算机科学聊天中问周围?
拉斐尔

Answers:


22

为了确定两个DFA生成的语言是否相同,请为对称差构造一个DFA,然后检查。A1,A2AΔL(A1)ΔL(A2):=(L(A1)L(A2))(L(A2)L(A1))L(AΔ)=

这里有一些更多细节。您可以使用产品构造来构造:构建产品自动机,并使用作为接受状态集。AΔ(F1×F2¯)(F1¯×F2)

为了检查是否为空,足以检查从初始状态是否可以到达某些接受状态,这可以使用BFS / DFS来完成。L(AΔ)


3

给定两个DFA和的平等和和检查,如果和产生相同的语言都是一样的东西。D1D2D1D2D1D2

是的,这个问题是可以确定的。你可以尽量减少双方和并比较它们的转换函数。给定DFA,最小化算法会将状态数减少到最小数,并且该DFA是唯一的。 这是替代方法。D1D2


1
我相信您正在将DFA的“对等”及其等同性混为一谈。
einpoklum

@einpoklum是的,我使用术语“平等”作为“等效性”的同义词,因为OP使用术语“平等”。
fade2black

2
但是,两者并不相同。即使最小化,自动机也不相等。但是,我们知道它们是同构的,这当然是可以决定的(如果可能比相等更难)。
拉斐尔
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.