第 3 章 最小無矛盾決定性有限オートマト ン生成問題
3. APTA
3.4 最小無矛盾 DFA 問題に対する MILP アプローチ
3.4.1 状態マージによる方法
ここでは,変数ps,t ∈ {0,1}, s, t ∈ Sによって,状態sとtがマージするかどうかを表現 する.
ps,t= {
1 if sとtがマージ
0 上記以外 (3.2)
変数zs ∈ {0,1}, s ∈ Sは無矛盾DFAの状態数を数えるために使い,sにマージする変数 の中でsが最も小さい場合は1,そうでない場合は0とする.これらの変数を使って,最小 無矛盾DFAを求めるMILPは次のように記述される.
minimize ∑
s∈S
zs
s.t.
s−1
∑
t=0
ps,t+zs ≥1,∀s∈S
ps,t≤pδ(s,a),δ(t,a),∀s, t ∈S,∀a∈Σ,∃δ(s, a), δ(t, a)∈S ps,t+pt,u+pu,s6= 2,∀s, t, u ∈S
ps,t= 0,∀(s, t)∈E ps,t∈ {0,1},∀s, t∈S zs ∈ {0,1},∀s∈S
(3.3)
第1制約条件は,色の数を数えるために使われる.もし,状態sがsより小さい状態とマー ジしない場合は,sは同じ色に割り当てられる状態の中で最小の数の状態となる.この制約 条件では,最小の数の状態を数えることで状態数を数えている.第2制約条件は状態s,tが マージするときは,同じ文字aで遷移する状態δ(s, a)とδ(t, a)もマージすることを示す.第 3制約条件は三つの状態間でマージ数の合計が2とならない,すなわち二組の状態がマージ して残りの一組の状態がマージしないとうことが起きないことを示している.この条件は実 際の定式化では次のように書くことができる.
+ps,t+pt,u−pu,s≤1 +ps,t−pt,u+pu,s≤1
−ps,t+pt,u+pu,s≤1
(3.4)
第4制約条件は隣接グラフのエッジである一組の状態はマージできないことを示している.
この問題記述では,変数の数はO(|S|2),制約式の数はO(|S|3)となり,状態数に対して問 題の大きさが非常に大きいという欠点を持っており,現実的に実現困難な問題記述となって いる.
3.4.2 グラフ彩色問題による定式化
APTAと無矛盾なDFAは,(Σ, K, k0, δK, AccK, RejK, DontK)によって与えられるとする.
ここでは,xs,i ∈ {0,1}, s ∈ S, i ∈ Kは1のとき状態sに色iが割り当たるとする.ya,i,j ∈ {0,1}, a ∈ Σ, i, j ∈ K は1のときδK(i, a) = j とする.zi ∈ {0,1}, i ∈ K は 1のとき δ(k0, u) = iとなるu∈Σ∗が存在するとする.K ={0,1, . . . , k−1}のとき,最小無矛盾DFA 問題を求める問題は次のように記述できる.
30 第3章 最小無矛盾決定性有限オートマトン生成問題
minimize
k−1
∑
i=0
zi
s.t.
k−1
∑
i=0
xs,i= 1,∀s∈S
k−1
∑
j=0
ya,i,j = 1,∀a ∈Σ,∀i∈K
xs,i+xδ(s,a),j−ya,i,j ≤1,∀s∈S,∀a∈Σ,∃δ(s, a)∈S,∀i, j ∈K xs,i−xδ(s,a),j+ya,i,j ≤1,∀s∈S,∀a∈Σ,∃δ(s, a)∈S,∀i, j ∈K xs,i+xt,i ≤zi,∀(s, t)∈E,∀i∈K
xs,i∈ {0,1},∀s∈S,∀i∈K ya,i,j ∈ {0,1},∀a ∈Σ,∀i, j ∈K zi ∈ {0,1},∀i∈K
(3.5)
この問題記述において,第1制約条件は各状態に色を割り当てることを意味する.第2制 約条件は各色における遷移の決定性を表している.つまり,各色においてある文字に対する 次の状態は一意に決定される.第3制約条件,第4制約条件はAPTAにおける遷移とDFA における遷移の対応付けを行なっている.第5制約条件はエッジの両端の状態には同じ色を 割り当てない条件であり,いわゆるグラフ彩色問題制約と呼ばれる.この問題記述では,変 数の数はO(|S||K|)となり,制約条件の数はO(|S||Σ||K|2)となる.
この問題記述に対して,整数変数をxs ∈Kおよびya,i∈Kを導入することで制約式の数 を減らすことができる.ここで,xsは色を表す整数変数であり,ya,iは状態iの文字aに対 する遷移先の状態を表している.このとき,次の問題記述が得られる.
minimize
k−1
∑
i=0
zi
s.t.
k−1
∑
i=0
xs,i = 1,∀s∈S xs =
k−1
∑
i=0
ixs,i,∀s∈S
(k−1)xs,i+xδ(s,a)−ya,i≤k−1,∀s ∈S,∀a∈Σ,∃δ(s, a)∈S,∀i∈K (k−1)xs,i−xδ(s,a)+ya,i≤k−1,∀s ∈S,∀a∈Σ,∃δ(s, a)∈S,∀i∈K xs,i+xt,i ≤zi,∀(s, t)∈E,∀i∈K
xs,i ∈ {0,1},∀s∈S,∀i∈K xs ∈K,∀s∈S
ya,i∈K,∀a∈Σ,∀i∈K zi ∈ {0,1},∀i∈K
(3.6)
第2制約条件,第3制約条件はxs,i= 1のとき,xδs,a = ya,iとする式であり,APTAと無 矛盾DFAの遷移の対応付けを行なっている.この式は”big-M”形式の制約式であり,3.5式 の第3制約条件,第4制約条件と比べて変数の拘束力が弱いと考えられる.しかしながら,
MILPを解く際の一回あたりのLPの実行時間は短くなるため,実行時間と制約式の拘束力 はこの場合トレードオフの関係にある.この問題記述の場合,変数の数はO(|S||K|)で先の 問題記述を同じであるが,制約条件数はO(|S||Σ||K|)となる.
この節の問題記述の場合は,あらかじめ色の数kを決めておく必要がある.一般にこのk は最小無矛盾DFAの状態数以上の数を指定しなければならないが,なるべく小さい数を決 めておきたい.そのため,ヒューリスティック探索に最小無矛盾DFAを予め求めておき,そ の数を使うことができる.本節で述べる実験においては,APTAにおいて開始状態に近い状 態から状態を並べ,先頭の状態から順番に,前にある状態に対してマージを行なっていき,
最小無矛盾DFAを求めるというヒューリスティック探索を用いている.