zoukankan      html  css  js  c++  java
  • 作业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  | ε

  • 相关阅读:
    exit()和_exit()函数(转)
    C语言struct内存占用问题 (转)
    C语言中memset函数(转)
    STDIN_FILENO与stdin区别(转)
    stderr,strerror,errno,perror,论坛大神的回答!
    C++ 函数模版
    C++ 内置函数
    offsetof
    LockSupportDemo
    读写锁,await和signa
  • 原文地址:https://www.cnblogs.com/m2362563619/p/11797379.html
Copyright © 2011-2022 走看看