31
形形形形 形形形形形形 形 3-2 形 形形形形形形形形形 形形形形形形形形形形形形 形形形形形

形式言語 と オートマトン

  • Upload
    olaf

  • View
    44

  • Download
    0

Embed Size (px)

DESCRIPTION

形式言語 と オートマトン. 第 3-2 回 鳥取大学工学研究科 情報エレクトロニクス 専攻 田中美栄子. 0. 有限オートマトン ( Finite State Automata : FSA ) の 5 字組 による表示. 形式言語とオートマトン. 1. 有限オートマトン ( Finite State Automata : FSA ). FSA : M = < Q, Σ , d, q, F>  の5字組 ・ Q : 状態の集合 ・ Σ : 使用するアルファベット ・ d : 動作関数 ・ q : 初期状態 - PowerPoint PPT Presentation

Citation preview

Page 1: 形式言語  と オートマトン

形式言語 と オートマトン

第 3-2 回鳥取大学工学研究科

情報エレクトロニクス専攻田中美栄子

Page 2: 形式言語  と オートマトン

0

形式言語とオートマトン

有限オートマトン( Finite State Automata :

FSA )の

5 字組による表示

Page 3: 形式言語  と オートマトン

1

形式言語とオートマトン

有限オートマトン( Finite State Automata : FSA )

FSA : M = <Q, Σ, d,   q,   F>  の5字組 ・ Q : 状態の集合 ・ Σ : 使用するアルファベット ・ d : 動作関数 ・ q :初期状態 ・ F : 受理状態の集合

Page 4: 形式言語  と オートマトン

2

形式言語とオートマトン

