• Tidak ada hasil yang ditemukan

第 3 章 最小無矛盾決定性有限オートマト ン生成問題

3. APTA

3.5 最小無矛盾 DFA 問題に対する SAT アプローチ

3.5.1 SAT による従来解法

3.5.2.5 数値実験

本節では,提案手法に関する数値実験について述べる.数値実験は,二つのベンチマークを 用いた.一つは,Abbadingoにおいてベンチマーク問題2 として公開されているものである.

もう一つは,ランダムに生成したDFAから生成される事例を使う.実験では,使用言語は Python2.5.5を用い,MILPソルバーとしてCPLEX12.1,SATソルバーとしてCLASP13.1[17]

を利用した.

3.5.2.5.1 Abbadingoコンペティションでのベンチマークによる評価

このベンチマーク問題は4状態から21状態のDFAからランダムに生成された長さ0か ら29の文字列が提示されている.ラベル数が2以上(実際は2)の770個のデータセット からなっている.入力記号数は2,出力記号数は2である.記号列数は516から549であっ た.作成されたAPTAに関して,状態数は497から530であった.密度(実際の遷移数/可 能な遷移数)の平均はすべての事例についてほぼ0.96であり,ほとんどの状態で2種類の入 力記号に対して遷移が定義されていることになる.また,全ての状態について,一つの出力 記号を持っている.隣接グラフ(二つの状態がマージできない場合は辺を持ち,マージでき る場合は辺を持たない)の密度(実際の辺の数/可能な辺の数)は,最低0.02,最大0.64, 平均0.51であった.770個のデータセット中,ヒューリスティックに求めた最小無矛盾の彩

2http://algos.inesc.pt/˜aml/tar files/moore dfas.tar.gz

42 第3章 最小無矛盾決定性有限オートマトン生成問題

図 3.5: 最大クリークのサイズの比較

色数と最大クリークの状態数が一致した事例が286個あり,これらは評価より除外する.ま ず,ヒューリスティックに求めた最大クリークのサイズとMILPソルバーを使って厳密に求 めた最大クリークのサイズを比較する.図3.5は全体的な傾向をグラフ化したものであるが,

(厳密な最大クリーク-近似による最大クリーク)は最大4,最小0,平均0.92,分散0.99で あり,ヒューリスティックな手法により求められた最大クリークはかなり良い近似を与えて いる.図3.6は(最小の彩色数-最大クリークの状態数)をグラフ化した.図3.6を見ると,最 大クリークの最適解を求めることで,最適解との差が縮まっていることがわかる.

この実験データにおいては,最大クリークと最適解の差が小さいことから,SATを使った 厳密解の算出では,最大クリークの数から一つづつ彩色数を増やし,最初に見つけた無矛盾 DFAを最小無矛盾DFA問題の解とする.このとき,ヒューリスティックに求めた最大クリー クを使ってSATで解いた場合に必要な時間とMILPで最大クリークを厳密に求めSATで解 いた場合の合計時間を比較する.図3.7に示したように,一次式で近似した場合の傾きから,

平均的にはMILPの厳密解を使うことで50%の時間で解が求められていることがわかる.図 3.8にはMILPによる最大クリークがヒューリスティックによる最小無矛盾DFAの彩色数と 一致しなかった484データセットについて,SAT一回当たりの平均時間をグラフ化した.こ のグラフより,MILPによる最大クリークを用いることによって平均70%の時間で解が求ま ることがわかる.これはSATにおいて固定される色が増えたことによると考えられる.

このデータセットの場合,ヒューリスティックに最大クリークを求める平均時間は0.31秒 であるのに対し,MILPにより最大クリークを求める平均時間は6.46秒と非常に高速であり,

SATで解く時間を考えた時にMILPによる最大クリークを用いる利点は大きい.図3.9に最 小彩色数に対する計算時間を示した.SATで解くべき変数が増えることから最小彩色数が増 えると計算時間も増える傾向にあるが,MILPによって最大クリークの最適解を得ることで,

図 3.6: 最適値と最大クリークの比較

計算時間の短縮に効果があることが分かった.

3.5.2.5.2 ランダムに生成したデータセットによる数値実験

次に,ランダムに生成したDFAを使った実験結果について述べる.この場合,事例を生 成する元となるDFAの状態数は15とした.入力記号・出力記号ともに2種類である.最大 記号列長は15とし,最低は1とした.生成した事例数は,300,400,800とし,各10回ず つ同じDFAより事例を生成した.この実験では,比較的スパースなAPTAを生成している.

APTAの平均密度は0.8,出力記号が一つである状態数の割合は0.35,隣接グラフの密度は 0.08である.APTAの状態数は,各事例数について,平均965,1227,2101であった.

各事例数について,(最小彩色数-最大クリークサイズ)の平均は,ヒューリスティックによ る最大クリークでは,4.4,2.7,2.1であり,MILPによる最大クリークでは,2.9,2.3,1.8 となった.事例数が増えるとヒューリスティックによる最大クリークの値がよくなっている.

SATによる探索の手法として,最大クリークから一つずつ彩色数を増やす場合と,ヒュー リスティックに求めた最小無矛盾DFAの彩色数から一つずつ減らす場合と,2分法で探索場 合の実行時間を比較する.図3.10はヒューリスティックによる最大クリークを用いた場合の グラフである.各データセットについて,下界値より探索した場合を1とした時間をプロッ トしている.これらをみると,上から探索したものの計算時間が最も短いことがわかる.こ れは,多くのデータセットでヒューリスティックに生成した最小無矛盾DFAが厳密解である か,彩色数が近いことが原因である.MILPによって最大クリーク問題の厳密解を求める手 法についても実験を行った.この場合,SATについての計算時間自体は,最高で45%,最

悪で1.1倍,平均90%の計算時間で済む.ただし,隣接グラフがスパースであるため,MILP

で最大クリーク問題を解くのに多くの時間を必要とした.この場合,ヒューリスティックな

44 第3章 最小無矛盾決定性有限オートマトン生成問題

図 3.7: 解が求まるまでの時間比較(秒)

最大クリークを使ってSATで解く時間に比べ,最良で63%,最悪で41.1倍,平均12.1倍の 計算時間を必要とした.このような場合は,最大クリーク問題をMILPで解くのは好ましく ないことを示している.

  

3.5.2.6 まとめ

ヒューリスティックな手法,MILPによる手法,SATによる手法を組み合わせた最小無矛 盾DFA問題のハイブリッド解法を提案し,有効性を数値実験で検証した.Abbadingoベン チマーク問題のような密な隣接グラフを持つAPTAの場合,MILPによって高速に最大ク リーク問題を解くことができ,解を高速に求めることが示せた.隣接グラフが疎な場合は,

最大クリーク問題を解く時間が長いため,MILPを用いるのは不利である.また,ヒューリ スティックに見つけた上界とクリークによる下界を使った手法を提案し,効果があることを 確かめた.