参考答案和解析
NFA
更多“确定有限自动机DFA是_______的一个特例。”相关问题
  • 第1题:

    如图3-1所示为一确定有限自动机(DFA)的状态转换图,与该自动机等价的正规表达式是(1),图中的(2)是可以合并的状态。

    A.(a|b)* bb(a*b*)*

    B.(a|b)*bba*|b*

    C.(a*b*)bb(a|b)*

    D.(a*|b*)*bb(a*|b*)


    正确答案:A
    解析:在状态转换图中,每一个结点代表一个状态,其中双圈是终结状态。该题实际上是一个简化确定有限自动机(DFA)的过程,一个确定有限自动机可以通过消除多余状态和合并等价状态而转换成一个最小的与之等价的有限自动机。
      首先介绍2个概念:最小状态DFA和等价状态。
      最小状态DFA必须满足以下2个条件。
      (1)没有多余状态(死状态):多余状态从该自动机的开始状态出发,任何输入串都不能到达的那个状态。
      (2)没有2个状态是互相等价(不可区别)。
      2个状态s和t如果同时满足下列2个条件,就称s和t是等价的。
      (1)一致性:同是终态或同是非终态。
      (2)蔓延性:从s出发读人某个a和从t出发读入某个a到达的状态等价。
      本题的简化过程如下:
      首先,将图中状态分为终态和非终态2个子集即({0,1},{2,3}),再进行子集划分,观察第一个子集{0,1},输入b后,状态0转换为状态1,而状态1转换为状态2。因此{1}和{2}中的状态是可区别的。
      由于状态2,3输入字符a得到相同的结果3,输入字符b得到相同结果2,所以子集 {2,3}是不可区别的。从而得到新的划分:({0},{1},{2,3}),因此,(2)空的正确答案为B。
      重复子集划分步骤,发现新的状态无法再次划分。
      所以,本题中2,3状态可以消除3状态,得到新的状态转换图如图3-2所示。
     
      由图3-2可知终态2可以转换为正规表达式(a|b)*,同时必须输入连续2个b字符,才能完成0状态到终态2的转换,所以结果正规表达式必为形如“...bb(a|b)*”的字符串。又因为0和1之间由b和a轮回输入,可以表示为(ba)*,同时,状态0上输入a又回到自身,可以表示为a*。因此,(1)空的正确答案应该为(a*b*)*bb(a|b)*,根据正规式之间的代数性质,(a*b*)*bb(a|b)*与(a|b)*bb(a*b*)*等价。

  • 第2题:

    某一确定性有限自动机(DFA)的状态转换图如图6-5所示,令d=0|1|2|…|9,则以下字符串中,不能被该DFA接受的是(3),与该DFA等价的正规式是(4)。 (其中,ε表示空字符)

    ①3857

    ②1.2E+5

    ③-123

    ④.576E10

    A.①、②、③

    B.①、②、④

    C.②、③、④

    D.①、②、③、④


    正确答案:B

  • 第3题:

    某一非确定性有限自动机(NFA)的状态转换图如下图所示,与该NFA等价的正规式是(28),与该NFA等价的DFA是(29)。

    A.0*|(0|1)0

    B.(0|10)*

    C.0*((0|1)0)*

    D.0*(10)*


    正确答案:B
    解析:根据分析题目中给出的状态转换图可知,该NFA可识别空串以及任意数目0组成的串,但若出现1,则其后至少要有1个0才能到达终态,因此,该自动机识别的串等价于正规式(0|10)*。

  • 第4题:

    某一确定有限自动机(DFA)的状态转换图如下图,与该自动机等价的正规表达式是(28),图中(29)是可以合并的状态。

    (56)

    A.ab*a

    B.ablab*a

    C.a*b*a

    D.aa*lb*a


    正确答案:A

  • 第5题:

    已知一不确定的有限自动机(NFA)如图6-6所示,采用子集法将其确定化为DFA的过程如表6-1所示。

    状态集T1中不包括编号为(58)的状态;状态集T2中的成员有(59);状态集乃等于(60);该自动机所识别的语言可以用正则式(61)表示。

    A.2

    B.4

    C.3

    D.5


    正确答案:A

  • 第6题:

    图2-7为一确定有限自动机(DFA)的状态转换图,与该自动机等价的正规表达式是(14),图中的(15)是可以合并的状态。

    A.[a|(ba)]*bb(a*b*)*

    B.(a|b)*bba*|b*

    C.(a*b*)bb(a|b)*

    D.(a|b)*bb(a*|b*)*


    正确答案:A

  • 第7题:

    某确定性有限自动机(DFA)的状态转换图如下图所示,令d=0|1|2|…|9,则以下字符串中,能被该DFA接受的是(22)。

    A.3857

    B.1.2E+5

    C.-123.67

    D.0.576E10


    正确答案:C
    解析:本题程序语言翻译基础知识。翻译高级语言源程序的第一步工作是进行词法分析,即将源程序中的单词(记号)识别出来,该过程可用有限自动机描述。自动机M识别一个字符串的过程是从开始状态出发,根据字符串中的字符依次进行状态转移,若能到达终态且字符串结束,则该字符串可被自动机M识别。考查题目中的选项,3857的识别过程是状态0→状态1→状态1→状态1,状态1不是终态;字符串1.2E+5中的“+”不能识别;字符串0.576E10的识别过程是状态0→状态1→状态5→状态6→状态6,在状态6下不能识别E。字符串-123.67的识别过程是状态0→状态4→状态1→状态1→状态5→状态6→状态6,因此该字符串可被厦中的自动机识别。

  • 第8题:

    某确定的有限自动机 (DFA) 的状态转换图如下图所示 (A 是初态,D、E 是终态),则该 DFA 能识别( )。

    A.00110B.10101C.11100D.11001


    正确答案:C

  • 第9题:

    某一确定性有限自动机(DFA)的状态转换图如图2-2所示,令d=0|1|2|…19,则以下字符串中,不能被该DFA接受的是(9),与该DFA等价的正规式是(10)。(其中,ε表示空字符。)

    A.①②③

    B.①②④

    C.②③④

    D.①②③④


    正确答案:B

  • 第10题:

    某非确定的有限自动机(NFA)的状态转换图如下图所示(q0既是初态也是终态),与该NFA等价的确定的有限自动机(DFA)是 ( ) 。



    答案:A
    解析:
    本题考查有限自动机这一知识点。容易看出,能被题中不确定的有限自动机接受的符号串有两种情形,一种是???表示的符号串,另一种是(ba)?符号串。在四个选项中,只有A选项的有限自动机能同时接受???和(ba)?这两种符号串,故本题选择A选项。

  • 第11题:

    下图所示为一个不确定有限自动机的状态转换图,与该NFA等价的DFA是( )。




    答案:C
    解析:
    本题可以直接以实例方式排除错误选项。本题给出的NFA,能够识别字符串000,010等,以这两个字符串为例进行分析。与之等价的DFA,也必须能够识别这样的串。A选项不能识别000,B选项不能识别010,D选项不能识别010.只有C选项能够同时识别这2个串,因此本题选择C选项

  • 第12题:

    某确定的有限自动机(DFA)的状态转换图如下图所示(0 是初态,4 是终态),则该 DFA能识别(49)。


    A.aaab
    B.abab
    C.bbba
    D.abba

    答案:A
    解析:
    将选项分别带入判断。

  • 第13题:

    已知一不确定的有限自动机(NFA)如图2-8所示,采用子集法将其确定化为DFA的过程如表2-1所示。

    状态集T1中不包括编号为(23)的状态;状态集T2中的成员有(24):状态集T3等于(25);该自动机所识别的语言可以用正规式(26)表示。

    A.2

    B.4

    C.3

    D.5


    正确答案:A

  • 第14题:

    某一非确定性有限自动机(NFA)的状态转换图如图6-1所示,该NFA等价的正规式是(1),与该NFA等价的DFA是(2)。

    A.0*|(0|1)0

    B.(0|10)*

    C.0*((0|1)0)*

    D.0*(10)*


    正确答案:B

  • 第15题:

    某一确定有限自动机(DFA)的状态转换图如下,与该自动机等价的正规表达式是(28),图中(29)是可以合并的状态。

    (42)

    A.(a|ba)*bb(a*b*)*

    B.(a|ba)*bba*|b*

    C.(a*|b*)bb(a|b)*

    D.(a|b*)*bb(a*|b*)


    正确答案:A

  • 第16题:

    ● 某确定性有限自动机(DFA)的状态转换图如下图所示,令 d=0|1|2|...|9,则以下字符串中,能被该DFA 接受的是 (49) 。

    (49)

    A. 3857

    B. 1.2E+5

    C. -123.67

    D. 0.576E10


    正确答案:C

  • 第17题:

    ● 下图所示为两个有限自动机M1和M2(A是初态、C是终态), (48) 。

    (48)

    A. M1和M2都是确定的有限自动机

    B. M1和M2都是不确定的有限自动机

    C. M1是确定的有限自动机,M2是不确定的有限自动机

    D. M1是不确定的有限自动机,M2是确定的有限自动机


    正确答案:D

  • 第18题:

    有限状态自动机M的状态转换矩阵如下表所示,对应的DFA状态图为(28),所能接受的正则表达式表示为(29)。

    (54)

    A.

    B.

    C.

    D.


    正确答案:B

  • 第19题:

    对高级语言源程序进行编译的过程中,有穷自动机(NFA或DFA)是进行(49)的适当工具。A.词法分析SXB

    对高级语言源程序进行编译的过程中,有穷自动机(NFA或DFA)是进行(49)的适当工具。

    A.词法分析

    B.语法分析

    C.语义分析

    D.出错处理


    正确答案:A
    编译程序的功能是从源代码(通常为高级语言)到能直接被计算机或虚拟机执行的目标代码(汇编语言或机器语言)的翻译过程。工作过程分为6个阶段:词法分析、语法分析、语义分析、中间代码生成、代码优化、目标代码生成。各个阶段逻辑上可以分为前端和后端。前端主要负责解析输入的源代码,由语法分析器和语意分析器协同工作。语法分析器负责把源代码中的‘单词’找出来,语意分析器把这些分散的单词按预先定义好的语法组装成有意义的表达式、语句、函数等等。前端还负责语义的检查,例如检测参与运算的变量是否是同一类型的,简单的错误处理。最终的结果常常是一个抽象的语法树,这样后端可以在此基础上进一步优化处理。后端编译器后端主要负责分析,优化中间代码以及生成机器代码。

  • 第20题:

    某确定的有限自动机(DFA)的状态转换图如下图所示(A是初态,C是终态),则该DFA能识别()。

    A.aabb

    B.abab

    C.baba

    D.Abba


    正确答案:B

  • 第21题:

    若将有限状态自动机(DFA)识别的0、1符号串看作二进制数,则(6)识别的是能被十进制数3整除的正整数,(7)是与该自动机等价的正规式。

    A.

    B.

    C.

    D.


    正确答案:A
    解析:任何一个整数被3除后,余数或为0、或为1、或为2。因此,若将该DFA识别的0、 1串看作是二进制整数,则有以下结论:
      ▲ 0被3除,余数为0。
      ▲ 设能被3整除的二进制数为x。若在x之后连接一个0所得的数为y,则y=2x,且y被3整除的余数仍然为0。若在x之后连接一个1所得的数为y,则y=2x+1,因此, y被3整除的余数将等于1。
      ▲ 设被3整除后余数为1的二进制数为x。若在x之后连接一个0所得的数为y,则y=2x,且y被3整除的余数为2。若在x之后连接一个1所得的数为y,则y2x+l,且y被3整除的余数将等于0。  ‘
      ▲ 设被3整除后余数为2的二进制数为x。若在x之后连接一个0所得的数为y,则y=2x,且y被3整除的余数为1。若在x之后连接一个1所得的数为y,则y=2x+l,且y被3整除的余数仍等于2。
      综上,设被3除后的余数为0用qo(下标)表示、余数为1用q1(下标)表示、余数为2用q2(下标)表示,若将空串的值看作0,则下图所示的自动机识别的是能被3整除的整数,其正规式为(0* (1(01*0)*1)*)*。
     
      若限定该自动机识别的0、1序列不能为空串,则相应自动机的状态转换图如下图所示。
     

  • 第22题:

    某一非确定性有限自动机(NFA)的状态转换图如下图所示,与该NFA等价的正规式是( ),与该NFA等价的DFA是(请作答此空)。




    答案:A
    解析:

  • 第23题:

    某一确定有限自动机(DFA.的状态转换图如下图所示,该DFA接受的字符串集是 ( ) ,与之等价的正规式是 (请作答此空) 。

    A.1*0(0|1)*
    B.((0|1*0)*1*)*
    C.1*((0|1)0)*
    D.(1*(01*0)*)*

    答案:D
    解析:
    分析题日中给出的状态转换图可知,状态q0为唯一的终态,因此该DFA可识别空串。以一个。离开状态q0然后再以一个0返回q0,因此,该自动机识别的串是包含偶数个0的二进制代码串。正规式中的运算符“|”、“•”、“*”分别称为“或”、“连接”和“闭包”。在正规式的书写中,连接运算符“•”可省。运算的优先级从高到低顺序排列为:“*”、“•”、“|”。正规式1*0(0|1)*、((0|1*0)*1*)*、1*((0|1)0)*都没布表示出偶数个零的特点,因此包含偶数个0的二进制代码串的正规式为(1*(01*0)*)*。

  • 第24题:

    下图所示为一个不确定有限自动机(NFA)的状态转换图,与该NFA等价的 DFA是( )



    答案:C
    解析:
    NFA可以有000状态,因此排除A;NFA可以有010状态,可以排除BD。