• 検索結果がありません。

2 有限オ トマトン (1) 2. 有限オートマトン (1) :

N/A
N/A
Protected

Academic year: 2021

シェア "2 有限オ トマトン (1) 2. 有限オートマトン (1) :"

Copied!
18
0
0

読み込み中.... (全文を見る)

全文

(1)

2 有限オ トマトン (1) 2. 有限オートマトン (1) :

( テキスト 2.1~2.3.4)

( )

2.1. 直感的説明

• 有限オートマトン (DFA; Deterministic Finite

Automata) とは「状態を持つ機械」のモデル

– 例:船による運搬問題

川の左岸に狼

(W)

、羊

(G)

、キャベツ

(C)

を持った運搬人

(M)

が いる

いる。

• M

がいないと、

W

G

を、

G

C

を食べてしまう。

船には船には

M M

以外には高々以外には高々

1 1

つしか乗せられない。つしか乗せられない。

川の右岸に運搬する方法を求めよ。

(2)

2.1. 直感的説明

• DFA =「状態を持つ機械」

– 船による運搬問題

• 状態 : 左岸にいるものの集合

• 入力 : 船で人間が運ぶもの

– 初期状態は

{M,C,G,W},

受理状態は

{Φ}

2/18

(3)

2.1. 直感的説明

• 船による運搬問題の状態遷移図

C,G,W

初期

状態

× , ,

G,W Φ

C

状態

× ,

C, W

M,C,G,W G ×

, C,G

W × × ,

(4)

2.1. 直感的説明

• 船による運搬問題の状態遷移図

M,C,G,W

G G

C, W Φ

M,C,W

, , ,

4/18

(5)

2.1. 直感的説明

• 船による運搬問題の状態遷移図

M,C,G,W G G

C W C, W

Φ Φ

M,C,W

C W

W C C

C

G

G G G

W W

M,W,G M,G,C

G C

C W

W

Φ Φ

M,G G

G 受理

G 受理

状態

(6)

2.1. 直感的説明

• 船による運搬問題の状態遷移図

M,C,G,W G G

C W C, W

Φ Φ

M,C,W

C W

W C C

C G

G G G

W W

M,W,G M,G,C

G C

C W

W

Φ Φ

M,G G

6/18

G Φ G

(7)

2.1. 直感的説明

• 船による運搬問題の状態遷移図

M,C,G,W G G

C W

• 「解」は「初期状態」から「受理状 態」へたどりつく任意の路

C, W Φ Φ

M,C,W

C W

態」 り く任意 路

• 無限に解がある

W C C

C

G

G G G

W

W

• 以下の二つを理論的に保証で きる ( 手数=船に乗る回数 )

M,W,G M,G,C

G C

C W

W

きる ( 手数=船に乗る回数 ) 1. 手数が 7 の解が存在する 2. 手数が 7 未満の解は存在し

Φ Φ

M,G

G

ない

G G

(8)

2.2. 決定性有限オートマトンの形式的定義

• 決定性有限オートマトン (DFA) の定義

1. 状態 (state) の有限集合 Q

2. 入力記号 (input symbols) の有限集合 Σ 3. 遷移関数 (transition function)δ

入力は

(

状態

,

入力記号

)

のペア;今の状態と、それへの入力

出力は状態;次の状態

4. 開始状態 q (q ∈ Q)

受 状態 ま 終状態

5. 受理状態 ( または最終状態 )F (F ⊆ Q)

– DFA A は A=(Q,Σ,δ,q,F) の 5 つ組で表現される。

8/18

(9)

2.2. 決定性有限オートマトンの形式的定義

例:「 0,1 からなる文字列で、文字列 10 を含む」文字列 q

0

q

1

0 1 1

0 0,1

q

2

q0: 0が最初に続く q1: 1を読み込んだ状態 q2: 10を読み込んだ状態

– 上記の言語を受理する DFA A=(Q,Σ,δ,q

0

,F) は次の通り:

Q { }

Q = {q

0

,q

1

,q

2

} –

Σ={0,1}

δは右の表 q0 q1 q2

0

q

0

q

2

q

2

F={q

2

}

– 形式的定義は

0

q

0

q

2

q

2 1

q

1

q

1

q

2

形 定義

論文など、厳密性を要求される文章を書くとき

機械的・一般的に処理したいとき

に必要になる

に必要になる。

(10)

2.2. 決定性有限オートマトンの形式的定義

• 遷移関数 δ

関数素のペアδは定義域は

]

で、値域は

[Q

の要素と

Q

の要素Σの要

δ: Q × Σ→Q

を満たす関数。これを自然に拡張した – δ : ^ Q × Σ*→Q

を次のように定義する。

^

^

本当は②は冗長

δ(q, ε) = q

for any q

Q

δ(q, a) = δ(q, a) for any aΣ

③ ^

^

^

δ(q, w) = δ(δ(q, w’), a) for w=w’a

^

Σ+

• DFA A の言語 ( より正確には DFA A によって受

理される言語 ) (A) とは A (Q δ ) に対し次 理される言語 ) L(A) とは , A=(Q,Σ,δ,q

0

,F) に対し次 のように定義される。

^

10/18

L(A) = { w | δ(q

0

,w) ∈ F}

(11)

