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

文字列の同値類

ドキュメント内 version 0.9 (ページ 66-72)

第 5 章 オートマトンの等価性 52

5.5 文字列の同値類

M4 q0

start

q2

q1

0

1 0,1

0 1

5.11 M41組の状態対q1q3をまとめて得られる等価な最小化機械M4

M1およびM4が受理する正規言語について 01(0+1) .(1+00+01)(0+1)

である。実際、M4が受理する入力文字列00M1は受理しない。したがって、図5.7の機械M1

M4は等価ではないことが示された。

演習5.5 5.12の機械Ma,Mb,Mc は全て同等であることを確かめなさい。この3つの機械が受 理する言語の正規表現の同等性を示しなさい。

Ma q0 start

q1

q2

ε 0 1

0 1 0

1

Mb r0

start

r1

r2

ε 0 1

1 0 1

0

Mc

s0 s1

ε 0,1

0,1

5.12 機械Ma,Mb,Mcは同じ言語を受理する。

状態対の等価性判定は与えられたDFAを最小化する1つの方法を示していた。DFAMを最小化 して得られたMは、同型を除いて一意に定まるだろうか。ここでは、DFAの等価性を入力文字 列の同値関係の観点から改めて考えてみよう。

命題5.2 (入力の同値関係) DFAM =(Q,Σ, δ,q0,F)において、入力文字列x,y ∈Σによって同じ 最終状態に到達することによってMで定まる関係RM

x RMy≡ ifδ(q0,x)=δ(q0,y) forx,y∈Σ

で定義する。RMはΣ 上の同値関係で、その同値類の数は有限個である。

証明 RMが同値関係であることは次の3つの関係を確かめればよい。

(1) 同じ文字列xは同じ状態に到達して、x RMxであるので、RMは反射的。

(2) yxと同じ状態に到達してx RMyならば、xyと同じ状態に到達してy RMx。よって x RMyy RMxとなり、RMは対称的。

(3) yxと同じ状態に到達してx RMyzyと同じ状態に到達してy RMzならばzx 同じ状態に到達してx RMz。よってx RMyy RMzx RMzとなり、RMは推移的。

同値関係RMの定める同値類は到達状態pQによって決まる⟦p⟧Mであり、pに到達する入力語 の集合

⟦p⟧M={x∈Σ|δ(q0,x)=p}

を定め、x ∈⟦p⟧Mである入力列は全て状態pに到達する。逆に、状態pに到達する1つの入力文 字列x∈Σは関係RMによって同値類[x]M

[x]M={y|x RMy,y∈Σ}

を定めて⟦p⟧Mに一致する。したがって、1つの状態pに対応する入力語集合の同値類⟦p⟧Mp に到達する入力列xを代表元とする同値類[x]Mと11に対応する。

同値関係RMの定める同値類の個数はDFAMの状態の個数に等しく有限で、入力文字列全体 Σは有限個の同値類に直和分割される。

Σ =⊕

pi∈Q

⟦piM.

■ 命題5.3 DFAM = (Q,Σ, δ,q0,F)の関係RMは、x RMyのとき任意のz∈ Σ に対してxz RMyz が成立する。

証明 x RMyなら入力x yは同じ状態δ(q0,x) = δ(q0,y)に到達しているため、そこから任 意のz ∈ Σ が入力されたとしても再び同じ状態δ(q0,xz) = δ(q0,yz) に遷移する。したがって、

xz RMyzである。

定義5.7 (右不変性) 関係Rが演算に対して x R yxz R yz

であるとき、関係Rは右不変(right invariant)であるという。DFA Mによる関係RMは入力文字 列の連接に関して右不変な同値関係である。

命題5.2の証明からわかったように、入力文字列x,y∈ ΣMによる最終状態によって定まる DFAMの同値関係RMの同値類は有限個で、入力文字列全体Σ を最終状態によって直和分割し たものである。言い換えれば、Mの受理言語L(M)はその受理状態piFで定まるRMの同値類

⟦piMの直和 L(M)=⊕

pi∈F

⟦piM

で表すことができる。この受理状態で定まる各同値類[piF]Mは正規表現で表されている。

