设DFA M=({0,1,2 },{a,b},δ,0,{2}),其中: δ(0,a)=1,δ(1,a)= 1 ,δ(2,a)=2 δ(0,b)=2,δ(1,b)=2 ,δ(2,b)= 2 则它能接受的符号串有( )。
时间: 2024-03-29 16:34:52 浏览: 159
根据题意,可以画出如下的DFA状态转移图:
![DFA状态转移图](https://img-blog.csdn.net/20180517140215807?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvQ01DXzAxMzE5NzQ2/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/q/85)
其中,红色的状态2为终态。根据该DFA的转移函数,可以列出如下的状态转移表:
| 状态 | a | b |
|------|-----|-----|
| 0 | 1 | 2 |
| 1 | 1 | 2 |
| 2 | 2 | 2 |
从初始状态0开始,依次读入符号串中的字符,根据转移函数进行状态转移,最终到达某个终态即为该符号串被该DFA接受。
对于本题,该DFA的终态为状态2,因此只要符号串中含有一个或多个字符b,最终状态就会停留在状态2上,从而被该DFA接受。因此,符号串中只要含有字符b,就能被该DFA接受。所以,该DFA能接受的符号串为:b、ab、ba、aab、aba、bba、bbba、……等所有含有字符b的符号串。
相关问题
设DFA M=({0,1,2,3 },{a,b},δ,0,{3}),其中: δ(0,a)=1,δ(1,a)=3 δ(2,a)=1,δ(3,a)=3 δ(0,b)=2,δ(1,b)=2 δ(2,b)=3,δ(3,b)=3 则它能接受的符号串有( )。
根据给定的 DFA M,从状态0开始,如果输入符号是a则进入状态1,如果输入符号是b则进入状态2,然后从状态1和状态2都可以通过输入符号a或b进入状态3。因此,DFA M能接受的符号串是所有以任意数量的a和b结尾的字符串,即{a, b, aa, ab, ba, bb, aaa, aab, aba, abb, baa, bab, bba, bbb, ...}。
构造正规式相应的DFA: 1(0|1)*101
首先,我们可以将正规式转换为以下状态转移图:
```
┌───0,1───┐
↓ │
→(1)───(2)───>(3)───(4)←
└───1────┘
```
其中,状态 1 是起始状态,状态 4 是终止状态。
接下来,我们可以根据状态转移图构造 DFA:
```
┌───0───┐
↓ │
→(1)───(2)───(3)───(4)←
└───1───┘
```
其中,状态 1 是起始状态,状态 4 是终止状态。对于输入字符串,从起始状态开始,按照输入字符转移状态,最终到达终止状态则认为字符串被 DFA 接受,否则被拒绝。
阅读全文