形式言語 と オートマト 第7回 鳥取大学工学研究科 情報エレクトロニクス専攻 田中美栄子 本日の予定 形式言語とオートマト 形式言語とオートマト M 32 Q, , , , q0 , Z 0 , F Q {q0 , q1 , q2 , q3 , q4 , q f } {a, b, c} { A, Z 0 } : Q ( { }) の部分集合 2 (q0 , a, Z 0 ) {( q0 , AZ 0 )}, (q0 , a, A) {( q0 , AA)}, (q0 , b, A) {( q1 , ), (q3 , A)}, (q1 , b, A) {( q1 , )}, (q1 , c, Z 0 ) {( q2 , Z 0 )}, (q2 , c, Z 0 ) {( q2 , Z 0 )}, (q2 , , Z 0 ) {( q f , Z 0 )}, (q3 , b, A) {( q3 , A)}, Q* (q3 , c, A) {( q4 , )}, (q4 , c, A) {( q4 , )}, (q4 , , Z 0 ) {( q f , Z 0 )} F {q f } M 32 Q, , , , q0 , Z 0 , F 形式言語とオートマト M 32 Q, , , , q0 , Z 0 , F (q0 , a, Z 0 ) {( q0 , AZ0 )}, (q0 , a, A) {( q0 , AA)}, a,Z 0 /AZ 0 q0 a,A/AA 形式言語とオートマト qf M 32 Q, , , , q0 , Z 0 , F (q0 , b, A) {( q1 , ), (q3 , A)}, (q1 , b, A) {( q1 , )}, a,Z 0 /AZ 0 b,A/ε q0 q1 qf b,A/A a,A/AA 形式言語とオートマト q3 M 32 Q, , , , q0 , Z 0 , F (q1 , b, A) {( q1 , )}, (q1 , c, Z 0 ) {( q2 , Z 0 )}, b,A/ε a,Z 0 /AZ 0 b,A/ε q0 q1 形式言語とオートマト q2 qf b,A/A a,A/AA c,Z 0 /Z 0 q3 M 32 Q, , , , q0 , Z 0 , F (q2 , c, Z 0 ) {( q2 , Z 0 )}, (q2 , , Z 0 ) {( q f , Z 0 )} c,Z 0 /Z 0 b,A/ε a,Z 0 /AZ 0 b,A/ε q0 q1 形式言語とオートマト q2 , Z0 / Z0 qf b,A/A a,A/AA c,Z 0 /Z 0 q3 M 32 Q, , , , q0 , Z 0 , F (q3 , b, A) {( q3 , A)}, (q3 , c, A) {( q4 , )}, c,Z 0 /Z 0 b,A/ε a,Z 0 /AZ 0 b,A/ε q0 q1 c,Z 0 /Z 0 q2 qf b,A/A b,A/A a,A/AA 形式言語とオートマト q3 , Z0 / Z0 c,A/ε q4 M 32 Q, , , , q0 , Z 0 , F c,Z 0 /Z 0 b,A/ε a,Z 0 /AZ 0 b,A/ε q0 q1 b,A/A b,A/A a,A/AA 形式言語とオートマト q3 c,Z 0 /Z 0 q2 c,A/ε c,A/ε , Z0 / Z0 , Z0 / Z0 𝑞4 qf M 32 Q, , , , q0 , Z 0 , F 𝑎𝑎𝑎𝑏𝑏𝑏𝑐𝑐 $ c,Z 0 /Z 0 b,A/ε a,Z 0 /AZ 0 b,A/ε q0 q1 b,A/A b,A/A a,A/AA 形式言語とオートマト q3 c,Z 0 /Z 0 q2 c,A/ε c,A/ε , Z0 / Z0 , Z0 / Z0 𝑞4 A A A Z0 qf M 32 Q, , , , q0 , Z 0 , F 𝑎𝑎𝑎𝑏𝑏𝑐𝑐𝑐 $ c,Z 0 /Z 0 b,A/ε a,Z 0 /AZ 0 b,A/ε q0 q1 b,A/A b,A/A a,A/AA 形式言語とオートマト q3 c,Z 0 /Z 0 q2 c,A/ε c,A/ε , Z0 / Z0 , Z0 / Z0 q 24 𝑞 A A A Z0 qf DPDAとNPDAの非同等性 有限オートマトンの場合,DFAとNFAは同等であ り,つまり,言語の識別能力は差がなかった しかし,PDAにおいては,NPDAとNPDAには 真に識別能力の差がある 例3.3と3.4 形式言語とオートマト M 33の状態遷移図 DPDA 𝟎𝟎𝟏𝟎𝟏#𝟏𝟎𝟏𝟎𝟎 $ 0, A / 1, B / 0, Z 0 / AZ 0 1, Z 0 / BZ 0 q0 0, A / AA 0, B / AB 1, A / BA 1, B / BB #, A / A #, B / B q1 , Z0 / Z0 q2 空 B A B A A Z0 M 33の状態遷移図 DPDA 𝟎𝟎𝟏𝟎𝟏#𝟏𝟎𝟏𝟎𝟎 $ 0, A / 1, B / 0, Z 0 / AZ 0 1, Z 0 / BZ 0 q0 #, A / A #, B / B q1 , Z0 / Z0 q2 記号#を見たときに状態を𝑞0 から𝑞1 に遷移する 0, A / AA 0, B / AB 1, A / BA 1, B / BB つまり,このDPDAは#がない言語を受理でき ない L( M 33 ) {w# w R | w {0,1} } M 34の状態遷移図 NPDA 𝟎𝟎𝟏𝟎𝟏𝟏𝟎𝟏𝟎𝟎 $ 0, A / 1, B / 0, Z 0 / AZ 0 1, Z 0 / BZ 0 q0 0, A / AA 0, B / AB 1, A / BA 1, B / BB 0, A / 1, B / q1 , Z0 / Z0 q2 (q0 ,0, A) {( q0 , AA), (q1 , )}, (q0 ,1, B) {( q0 , BB ), (q1 , )}, 空 B A B A A Z0 M 34の状態遷移図 NPDA 𝟎𝟎𝟏𝟎𝟏𝟏𝟎𝟏𝟎𝟎 $ 0, A / 1, B / 0, Z 0 / AZ 0 1, Z 0 / BZ 0 q0 0, A / AA 0, B / AB 1, A / BA 1, B / BB 0, A / 1, B / q1 , Z0 / Z0 q2 このNPDAは#がない言語を受理できる L( M 34 ) {wwR | w {0,1} } 非決定性PDAで判別できる入力 • 真ん中に#を入れない場合でも、 NPDAなら判別できる • これはDPDAにはない能力である 形式言語とオートマト 形式言語とオートマト オートマトンは計算機のモ デル オートマトン は 計算機のモデ ル 形式言語とオートマト オートマトン 易 FSA DFA + NFA PDA DPDA + NPDA LBA 難 TM 形式言語とオートマト 学んだこと オートマトン DF 5字組 + NFA 𝑴 =< 𝑸, 𝚺, 𝜹, 𝒒𝟎 , 𝑭 > DPDA + NPDA 7字組 𝑴 =< 𝑸, 𝚺, Г, 𝜹, 𝒒𝟎 , 𝒁𝟎 , 𝑭 > 同等性 NFAをDFAに書き換える 非同等 DPDA処理できない言語ある 試験 試験 ① 様相変化 ② 7字組 状態遷移図 ③ 受理状態の判定: 文字列+pd-スタック ① 様相変化 ② 5字組 状態遷移図 ③ NFAからDFAを構成: アルゴリズム 2.1/2.2 形式言語とオートマト 練習 問1:下図の様相を示してください … y b 有限制御部 状態 形式言語とオートマト q (𝑞, 𝑏𝑦) $ 練習 (𝑞, 𝑏𝑦, 𝑚𝛾𝑍0 ) 問2:下図の様相を示してください … y b $ 有限制御部 状態 q m 形式言語とオートマト Z0 問3:次の7字組で表されるDPDNに、入力aabbbbを読み込ませた 場合、様相変化を示せ。受理するか、受理しないかも示すこと M Q, , , , q0 , Z 0 , F Q {q0 , q1 , q2 } {a, b} { A, Z 0 } : Q ( { }) の部分集合 Q * (q0 , a, Z 0 ) (q0 , AAZ0 ), (q0 , a, A) (q0 , AAA), (q0 , b, A) (q1 , ), (q1 , b, A) (q1 , ), (q1 , , Z 0 ) (q2 , Z 0 ) F {q2 } 練習 問3のAnswer (q0 , aabbbb, Z 0 ) M (q0 , abbbb, AAZ0 ) M (q1 , bbb, AAAZ0 ) M (q1 , , Z 0 ) M (q1 , bb, AAZ0 ) M ( q2 , , Z 0 ) M (q0 , bbbb, AAAAZ0 ) M (q1 , b, AZ0 ) 受理する 𝑍0 を忘れずに,最後に𝜀を忘れずに!!! 形式言語とオートマト お疲れ様 小テストです 形式言語とオートマト
© Copyright 2024 ExpyDoc