第 5 章 オートマトンの等価性 52
5.4 状態対の等価性判定
⓪r0≡s0
①r0.s1 ②r1≡s1 0
1
図5.6 非等価性の判定木。図5.5の機械M2の初期状態r0とM3の初期状態s0を0番目の等 価式r0≡s0を根とし、0,1入力からの遷移状態についての等価性を調べてみる。1番目の頂点の 等価性はr0.s1であることから、M2.M3であることが判定できる。
実際、M2が受理する言語の正規表現R2は0∗1(0+1)∗である。一方、M3の各状態で遷移する 言語の正規表現は、節4.4の線形再帰方程式の方法に従って
S0=ε, S1=S0(0+1)+S1(0+1)
の関係にあることから、M3が受理する言語の正規表現は(0+1)(0+1)∗ =0(0+1)∗+1(0+1)∗と なる。したがって、0∗1(0+1)∗ ,(0+1)(0+1)∗、つまりM2 .M3である。たとえば、1個以上 の0からなる言語0†はM2では受理されないが(1が入力されて受理状態r1に遷移する必要があ る)、M3では受理される(1つ以上の0または1が入力されれば受理状態s1に遷移する)。
演習5.3 図5.1の機械MとM′ が等価であることを等価性判定木を構成することによって確かめ なさい。
M1 q0
start
q2
q1 q3
0
1 1
0
0 0
1
1
.
M4 q0
start
q2
q1 q3
0
1 1 0
0 0
1
1
図5.7 等価な状態を有する機械M1とM4
M1とM4において、非受理状態の集合{q0,q2}と受理状態の集合{q1,q3}に属する状態対は明ら かに等価ではないことから、いずれの機械においても状態対q0,q2とq1,q3の等価性を調べれば よい。
演習5.4 機械M4が受理する言語の正規表現を求めて、M1が受理する言語の正規表現と比較して みなさい。
図5.8はM1の2つの状態対を根としてその等価性判定木を構成した様子である。q0,q2とq1,q3
の遷移から得られる等価性判定木の頂点に全て真なる等価性式が得られることから、2つの状態対 は等価であることが判定できる。これによって、2つの状態対を1つにまとめても機械が受理する 入力文字列は変わらないことがわかる。こうして同じ言語を受理する簡単化された機械M′1 が図 5.9で、例5.2においてM1と等価だと示したM2(図5.3)と同型である(状態名称について1対 1の対応がある)。節4.3の正規表現の表記では、M′1したがってM1は正規言語0∗(0+1)∗ を受理 する。
⓪q0 ≡q2
①q2≡q2 ②q1≡q1
0
1
⓪q1≡q3
①q1≡q3 ②q3 ≡q1
0
1
図5.8 機械M1の状態対の等価性。状態q0とq2およびq1とq3は共に等価であり、機械M1
は2つの等価な状態対を1つにまとめて同じ言語を受理する機械M′1を構成することができる。
M′1 q0
start
q1
1 0
0 1
図5.9 M1の2組の状態q0とq2およびq1とq3をまとめて得られる等価な簡略化機械M′1(図 5.3のM2と同型)
図5.10はM4の2つの状態対を根としてその等価性判定木を構成した様子である。q0,q2の遷移 から得られる等価性判定木の頂点q2とq3は等価でなくq2 .q3、とq1,q3の遷移からは等価性式 q1 ≡q1が得られる。このことから、q0,q2は等価でなく、q1,q3のだけが等価であることが判定で きる。
これによって、1つの状態対q1,q3を1つにまとめても機械が受理する入力文字列は変わらない ことがわかる。こうして同じ言語を受理する簡単化された機械M′4を図5.11に示す。節4.3の正 規表現の表記では、M′4したがってM4は正規言語(1+0(0+1))(0+1)∗を受理する。
⓪q0 ≡q2
①q2.q3 ②q1≡q1
0
1
⓪q1≡q3
①q1≡q3 ②q3 ≡q1
0
1
図5.10 機械M4の状態対の等価性。状態q0とq2は等価でなく、q1とq3だけが等価で、機械 M4は1つの等価な状態対を1つにまとめて同じ言語を受理する機械M′4を構成することがで きる。
M′4 q0
start
q2
q1
0
1 0,1
0 1
図5.11 M4の1組の状態対q1とq3をまとめて得られる等価な最小化機械M′4
M′1およびM′4が受理する正規言語について 0∗1(0+1)∗ .(1+00+01)(0+1)∗
である。実際、M′4が受理する入力文字列00をM′1は受理しない。したがって、図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は同じ言語を受理する。