制約処理に関する ミニサーベイ

Download Report

Transcript 制約処理に関する ミニサーベイ

制約処理に関する
ミニサーベイ
栗 原 正 仁
Contents

Hard constraints
•
•
•
•

Phase transition
Decision repair algorithm
Random solution generation
Partial order CSP
Soft constraints
• Weighted CSP
• Fuzzy CSP
• Semiring-based Soft CSP


Applications
More on fuzzy CSP: Con’flex
Phase transition
計
算
時
間
実行結果
アーク数/ノード数(制約密度)
グラフ彩色問題
(NP完全問題)
■指数関数的な時間がかかる領域(worst case)は限られている.
■アルゴリズムの性能は問題パラメータの微少変化で急変する.
物理学の相転移(例:温度領域による氷→水→水蒸気という急変)に類似
Gomes, Hogg, Walsh, Zhang: Phase transitions and structure in
combinatorial problems, AAAI-02 tutorial, 2002.
Decision repair algorithm
Systematic (tree)
search
Local (heuristic repair)
search
■部分的な割当てを逐次拡張
■フィルタリング(後戻り,先読み)
■完全性あり
■近傍の「傾斜」の利用
■完全性なし
■早期の決定の誤りに強い
■早期の決定の誤りに弱い
一連のdecisionにより
部分的な割当てを逐次拡張
■完全な割当てを逐次修復
矛盾する
割当て
Conflictを解消する
任意のdecisionを修復
Jussien, Lhomme: Local search with constraint propagation and
conflict-based heuristics, Artificial Intelligence 139, 21-45, 2002.
(an extended version of a prize-winning paper at AAAI-2000)
Random solution generation
問題 CSPの解を一様分布にしたがってランダムに生成したい
(例)
A,B,C,D:
{0,1}
A≦B
A≦C
A≦D
A≦E
17通りの解を
確率1/17で発生
最初にA=0,1を確率0.5でランダムに決定する
のは誤り
応用
ハードウェアのテストケースの自動生成
Dechter, Kask, Bin, Emek: Generating random solutions for
constraint satisfaction problems, Proc. AAAI-02, 15-21, 2002.
Partial order CSP
与えられた制約を満たす半順序を求める
x1  x 2 x 3 の BDD
半順序は閉路の
ない有向グラフ
で表現される
0 x1
1
x2 0
1
x3
0 0 1 1
半順序=推移性+非反射性
与えられた制約が単調性を満たすとき
推移性を不要とする条件を導出
応用
小さなサイズのBDDと
いうグラフ構造で解く
ソフトウェアの正しさの自動検証
Kurihara, Kondo: BDD encoding for partial order constraints and
its application to expert systems in software verification domains,
Proc. 2000 IEEE Int. Conf. on Systems, Man and Cybernetics,
2062-2067, 2000.
Weighted CSP
過制約(over-constrained)な問題(解がない)
W-CSP: 満たされた制約の重みの和を最大化する
弱問題
原問題
W-CSP
2次 0/1
計画問題
緩和
半正定値
計画問題
変数=0/1
目的関数=2次関数
近似度が理論的に
保証される
多項式時間で解く
SemiDefinite
Programming
W-CSP
近似解
弱問題の
実数解
乱数丸め法
原問題の
0/1解
Lau: A new approach for weighted constraint satisfaction,
Constraints, 7, 151-165, 2002.
Fuzzy CSP
過制約(over-constrained)な問題(解がない)
FCSP: 制約の満足度を[0,1]の実数値で表現.
満足度の最小値(ファジィ論理積)を最大化する(MAX-MIN基準)
元になるCSPに応じた2つの手法がある
系統的探索
反復改善
Meseguer, Larrosa: Solving fuzzy constraint satisfaction
problems, Proc. IEEE Int. Conf. on Fuzzy Systems, 1233-1238,
1997.
Wong, Leung: Extending GENET to solve fuzzy constraint
satisfaction problems, Proc. AAAI-98, 380-385, 1998.
Semiring-based soft CSP
SCSP
W-CSP, FCSP などのソフトCSPを統合した抽象モデル
半環という抽象代数構造を利用
制約半環=< A, +, ×, 0, 1 >
A:
+:
×:
0:
1:
集合(少なくとも0,1を要素として持つ)
交換則,結合則をみたす演算
結合則,+に対する分配則をみたす演算
+の単位元で,かつ×の吸収元
×の単位元
満足度の表現
最小0,最大1
満足度の大小を表現
a<b ⇔a+b=b
論理ANDの抽象化
種々のソフト制約充足問題に適用できる探索手法を
同時に統一的に論じることができる
Bistarelli, Codognet, Rossi: Abstracting soft constraints:
framework, properties, examples, Artificial Intelligence 139,
175-211, 2002.
Applications (1)
RCPSP/max と呼ばれる非常に現実性の高いスケジューリング問題を解
くCSP解法アルゴリズムを開発した.その手法は最小競合集合を大域的
に解析することによる競合解消を,反復サンプリングによる最適化アルゴ
リズムに組み込んだものである.
RCPSP/max
(resource constrained project scheduling problem with time windows)
V: 仕事の集合.所要時間は固定.開始時刻が変数.
E: 2つの仕事間i,jの時間制約の集合.一方の仕事の終了時刻と
他方の仕事の開始時刻は決められた時間内になくてはならない.
R: 再生可能な資源の集合.資源毎に総量が決められる.
各仕事毎に必要な資源の種類と量が決められている.
問題 制約をすべて満たすように,かつ最小の時間ですべての仕事が
終了するように,各仕事の開始時刻を定めよ.
Cesta, Oddi, Smith: An iterative sampling procedure for resource
constrained project scheduling with time window, Proc. IJCAI-99,
1022-1029, 1999.
Applications (2)
ネットワークのセキュリティ・プロトコルの1つとして知られる NeedhamSchroeder プロトコルの安全性はSCSP(ソフト制約充足問題)として定
式化できる.
SCSPの解の満足度がある値以下になると,そのネットワークはアタックさ
れる危機にある.
Bella, Bistarelli: SCSPs for modelling attacks to security
protocols, Proc. CP2000, Workshop on Soft Constraints, 1-16,
2000.
Applications (3)
ソフト制約充足問題の対話的ソルバーは,ユーザと対話しながらユーザ
の大域的な選好から局所的な制約を学習し,適切な満足度ユーザモデル
を自動構築する.
このようにユーザと学習モジュールを組み込んだソフト制約ソルバー間の
対話を通して,モデリングとその解決が交互に入り組むことになり,ユーザ
の最も満足のいく解を効率よく提示できる現実的な問題解決に役立つシ
ステムが構築できる.
Rossi: Aquiring both global and local preferences in interactive
constraint solving via machine learning techniques, Computer
Science Seminar, University College Cork, 2002.
More on fuzzy CSP: Con’flex





Fuzzy CSPを解く.独自のアルゴリズムを提
案しているわけではない?
変数には離散型や実数型がある.
区間算術により,変数ラベルの実数区間を縮
小したり分割する.
満足度は離散化して通常のCSPに帰着?
仏語のホームページでドキュメントとソフトを
配布(それ以外の情報はない?)
Interval arithmetic
x  [1, 4 ]
x  [1,10 ]
y  [ 3 ,8 ]
z  [ 2 ,7 ]
x y  z
y x
y  [ 3, 4 ]
z  [ 4 ,7 ]
x  [ 3, 4 ]
z  [ 6 ,7 ]