※ ChatGPTを利用し、要約された質問です(原文:正規表現とDFAについて)
正規表現とDFAについて
このQ&Aのポイント
正規表現とDFAについての疑問について解説します。
正規表現 1*((00)*+(11)*)について、受け入れる言語や解釈について詳しく説明します。
正規表現からの状態遷移図の作成やDFAへの変換についての問題点を解説します。
今回も正規表現のことについてなんですが@@;
いきなりなのですが正規表現 1*((00)*+(11)*)と同じ言語を受理する
状態数最小の決定性有限オートマトンを構成せよという問題なのですが
(1)まずこの正規表現が表しているのは初めに0個以上の1の列が続き
その後に偶数個の0または1の列が続く、偶数個の0または1の列の後には
1もしくは0の列はこない。というような解釈でいいのでしょうか?
(2)問題の解き方なのですが自分としてはまず非決定性有限オートマトン(NFA)
を作りそれを決定性有限オートマトンに変換して求めると思っているのですが
あっているのでしょうか?
(3) (2)の解き方をするとまず状態遷移図を書きたいのですがなかなかうまくいきません。やはり慣れなどがあるのでしょうか?正規表現を見ただけですぐに状態遷移図が考えつかなく@@;
それで自分なりにやってみたのですが状態遷移図は見にくいと思うので
状態遷移表みたいな感じで書きます。
初期状態はq0で最終状態はq3,q5にしています。
※NFAからDFAに変換するための状態遷移表ではないです。
状態の集合 | 0 | 1 |
------------------------------------------------
q0 空集合 [q0,q1]
q1 q2 q4
q2 q3 空集合
q3 q2 空集合
q4 空集合 q5
q5 空集合 q4
のような感じになったのですがなにか誤っているでしょうか?
なかなかイメージがつかめなくて;
なんか表示がヘンになるかもです。
長文、駄文ですみませんがよろしくお願いします<(__)>