2

这是我画的DFA-

我的 DFA

这是正确的吗?
我很困惑,因为q4状态2对于违反规则的相同输入符号有不同的转换DFA,但我想不出任何其他解决方案。

4

2 回答 2

4

您的 DFA 不正确。
你的 DFA 完全错误,所以我不评论

RE 的 DFA:

0(1 + 0)*0 + 1(1 + 0)*1  

语言描述:如果字符串以0它开头应该以它结尾,0或者如果字符串以1它开头应该以它结尾1。因此有两个最终状态(state-5,state-4)。

state-4 :接受 1(1 + 0)*1
state-5 :接受 0(1 + 0)*0
state-1 :开始状态。

DFA

DFA

编辑

+ 正则表达式中的运算符

(0 + 1)* = (1 + 0)*即任何由1s 和0s 组成的字符串,包括 Null 字符串^

+如果它出现在两个 RE: 和A U B = B U A (类似地)=>之间,这里表示联合(0 + 1) = (0 + 1)

加号的含义+取决于它出现的语法:如果表达式是一个++上标)这意味着多个as中的一个,如果a+b那么+意味着联合操作或者ab

a+ : { a, aa, aaa, aaa.....}那是语言中任意数量的a字符串length > 1

于 2013-01-02T14:18:30.563 回答
0

我认为你应该先从 0 开始

0(1 + 0)*0 + 1(1 + 0)*1

在此处输入图像描述

于 2018-11-08T06:04:43.793 回答