[英]How do these two discrete finite automata differ?
我有以下語句定義的離散有限自動機:
{ω| ω是不在*∪b *}中的任何字符串
出於某種原因,我只是不理解“a *∪b *”部分。 我知道聯盟是什么,但這與a * b *有什么不同? 這兩個陳述的結果DFA是否相同? 我需要首先為此語言的補充創建DFA,然后使用該DFA基於此創建上述語言的DFA。
有人能幫助我理解這個嗎?
讓我們分解定義,然后看一下a* ∪ b*
和a* b*
之間的區別會更簡單。
x*
指的是符號x
任何非負數(包括零)。 這包括空字符串( ε
), x
, xx
, xxx
等。 XY
指的是X
后跟Y
任何符號
X = {1, 2}
且Y = {a, b}
,則XY = {1a, 1b, 2a, 2b}
X ∪ Y
指的是由X
和Y
描述的集合的並集。 這包括可能在X
或Y
集合中但不一定都在兩者中的任何符號。
X = {1, 2}
且Y = {a, b}
,那么X ∪ Y = {1, 2, a, b}
從上面我們可以推斷出a* b*
中的元素集a*
集合a*
的任何元素,后跟集合b*
中的任何元素(記得因為我們使用*
表示法,所以包含空字符串)。 a* = {ε, a, aa, aaa, aaaa, ... }
和b* = {ε, b, bb, bbb, bbbb, ... }
。 因此a* b* = {ε, a, b, ab, aa, aab, aabb, bb, abb, aabb, ...}
。
類似地,我們現在知道a* ∪ b*
包括集合a*
OR b*
中的任何元素。 因此a* ∪ b* = {ε, a, b, aa, bb, aaa, bbb, aaaa, bbbb, ...}
。 請注意,沒有任何元素同時具有符號a
AND b
因為它不在集合中。
最后,你可以問一下a* b*
BUT中的元素不在a* ∪ b*
。 a* b* \\ a* ∪ b* = { x ∈ a* b* | x ∉ a* ∪ b*} = { ab, abb, abbb, ... aab, aabb, aabbb, ..., aaab, aaabb, ... }
a* b* \\ a* ∪ b* = { x ∈ a* b* | x ∉ a* ∪ b*} = { ab, abb, abbb, ... aab, aabb, aabbb, ..., aaab, aaabb, ... }
。 這些是兩個符號的元素a
和 b
在它們。
a* U b*
是所有串的語言a
只有伴隨着所有字符串b
只: {empty, a, b, aa, bb, aaa, bbb, ...}
在這門語言的字符串是那些不僅含有字符串a
S或b
秒,但二者: {ab, ba, aab, aba, baa, abb, bab, bba, ...}
a*b*
又是它由其中任何一個的所有字符串的另一種語言的a
š任何來之前b
S: {empty, a, b, aa, ab, bb, ...}
a*b*
是a* U b*
的超集,但它不等於它。 它既不是字符串語言的子集也不是超集,而不是在a* U b*
但它在很多地方都重疊。 由於所有三種語言都是不同的,所以三種語言都有不同的DFA。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.