2.2. 決定性有限オートマトンの形式的定義

例:「 0,1 からなる文字列で、文字列 10 を含む」文字列 q

0

q

1

0 1 1

0 0,1

q

2

– 上記の言語を受理する 上記の言語を受理する DFA DFA A A=(Q,Σ,δ,q (Q,Σ,δ,q

00

,F) ,F) は: は:

Q = {q

0

,q

1

,q

2

} –

Σ={0,1}

は右の表

q0 q1 q2 0

q

0

q

2

q

2

δは右の表

F={q

2

}

0

q

0

q

2

q

2 1

q

1

q

1

q

2

1.

入力

00100

に対する動作例

:

δ(q0,00100)=δ(q0,0100)=δ(q0,100)=δ(q1,00)=δ(q2,0)=δ(q2,0)=q2F.

2

入力

00111

に対する動作例

:

^

^ ^ ^ ^

2.

入力

00111

に対する動作例

:

^ ^ ^ ^ ^

(12)

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

• 例 : Σ={0,1} 上の文字列で、 ’00’ または ’11’ を含む もの

非決定性有限

もの

自然に思いつくオ トマトン (?) 自然に思いつくオートマトン (?):

0,1 0,1

0 0

0 0

0,1

1 1

★入力に対する遷移先が 1 つではない

⇒非決定性有限オートマトン (NFA; Nondeterministic

12/18

( ;

Finite Automaton)

(13)

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

• 例 : Σ={0,1} 上の文字列で、 ’00’ または ’11’ を含む

非決定性有限

ものを受理する非決定性有限オートマトン

入力 10101 に対する動作例

0,1 0,1

0 0

入力 10101 に対する動作例

0 0

0,1

1 1

1 0 1 0 1

(14)

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

• 例 : Σ={0,1} 上の文字列で、 ’00’ または ’11’ を含む

非決定性有限

ものを受理する非決定性有限オートマトン

入力 10110 に対する動作例

0,1 0,1

0 0

入力 10110 に対する動作例

0 0

0,1

1 1

1 0 1 1 0

14/18

(15)

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

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

非決定性有限

– 遷移先は ‘ 遷移可能なすべての状態の集合 ’

– 受理の条件は ‘ 遷移した状態集合と受理状態が共通 部分を持つ ’

という 2 点が決定性有限オートマトンと違う。

0,1 0,1

0,1 0

0 0

0 1

1 1

0,1

(16)

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

• 非決定性有限オートマトンの形式的定義

非決定性有限

NFA A=(Q,Σ,δ,q

0

,F)

Q,Σ,q

0

,F は決定性と同じ

δ

δ: Q × Σ→2

Q

2

S

:

集合

S

のすべての部分集合の集合

Ex.: 2

{0,1}

={Φ,{0},{1},{0,1}}

 受理の条件は ‘ 遷移した状態集合と受理状態が 共通部分を持つ ’

例 : A=({q

0

,q

1

,q

2

,q

3

,q

4

}, q

1

q

2

0,1 0,1

0 0

({q

0

,q

1

,q

2

,q

3

,q

4

},

{0,1},δ,q

0

,{q

2

,q

4

}} q

0

q

3

q

4

1 1

16/18

0,1

1

(17)

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

例 : A=({q

0

,q

1

,q

2

,q

3

,q

4

},{0,1},δ,q

0

,{q

2

,q

4

}}

0,1 0,1

0

δ 0 1

q

0

q

1

q

2

,

0 0

q

0

{q

0

,q

1

} {q

0

,q

3

}

q

1

{q

2

} Φ q

0

q

3

q

4

0 1

1 1

q

1

{q

2

} Φ q

2

{q

2

} {q

2

} q

3

Φ {q

4

} 0,1

q {q } {q } [

状態

,

入力

]

から

遷移関数 δ の自然な拡張 δ も同様に定義できる

q

4

{q

4

} {q

4

}

^

[

状態集合

]

への関数として

遷移関数 δ の自然な拡張 δ も同様に定義できる。

(18)

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

• NFA A の言語 ( より正確には NFA A によって受

非決定性有限

理される言語 ) L(A) とは , A=(Q,Σ,δ,q

0

,F) に対し次 のように定義される。

L(A) = { w | δ(q ^ ^

0

,w)∩F≠Φ}

C.f. DFA の場合は L(A) = { w | δ(q ^ ^

0

,w) ∈ F} であった。

18/18

参照

関連したドキュメント

If the interval [0, 1] can be mapped continuously onto the square [0, 1] 2 , then after partitioning [0, 1] into 2 n+m congruent subintervals and [0, 1] 2 into 2 n+m congruent

上海三造機電有限公司 Burmeister & Wain Scandinavian Contractor A/S TGE Marine Gas Engineering GmbH 三井E&S(中国)有限公司.. Mitsui E&S

[r]

補助上限額 (1日あたり) 7時間 約26.9万円 4時間 約15.4万円.

*2 施術の開始日から 60 日の間に 1

26‑1 ・ 2‑162 (香法 2 0 0

23-1•2-lll

今日二於テ私有権ハ政府ノ随意二左右シ得ルモノニアラズ唯土地所有権ハ無限ノ櫂利ニアラスシテ若シ公益ノ為