第 3 章 最小無矛盾決定性有限オートマト ン生成問題
3. APTA
3.4 最小無矛盾 DFA 問題に対する MILP アプローチ
3.4.4 評価
筆者らは,事例数が少なく,短い文字列で作られるAPTAから3.4.2節で述べた問題記述
を使い,CPLEXでMILPソルバーを実行しているときの分枝時に基本的なカット(クリー
ク,ホール,アンチホール,安定集合)を問題記述に挿入する分枝カット法を実装した.導 入したカットの制約式を次に示す.また,隣接グラフにおけるカットの形状を図3.3に示す.
ここで,e)のマージに関しては条件が成立するAPTAの例を示した.
クリーク 隣接グラフにおける完全部分グラフをクリークと呼ぶ.クリークC ⊂Sについて,
次の式が成り立つ.
∑
s∈C
xs,i≤1, i∈K (3.7)
独立集合 I ⊂S,∀i, j ∈I,(i, j) 6∈EとなるIを独立集合と呼ぶ.Iが最大独立集合(状態数 が最大の独立集合)とすると,任意のS0 ⊂Sについて次の式が成り立つ.
∑
s∈S0
xs,i≤ |I|, i∈K (3.8)
ホール H ⊂Sにおいて,|H|が奇数である場合を考える.Hがホールであるとき,次の式 が成り立つ.
∑
s∈H
xs,i ≤ b|H|
2 c (3.9)
!"#!"#!! %"&'()! $"$#%! &"*+,$#%!
' !! ( !! )
' ( )
*+!
' (
)
!!
%! !! !!
' ( )
*+!
' (
)
!
% ! !
' ( )
*+######,########-#
,########*+######-#
,########-#######*+! ."-#.!
図 3.3: 無矛盾DFA問題のためのカット
アンチホール A⊂Sがアンチホール(ホールのエッジに関する補集合)であるとき,次の式 が成り立つ
∑
s∈A
xs,i ≤2, i∈K (3.10)
マージ すべて同じ色に彩色可能なS0 ⊂Sについて考える.このとき,t∈S−S0も同じ色 になる場合,違う色になる場合,t, u ∈ S−S0が異なる色になる場合について,それ ぞれ次の式が成り立つ.
∑
s∈S0
xs,i−xt,i ≤ |S0| −1
∑
s∈S0
xs,i+xt,i ≤ |S0|
∑
s∈S0
xs,i+xt,i+xu,i ≤ |S0|+ 1
(3.11)
この制約条件は無矛盾DFAに関して独特のカットであり,グラフ彩色問題では成立し ない.
これらのカットが実際に問題を解く過程でどの程度現れるかを実験的に調査した.実験で は同じ条件でランダムに事例集合を生成する.CPLEXにおける分枝限定法の各ノードにお いてカットの制約違反を発見し,カットを挿入する.実験において,実行時間を最大30分
34 第3章 最小無矛盾決定性有限オートマトン生成問題 表 3.1: カットの生成個数:APTA状態数:243.4 DFA状態数:10(5回の平均)
なし +クリーク +独立集合 +ホール +アンチホール +マージ
クリーク 551 580.6 569.6 578.6 673.6
独立集合 22.4 18.6 23 4
ホール 106.8 96.8 433.2
アンチホール 4 130.8
マージ 1863.8
LP回数 237.4 54 105.2 83.4 93.2 85.6
Lower 3.616 3.438 3.438 3.438 3.438 3.438
最大目的関数値 7.2 5.625 5.85 6.4 5.253 3.438
表 3.2: カットの生成個数:APTA状態数:132.2 DFA状態数:13.2(5回の平均)
なし +クリーク +独立集合 +ホール +アンチホール +マージ
クリーク 2563 2528 2671 1758 8062
独立集合 12.2 24.8 0.8 13.6
ホール 1060 34.4 396.8
アンチホール 15.6 42.8
マージ 172.6
LP回数 766 158.6 166.4 213.8 28.8 151.8
Lower 6.2 7.55 7.55 7.55 7.35 7.95
最大目的関数値 12.8 12 11.8 10.62 7.35 7.95
にした.実験結果として,同じ条件で各5回試行した平均値を示す.表3.1と表3.1に結果 を示す.左から右にカットの種類が増えていく.表からは多くの各カットが挿入されている ことがわかる.これにより,カットはMILPでの解法の効率化に貢献することが期待できる ことがわかる.30分実行した結果では,表3.1では下限値を向上する(Lowerは分枝前の下 界値を示す)ことには貢献していないが,表3.2では貢献している結果が出ている.これは,
カット生成はコストの高い処理であるため,整数緩和問題をたくさん解けないことが原因だ と考えられる.その他に,表3.2では最大の目的関数値を下げる,つまり無駄な分枝を抑制 している効果が得られている.
しかしながら,MILPによるアプローチは現在のところ次節で述べるSATによるアプロー チにに比べて計算時間の点で劣ると考えている.これは,MILPの分枝限定法において整数 解が得られにくく,結果として分枝操作の回数が多くなり,最適性の証明に非常に時間がか かるためである.
3.4.5 まとめ
本節では,MILPによる最小無矛盾DFAの問題記述について述べた.実験結果はMILPに よるアプローチが本問題に対してあまり強力ではないことを示している.この理由としては,
MILPを解いている過程で,下界値が上がらないことが挙げられる.本節ではグラフ彩色問
題で用いられているものを中心にカットを導入した.カットの導入によって,下界値が向上 することが実験的に認められたが,大きな問題が解けるほどは有効でないと考えられる.グ ラフ彩色問題ではMILPによるアプローチがかなり有効であることから,遷移に関する規則 が最適値と下界値のギャップを生み出していると考えられる.