- ベストアンサー
正則表現についての問題と解釈方法について
- オートマトンにおける正則表現について、同じ言語を探す問題の解釈方法や選択肢の見分け方について質問しています。
- 正則表現(0+1)*と同じ言語を表す問題の解答について混乱しています。選択肢(1)(1*+0*)(2)(1*+0)*(1+0)(3)(1+0*)(1*+0*)*1に対して、どのような解釈をすればよいのかわかりません。
- オートマトンにおける正則表現の解釈について質問しています。0から始まる列と1から始まる列、0で終わる列と1で終わる列の表現についても疑問を抱いています。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
まず確認ですが、「+」の意味は、 (0+1) であれば、1個の0、または、1個の1という意味でしたよね? (もう私の記憶は曖昧になっています。) そうであれば、 >(0+1)*は(0*1*)*に直せるので任意個の0から始まり任意個の1が続く列が >任意個並んでいるという解釈を自分ではしています。あっているかはわかりませんが@@;) というのは、任意個というのが「0個以上」という意味でしたら、正しいです。 つまり、開始は 0 でも 1 でも良いということです。 >それで他の選択肢もこのように直したりして見分けるのでしょうか? そのように考えても良いですし、 4つのオートマトンを状態遷移図にして、 ・(0+1)* の状態遷移図と (1)~(3)の状態遷移図を比較する。 ・(1)~(3)の状態遷移図に (0+1)* を入力してうまく遷移するかチェックする。 などという方法もあるのではないでしょうか。 >後やはり0からはじまる列と1から始まる列や、 >0で終わる列と1で終わる列では表すものはちがいますよね? その通りです。
その他の回答 (1)
- irija_bari
- ベストアンサー率73% (70/95)
ANo.1 です。補足です。 >なかなかイメージがわかないのですがどうにかやってみると3つとも >同じ言語を表していないようですね@@; 1 つだけそれっぽいのがあるように思います。 まず、 >(0+1)*は(0*1*)*に直せるので任意個の0から始まり任意個の1が続く列が >任意個並んでいるという解釈を自分ではしています。あっているかはわかりませんが@@;) のような考え方で選択肢を解釈すると、明らかに 2 つは除外できます。 あとは、状態遷移図などを使って残りの 1 つと (0+1)* が一致するか確認してみてはいかがでしょうか。 同じ言語を表す異なる(正則表現での)記述を状態遷移図に書き直しても、なかなか一致させるのは難しいです。 (慣れないうちはなおさらだと思います。) ある程度、あたりをつけてから状態遷移図などでチェックしていくと良いかもしれません。
お礼
回答ありがとうございます。 返信おくれました@@; ん~状態遷移図ってなかなかイメージわきにくいんですよね~;; また質問させて頂くかもしれませんがそのときはまた よろしくお願いします<(_ _)>
お礼
返信おくれてすみません。 なかなかイメージがわかないのですがどうにかやってみると3つとも 同じ言語を表していないようですね@@; 状態遷移図の書き方がいまいちよくわからないので もう少し勉強してきます! 回答ありがとうございました。