• 作业9 DFA最小化


    1.将DFA最小化:教材P65 第9题

    2.构造以下文法相应的最小的DFA

    S→ 0A|1B

    A→ 1S|1

    B→0S|0

    3.自上而下语法分析,回溯产生的原因是什么?

    4.P100 练习4,反复提取公共左因子。

    S→C$

    C→bA|aB

    A→a|aC|bAA

    B→b|bC|aBB

    答:1、最小化:

    I {1,2,3,4,5} {6,7}
     

    {1,2}b -> {2}

    {3,4}b -> {6,7}

    {5}b

    {1,2,3,4,5}可区别,划分

     
    II {1,2}  {3,4} {5}  {6,7}
     

    {1}a -> {3,4}

    {2}a -> {3,4}

    {3}d -> {5}

    {4}d -> {5}

    {1,2},{3,4}不可区别,等价

    {6}b -> {6,7}

    {7}b -> {6,7}

    {6,7}不可区别,等价 

    最小化DFA:

    正规式:b*a(c|ad)*bb*

    2、正规文法转化为正规式:S = 0(1S + 1) + 1(0S + 0)

                   = 01S + 01 + 10S + 10

                   = (01 + 10)S + (01 + 10)

                   =(01 + 10)*(01 + 10) 

                   =(01 | 10)*(01 | 10)

    NFA为:

    NFA转化为DFA:

        01 10
    1 {XAB} ε{AY}={ABY} ε{AY}={ABY}
    2 {ABY} ε{AY}={ABY} ε{AY}={ABY}

    该DFA已经为最小DFA。

    3、答:文法的产生式有问题

    4、答:

    S -> C$

    C -> bA | aB

    A -> aD | bAA

    B -> bE | aBB

    D -> C | ε

    E -> C  | ε

  • 相关阅读:
    单片机开发 郭天祥
    OpenNI检测不到Kinect Camera和Kinect Audio了
    python中的类的成员变量以及property函数
    python lambda
    python中的括号以及元组和列表的区别
    python的self
    python exception的传递
    python的闭包
    函数里面定义函数
    在yum出问题的情况下安装某个rpm包的方法
  • 原文地址:https://www.cnblogs.com/m2362563619/p/11797379.html
Copyright © 2020-2023  润新知