形式言語 と オートマトン

Preview:

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

形式言語 と オートマトン

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

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

0

形式言語とオートマトン

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

FSA )の

5 字組による表示

1

形式言語とオートマトン

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

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

2

形式言語とオートマトン

有限オートマトンの例

},,{ tsrQ },{ baQQ :

rbttat

rbstas

rbrsar

),(,),(

,),(,),(

,),(,),(

rq 0}{tF

r s

a

b

b

a

t

a

b

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

0

形式言語とオートマトン

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

FSA )

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

0

形式言語とオートマトン

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

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

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

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

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

3

形式言語とオートマトン

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

1. 文字列  M   =   abaa を入力

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

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

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

4

形式言語とオートマトン

様相( configuration)の変遷

|

),q()aa,q(

)aaa,q()aaaa,q(

nMM

n31

Mn321

Mn3210

),(),(*

3210 nM

n qaaaaq

5

形式言語とオートマトン

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

},,{ tsrQ },{ baQQ :

rbttat

rbstas

rbrsar

),(,),(

,),(,),(

,),(,),(

rq 0}{tF

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

),(),(),(

),(),(

sarbar

bbasabbar

MM

MM

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

6

形式言語とオートマトン

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

},,{ tsrQ },{ baQQ :

rbttat

rbstas

rbrsar

),(,),(

,),(,),(

,),(,),(

rq 0}{tF

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

受理状態 t で終了 → 受理

),(),(),(

),(),(

tataat

aaasaaaar

MM

MM

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種類

形式言語とオートマトン

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

を学ぶ

1

形式言語とオートマトン

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

( 前回までの授業 )

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

a

形式言語とオートマトン

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

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

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

a

a

3

形式言語とオートマトン

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

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

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

σ: Q ×Σ→ 2Q

4

形式言語とオートマトン

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

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

a

aa tsr

b

}{tF

rq 0

),(,),(

,),(},{),(

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

btat

bstas

rbrsrar

QQ 2:

5

形式言語とオートマトン

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

a

aatsr

b

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

6

形式言語とオートマトン

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

at

b

),(,),(

,),(},{),(

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

btat

bstas

rbrsrar

QQ 2:

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

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

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

r s

aa

7

形式言語とオートマトン

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

),(,),(

,),(},{),(

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

btat

bstas

rbrsrar

QQ 2:

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

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

a

aasr

b

t

8

形式言語とオートマトン

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

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

aasr

b

t

9

形式言語とオートマトン

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

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

aasr

b

tb

10

形式言語とオートマトン

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

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

aasr

b

ta

11

形式言語とオートマトン

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

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

aasr

b

ta

12

形式言語とオートマトン

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

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

aasr

b

taa

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

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

どちらに遷移しても良い

13

形式言語とオートマトン

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

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

a

aasr

b

t

形式言語とオートマトン

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

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

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

ba,

aasr t

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

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

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

tasaarbaar

saraarbaar

raraarbaar

MMM

MMM

MMM

14

形式言語とオートマトン

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

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

aasr

b

t

15

形式言語とオートマトン

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

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

a

aasr

b

ta

16

形式言語とオートマトン

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

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

a

aasr

b

ta

17

形式言語とオートマトン

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

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

a

aasr

b

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

18

0

形式言語とオートマトン

お疲れさまでした。

小テストです。

Recommended