Answers:
通常,常规语言可能没有唯一的最小DBW。例如,语言“无限多个a和无限多个b”具有两个三态DBW(在图片中替换为): ¬ 一个b
如您所见,它们在拓扑上并不等效。
因此,最小化问题比有限情况更难,实际上,它是NP完全的。
这个问题在80年代产生了很多文献,部分原因是对该问题的处理方法不好。这是一个很长的故事,我将尝试在此答案中进行总结。
1.有限词的情况
人们可以在文献中找到最小DFA的两种定义。第一个是将常规语言的最小DFA定义为具有接受该语言的最少状态的完整DFA。第二个定义的时间更长,但在数学上比第一个更具吸引力,并且具有更强的性能。
让我们回想一下,如果对于所有存在单词使得则可以访问 DFA。如果为所有和都定义了则这是完整。q ∈ Q Ü ∈ 甲*我⋅ Ù = q q ⋅ 一个q ∈ Q 一个∈ 甲
令和A 2 = (Q 2,A ,⋅ ,i 2,F 2)是两个完整的可访问DFA。从A态射阿 1至阿 2 是一个函数φ :Q 1 → Q 2,使得
A 1 A 2 A 1 A 2 L A L L A L A A L L A L A A L。该自动机被称为最小DFA的。再次注意,由于中的状态数小于的状态数,因此在第一方面也是最小的。
值得一提的是,对于不完整的 DFA,也有合适的代数定义。参见[Eilenberg,自动机,语言和机器,第 A,学术出版社,1974]。
2.回到无限的单词
如Shaull在回答中所示,扩展第一个定义不起作用。不幸的是,除了少数特殊情况外,还可以表明第二个定义的通用属性没有扩展到无限个单词。
故事结束了吗?请稍等,还有另一个最小的对象接受常规语言...
3.句法学
让我们首先回到有限的词。回想一下,一个语言的是 由半群识别,如果有一个满射幺态射 和一个子集的,使得。再次,存在一个半群,称为语法么半群的,其识别和是识别所有类群的商。可以通过的句法全等将这个句法半形词直接定义为的商甲*中号˚F :甲* → 中号P 中号˚F - 1(P )= 大号中号(大号)大号大号大号甲* 〜大号大号ü 〜大号 v 当且仅当,对于所有 X ,ÿ ∈ 甲*, X ü ÿ ∈ 大号 ,定义如下: 好消息是这次,这种方法已经扩展到了无限的单词,但是花了很长时间才发现合适的概念。首先,句法全等的合适的概念由A.阿诺德(对于合理的句法同余发现 -languages,Theoret。COMPUT。科学。39,2-3(1985),333-335)。将句法半形体扩展到无穷词的设置需要一种更复杂的代数类型,为了纪念T. Wilke,他被称为Wilke代数,T。Wilke是第一个定义它们的人(T. Wilke,一种用于有限和无穷规则语言的代数理论。话, ω
4。结论
因此,从数学上讲,最小对象接受给定的常规语言,但它并不依赖于自动机。这实际上是一个相当普遍的事实:自动机是一种非常强大的算法工具,但它们并不总是足以处理关于语言的数学问题。