2008-10-18

[離散數學ch13]regular set 如何轉化expression expression

課本P13-70範例三
在正規表示式中有幾個符號
但我卻不了它的意義
Q1.有 * ,+ ,U;三種符號
各是代表何意義呢?
Q2.(01)U(10) 之regular set為何?
Q3.(01)+(10) 之regular set為何?
Q4.(01)*(10) 之regular set為何?
Q5.(01)*U(10) 之regular set為何?
Q6.(01)+U(10) 之regular set為何?
Q7.01(00)* 之regular set為何?
各位大大,不好意思小問題較多
但我真的不懂,煩請各位大大幫忙!
謝謝

3 則留言:

Odie 提到...
作者已經移除這則留言。
Odie 提到...

試著回答您的問題,若有誤請指正。

首先,在正規表示式中應該是用v (如0v1),在正規集中才是用∪(如{0}∪{1})。

1. v是相同的,大概是"或"的意思,有時也會寫成+(不是右上角的小+),在正規集中會用union"∪"表示。
如Q2.(01)v(10)對應的正規集為{01}∪{10}。注意v並不是指"串接"的意思,所以0110並不屬於(01)v(10)。

2. *和+(右上角的小+)表示這個字串本身的串接(*含空字串,+不含空字串)。
如(01)*對應{λ, 01, 0101, 010101....}
(01)+對應{01, 0101, 010101....}

3. 另外還有一個運算是兩個正規表示式的串接,不過它就是直接將其寫在一起,沒有符號。
如Q4.(01)*(10),其實指的是(01)*和(10)的串接。所以它對應的是{10(空字串和10的串接), 0110, 010110, ....}

Q2.(01)v(10)對應到{01}∪{10}

Q3.那個"+"如果是右上的小+,則對應到{0110, 010110, ...}或是寫成{(01)k10 | k>0} (k是上標)

Q5應該是(01)*v(10),對應到{λ, 01, 0101, 010101....}∪{10}

Q6的"+"如果是右上的小+,則對應到{01, 0101, 010101, ...}∪{10}

Q7對應到{01, 0100, 010000,....}

寫得有點亂,希望對您有幫助。

Richard Peng 提到...

感謝您細心解答,
我了解了
彭彭留