内容要旨 | | 人工知能における様々な理論と応用の問題が制約充足問題(Constraint Satisfaction Problem:CSP)に帰着できる.例えば,図面理解やスケジューリングなどの組み合わせ探索を含むような問題は,制約充足問題としてよく研究されている.制約充足問題の解法は人工知能の基礎技術として重要な位置をしめている. このような制約充足問題を解く一般的な解法としては,バックトラックアルゴリズムに基づくものと局所探索(Local Search:LS)の反復改善に基づくものがある.さらに,無駄な探索をなるべく減らして探索空間を絞るために,様々な整合アルゴリズム(Consistency Algorithm:CA)が近年提案されている.一方,すべての制約を満たすことが困難或いは不可能な場合,なるべく数多くの制約を満たす,いわゆる最大制約充足問題(MAX CSP),不完全制約充足問題(Partial CSP:PCSP)の研究も近年注目されている.しかし,このような過制約問題(over constraint problem)の研究に対して,すべての制約を満たす解(厳密解)が多数存在する場合,何らかの解の評価関数を用いてよりよい解或いは最適解を求める,いわゆる制約最適化問題(Constraint Optimization Problem:COP)の研究はまだ十分に研究されていない.通常CSPでは,すべての制約を満たす解の一つを求めればよい.これに対して,COPでは「制約充足」と評価関数値の「最適化」の両方を考慮しなければならない.つまり,COPがCSPより困難な問題である.通常のCSPを解くアルゴリズムを用いて,COPを解く場合,解の精度或いは計算時間の面で効率が悪いので,新しい方法の研究が必要となる. 一方,オペレーションズリサーチ(Operations Research:OR)または数理計画の分野においては,長い間に研究された様々な最適化問題を解くアルゴリズムが存在する.特に,線形計画法には,単体法(simplex法)という非常に効率的な解法が存在し,広く使われている.例えば,もともと人工知能領域の推論問題としてのコストに基づくアブダクション問題と仮説推論問題などを0-1整数計画問題に帰着し,それから単体法を応用すれば,効率的に解決できる.「AIとORは,どちらのほうがよいか」ではなく,両方を有効的に融合することが非常に重要であると思われる. 我々はCOP,特に,COPの変数の値に対する重み付きのCOP(Value-based COP:VCOP)を研究対象として,数理計画法を利用した近似解法を提案している.まずVCOPを0-1整数線形計画問題(0-1 Integer Linear Programming:ILP)に帰着し,それに対応する連続緩和の線形計画問題(Linear Programming:LP)の実数最適解を求める.そして,実数最適解の周りの局所探索により整数最適解或いは良い整数近似解を求める.本論文では,この方法の特徴,原理,アルゴリズム及び評価などの詳しい内容を示す.従来の局所探索手法に比較すると,一番大きな特徴は,「数理計画法」+「局所探索」という点である. この方法は、近似解法として,緩い制約問題に対して平均的に解の精度においても,計算時間においても通常の局所探索法よりよいことがランダムに生成されたVCOPの例題に対する実験結果から分かる.下の図はこの方法の構成図である. 図表 図に示すように,場合によって線形計画法の性質及び実数最適解を利用して,ILPは解がない或いは実数最適解自体が最適解であるのを判断することが可能である.通常の局所探索法では,終了条件として時間或いは反復回数の限定により設定され、解が無くても,途中で最適解を求められても,このような限定値に至るまでに終了しないため、「無解」か「最適解」かのようなことを判断することができない.もちろん,整数解がないかつ実数解が存在する場合には,ILPも「無解」のような判断ができない. 我々は,VCOPをILPに帰着する方法として,値に基づく帰着法(略称して,値帰着法)とアークに基づく帰着法(略称して,アーク帰着法)を提案している.値帰着法ではVCOPの一つの値をILPの一つの0-1変数に対応させ,アーク帰着法ではVCOPの一つのアークをILPの一つの0-1変数に対応させる.後者はたくさんのアーク変数を用いるので,ILPを解くための計算時間が前者よりかかるが,前者に比べてよりよい実数最適解を求めることが可能である. 局所探索法として,GSAT(Greedy Local Search Algorithm for Sat Problem)とGLS(Guided Local Search)が典型的である.前者は,特にSAT問題によく使われ,非常に有名な手法である.後者は,近年提案され,制約充足問題だけではなく,一般な組み合わせ最適化問題にも適すると思われているが,まだ広く知られていないようである.GSATは局所最適解から脱出するために,ランダムにリスタート戦略を用いている.これに対して,GLSは,局所最適解から抜け出すために,毎回局所最適解の「最悪」の特徴(feature)に対して,罰金(penalty)を与えることによって,拡張コスト関数(augmented cost function)を修正する.このような修正により探索を再開できる. 一方,GSATとGLSに対して,我々は緩和問題の実数最適解を探索の初期値に設定する.探索空間を二つの領域,すなわち実数最適解の周りと実数最適解から離れた部分の領域に分ける.探索の戦略として,実数最適解の周りを優先的に探索し,その中の良い近似解を早く見出す.具体的なアルゴリズムとして,GLSのような罰金を持っている拡張コスト関数を用いる.拡張コスト関数には,探索を実数最適解の周りに集中させるための実数最適解ガイド項或いは関数と呼ばれる部分を追加している. 数理計画法と局所探索の橋渡しの役割を果たす実数最適解は,解空間に関する非常に重要な「大局の最適化の情報」を持っているから,これを十分に生かせば,効率よい近似法を発現する可能性があると考えられる.本研究はこのような試みの一つであるとも言える. |