5.4 5.13の左側の機械M1で定義される同値関係RM1を考えよう。M1の3つの状態q0,q1,q2

に対して、初期状態q0に到達する任意の入力文字列をたとえばεq2に到達する任意の入力文字 列をたとえば代表元1q2に到達する任意の入力文字列をたとえば代表元11として、それぞれの 同値類を[ε]M1, [1]M1, [11]M1 とする。

これらの同値類はM1の状態q0,q1,q2と11の関係にあり、⟦q0M1 =[ε]M1. ⟦q1M1 =[1]M1,

⟦q2M1 =[11]M1 であることに注意する。

M1

q0

start

q1 q2

ε

0 1

0 1

0 1

M2

r0

start

r1

ε

0

1

1 0

5.13 等価なMM

これらの同値類は次のような文字列集合をなし [ε]M1 ={ε,0,00, . . . ,0n, . . .},

[1]M1 ={1,10,100, . . . ,10n, . . .},

[ε]M1 は記号1を含まない0個以上の記号1からなる集合、[1]M1 は記号11度だけ含む01文字 列、[11]M1 は記号12度含む01文字列である。入力文字列全体Σはこれらの同値類に直和分 割される。

{0,1} =[ε]M1 ⊕[1]M1⊕[11]M1.

M1が受理する言語L(M1)は、受理状態から定める同値類の直和 L(M1)=[ε]M1⊕[11]M1

で表される。

一方、図5.13の右側の機械M2は、演習5.6の方法によってM1と等価M1M2であることを 示すことができる。M1の場合と同様にして、⟦r0M2 =[ε]M2 および⟦r1M2 =[1]M2 を考えること ができ

{0,1} =[ε]M2 ⊕[12]M2

と表すことができるが、M2が受理する言語L(M2)はその受理状態r1から L(M2)=[ε]M2

である。M1M2の等価性から、L(M1)=L(M2)であることから、

[ε]M1⊕[11]M1 =[ε]M2, [1]M1 =[1]M2

となり、RM1 の同値類はRM2 の同値類に含まれるRM1RM2 ことがわかった。このような事情 は、ある機械Mをより少ない状態を持つ機械Mに簡略化する際に常に生じる。DFAMの言語定 義はDFAの状態定義に依存し、一般的には互いに等価な冗長な状態が存在し、等価な状態同士を 合併させた状態とするMを構成すると、対応する同値類も合併されて合併された状態の同値類と なる。いいかえると元のMの同値類はMの細分になる。

演習5.6 5.13の機械M1M2が等価であることを節5.3の等価性判定木を構成して確かめな さい。また、M1の状態対q0q2が等価であることを節5.4の等価性判定木の方法で確かめ、こ れらを1つにまとめて等価なM2が得られることを示しなさい。

5.6 Myhill-Nerode の定理

Σ上の言語Lが与えられると、x,y∈Σに対して常に次のような同値関係RL が定まる。

命題5.4 (言語Lが定める同値関係) Σ上の言語Lに対して、任意のx,y∈Σ に関して関係RLx RLy≡ if全てのz∈Σに対してxzLかつyzLが成立、またはxz<Lかつyz<Lが成立. で定める。関係RL はΣ 上の右不変な同値関係である。

証明 RLが同値関係であることを、x,y,z∈Σについて次の3つの関係が成立することで確か める。

(1) x RLxの成立は明かであるのでRL は反射的。

(2) xw,ywが共にLに属するか属さなければ、yw,xwも共にLに属するか属さないことから x RLyy RLxとなって、RLは対称的。

(3) xw,ywが共にLに属するか属さなくて、さらに yw,zwも共にLに属するか属さないがで あればxw,zwは共にLに属するか属さない。よって、x RLyy RLzx RLzとなり、RL

は推移的。

同値関係RLは、x RLyなら任意のwの連接についてもxw RLywであるので右不変である。 ■ RLはΣ上の同値関係であるので、その同値類によってΣ を直和分割する。より正確には、次 の定理5.3が成り立つ。Lが正規言語であればこの同値類の個数は有限で、LRLの同値類の有 限和で表されるというものである。

