具有不同初始状态/接受状态的两个DFA接受的语言之间的差异?


9

最近,我问了一个关于Math SE 的问题。暂无回应。该问题与该问题有关,但涉及计算机科学的更多技术细节。

给定两个DFA和,其中状态集,输入字母以及和是相同的,初始状态和最终(接受)状态可以不同。令和分别为和接受的语言。B = Q Σ δ q 2F 2A B L 1 L 2 A BA=(Q,Σ,δ,q1,F1)B=(Q,Σ,δ,q2,F2)ABL1L2AB

有四种情况:

  1. q1=q2和。F1=F2
  2. q1q2和。F1=F2
  3. q1=q2和。F1F2
  4. q1q2和。F1F2

我的问题是

在情况2、3和4中,和之间有什么区别?L 2L1L2

我在这方面还有一个更具体的问题,

自动机的过渡单线态是输入字符串在状态集中产生的所有函数的集合。有关更多详细信息,请参见页面。过渡单面体可以看作是作用于状态集的单面体。有关更多详细信息,请参见此Wiki页面

在许多文献中,当类半体动作是传递性的时,即始终存在从一个状态到另一状态的至少一个过渡(输入字符串),自动机被称为强连接。

如果B是强连接的自动机,那么在上述情况2、3和4中L 1L 2有什么区别?ABL1L2

有没有文献详细讨论这些问题?

我搜索了许多书籍和文章,但到目前为止没有发现任何帮助。我相信我还没有合适的关键词。因此,我正在寻求帮助。任何指针/引用将不胜感激。


“差异是什么”是什么意思?您想知道在情况2、3、4中L 2是否可以/必须不同?L1L2
亨德里克

@HendrikJan如果您阅读下面提供的答案Shaull,您将了解L 2可以不同。(他使用了L A L B )。我不知道他们是否必须有所不同。那是我的问题的一部分。我问“有什么区别?”。我并不是说它们必须有所不同。L1L2L(A)L(B)
scaaahu 2013年

Answers:


8

由于是牢固连接的,因此如果q 1q 2,则存在单词p 1p 2,使得δ q 1p 1= q 2δ q 2p 2= q 1A,Bq1q2p1,p2δ(q1,p1)=q2δ(q2,p2)=q1

考虑壳体2,然后当且仅当p 2瓦特大号,和X 大号当且仅当p 1 X 大号。因此,您可以添加前缀以在语言之间切换。wL(A)p2wL(B)xL(B)p1xL(A)

考虑情况3,然后再考虑-最多通过那里的强连接小号1小号ķ使得对于每q ˚F 1您有δ q š ˚F 2,并且类似地对于其它方向(从)。|F1|s1,...,skqiF1δ(qi,si)F2BA

因此,您可以编写后缀以在语言之间切换。

结合这些,您可以使用前缀和后缀来描述差异。例如,在情况4中,当且仅当p 1瓦特小号大号对一些š 在预定的有限集合。wL(B)p1wsiL(A)si

实际上,您甚至可以对这些单词说一些有趣的事情:将定义为DFA,其中q 1是初始状态,q 2是最终状态,然后在情况2中,您有L B = L C L A (对于另一个方向类似)。Cq1q2L(B)=L(C)L(A)

至于后缀,则涉及更多的事情,因为您无法预先确定最终的状态。我不知道你可以写为一个串联,但可以写,其中q是从DFA获得的地设置˚F = { q },并且E q是从q开始且最终状态为F 2的DFA 。L(B)=qF1L(Aq)L(Eq)AqAF={q}EqqF2

对于情况4,您可以将两者结合起来。

您可能会担心这不是一个真正的答案,而只是使用单词而不是状态来描述属性,但这是该领域的典型答案(类似于Myhill-Nerode定理)。


我明白你的回答。我的问题是,例如不是唯一的,即有很多p 1使得δ q 1p 1= q 2。因此L A L B 之间的区别有许多前缀。我们有更精确的答案吗?p1p1δ(q1,p1)=q2L(A)L(B)
scaaahu

我用一些更精确的信息编辑了答案。
Shaull

我真的很喜欢DFA 的想法。我想我对如何处理案例3和案例4有一个大概的想法。非常感谢。我将等待一会儿,然后再接受此答案。C
scaaahu

请注意帖子中的其他修改。
Shaull

1
好主意。您一次要进入一种最终状态,然后要进行工会。希望我的解释是正确的。
scaaahu
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.