定义字符串和绘制语言
Define strings and draw language
在 Σ = {A, B, C} 上定义的所有以 B 开头,以 A 结尾且最小长度为 3 的字符串的语言,还为该语言绘制有限自动机。
请用正则表达式的方式和语言图来说明。在 Σ = {X, Y, Z} 上定义的所有字符串的语言,Y 为第三个字母,Z 为倒数第二个字母
s -> Bx
x -> 是 |通过 |赛
y -> 是 |通过 |赛| A
有限自动机的画法并不难。小写字母是状态,大写字母是输入符号。
状态"s"是起始状态。
从那里开始,单词以 B 开始并以状态 "x" 结束。
从 "x" 输入可以是 A 或 B 或 C 并导致状态 "y"。
从 "y" 输入可以是 A 或 B 或 C,然后返回 "y"。输入 C 是特殊的,因为它 can/must 是单词的最后一个符号。所以 A 只是以完成状态结束(规则中没有明确提及)。
自动机看起来像这样:
识别讨论语言的正则表达式如下:
B[ABC][ABC]*A
- or shorter - B[ABC]+A
在这种情况下,很容易(尤其是第一个正则表达式)看到自动机和正则表达式之间的对应关系。
Divyesh 的回答也几乎是正确的,他画了一个确定性自动机。你只需要删除到 q4 的过渡就可以了。
这个的自动机必须是这个...
在 Σ = {A, B, C} 上定义的所有以 B 开头,以 A 结尾且最小长度为 3 的字符串的语言,还为该语言绘制有限自动机。
请用正则表达式的方式和语言图来说明。在 Σ = {X, Y, Z} 上定义的所有字符串的语言,Y 为第三个字母,Z 为倒数第二个字母
s -> Bx
x -> 是 |通过 |赛
y -> 是 |通过 |赛| A
有限自动机的画法并不难。小写字母是状态,大写字母是输入符号。
状态"s"是起始状态。
从那里开始,单词以 B 开始并以状态 "x" 结束。
从 "x" 输入可以是 A 或 B 或 C 并导致状态 "y"。
从 "y" 输入可以是 A 或 B 或 C,然后返回 "y"。输入 C 是特殊的,因为它 can/must 是单词的最后一个符号。所以 A 只是以完成状态结束(规则中没有明确提及)。
自动机看起来像这样:
识别讨论语言的正则表达式如下:
B[ABC][ABC]*A
- or shorter -B[ABC]+A
在这种情况下,很容易(尤其是第一个正则表达式)看到自动机和正则表达式之间的对应关系。
Divyesh 的回答也几乎是正确的,他画了一个确定性自动机。你只需要删除到 q4 的过渡就可以了。
这个的自动机必须是这个...