2017-01-30 8 views
1

正規表現 - クリーネ閉包

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

の違いは何私が欠けている特定の分配特性がありますか?

+0

よく、私は星にプラス記号が付いているかどうか分かりません。 –

+1

'(0 + 1)*'は任意の数の '0'または '1'を意味します。 '(0 * + 1 *)'は、任意の数の「0」または任意の数の「1」を意味します。例えば。 '1111'と' 00000'は両方の式で一致し、 '00011'と' 10100'は最初の式になります。 '+ 'はこの文脈では「or」を意味します、そうですか? – Xufox

+0

ええ、私はあなたが正しいと思います – SUser

答えて

0

+seems to mean “or”である。

多くの教科書では、垂直バーの代わりに∪、+、または∨の記号を使用しています。

*(クレーンスター)は、「何度も何度も繰り返す」ことを意味する。

  • (0+1)*0 Sまたは1の任意の数を意味します。

  • (0*+1*)は、任意の数の0または任意の数1を意味します。

など。 111100000は、どちらも式0001110100で一致します。ここ


(0+1)*ためのFSM(状態P )と(0*+1*)ため(Q に状態qを)は次のとおりで作ら

p0 is an accepting state (the only state in this FSM), with a 0,1-transition looping back into itself. q0 is an accepting state, there are a 0-transition to q1 and a 1-transition to q2 (both accepting). They loop with a 0-transition from q1 to itself and a 1-transition from q2 to itself. Any other transition leads to the last, non-accepting state q3, including any transition from q3 itself.

FSMダイアグラムFinite State Machine Designer by Evan Wallace