我对DFA的一般化感兴趣。像往常一样,我们有状态集,有限字母,由在定义的和初始状态;但是我们取一个的子集,而不是通常的终端集。然后,多语言DFA是元组
并且可以通过 iff来某些。如果需要,将为M识别的语言族。
好的,现在我的问题是:给定一族常规语言,我想找到如上所述的最小多语言DFA,使得为所有,即在所有这样的机器上最小化。我的问题是,是否有已知的有效方法可以执行此操作,也许类似于标准DFA最小化理论?相反,是否有任何证据表明这个问题可能很难解决?
7
在我看来,标准分区的细化基于算法,仅修改由他们是否要接受/非接受每一个给定的子集的划分初始设置状态开始,而不是单一的一套,应该只是工作立即。为什么不呢?它仅在必须分割状态对时才对其进行分割,因此它仍会生成状态的最粗略细化。
—
David Eppstein
如果您定义等价关系,则@DavidEppstein提供的评论证据很容易 iff 每一个 ,在哪里 是Myhill-Nerode等价关系。然后,您可以按照与标准最小化算法相同的步骤进行操作。
—
Shaull
不太明白。是解决此问题的答案,找到具有相同“设置”的DFA联合的最小DFA,但最终状态不同,每个DFA用于?也是承认的定义似乎没有什么意义,它似乎混淆了字符串和状态集。
—
vzn
DavidEppstein和Shaull提出的观点令人信服,当我有时间说服自己商仍然产生最小的自动机时,我会花些时间讨论Myhill-Nerode定理。事后看来,这似乎太明显了。
—
gdmclellan
@vzn:绝对不想将原始自动机的语言结合在一起;和可能会重叠。具有多种语言的多语言DFA 和 应该能够报告,例如, ,但是 。至于用于定义语言识别的符号,该符号是通过扩展 到 动作 遵循以下所有规则 : 。
—
gdmclellan