定理5.3 (Myhill-Nerode) Σ上の言語Lに対して定義される左不変な同値関係をRLとするとき、

以下の命題は互いに同等である。ここで、同値関係の指数とはその同値類の濃度である。

(1) Lは正規言語(有限オートマトンの受理集合)である。

(2) Lは、有限指数を持つ右不変な同値関係Rのその幾つかの同値類の直和として表される。

(3) 同値関係RL の指数は有限である。

証明 (1)→(2)

Lを受理するFAM=(Q,Σ, δ,q0,F)とする。これにより関係R xRy⇌δ(q0,x)=δ(q0,y), x,y∈Σ

で定義する。命題5.2 から、R は同値関係である。また、任意の x,z ∈ Σ に対して δ(q,xz) =

δ(δ(q,x),z)であることが、xの長さに関する帰納法からわかる。これより、

xRy⇌δ(q0,x)=δ(q0,y)

⇌δ(δ(q0,x),z)=δ(δ(q0,y),z)

⇌δ(q0,xz)=δ(q0,yz)

xzRyz=xzRyz.

z∈Σは任意であるために関係Rは右不変な同値関係である。さらにxLとすると、δ(q0,x)F でしかもδ(q0,x)=δ(q0,y)より、yLとなってyRの同値類[x]Mに属し、命題5.4からL 右不変同値関係RLを定める。これより、Lは受理状態Fに達する文字列xδ(q0,x))F)の和と して定まる右不変同値関係Rの和である。

R(2)満たすxRyである右不変同値関係とすると、任意のz∈Σに対してxzRyzとなって、

xzLyzL

と、xz,yzは共にLに属するかまたは属さないかのいずれかである。これよりxRLyが成立。x 属する同値関係Rの同値類の各要素は、xの属する同値関係RLの同値類に含まれることから、R によるΣの同値類の分割は、RL による分割の細分になっている。すなわち、Σ の同値関係R よる同値類全体をΣ/R、同値関係Lによる同値類全体をΣ/RLとしたとき、

|Q|≧|Σ/R|≧|Σ/RL|=|Q| Qは以下で定義されるFAの状態集合 (5.1) となる。Rによる分割が有限個であることより、RL の指標も有限になる。

(3)→(1)

同値関係RL による同値類の有限集合をQとし、その代表元を文字列xとすると Q={[x]RL|,x∈Σ}.

また、

δ([x]RL,a)=[xa]RL, q0=[ε]RL,

F ={[x]RL|xL}

と定めると、M = (Q,Σ, δ,q0,F)は有限オートマトンになる。δは代表元xの選び方に依らな い。実際、xRLyであるとき、RL の右不変性からxaRLyzとなって[xa]RL =[ya]RLである。

さて、

δ(q0,x)([ε]RL,x)=[εx]RL =[x]RL

より、

xL(M)⇌[x]RLF

xL

である。したがって、L(M)=Lとなる。

5.6.1 Myhill-Nerode の応用

Myhill-Nerodeの定理5.3をつかって、ある言語の非正規性、どんな有限オートマトンを工夫し

ても受理できない言語を証明することができる。

5.5 Σ ={a,b}上の言語L={anbn|n≧0}は正規言語ではない。

もしLが正規言語であれば, Myhill-Nerodeの定理から、Lで定まる右不変な同値関係RLによ るΣの分割は有限指数を持ち、

ajRLak

であるような整数j<kが存在する。このとき、右不変性から ajbiRLakbi

となる(ajbi,akbiがどちらもLに属するか、またはどちらもLに属さないかいずれかである)。し かし、ajbiLのときakbiLになりLの定義に反する。したがって、Lは正規言語ではあり得 ない。

この有名なLの非正規性は正規言語の反復補題4.6によっても示すことができる。

節5.6の定理5.3の証明の(2)→(3)にある式(5.1)は、証明の(3)→(1)で構成するオートマトン の状態集合Qの個数(与えられた有限オートマトンMで受理される言語Lが定める同値関係RL

によるΣの同値類への分割個数|Q| =|Σ/RL|)は、言語Lを受理する有限オートマトンMの最 小値を与えている。

ドキュメント内 version 0.9 (ページ 66-72)

関連したドキュメント