旅行計画支援システムにおける動的不完全制約充足の利用

旅行計画支援システムにおける動的不完全制約充足の利用
小島修一 新谷虎松 (名古屋工業大学)
1
はじめに
昨今では,様々な局面において,行動計画を設計し,計画に基づいて行動すること
が多い.計画の設計過程では,次の3つの原則が守られるべきである.(1) 常に各種要
求を満足するよう計画設計を行わなければならない.計画に対する要求の量が過大に
なり,全ての要求を満足できないような場合でも,可能な限り多くの要求を満足する
計画を設計できることが望ましい.(2) 計画の要素を容易に追加・変更できなければな
らない.計画の要素の動的な変更を可能とすることで,計画の設計の際にかかる負担
が軽減され,計画設計の能率が大きく向上する.また,計画設計の過程では,内容の
一部を変更せざるを得ない場合が生じうる.変更箇所を既存の計画に容易に反映させ
ることが可能ならば,より柔軟な計画設計が行えるようになる.(3) 内容の変更が計
画全体に及ぼす影響を最小にしなければならない.変更の影響を抑えることによって,
計画の大幅な変更によって生じうる混乱を防止でき,計画内容が把握しやすくなる.
本研究では,上記のような原則を満たす手段として,動的不完全制約充足の利用を
提案する.本稿では,旅行計画の決定支援を行うシステムを具体例として設定し,動
的不完全制約充足を旅行計画の設計に適用することで,上記 (1)(2)(3) の原則を満た
した計画設計が可能となることを示す.
2
動的不完全制約充足
本研究での枠組みに基づく計画設計では,計画の各種要素を変数とその値域,計画に
対する要求を制約として表現することで,計画を制約充足問題 (Constraint Satisfaction
Problem, CSP)[1] として定式化する.計画の変更は,図 1 のように,問題に対する,
変数及び制約の,追加または削除といった形で表される.変更が生じた場合,各変数
は,追加された制約を充足するよう再計算されなければならない.本研究では,問題
に対し,動的不完全制約充足を適用する.動的不完全制約充足は,制約の変化が起き
るような状況で使われる動的制約充足と,過制約となる可能性が高い状況において使
われる不完全制約充足との組み合わせである.動的不完全制約充足を利用することに
よる利点は,計画内容の変更や,計画に対する要求過多から生じる過制約などの状況
に対応可能となることである.
動的不完全制約充足では,動的制約充足の概念を処理に導入することで,任意のタ
イミングでの,変数や制約の挿入・削除をが可能としている.本研究では,動的制約
充足を実現する手法として,初期値利用法を採用している.初期値利用法は,以前の
問題の解を各変数の暫定的な初期値として,段階的に初期値を改善することにより次
の問題の解を得る,動的制約充足の一手法である.情報の更新が起こるごとに,以前
の解を初期値にして再計算を行う.動的制約充足の利用によって,計画の要素の動的
な変更が可能となり,変更を計画に容易に反映させることができる.また同時に,変
更の影響を小さくするという,計画の安定性が確保できる.
また,動的不完全制約充足で使用される制約は,必ず充足しなければならない制約
と,必ずしも充足する必要のない制約の2種類に分けられる.後者の制約には,その
制約が違反した場合のコストを表す重みが付加されている.制約充足の処理の際には,
制約条件に違反する制約の重みの和を算出することで,求められた制約充足の解の制
約違反度が判明する.動的不完全制約充足では,制約違反度が最小になるような解を
求めることが目標となる.不完全制約充足の概念を処理に導入することで,計画に対
図 1: 動的制約充足における計画内容の変更
する要求が過制約を起こしたときにも,与えられた条件の中で選択しうる最適な計画
を提示することが可能となる.
3
旅行計画支援システム
本研究では,動的不完全制約充足を利用した計画設計の適用例として,旅行計画支
援システムを実装した.旅行計画の設計は,時間配分などを試行錯誤する際に,計画
の変更が多く発生するため,本研究の適用例として適当であると考えられる.システ
ムは旅行のタイムテーブル作成を支援する.タイムテーブルは,旅行日程中に必要と
なる各種要素(目的地・イベントなど)の追加によって徐々に構築されていく.計画
立案者は,追加された各要素の時間的順序,優先度などを設定していくことで,タイ
ムテーブルに対する条件や選好を表明する.システムは,要素の追加・変更が行われ
るごとに,与えられた条件や選好を元にして,タイムテーブルを更新する.必要な全
ての要素が追加された時点でのタイムテーブルが,求める旅行計画となる.
システムに入力される各要素は,入力時点で,CSP を構成する変数に変換される.
各要素は,開始時間と終了時間を表す2つの変数で表現され,所要時間を表す制約で
連結される.付加要素が必要となった場合には,適宜変数が追加される.また,入力
された各要素の時間的順序,優先度などの情報は,それぞれの内容に対応した制約に
変換され,関係する変数間を連結する.
4
おわりに
本稿では,計画の設計を,求められる諸原則を満たしつつ行う手段として,動的不
完全制約充足の利用を提案した.また,適用例として旅行計画支援システムを実装し
た.動的不完全制約充足を利用することで,計画の設計に際し,要求の満足,容易な
内容変更,計画の大幅な変更の防止という原則を満足することが可能となった.
参考文献
[1] 横尾真, 平山勝敏, \CSP の新しい展開:分散/動的/不完全 CSP", 人工知能学会
誌 Vol. 12 No.3, pp 381{389, 1997.