https://www.bilibili.com/video/BV1mh41187fN/?spm_id_from=333.788.videocard.13
    image.png
    step1 : 正则到NFA

    image.png
    step2: 组织状态集合,子集法
    image.png
    image.png
    step3:新状态命名规范化
    image.png
    image.png
    step4:完成状态表-状态转化矩阵image.png
    tips:确定终止状态:看有没有Y
    image.png
    step6:根据状态转换表做DFA
    image.png
    image.png
    image.png
    image.png
    step7: 化简:

    初始拆分:结束态和其他的状态分成两组,看是否有到达交集
    image.png
    image.png
    上图这一步将0和1 分开
    image.png
    但不能将0和2拆分,入下图
    image.png
    下图这一步将0和2拆分
    image.png
    image.png
    再检查3456要不要拆分
    image.png
    走不同路径都指向同一个集合,确定最后的状态集合,就是化简后的状态集合
    image.png
    step8:重新命名,重新计算状态集合
    注意这里的状态节点已经并起来了,所以在路径选择看到达状态的时候,要看原来状态属于哪个新的状态。所以下面的紫色的3指的是{3,4,5,6}这个新状态

    image.pngimage.png
    image.png
    step9:将化简后的状态转换图化成DFA
    tips:新状态3是老状态的{3,4,5,6} 本身是终态,即最初里面是有y的,所以是终态。
    image.png
    image.png