有限オートマトンの例

},,{ tsrQ },{ baQQ :

rbttat

rbstas

rbrsar

),(,),(

,),(,),(

,),(,),(

rq 0}{tF

r s

a

b

b

a

t

a

b

M = <Q, Σ, d,   q,  F>

Page 5: 形式言語  と オートマトン

0

形式言語とオートマトン

有限オートマトン( Finite State Automata :

FSA )

の変遷を様相を使って見る様相 (configuration)= 時点表示

Page 6: 形式言語  と オートマトン

0

形式言語とオートマトン

様相でオートマトンの変遷を追う

様相の定義 =( オートマトンの状態,未読の入力)

オートマトンの動作に従い、状態が変化する                未読入力が減ってゆく

- >> 最後に (終状態 ,  空列)となったら受理、

               そうでなければ受理しない

Page 7: 形式言語  と オートマトン

3

形式言語とオートマトン

入力 abba が受理されるかどうかを様相 (configuration) を使って調べる

1. 文字列  M   =   abaa を入力

2. これを1文字ずつ読んで行く

3. 読み終わったら$が入力される( ε は空列)

4. その状態で受理状態のどこかにいれば M は受理される

Page 8: 形式言語  と オートマトン

4

形式言語とオートマトン

様相( configuration)の変遷

|

),q()aa,q(

)aaa,q()aaaa,q(

nMM

n31

Mn321

Mn3210

),(),(*

3210 nM

n qaaaaq

Page 9: 形式言語  と オートマトン

5

形式言語とオートマトン

“ 有限オートマトンの例”で示したオートマトン M にabaaを入力してみる

},,{ tsrQ },{ baQQ :

rbttat

rbstas

rbrsar

),(,),(

,),(,),(

,),(,),(

rq 0}{tF

M = <Q, Σ, d,   q,  F>

),(),(),(

),(),(

sarbar

bbasabbar

MM

MM

受理状態でない s で終了 → 拒否

Page 10: 形式言語  と オートマトン

6

形式言語とオートマトン

“ 有限オートマトンの例”で示したオートマトン M にaaaaを入力してみる

},,{ tsrQ },{ baQQ :

rbttat

rbstas

rbrsar

),(,),(

,),(,),(

,),(,),(

rq 0}{tF

M = <Q, Σ, d,   q,  F>

受理状態 t で終了 → 受理

),(),(),(

),(),(

tataat

aaasaaaar

MM

MM

Page 11: 形式言語  と オートマトン

7

形式言語とオートマトン

非決定性 FAの様相 (= 時点表示 )

a

aasr

b

t

?)b,s()ab,r(

)ε,r()b,r()ab,r()aab,r(

MM

MMM

受理状態でないrで入力が尽きるか、状態sで b を読めない、のどちらにしても aabは受理されない

状態 rで a を入力すると遷移は2種類

Page 12: 形式言語  と オートマトン

形式言語とオートマトン

非決定性有限状態オートマトン

を学ぶ

Page 13: 形式言語  と オートマトン

1

形式言語とオートマトン

非決定性有限オートマトンとは !?

( 前回までの授業 )

  決定性有限オートマトン すべての状態ですべての入力に対して、遷移先が唯一

a

Page 14: 形式言語  と オートマトン

形式言語とオートマトン

非決定性有限オートマトンとは !?

一つの入力に対し、遷移先が唯一でない

  非決定性有限オートマトン 

a

a

Page 15: 形式言語  と オートマトン

3

形式言語とオートマトン

非決定性有限オートマトンとは !?

決定性有限オートマトンと同様に五字組みで表す但し、動作関数 σ は以下のように表す

非決定性有限オートマトン 

σ: Q ×Σ→ 2Q

Page 16: 形式言語  と オートマトン

4

形式言語とオートマトン

非決定性有限オートマトンとは !?

以下のオートマトンを五字組みで表すと・・・

a

aa tsr

b

Page 17: 形式言語  と オートマトン

}{tF

rq 0

),(,),(

,),(},{),(

},{),(},,{),(

btat

bstas

rbrsrar

QQ 2:

5

形式言語とオートマトン

非決定性有限オートマトンとは !?

a

aatsr

b

},,{ tsrQ },{ ba 違いは状態遷移だけ

Page 18: 形式言語  と オートマトン

6

形式言語とオートマトン

非決定性有限オートマトンとは !?

at

b

),(,),(

,),(},{),(

},{),(},,{),(

btat

bstas

rbrsrar

QQ 2:

動作関数の読み方は・・・

状態が r で入力記号がa である時は、

          r とs どちらに遷移しても良い

r s

aa

Page 19: 形式言語  と オートマトン

7

形式言語とオートマトン

非決定性有限オートマトンとは !?

),(,),(

,),(},{),(

},{),(},,{),(

btat

bstas

rbrsrar

QQ 2:

動作関数の読み方は・・・

状態が t で入力記号が aである時は、      遷移先がないという事

a

aasr

b

t

Page 20: 形式言語  と オートマトン

8

形式言語とオートマトン

非決定性有限オートマトンとは !?

この非決定性 FSAにbaa を入力するa

aasr

b

t

Page 21: 形式言語  と オートマトン

9

形式言語とオートマトン

非決定性有限オートマトンとは !?

この非決定性 FSAにb aa を入力するa

aasr

b

tb

Page 22: 形式言語  と オートマトン

10

形式言語とオートマトン

非決定性有限オートマトンとは !?

この非決定性 FSAにbaa を入力するa

aasr

b

ta

Page 23: 形式言語  と オートマトン

11

形式言語とオートマトン

非決定性有限オートマトンとは !?

この非決定性 FSAにbaa を入力するa

aasr

b

ta

Page 24: 形式言語  と オートマトン

12

形式言語とオートマトン

非決定性有限オートマトンとは !?

この非決定性 FSAにbaa を入力するa

aasr

b

taa

状態 rの時、aが入力されると2種の遷移がある

状態 rの時、aが入力されると2種の遷移がある

どちらに遷移しても良い

Page 25: 形式言語  と オートマトン

13

形式言語とオートマトン

非決定性有限オートマトンとは !?

baaを入力すると、三種類の遷移がある。

a

aasr

b

t

Page 26: 形式言語  と オートマトン

形式言語とオートマトン

非決定性有限オートマトンとは !?

baaを入力すると、三種類の遷移がある。

受理状態である t で遷移が終わっているので、 baaは受理される

ba,

aasr t

),(),(),(),(

),(),(),(),(

),(),(),(),(

tasaarbaar

saraarbaar

raraarbaar

MMM

MMM

MMM

14

Page 27: 形式言語  と オートマトン

形式言語とオートマトン

非決定性有限オートマトンとは !?

この非決定性 FSAにaab を入力するa

aasr

b

t

15

Page 28: 形式言語  と オートマトン

形式言語とオートマトン

非決定性有限オートマトンとは !?

この非決定性 FSAにaab を入力する

a

aasr

b

ta

16

Page 29: 形式言語  と オートマトン

形式言語とオートマトン

非決定性有限オートマトンとは !?

この非決定性 FSAにaab を入力する

a

aasr

b

ta

17

Page 30: 形式言語  と オートマトン

形式言語とオートマトン

非決定性有限オートマトンとは !?

この非決定性 FSAにaab を入力する

a

aasr

b

tb入力 bで遷移できるのは最終的にこの遷移のみ

18

Page 31: 形式言語  と オートマトン

0

形式言語とオートマトン

お疲れさまでした。

小テストです。