给出语言L(G)={a2n+1b2ma2p+1|n≥0 p≥0 m≥1}正规式及该正规式的DFA。

大学 语言 已帮助 人

给出语言L(G)={a2n+1b2ma2p+1|n≥0,p≥0,m≥1}正规式及该正规式的DFA。

热搜:容重单位g/L相当于多少公斤

答案解析

难度★★☆ 搜索
  • 描述该语言的正规式为:a(aa)*bb(bb)*a(aa)*
       首先从该正规式出发,构造等价的非确定有限自动机,如图3-31所示。
       3.16045A.jpg
       得到了非确定有限自动机后,下面用子集法进行确定化,如表3-18所示。
    表3-18  对a(aa)*bb(bb)*a(aa)*非确定有限自动机进行确定化
    状态子集 a b初态集{X}的ε闭包:
    {X} Next({X},a):
    {0,6,1} Next({X},b):
    Ф{0,6,1} Next({0,6,1},a):
    {9} Next({0,6,1},b):
    {2}{9} Next({9},a):
    {6,1} Next({9},b):
    Ф{2} Next({2},a):
    Ф Next({2},b):
    {3,7,4}{6,1} Next({6,1},a):
    {9} Next({6,1},b):
    {2}{3,7,4} Next({3,7,4},a):
    {5,8,Y} Next({3,7,4},b):
    {10}{5,8,Y} Next({5,8,Y},a):
    {11} Next({5,8,Y},b):
    Ф{10} Next({10},a):
    Ф Next({10},b):
    {7,4}{11} Next({11},a):
    {8,Y} Next({11},b):
    Ф{7,4} Next({7,4},a):
    {5,8,Y} Next({7,4},b):
    {10}{8,Y} Next({8,Y},a):
    {11} Next({8,Y},b):
    Ф
       将状态子集重新命名,得到下面的状态转换矩阵,如表3—19所示。
    表3—19 得到的a(aa)*bb(bb)*a(aa)*状态转换矩阵
    状态 a b0初态 1 -1 2 32 4 -3 - 54 2 35 6 76终态 8 -7 - 98 10 -9 6 710终态 8 -
       左上角{X}的ε闭包所对应的状态是确定有限自动机的初始状态,含有原非确定有限自动机终止状态Y的状态子集所对应的状态是确定有限自动机的终止状态。就得到如图3—32所示的正规式a(aa)*b(bb)*a(aa)*的未化简的确定有限自动机。
       3.19F265.jpg
       对确定有限自动机进行最小化:
       首先,状态集划分为非终态集{0,1,2,3,4,5,7,8,9}和终态集{6,10}。
       考察集合{6,10},看是否需要划分为不同的集合。在该集合中,状态6,10接受a都到达8,所以不能再分。
       考察集合{0,1,2,3,4,5,7,8,9},看{0,1,2,3,4,5,7,8,9}是否可以进一步划分。状态0,2,8只能接受字符a,所以应该将{0,1,2,3,4,5,7,8,9}分解为{0,2,8}和{1,3,4,5,7,9}。于是得到新的划分:
       {0,2,8},{1,3,4,5,7,9},{6,10}
       对于集合{1,3,4,5,7,9},状态3,7只能接受b,所以将集合{1,3,4,5,7,9}分解为{3,7}和{1,4,5,9},得到新的划分:
       {0,2,8},{3,7},{1,4,5,9},{6,10}
       对于集合{0,2,8},状态0接受字符a到状态1,状态2接受字符a到状态4,状态8接受字符a到状态10,状态1,4属于当前同一集合,而状态10属于另一集合,所以应该将{0,2,8}分解为{0,2}和{8}。于是得到新的划分:
       {0,2},{3,7},{1,4,5,9},  {6,10},  {8}
       对于集合{1,4,5,9},状态1,4接受字符a到状态2,状态5,9接受字符a到状态6,状态2,6不属于当前同一集合,所以应该将{1,4,5,9}分解为{1,4}和{5,9}。于是得到新的划分:
       {0,2},{3,7},{1,4},{5,9},{6,10},{8}
       采用同样的方法,经过考察后发现其中的每个状态子集都不可能进一步划分了,这样就得到了最后的划分。对每个状态子集,选一个状态作为代表,删除其余状态,把导入被删除状态的边改成导向所选择的代表状态,得到如图3-33所示的正规式a(aa)*bb(bb)*a(aa)*的化简后的确定有限自动机。
       3.1C0D36.jpg