如何确定哪种语言更简单

时间:2017-05-18 20:57:49

标签: regular-language finite-automata automata dfa

以下语言是简单语言的补充。 为更简单的语言构造DFA,然后使用它为给定语言提供DFA的状态图,其中Σ= {a,b}。

L = {w:w不包含子串baba}。

我不知道哪种语言比较简单,有人可以解释一下吗?

2 个答案:

答案 0 :(得分:0)

我的Logic& S已经有一段时间了。可计算性类,但我的猜测是补语Lc = {w:w包含子串'baba'}。

制作一个接受'baba'子串的DFA可能很容易,你可能只有状态firstB,firstA,secondB和secondA等等。

补充DFA然后是微不足道的,只是让接受状态不接受,反之亦然。

答案 1 :(得分:0)

自动机接受任何包含子串' baba'是:

enter image description here

(它是更简单的语言。它的正则表达式为:(a | b)* baba(a | b)*)

我们可以通过将接受状态变为不接受状态来构建补充DFA,反之亦然,如你所提到的那样:

enter image description here

(必须完成)