美文网首页
DFA的最小化算法

DFA的最小化算法

作者: blackOak | 来源:发表于2019-05-18 19:14 被阅读0次

    Hopcroft算法


    首先划分终态集和非终态集,之后不断进行划分,直到不再发生变化。
    每轮划分对所有子集进行。对一个子集的划分中,若每个输入符号都能把状态转换到等价的状态,则两个状态等价。



    划分完成后,从每个子集选出一个代表,若DFA中存在两个子集内状态之间的转换,则MFA中两个子集的代表之间也存在对应的转换。简便方法:对每个子集删去除代表以外的状态,并把指向它们的箭弧改为指向代表。
    MFA的初态是含有DFA初态的子集的代表。MFA的终态集是DFA终态集划分出来子集的代表。
    最后,从MFA中删除从初态无法到达的状态和死状态(只有入射弧或指向自身的出射弧的非终止状态)。

    Myhill-Nerode算法


    去除不可达状态。建表,行列为不同状态,未标记的格子行列状态等价。首先标记行列一个非终止状态一个终止状态的格子。对未标记的格子(q,q'),若存在一个输入符号a,使q经a到达状态和q'经a到达状态不等价,则标记(q,q')。重复直到表格不再变化。



    对于所有未标记的(q,q'),把与q'有关的转换都改到q上,删除q'。

    相关文章

      网友评论

          本文标题:DFA的最小化算法

          本文链接:https://www.haomeiwen.com/subject/lxtxzqtx.html