0

これは、私の教科書「Introduction to theory of Computation」の例の例です。アルファベットを考えると∑ as{0,1}

{w|every 0 in w is followed by atleast one 1}} 

それの正規表現は(01+)*. 1+、1の単一のインスタンスのみを意味するものとして示されています。今、私が理解しているのは、文字列または1つの文字列がある場合の(01+)*ような文字列を意味するということです。これらの文字列は、指定された基準を満たします。しかし、正規表現はそれらを生成しません。0101010101010101....11111101 or 011111111(01+)*

Secondly for `{w|w starts and ends with same symbol}` the expression is given as `0∑*0 U 1∑*1 U 0 U 1.`

私が学んだ限り、2つのものの結合は最初のもの、または2番目のものまたは両方を意味します。文字列 011100∑*0と別の文字列を10001 1∑*1取得し、これら 2 つ0111010001のユニオンを取得すると、ユニオン文字列のDOESNOT開始と終了は同じ記号になります。両方を組み合わせることができないということですか、それとも式が正しくないということですか?

4

1 に答える 1

1

1+「1つ以上の1」を意味します。したがって、1、11、111などを生成します。したがって、正規表現(01+)*は実際には、「すべての0の後に1つ以上の1が続き、文字列の最初の記号が1ではない」文字列を生成します。

{w|every 0 in w is followed by atleast one 1}正規表現を取得する方法は少し異なります。それはそのようになります1*(01+)*

2番目の質問では、あなたが取ったのは連結です。01110連結されているの100010111010001です。2つのセットの和集合は、両方のセットのすべての要素を含むセットです。

于 2013-03-09T04:53:38.537 に答える