【问题标题】:How can I prove this dFa is minimal?我怎样才能证明这个 dFa 是最小的?
【发布时间】:2021-11-15 07:15:18
【问题描述】:

我试图证明这个 DFA 对于这个联盟来说是最小的。

【问题讨论】:

    标签: computer-science automata finite-automata dfa


    【解决方案1】:

    您可以通过证明每个状态都是可到达和可区分的,来证明您的 DFA 是最小的。

    要证明状态st 是可达的,您必须给出一个单词(可能为空的符号序列),该单词从起始状态(图中的q0)到状态st。因此,对于您的图表,您必须给出六个单词:q0q1q2q3q4X 各一个单词。我会帮你开始的:

    state word that reaches it from q0
    q0 "" (the empty word)
    q1 a
    q2 ab
    q3 (exercise for the reader)
    q4 (exercise for the reader)
    X (exercise for the reader)

    要证明s1s2 两个状态是可区分的,您必须给出一个单词,从s1 到接受状态,从s2 到拒绝状态,反之亦然。因此,对于您的图表,您需要提供 6 个选择 2 = 15 个词:一个用于区分 q0q1,一个用于区分 q0q2,以及一个用于区分 q1q2 , 等等。例如,单词aq0q3 区分开来,因为aq0 变为q1(拒绝状态),但aq3 变为q4(接受状态)。

    我会帮你开始的:

    state 1 state 2 word that distinguishes the states
    q0 q1 b
    q0 q2 "" (the empty string)
    q0 q3 a
    q0 q4 ba
    q0 X (exercise for the reader)
    q1 q2 (exercise for the reader)
    q1 q3 (exercise for the reader)
    q1 q4 (exercise for the reader)
    q1 X (exercise for the reader)
    q2 q3 (exercise for the reader)
    q2 q4 (exercise for the reader but you won't find one)
    q2 X (exercise for the reader)
    q3 q4 (exercise for the reader)
    q3 X (exercise for the reader)
    q4 X (exercise for the reader)

    【讨论】:

    • 您的意思是这是该语言的最小形式吗?
    • 我并不是说发布的图表是最小的 DFA。事实上,我的回答暗示它不是最小 DFA(请参阅q2/q4 的表格条目)。
    • 你能给我看一个最小 DFA 的图表吗?
    • @CS_student 您可能想阅读一下softwareengineering.meta.stackexchange.com/q/6166/294015
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多