这种语言有规律吗?

时间:2012-09-24 07:17:40

标签: finite-automata

接受n(n-1)(n-2)/ 6 + n(n-1)/ 2 + 1的语言是否每个n的{0,1} ^ n多个是常规语言?

我有一个问题来绘制这些语言的dfa,但我甚至不确定它是否是常规语言。

1 个答案:

答案 0 :(得分:1)

这听起来像是家庭作业,我猜测的问题是:绘制一个完全接受n(n-1)(n-2)/ 6 + n(n-1)/ 2 + 1个字长的DFA n(在字母{0,1}上)。让我们将自动机构造为两个DFA的交集。

第一个自动机接受长度为n的单词。这很容易 - 有一系列n + 1个状态。第一个状态是初始状态,只有最后一个状态正在接受,并且每个状态都有一个标记为0的转换到链中的下一个状态。接受状态没有传出转换。

第二个自动机接受其中有一个,两个或三个1的单词。此外,非常简单 - 我们需要4种状态:q_0,q_1,q_2,q_sink。状态q_0是初始状态,状态q_0,q_1,q_2是接受的,并且它们具有0的自循环。存在转变q_0 - 1 - > q_1 - 1 - > q_2 - 1 - > q_sink。最后,q_sink拒绝并且它具有0,1的自循环。

为了构建自动机的交集,我们需要两个自动机的产品。这是一般的结构,也不是很难。