36
計計計計計 計計計計計 I I Myhill-Nerode Myhill-Nerode 計計計 計計計 計計計計計計計計計計 計計 計計 計計

計算の理論 I -Myhill-Nerode の定理 と最小化-

Embed Size (px)

DESCRIPTION

計算の理論 I -Myhill-Nerode の定理 と最小化-. 月曜3校時 大月 美佳. 連絡事項. レポート 問題用紙: A4 提出期限:平成14年7月8日(月) 授業終了時に回収 提出場所: AV 講義室 欠席等で提出できなかった者は理由を明記の上 レポートボックス9番へ(7月15日まで). 今日の講義内容. ずっと前の復習 同値関係、同値類について 今日の新しいこと Myhill-Nerode の定理と最小化(節3.4 , p. 84) → FA が同値類に分割できるという話 →それを用いて FA の最小化を行う. (. (. 3. 1. - PowerPoint PPT Presentation

Citation preview

Page 1: 計算の理論  I -Myhill-Nerode の定理 と最小化-

計算の理論 計算の理論 II-- Myhill-NerodeMyhill-Nerode の定理の定理

と最小化-と最小化-

月曜3校時大月 美佳

Page 2: 計算の理論  I -Myhill-Nerode の定理 と最小化-

連絡事項

レポート– 問題用紙: A4– 提出期限:平成 14 年 7 月 8 日(月)

授業終了時に回収– 提出場所: AV 講義室

欠席等で提出できなかった者は理由を明記の上レポートボックス9番へ( 7 月 15 日まで)

Page 3: 計算の理論  I -Myhill-Nerode の定理 と最小化-

今日の講義内容

1. ずっと前の復習同値関係、同値類について

2. 今日の新しいことMyhill-Nerode の定理と最小化 ( 節 3.4, p. 84)

→FA が同値類に分割できるという話→ それを用いて FA の最小化を行う

Page 4: 計算の理論  I -Myhill-Nerode の定理 と最小化-

(復習 p.9 )

同値関係 同値関係 (equivalence relation)

:= 反射的、対称的、かつ推移的である関係

(3, 2)

(2, 2)(3, 3)

R

1 2

S

3

1R12R23R3

(1, 1)

(2, 3)2R33R2

反射的

対称的 推移的

Page 5: 計算の理論  I -Myhill-Nerode の定理 と最小化-

(復習 p.9 )

同値類 同値類 (equivalence class)

:= 次の性質を持つ部分集合 Si

1. Si≠Φ, かつ i≠j ならば Si∩Sj = Φ

2. Si の各元 a, b に対して aRb

3. i≠j のとき Si の各元 a と Sj の各元 b に対して aRb は成り立たない

S は Si の和∪ Si として表される

Page 6: 計算の理論  I -Myhill-Nerode の定理 と最小化-

( 復習 例 1.4 pp. 9 ~ 10)

同値関係の例

法 m に関する合同 (congruence module m):= i-j が m で割り切れること:= i≡m j または i≡j mod m反射的: 任意の a について a-a は m で割り切

れる推移的: a≡m b かつ b≡m c ならば、 a≡m c

a=m×x+b, b= m×y+c → a=m× ( x+y)+c対称的: a≡m b ならば b≡m a

a-b=m×x → b-a=m× ( -x)

Page 7: 計算の理論  I -Myhill-Nerode の定理 と最小化-

(復習 p.10 )

整数全体の≡ m による同値類… -1 0 1 2 …

0 { … -m, 0, m, 2m, … }

1 { … -m+1, 1, m+1,2m+1

,… }

: : : :

m-1 { … -1, m-1, 2m-1, 3m-1, … }

m 個

Page 8: 計算の理論  I -Myhill-Nerode の定理 と最小化-

Σ* に関する2 種類の同値関係

に属さない。またはともにに属するか、がともにとに対し各

に対して、任意の集合

L

Lyzxzz

yxR

L

L

*)(

*)(

),(),(

,*

),,,,(

00

0

yqxqyxR

yx

DFAFqQM

M

に対して、の任意の元としたとき、を

xRLy

xRMy

Page 9: 計算の理論  I -Myhill-Nerode の定理 と最小化-

xRLy の同値類

L が正則集合のとき– 同値類の個数(指数)は常に有限

Σ*S1

S2 S3

S4

S5

指数= 5z1

Lyz

Lxz

1

1 かつ Lyz

Lxz

3

3 かつ

z2

z3

z4

z5

Page 10: 計算の理論  I -Myhill-Nerode の定理 と最小化-

xRMy の同値類

RM は Σ* を同値類に分割する– 各同値類は q0 から到達可能な状態に対応

Σ*S0

S1

S2

S3

指数= 40

0

0

),(

),(

q

yq

xq

2

0

0

),(

),(

q

yq

xq

Page 11: 計算の理論  I -Myhill-Nerode の定理 と最小化-

右不変(right invariant)

同値関係 R においてxRy ならば xzRyz

という性質があるとき、R は(連接に関して)右不変な関係であ

るという。

Page 12: 計算の理論  I -Myhill-Nerode の定理 と最小化-

Myhill-Nerode の定理( 定理 3.9 p.85)

次の三つの条件は互いに同値である。 L Σ*⊆ は有限オートマトンの受理集合であ

る。 L は、右不変で有限の指数を持つ同地関係

のいくつかの同値類の和に等しい。 同値関係 RL を次のように定義する:

xRLy⇔Σ* のすべての元 z に対して xz と yzはともに L に属するかともに L に属さない。この RL の指数は有限である。

Page 13: 計算の理論  I -Myhill-Nerode の定理 と最小化-

有限オートマトンの最小化( 定理 3.10 p.87)

正則集合 L を受理する最小の状態数を持つ

有限オートマトンは、同型(つまり状態の名前が異なるだけ)

を除いてただ一つであり、それは定理 3.9 の証明で示した M´ に等し

い。

Page 14: 計算の理論  I -Myhill-Nerode の定理 と最小化-

M´( 定理 3.9 p.86)

Q´ を RL の同値類とし、 x の属する同値類を[x] とおく。ここで、 δ([x], a)=[xa] と定義する。これは、 RL が右不変のため矛盾しない。q0´=[ε] とおき、 F´={[x]|x L}∈ とおく。そのとき、 δ´ (q0´, x)=[x] であり、 x L∈ のとき [x] F∈ ´ で逆も成り立つ。 ∴ 有限オートマトン M´=(Q´,Σ,δ´, q0´,F´) は L

を受理する。( x L(M∈ ´) のとき、かつそのときのみ [x] F∈ ´ )

Page 15: 計算の理論  I -Myhill-Nerode の定理 と最小化-

例 3.7(p.86)

L=0*10* L を受理する DFA

c

e

1

開始

f

00

a

0

d

b

1

0

0

1

1

0, 1

0

Page 16: 計算の理論  I -Myhill-Nerode の定理 と最小化-

例 3.7 の RM による同値類(p.86)

c

e

1

開始

f

00

a0

d

b

1

0

0

1

1

0, 1

0

Ca=(00)* Cb=(00)*0

Cc=(00)*1 Cd=(00)*01

Ce=0*100* Cf=0*10*1(0+1)*

Page 17: 計算の理論  I -Myhill-Nerode の定理 と最小化-

例 3.7 の RL による同値類(p.86)

1. x と y が 1 を含まない。C1=0*= Ca + Cb=(00)*0 +(00)*

2. x と y が 1 を 1 つだけ含む。C2 = 0*10*=Cc+Ce+Cd=(00)*1+0*100*+(00)*01

3. x と y が 1 を 2 つ以上含む。C3= Cf=0*10*1(0+1)*

Page 18: 計算の理論  I -Myhill-Nerode の定理 と最小化-

RL から構成された DFA M´(p.87)

1. C1=0* から ε

2. C2 = 0*10* から 1

3. C3= 0*10*1(0+1)* から 11

[ε]

00

1

0, 1

[1] [11]1

Page 19: 計算の理論  I -Myhill-Nerode の定理 と最小化-

最小化アルゴリズム(p.88)

最小の DFA M´ を求める簡単な方法 DFA M の状態に関する同値類を導入

でない。またはともに最終状態か、ともに最終状態である

はとに対し、各入力列 ),(),(

* ,,

),,,,( 0

xqxpx

qp

xQqp

FqQMDFA

同値 (equivalent)

区別可能 (distinguishable)= 一方が最終状態で もう一方が最終でない

Page 20: 計算の理論  I -Myhill-Nerode の定理 と最小化-

同値類をもとめる手順( 例 3.8 p.88 ~ 90)

二つの状態が同値でないものに X 印をつけていって、残ったものが同値類になる。

開始

e1

hf0

1

0

g

01

a0

db0

0c

1

1

01

0

1

1

Page 21: 計算の理論  I -Myhill-Nerode の定理 と最小化-

ステップ 1

最終状態とそうでない状態の組に X をつける。

a b c d e f g h

a X

b X

c X X X X X

d

e

f

g

h

e 1 hf 0

1

0

g0

1

a 0 db 0

0c

1

1

01

0

1

1

Page 22: 計算の理論  I -Myhill-Nerode の定理 と最小化-

ステップ 2

まだ X のついてない場所(区別可能か分かっていない場所)を調べる。– (p, q) から、各記号 a について r=δ(p, a) と s=δ(q,

a) を求める。– (r, s) のどれかに既に X がついていたら、 (p, q)

にも X をつける。• (r, s) が x で区別可能なら (p, q) は ax で区別可能だから。

– (r, s) のどれも X がついていなかったら、 (p, q)を (r, s) のリストに加える。

• 将来 (r, s) に X がついたら (p, q) に X をつけるため。

Page 23: 計算の理論  I -Myhill-Nerode の定理 と最小化-

図で説明しよう

p

q

r

s

a

a

r’

s’

a

a

区別可能か?No= 次の組まで持ち越し

Page 24: 計算の理論  I -Myhill-Nerode の定理 と最小化-

ステップ 2 詳細 (a, b)

例: (a, b) の組について– (δ(a, 0), δ(b, 0)) =(b, g)– (δ(a, 1), δ(b, 1)) =(f, c) ← 区別可能

e1

hf0

1

0

g

01

a0

db0

0c

1

1

01

0

1

1

a b c d e f g h

a X X

b X

c X X X X X

d

e

f

g

h

Page 25: 計算の理論  I -Myhill-Nerode の定理 と最小化-

ステップ 2 詳細 (a, d)

例: (a, d) の組について– (δ(a, 0), δ(d, 0)) =(b, c) ← 区別可能– (δ(a, 1), δ(d, 1)) =(f, g)

e1

hf0

1

0

g

01

a0

db0

0c

1

1

01

0

1

1

a b c d e f g h

a X X X

b X

c X X X X X

d

e

f

g

h

Page 26: 計算の理論  I -Myhill-Nerode の定理 と最小化-

ステップ 2 詳細 (a, e) 例: (a, e) の組について

– (δ(a, 0), δ(e, 0)) =(b, h) →(b, h) のリストに (a, e) を加える。

– (δ(a, 1), δ(e, 1)) =(f, f) ← 1 で始まる列はない

e1

hf0

1

0

g

01

a0

db0

0c

1

1

01

0

1

1

(b, h) (a, e)

Page 27: 計算の理論  I -Myhill-Nerode の定理 と最小化-

ステップ 2 詳細 (a, f)

例: (a, f) の組について– (δ(a, 0), δ(f, 0)) =(b, c) ← 区別可能– (δ(a, 1), δ(f, 1)) =(f, g)

e1

hf0

1

0

g

01

a0

db0

0c

1

1

01

0

1

1

a b c d e f g h

a X X X X

b X

c X X X X X

d

e

f

g

h

Page 28: 計算の理論  I -Myhill-Nerode の定理 と最小化-

ステップ 2 詳細 (a, g) 例: (a, g) の組について

– (δ(a, 0), δ(g, 0)) =(b, g)→(b, g) のリストに (a, g) を加える。

– (δ(a, 1), δ(g, 1)) =(f, e)→(f, e) のリストに (a, g) を加える。

e1

hf0

1

0

g

01

a0

db0

0c

1

1

01

0

1

1

(b, h) (a, e)

(b, g) (a, g)

(f, e) (a, g)

Page 29: 計算の理論  I -Myhill-Nerode の定理 と最小化-

ステップ 2 詳細 (a, h)

例: (a, h) の組について– (δ(a, 0), δ(h, 0)) =(b, g)– (δ(a, 1), δ(h, 1)) =(f, c) ← 区別可能

e1

hf0

1

0

g

01

a0

db0

0c

1

1

01

0

1

1

a b c d e f g h

a X X X X X

b X

c X X X X X

d

e

f

g

h

Page 30: 計算の理論  I -Myhill-Nerode の定理 と最小化-

ステップ 2 詳細 (b, d)

例: (b, d) の組について– (δ(b, 0), δ(d, 0)) =(g, c) ← 区別可能– (δ(b, 1), δ(d, 1)) =(c, g) ← 区別可能

e1

hf0

1

0

g

01

a0

db0

0c

1

1

01

0

1

1

a b c d e f g h

a X X X X X

b X X

c X X X X X

d

e

f

g

h

Page 31: 計算の理論  I -Myhill-Nerode の定理 と最小化-

ステップ 2 詳細 (b, e)

例: (b, e) の組について– (δ(b, 0), δ(e, 0)) =(g, h) – (δ(b, 1), δ(e, 1)) =(c, f) ← 区別可能

e1

hf0

1

0

g

01

a0

db0

0c

1

1

01

0

1

1

a b c d e f g h

a X X X X X

b X X X

c X X X X X

d

e

f

g

h

Page 32: 計算の理論  I -Myhill-Nerode の定理 と最小化-

ステップ 2 詳細 (b, f)

例: (b, f) の組について– (δ(b, 0), δ(f, 0)) =(g, c) ← 区別可能– (δ(b, 1), δ(f, 1)) =(c, g) ← 区別可能

e1

hf0

1

0

g

01

a0

db0

0c

1

1

01

0

1

1

a b c d e f g h

a X X X X X

b X X X X

c X X X X X

d

e

f

g

h

Page 33: 計算の理論  I -Myhill-Nerode の定理 と最小化-

ステップ 2 詳細 (b, g)

例: (b, g) の組について– (δ(b, 0), δ(g, 0)) =(g, g) – (δ(b, 1), δ(g, 1)) =(c, e) ← 区別可能

a b c d e f g h

a X X X X X

b X X X X X

c X X X X X

d

e

f

g

h

e1

hf0

1

0

g

01

a0

db0

0c

1

1

01

0

1

1

Page 34: 計算の理論  I -Myhill-Nerode の定理 と最小化-

ステップ 2 詳細 連鎖

例: (b, g) からの連鎖

a b c d e f g h

a X X X X X X

b X X X X X

c X X X X X

d

e

f

g

h

e1

hf0

1

0

g

01

a0

db0

0c

1

1

01

0

1

1

(b, h) (a, e)

(b, g) (a, g)

(f, e) (a, g)

Page 35: 計算の理論  I -Myhill-Nerode の定理 と最小化-

例 3.8 の最終結果(p.90)

a b c d e f g h

a X X X X X X

b X X X X X

c X X X X X

d X X X

e X X X

f X X

g X

h

a ≡ eb ≡ hd ≡ f

11 0

[g]

[a,e]0

[d,f]

[b,h]0

[c]

1

1

0

1

Page 36: 計算の理論  I -Myhill-Nerode の定理 と最小化-

今日のミニテスト

ミニテスト– 演習問題 3.25– 教科書・資料を見ても良い

資料、ミニテストがない人は前へ 提出したら帰って良し

11

e1

開始

hf0

1

1

g0

0a

0db

0

0

1

c1

1 00

を最小化