オートマトンと言語 - 山梨大学ysuzuki/public/automaton/...4.2.1 有限オートマトン...
TRANSCRIPT
![Page 1: オートマトンと言語 - 山梨大学ysuzuki/public/automaton/...4.2.1 有限オートマトン 状態遷移関数 δ(q,x)で遷移を記述 FAの停止と受理およびエラー状態](https://reader033.vdocuments.net/reader033/viewer/2022041709/5e46d79f14bd165ccc5d9b8a/html5/thumbnails/1.jpg)
オートマトンと言語 7回目6月2日 有限オートマトンと正規表現
教科書88ページから104ページ
![Page 2: オートマトンと言語 - 山梨大学ysuzuki/public/automaton/...4.2.1 有限オートマトン 状態遷移関数 δ(q,x)で遷移を記述 FAの停止と受理およびエラー状態](https://reader033.vdocuments.net/reader033/viewer/2022041709/5e46d79f14bd165ccc5d9b8a/html5/thumbnails/2.jpg)
先週の小テスト1 例題3.54の答えMWGC-
GC-MW- WC-MG- WG-MC-
WC-M-G
C-MW-G W-MC-G
C-MG-W C-M-GW W-M-GCW-MG-C
G-MC-W GC-M-W W-M-CG
G-M-WC G-MW-C-GM-WC
-GMWC
W-MC-G
![Page 3: オートマトンと言語 - 山梨大学ysuzuki/public/automaton/...4.2.1 有限オートマトン 状態遷移関数 δ(q,x)で遷移を記述 FAの停止と受理およびエラー状態](https://reader033.vdocuments.net/reader033/viewer/2022041709/5e46d79f14bd165ccc5d9b8a/html5/thumbnails/3.jpg)
先週の小テスト2 例題4.1の答え1
T-フリップフロップ
1
1
0 0
0 1
![Page 4: オートマトンと言語 - 山梨大学ysuzuki/public/automaton/...4.2.1 有限オートマトン 状態遷移関数 δ(q,x)で遷移を記述 FAの停止と受理およびエラー状態](https://reader033.vdocuments.net/reader033/viewer/2022041709/5e46d79f14bd165ccc5d9b8a/html5/thumbnails/4.jpg)
先週の小テスト2 例題4.1の答え2
JK-フリップフロップ
(01),(11)
(10),(11)
(00),(10)
(00),(01)
0 1
![Page 5: オートマトンと言語 - 山梨大学ysuzuki/public/automaton/...4.2.1 有限オートマトン 状態遷移関数 δ(q,x)で遷移を記述 FAの停止と受理およびエラー状態](https://reader033.vdocuments.net/reader033/viewer/2022041709/5e46d79f14bd165ccc5d9b8a/html5/thumbnails/5.jpg)
先週の小テスト3 例題4.3b 答え1 aababaabba
q0-q1-q2-q1-q2-q1-q2-q0-q2-q1-q2xyzyzyzyzy
2 bbaabbaaq0-q2-q1-q2-q0-q2-q1-q2-q0yzyzyzyz
3 abaaabbabq0-q1-q0-q1-q2-q0-q2-q1-q2-q1xxxyzyzyy
4 bababbabbq0-q2-q0-q2-q0-q2-q1-q2-q1-q0yzyzyzyzx
![Page 6: オートマトンと言語 - 山梨大学ysuzuki/public/automaton/...4.2.1 有限オートマトン 状態遷移関数 δ(q,x)で遷移を記述 FAの停止と受理およびエラー状態](https://reader033.vdocuments.net/reader033/viewer/2022041709/5e46d79f14bd165ccc5d9b8a/html5/thumbnails/6.jpg)
先週の小テスト4 例題4.4b 答え
0 01 11
0/0
1/1
0/0
1/1
0/0
1/0
![Page 7: オートマトンと言語 - 山梨大学ysuzuki/public/automaton/...4.2.1 有限オートマトン 状態遷移関数 δ(q,x)で遷移を記述 FAの停止と受理およびエラー状態](https://reader033.vdocuments.net/reader033/viewer/2022041709/5e46d79f14bd165ccc5d9b8a/html5/thumbnails/7.jpg)
4.2 有限オートマトン
有限オートマトン
有限オートマトンと言語の認識
![Page 8: オートマトンと言語 - 山梨大学ysuzuki/public/automaton/...4.2.1 有限オートマトン 状態遷移関数 δ(q,x)で遷移を記述 FAの停止と受理およびエラー状態](https://reader033.vdocuments.net/reader033/viewer/2022041709/5e46d79f14bd165ccc5d9b8a/html5/thumbnails/8.jpg)
有限オートマトン(FA)のモデル入力テープ
z + 2-y /w *
読み取りヘッド
有限状態部
受理状態(最終状態)非受理状態
![Page 9: オートマトンと言語 - 山梨大学ysuzuki/public/automaton/...4.2.1 有限オートマトン 状態遷移関数 δ(q,x)で遷移を記述 FAの停止と受理およびエラー状態](https://reader033.vdocuments.net/reader033/viewer/2022041709/5e46d79f14bd165ccc5d9b8a/html5/thumbnails/9.jpg)
受理する,受理しない
入力文字列が終わったとき
状態が受理状態なら 入力語を受理する
状態が非受理状態なら 入力語を受理しない
![Page 10: オートマトンと言語 - 山梨大学ysuzuki/public/automaton/...4.2.1 有限オートマトン 状態遷移関数 δ(q,x)で遷移を記述 FAの停止と受理およびエラー状態](https://reader033.vdocuments.net/reader033/viewer/2022041709/5e46d79f14bd165ccc5d9b8a/html5/thumbnails/10.jpg)
有限オートマトンの定義
内部状態の有限集合 Q入力アルファベット Σ
状態遷移関数 δ:QxΣ→Q初期状態 S∈Q最終状態 F⊂Q
![Page 11: オートマトンと言語 - 山梨大学ysuzuki/public/automaton/...4.2.1 有限オートマトン 状態遷移関数 δ(q,x)で遷移を記述 FAの停止と受理およびエラー状態](https://reader033.vdocuments.net/reader033/viewer/2022041709/5e46d79f14bd165ccc5d9b8a/html5/thumbnails/11.jpg)
4.2.1 有限オートマトン状態遷移関数δ(q,x)で遷移を記述
FAの停止と受理およびエラー状態最後の文字を読み込んで停止した時の状態が最終状態ならその語は受理される
入力記号以外の文字を読み込んだり状態遷移関数で未定義の組み合わせの場合:エラー状態になる
状態遷移図状態を節点に対応させ,状態遷移を有向辺に対応させたグラフ
受理言語有限オートマトンMの受理するすべての語の集合をMの受理する語といい,L(M)で表す
![Page 12: オートマトンと言語 - 山梨大学ysuzuki/public/automaton/...4.2.1 有限オートマトン 状態遷移関数 δ(q,x)で遷移を記述 FAの停止と受理およびエラー状態](https://reader033.vdocuments.net/reader033/viewer/2022041709/5e46d79f14bd165ccc5d9b8a/html5/thumbnails/12.jpg)
例題4.7 a
ε
b
a
a
S1 S2 S3
b
![Page 13: オートマトンと言語 - 山梨大学ysuzuki/public/automaton/...4.2.1 有限オートマトン 状態遷移関数 δ(q,x)で遷移を記述 FAの停止と受理およびエラー状態](https://reader033.vdocuments.net/reader033/viewer/2022041709/5e46d79f14bd165ccc5d9b8a/html5/thumbnails/13.jpg)
例題4.7 a 答え
εbaεbbaaab+a+
ε
b
a
a
S1 S2 S3
b
![Page 14: オートマトンと言語 - 山梨大学ysuzuki/public/automaton/...4.2.1 有限オートマトン 状態遷移関数 δ(q,x)で遷移を記述 FAの停止と受理およびエラー状態](https://reader033.vdocuments.net/reader033/viewer/2022041709/5e46d79f14bd165ccc5d9b8a/html5/thumbnails/14.jpg)
例題4.7 b
a,b
ε b
q0 q1 q2
a
![Page 15: オートマトンと言語 - 山梨大学ysuzuki/public/automaton/...4.2.1 有限オートマトン 状態遷移関数 δ(q,x)で遷移を記述 FAの停止と受理およびエラー状態](https://reader033.vdocuments.net/reader033/viewer/2022041709/5e46d79f14bd165ccc5d9b8a/html5/thumbnails/15.jpg)
例題4.7 b 答え
εabεabbabab{a,b}*
a,b
ε b
q0 q1 q2
a
![Page 16: オートマトンと言語 - 山梨大学ysuzuki/public/automaton/...4.2.1 有限オートマトン 状態遷移関数 δ(q,x)で遷移を記述 FAの停止と受理およびエラー状態](https://reader033.vdocuments.net/reader033/viewer/2022041709/5e46d79f14bd165ccc5d9b8a/html5/thumbnails/16.jpg)
小テスト1 例題4.7 c,d
![Page 17: オートマトンと言語 - 山梨大学ysuzuki/public/automaton/...4.2.1 有限オートマトン 状態遷移関数 δ(q,x)で遷移を記述 FAの停止と受理およびエラー状態](https://reader033.vdocuments.net/reader033/viewer/2022041709/5e46d79f14bd165ccc5d9b8a/html5/thumbnails/17.jpg)
小テスト1 例題4.7 c 答え
ε100ε110101*00*(11*0)*0* -> 1*0+(1+0)*0*
![Page 18: オートマトンと言語 - 山梨大学ysuzuki/public/automaton/...4.2.1 有限オートマトン 状態遷移関数 δ(q,x)で遷移を記述 FAの停止と受理およびエラー状態](https://reader033.vdocuments.net/reader033/viewer/2022041709/5e46d79f14bd165ccc5d9b8a/html5/thumbnails/18.jpg)
小テスト1 例題4.7 d 答え
ε011ε1{(01)*,(10)*}1
![Page 19: オートマトンと言語 - 山梨大学ysuzuki/public/automaton/...4.2.1 有限オートマトン 状態遷移関数 δ(q,x)で遷移を記述 FAの停止と受理およびエラー状態](https://reader033.vdocuments.net/reader033/viewer/2022041709/5e46d79f14bd165ccc5d9b8a/html5/thumbnails/19.jpg)
有限オートマトンと言語の認識
ある言語Lに対して,あるオートマトンがLに属するすべての語を受理し,かつ,Lに属さないすべての語を受理しないとき,
そのオートマトンは言語Lを受理するという.
![Page 20: オートマトンと言語 - 山梨大学ysuzuki/public/automaton/...4.2.1 有限オートマトン 状態遷移関数 δ(q,x)で遷移を記述 FAの停止と受理およびエラー状態](https://reader033.vdocuments.net/reader033/viewer/2022041709/5e46d79f14bd165ccc5d9b8a/html5/thumbnails/20.jpg)
例題4.10 a
ε
0
1
0
q0 q1
1
![Page 21: オートマトンと言語 - 山梨大学ysuzuki/public/automaton/...4.2.1 有限オートマトン 状態遷移関数 δ(q,x)で遷移を記述 FAの停止と受理およびエラー状態](https://reader033.vdocuments.net/reader033/viewer/2022041709/5e46d79f14bd165ccc5d9b8a/html5/thumbnails/21.jpg)
例題4.10 a-1 答え
Q={q0,q1}, Σ={0,1}, S=q0, F={q1}
q0q1q1
q1q0q0
10δ
![Page 22: オートマトンと言語 - 山梨大学ysuzuki/public/automaton/...4.2.1 有限オートマトン 状態遷移関数 δ(q,x)で遷移を記述 FAの停止と受理およびエラー状態](https://reader033.vdocuments.net/reader033/viewer/2022041709/5e46d79f14bd165ccc5d9b8a/html5/thumbnails/22.jpg)
例題4.10 a-2,3,4 答え
w1のとき, 0 0 1 0 1 1q0→q0→q0→q1→q1→q0→q1
w2のとき, 1 0 1 1 0 1 1 1 0q0→q1→q1→q0→q1→q1→q0→q1→q0→q0
w1は受理される w2は受理されない
1を奇数個含む語からなる言語
![Page 23: オートマトンと言語 - 山梨大学ysuzuki/public/automaton/...4.2.1 有限オートマトン 状態遷移関数 δ(q,x)で遷移を記述 FAの停止と受理およびエラー状態](https://reader033.vdocuments.net/reader033/viewer/2022041709/5e46d79f14bd165ccc5d9b8a/html5/thumbnails/23.jpg)
小テスト2 例題4.10 b
ε
0
1
0
q0 q1
1
![Page 24: オートマトンと言語 - 山梨大学ysuzuki/public/automaton/...4.2.1 有限オートマトン 状態遷移関数 δ(q,x)で遷移を記述 FAの停止と受理およびエラー状態](https://reader033.vdocuments.net/reader033/viewer/2022041709/5e46d79f14bd165ccc5d9b8a/html5/thumbnails/24.jpg)
小テスト2 例題4.10 b-1 答え
Q={q0,q1}, Σ={0,1}, S=q0, F={q0}
q0q1q1
q1q0q0
10δ
![Page 25: オートマトンと言語 - 山梨大学ysuzuki/public/automaton/...4.2.1 有限オートマトン 状態遷移関数 δ(q,x)で遷移を記述 FAの停止と受理およびエラー状態](https://reader033.vdocuments.net/reader033/viewer/2022041709/5e46d79f14bd165ccc5d9b8a/html5/thumbnails/25.jpg)
小テスト2例題4.10 b-2,3,4 答え
w1のとき, 0 0 1 0 1 1q0→q0→q0→q1→q1→q0→q1
w2のとき, 1 0 1 1 0 1 1 1 0q0→q1→q1→q0→q1→q1→q0→q1→q0→q0
w1は受理されない w2は受理される
1を偶数個含む語からなる言語
![Page 26: オートマトンと言語 - 山梨大学ysuzuki/public/automaton/...4.2.1 有限オートマトン 状態遷移関数 δ(q,x)で遷移を記述 FAの停止と受理およびエラー状態](https://reader033.vdocuments.net/reader033/viewer/2022041709/5e46d79f14bd165ccc5d9b8a/html5/thumbnails/26.jpg)
正規表現
正規表現の定義と性質
正規表現の定義
正規表現の性質
有限オートマトンの受理する言語の正規表現
![Page 27: オートマトンと言語 - 山梨大学ysuzuki/public/automaton/...4.2.1 有限オートマトン 状態遷移関数 δ(q,x)で遷移を記述 FAの停止と受理およびエラー状態](https://reader033.vdocuments.net/reader033/viewer/2022041709/5e46d79f14bd165ccc5d9b8a/html5/thumbnails/27.jpg)
正規表現の定義
①φは正規表現である L(φ)=空言語εは正規表現である L(ε)={ε}A∈Σならば,aは正規表現である. L(a)={a}②r,sが正規表現ならば L(r)=R, L(s)=Sとすると和 (r+s)は正規表現である. L((r+s))=R∪S:言語の和積 (rs)は正規表現である. L((rs))=RS : 言語の積閉包 (r*)は正規表現である. L((r*))=R*:言語の閉包③以上の手続きによって得られるものだけが正規表現である
![Page 28: オートマトンと言語 - 山梨大学ysuzuki/public/automaton/...4.2.1 有限オートマトン 状態遷移関数 δ(q,x)で遷移を記述 FAの停止と受理およびエラー状態](https://reader033.vdocuments.net/reader033/viewer/2022041709/5e46d79f14bd165ccc5d9b8a/html5/thumbnails/28.jpg)
小テスト3 例題4.15 d e f k
![Page 29: オートマトンと言語 - 山梨大学ysuzuki/public/automaton/...4.2.1 有限オートマトン 状態遷移関数 δ(q,x)で遷移を記述 FAの停止と受理およびエラー状態](https://reader033.vdocuments.net/reader033/viewer/2022041709/5e46d79f14bd165ccc5d9b8a/html5/thumbnails/29.jpg)
小テスト3の答え例題4.15 d e f k
d : 0 または1を0回以上繰り返すe : 最初に0を0回以上繰り返し,次に1を0回以上繰り返す
f :最初に0を0回以上繰り返し,次に1を0回以上繰り返す文字列を0回以上繰り返すk : 最初に0 次に0か1か2を0回以上繰り返し最後に2
![Page 30: オートマトンと言語 - 山梨大学ysuzuki/public/automaton/...4.2.1 有限オートマトン 状態遷移関数 δ(q,x)で遷移を記述 FAの停止と受理およびエラー状態](https://reader033.vdocuments.net/reader033/viewer/2022041709/5e46d79f14bd165ccc5d9b8a/html5/thumbnails/30.jpg)
正規言語の性質 1
r,s,tを正規表現として交換律 r + s = s + r結合律 (r + s) + t = r + (s + t)
(rs)t = r(st)べき等律 r + r = r分配律左分配律 r(s + t) = rs + rt右分配律 (r + s) t = rt + st
![Page 31: オートマトンと言語 - 山梨大学ysuzuki/public/automaton/...4.2.1 有限オートマトン 状態遷移関数 δ(q,x)で遷移を記述 FAの停止と受理およびエラー状態](https://reader033.vdocuments.net/reader033/viewer/2022041709/5e46d79f14bd165ccc5d9b8a/html5/thumbnails/31.jpg)
正規言語の性質 2
単位元 r+φ=r rε=εr rφ=φr=φスター演算に関する性質φ*=εr*=(r*)*=(ε+r)*=ε+rr*=ε+r*r=r*r*(r+s)*=(r*s*)*=(r*s)*r*=r*(sr*)*=r*+r*s(r+s)*
=(r*s)*+(s*r)*(rs)*r=r(sr)* (rs+r)*r=r(sr+r)*(r*s)*=ε+(r+s)*s (rs*t)*=ε+r(s+tr)*t
![Page 32: オートマトンと言語 - 山梨大学ysuzuki/public/automaton/...4.2.1 有限オートマトン 状態遷移関数 δ(q,x)で遷移を記述 FAの停止と受理およびエラー状態](https://reader033.vdocuments.net/reader033/viewer/2022041709/5e46d79f14bd165ccc5d9b8a/html5/thumbnails/32.jpg)
正規言語の性質 3
stxtxsxstxxtsx
tLtsx
* *
)(
,,
=+=
=+=
∉
ならば
ならば
.つぎの性質が成立する
とすると
が正規表現のとき,
ε
![Page 33: オートマトンと言語 - 山梨大学ysuzuki/public/automaton/...4.2.1 有限オートマトン 状態遷移関数 δ(q,x)で遷移を記述 FAの停止と受理およびエラー状態](https://reader033.vdocuments.net/reader033/viewer/2022041709/5e46d79f14bd165ccc5d9b8a/html5/thumbnails/33.jpg)
小テスト4 例題4.20 a, b, c
x=0+x0x=00+11+x0+x1x=01+x0*1
![Page 34: オートマトンと言語 - 山梨大学ysuzuki/public/automaton/...4.2.1 有限オートマトン 状態遷移関数 δ(q,x)で遷移を記述 FAの停止と受理およびエラー状態](https://reader033.vdocuments.net/reader033/viewer/2022041709/5e46d79f14bd165ccc5d9b8a/html5/thumbnails/34.jpg)
小テスト4の答え例題4.20 a, b, c
a : x=00*b : x=(00+11)(0+1)*c : x=01(0*1)*
![Page 35: オートマトンと言語 - 山梨大学ysuzuki/public/automaton/...4.2.1 有限オートマトン 状態遷移関数 δ(q,x)で遷移を記述 FAの停止と受理およびエラー状態](https://reader033.vdocuments.net/reader033/viewer/2022041709/5e46d79f14bd165ccc5d9b8a/html5/thumbnails/35.jpg)
有限オートマトンの受理する言語の正規表現
![Page 36: オートマトンと言語 - 山梨大学ysuzuki/public/automaton/...4.2.1 有限オートマトン 状態遷移関数 δ(q,x)で遷移を記述 FAの停止と受理およびエラー状態](https://reader033.vdocuments.net/reader033/viewer/2022041709/5e46d79f14bd165ccc5d9b8a/html5/thumbnails/36.jpg)
例題4.22a
q2q0 q1
ε 0 1
正規表現:01
![Page 37: オートマトンと言語 - 山梨大学ysuzuki/public/automaton/...4.2.1 有限オートマトン 状態遷移関数 δ(q,x)で遷移を記述 FAの停止と受理およびエラー状態](https://reader033.vdocuments.net/reader033/viewer/2022041709/5e46d79f14bd165ccc5d9b8a/html5/thumbnails/37.jpg)
例題4.23 a
q0 q1
0,10
ε 1
正規表現:0*1(0+1)*
![Page 38: オートマトンと言語 - 山梨大学ysuzuki/public/automaton/...4.2.1 有限オートマトン 状態遷移関数 δ(q,x)で遷移を記述 FAの停止と受理およびエラー状態](https://reader033.vdocuments.net/reader033/viewer/2022041709/5e46d79f14bd165ccc5d9b8a/html5/thumbnails/38.jpg)
小テスト5 例題4.23 bc
![Page 39: オートマトンと言語 - 山梨大学ysuzuki/public/automaton/...4.2.1 有限オートマトン 状態遷移関数 δ(q,x)で遷移を記述 FAの停止と受理およびエラー状態](https://reader033.vdocuments.net/reader033/viewer/2022041709/5e46d79f14bd165ccc5d9b8a/html5/thumbnails/39.jpg)
小テスト5の答えb例題4.23 b
q0
q2
11
0
q0
0
1
ε
正規表現:00*11*+11* -> (00*1+1)1*
![Page 40: オートマトンと言語 - 山梨大学ysuzuki/public/automaton/...4.2.1 有限オートマトン 状態遷移関数 δ(q,x)で遷移を記述 FAの停止と受理およびエラー状態](https://reader033.vdocuments.net/reader033/viewer/2022041709/5e46d79f14bd165ccc5d9b8a/html5/thumbnails/40.jpg)
小テスト5の答えc例題4.23 c
q0 q1
00
1
ε 1
正規表現:(0*10*1)*0*10*
![Page 41: オートマトンと言語 - 山梨大学ysuzuki/public/automaton/...4.2.1 有限オートマトン 状態遷移関数 δ(q,x)で遷移を記述 FAの停止と受理およびエラー状態](https://reader033.vdocuments.net/reader033/viewer/2022041709/5e46d79f14bd165ccc5d9b8a/html5/thumbnails/41.jpg)
qiで受理される言語
DFAにおける任意の状態qiに対して,ある語の入力終了時にqiで停止するとき,qiはその語を受理したという.
qiで受理される語の集合をqiで受理される言語という
![Page 42: オートマトンと言語 - 山梨大学ysuzuki/public/automaton/...4.2.1 有限オートマトン 状態遷移関数 δ(q,x)で遷移を記述 FAの停止と受理およびエラー状態](https://reader033.vdocuments.net/reader033/viewer/2022041709/5e46d79f14bd165ccc5d9b8a/html5/thumbnails/42.jpg)
例題4.25
![Page 43: オートマトンと言語 - 山梨大学ysuzuki/public/automaton/...4.2.1 有限オートマトン 状態遷移関数 δ(q,x)で遷移を記述 FAの停止と受理およびエラー状態](https://reader033.vdocuments.net/reader033/viewer/2022041709/5e46d79f14bd165ccc5d9b8a/html5/thumbnails/43.jpg)
例題4.26 a
![Page 44: オートマトンと言語 - 山梨大学ysuzuki/public/automaton/...4.2.1 有限オートマトン 状態遷移関数 δ(q,x)で遷移を記述 FAの停止と受理およびエラー状態](https://reader033.vdocuments.net/reader033/viewer/2022041709/5e46d79f14bd165ccc5d9b8a/html5/thumbnails/44.jpg)
練習問題 例題4.27 a