有限自动机的修改版本接受的语言


16

确定性有限自动机(DFA)是一种状态机模型,能够接受所有且仅常规语言。可以(通常是)定义DFA,以使每个状态都必须为输入字母的所有元素提供某种过渡。换句话说,转换函数δ:Q×ΣQ应该是(总计)函数。

想象一下我们称之为双重确定性有限自动机(DDFA)。它的定义类似于DFA,但有两个例外:首先,它必须导致两个不同的状态,而不是针对每个可能的输入符号从一个状态过渡到另一个状态。其次,为了接受字符串,所有可能的路径都必须满足以下一个或多个条件:

  1. 通过DDFA的所有可能路径均会导致进入接受状态(我们将其称为1类DDFA)。
  2. 通过DDFA的所有可能路径都导致相同的接受状态(我们将其称为2型DDFA)。

现在我的问题是:

大号d d ˚F = 大号d ˚F 大号d d ˚F 大号d ˚F 大号d d ˚F L D F A L D D FL(DFA)L(DDFA)L(DDFA)=L(DFA)L(DDFA)L(DFA)L(DDFA)L(DFA)L(DDFA)

如果证明不太复杂,则证明(或至少要适度充实)。

Answers:


9

这与亚历克斯的答案相结合,给出了完整的画面。

L(DDFA)L(DFA)可以通过使用修改后的最终状态条件调整通常的动力组构造来证明。在功率集构造中,状态是原始自动机的状态集。通常在执行幂集构造之后,如果集合中的状态之一在原始自动机中是最终状态,则状态是最终状态。

  • 在类型1 DDFA中,构造的自动机中的最终状态是原始元素中所有元素均为最终状态的集合。

  • 在类型2 DDFA中,最终状态是原始自动机的最终状态的单例集。

在这两种情况下,生成的自动机都是DFA。

现在,类型2DDFA只能表达语言和,这取决于起始状态是否接受。这是因为从一个状态开始的两个转换需要进入不同的状态,但是只有当它们最终处于同一状态时才可以接受。{ϵ}


7

为了开始分析,我可以说,L(DFA)L(DDFA)为1型。

您可以通过复制DFA并将边缘添加到重复状态来实现。如果状态具有过渡小号2X,您从一个过渡小号1小号2X为好。此外,š ' 1具有对过渡小号2小号' 2X。显然,我们几乎总是在美国这个手段小号s ^ ' 在同一时间(或可能仅s ^ s1s2xs1s2xs1s2s2xsisisi,最初),因此我们将识别相同的语言。

更新:由于不存在可识别语言{ a }的类型2 DDFA,因此对于类型2 也具有。如果试图进行这样的DDFA,就得开始状态小号,然后你必须有两个传出边缘状态小号1s ^ 2上的一个,但是这些状态必须是不同的,因此两个接收路径端在不同的接受状态。L(DFA)L(DDFA){a}ss1s2a

连同Dave Clarke的答案,可以为您提供完整的分析。


非常高兴发现该类型2的计数器示例!
戴夫·克拉克2012年

@戴夫·克拉克:谢谢。这是一个愚蠢的例子,但是它可以工作:)
亚历克斯·十·布林克2012年

用“病理学”代替“傻”。
戴夫·克拉克

很好,伙计们。有四件事要检查,你们每个人都有两件事。除非你们两个都反对,否则我将选择@DaveClarke作为答案,这仅是因为他的代表少于Alex。
Patrick87 2012年

1
在相关说明中,您想详细说明2型DDFA接受的语言,还是我应该提出一个单独的问题并链接到该问题?
Patrick87 2012年
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.