当通过 table 填充最小化 DFA 时,是否应将一对最终状态转换为 final/undetermined(死)对视为可区分的?
When minimizing DFAs through table fill, should a pair of final states transition to a final/undetermined(dead) pair be treated as distinguishible?
此处 q0q5 对是 final/final,但它们通过输入 1 的转换是 q2/undefined(死)。为了标记 x,undefined 会被认为是非最终的吗?从逻辑上讲这是有道理的,因为它会导致非最终死状态,但我不确定
q1q5 到 -1 相同-> 它进入最终的 q5
是的,为了最小化,未定义的死状态应被视为非最终状态(它不是接受状态;导致它的字符串不在 DFA 的语言中)。因此,由两个最终(接受)状态组成的对不同于由一个最终(接受)状态和 undefined/dead 状态组成的对。为了绝对确定这一事实,您可以显式添加 undefined/dead 状态以获得定义了所有转换的 7 状态 DFA。如果使用前面提到的约定,对该 DFA 执行最小化然后删除任何死状态应该产生与在具有 undefined/dead 状态的 DFA 上执行算法相同的 DFA。
注意:从理论上讲,无论如何只列出 DFA 中的死状态可能更可取,尤其是在讨论最小化时。如果您遵循此约定,最小 DFA 中的状态数可以很好地与 Myhill-Nerode 不可区分关系下的等价数 类 相关;如果您从最小 DFA 中删除死状态,这通常不再可能,因为一些最小 DFA 将具有死状态,而另一些则不会。
此处 q0q5 对是 final/final,但它们通过输入 1 的转换是 q2/undefined(死)。为了标记 x,undefined 会被认为是非最终的吗?从逻辑上讲这是有道理的,因为它会导致非最终死状态,但我不确定
q1q5 到 -1 相同-> 它进入最终的 q5
是的,为了最小化,未定义的死状态应被视为非最终状态(它不是接受状态;导致它的字符串不在 DFA 的语言中)。因此,由两个最终(接受)状态组成的对不同于由一个最终(接受)状态和 undefined/dead 状态组成的对。为了绝对确定这一事实,您可以显式添加 undefined/dead 状态以获得定义了所有转换的 7 状态 DFA。如果使用前面提到的约定,对该 DFA 执行最小化然后删除任何死状态应该产生与在具有 undefined/dead 状态的 DFA 上执行算法相同的 DFA。
注意:从理论上讲,无论如何只列出 DFA 中的死状态可能更可取,尤其是在讨论最小化时。如果您遵循此约定,最小 DFA 中的状态数可以很好地与 Myhill-Nerode 不可区分关系下的等价数 类 相关;如果您从最小 DFA 中删除死状态,这通常不再可能,因为一些最小 DFA 将具有死状态,而另一些则不会。