平成9年度 委託研究ソフトウェアの提案

(17) 階層連立1次方程式のための効率的解消系の開発

  
研究代表者: 松岡 聡 助教授
東京工業大学大学院 情報理工学研究科 数理・計算科学専攻



[目次]

  1. 研究の背景
  2. 研究の目的
  3. 研究内容
  4. 研究体制/研究方法
  5. 想定されるソフトウェア成果

[研究の背景]

制約とは宣言的関係として表現された知識であり,とくに自動管理メカニズム による知識処理手法の提供を意図するものである.制約に関する研究は,1970 年代後半のSussmanとSteeleによるCONSTRAINTSシステムや,Borningによる ThingLabシステムなどの研究に始まり,1980年代後半にJaffarらのCLP(R)に代 表される制約論理型言語の登場によりさらなる盛上りを見せ,知識処理研究に おける最重要分野の1つとして広く認識されるようになった.その応用はエキ スパートシステムのような知識処理だけでなく,対話型ユーザーインターフェ ースの構築や,ドローイングツールのようなエンドユーザー向けアプリケーシ ョンにおける利用など多種多様であり,今後ますますの広がりが期待される.

制約ベースのシステムの能力を特徴付ける最も基本的な基準として,従来多く のシステムで採用されてきた古典的な単調制約解消と,制約階層などのより先 進的な非単調制約解消がある.非単調制約解消では,いわゆるデフォルトの制 約を扱うことができる.一般に制約を過不足なく指定することは困難であり, 柔軟な解集合の制御を実現する非単調制約解消は,複雑な実世界の問題のモデ ル化により適している.とくに制約階層は,強さと呼ばれる優先度を表現する ための任意個のレベルを提供する,理論的に洗練された体系を持ち,同時に DeltaBlueなどの効率的な制約解消アルゴリズムが存在することで知られ,階 層的制約論理型言語や対話型ユーザーインターフェースへの応用が盛んに研究 されている.


[研究の目的]

制約階層には効率的な解消系が多数開発されている.とくに,Borningらの DeltaBlueアルゴリズムに起源する,局所伝播法というグラフアルゴリズムに 基づく制約解消系に関して様々な研究が行われてきた.局所伝播法は,多方向 制約と呼ばれるデータフロー制約を扱い,制約階層をデータフローグラフとし て管理する.

一方,制約階層を効率的に解く数値的解消系はほとんど見られない.1次方程 式からなる制約階層を扱うシステムは数多いが,このような理由により,その 多くが局所伝播法に基づく制約解消系を採用している.しかし,局所伝播法で 扱う多方向制約は1次方程式とは本質的に異なるため,実行時に誤った解が得 られたり,エラーで停止するなどの問題が生じ,システムの信頼性が低下する.

本研究の目的は,1次方程式からなる制約階層を解く健全かつ完全な解消系を 開発することである.我々はすでに,階層連立1次方程式(hierarhical linear system,HLS)という,1次方程式からなる制約階層に関する新しい定式化を提 案し,消去法とLU分解による2種類の健全かつ完全なアルゴリズムを設計した [1].HLSの理論およびアルゴリズムは線形代数と線形計算を基礎としており, 従来のグラフ理論を基礎とする局所伝播法と異なり,1次方程式を適切に扱う ことができるという特徴を持つ.本研究では,HLSの理論とアルゴリズムを活 かして信頼性の高く効率的な制約解消系を実装し,制約ベースシステムの開発 者が容易に制約階層を導入できるよう,実用的なパッケージとして制約解消系 を提供することを目標とする.


[研究内容]

最初に,制約階層の1次方程式への特殊化として我々が[1]で提案した階層連立 1次方程式(HLS)の理論について説明する.HLSは,n個の変数x1,x2,…,xnに 関する以下のようなm個の1次方程式の順序集合として定義される.

a11 * x1 + a12 * x2 + … + a1n * xn = c1
a21 * x1 + a22 * x2 + … + a2n * xn = c2
:
am1 * x1 + am2 * x2 + … + amn * xn = cm

ここでaijは第i方程式における第j変数の係数を,ciは第i方程式の定数項を表 している.直観的には,iが大きいほど方程式は弱い.この性質は次のように 解を定義することにより得られる.以下で,ak = (ak1, ak2, … , akn)とす る.

x = (x1,x2,…,xn)が上のHLSの解であるのは次の条件が成立するときであ り,かつそのときに限る.

∀i. ¬hdep(i) ⇒ ai・x = ci

ただし,hdep(i) (第i方程式が階層従属である)は,次のように定義される.

hdep(i) ≡ ∃α1 … ∃αi-1. ai = α1 a1 + … + αi-1 ai-1

この定義により,第i方程式が階層従属であるとき,その係数は先行する方程 式の係数に対して1次従属である.ゆえに,第i方程式は先行する式に対して冗 長であるか,矛盾しているかの一方である.よって,解の条件は,先行する方 程式に矛盾する式を無視することと解釈できる.この条件は制約階層の理論に おけるlocally-predicate-betterという基準に対応することが証明でき,HLS は制約階層の特殊化として理論的に説明できる.

さらに我々はHLSを解く2種類の健全かつ完全なアルゴリズムを設計した(制約 階層からHLSへの変換では一般に解集合が削減されるため,ここでいう完全性 は制約階層に関して言及したものではない.しかし,DeltaBlueなどの局所伝 播法アルゴリズムでは解を高々1つしか求め得ないことから,むしろ我々のア ルゴリズムの方が強力であるといってよい).通常の非階層的な連立1次方程式 を解くガウスの消去法を基礎としたアルゴリズムと,行列のLU分解を行うクラ ウト法を応用したアルゴリズムである.これらのアルゴリズムで鍵となるアイ デアは,我々がHLS理論に関連して示した「持上げ」の補題である.これは, あるHLSにおいて階層独立な(階層従属でない)方程式を持ち上げる,すなわち 順序集合でより前の位置に移動することによって作れらた新しいHLSの解集合 が,元のHLSの解集合と等しいことをいう.我々は,階層独立な方程式の検出 と持上げが,ガウスの消去法とクラウト法における部分ピボット選択を修正す ることによって実現できることを示し,効率的アルゴリズムを達成した.

本研究では,HLSを利用することにより,健全かつ完全な効率的制約解消系を 開発する.これは1次方程式の制約階層のための最初の実用的解消系である. 制約解消系の健全性と完全性は,それを用いるシステムの信頼性を保証する, 制約解消系にとって不可欠な性質である.従来,1次方程式の制約階層を利用 するために,局所伝播法アルゴリズムに基づく健全性も完全性も持たない制約 解消系を採用し,多数のシステムが作成されてきたことを考えると,本研究の 意義は極めて大きい.

この制約解消系には我々が設計したLU分解アルゴリズムを採用する.このアル ゴリズムを用いる場合,方程式の定数項が変化しても全体を解き直す必要がな いという利点がある.この性質は,外的要因によって繰り返し値が更新される 変数が存在するという状況で有効である.例えば対話型ユーザーインターフェ ースにおいて,マウスを用いてオブジェクトをドラッグするような状況が相当 する.これは従来の局所伝播法に基づく制約解消系におけるプランニングおよ び実行の2段階解消に対応し,制約解消系に望まれる重要な性質を実現できる ことを意味する.

これまで,制約階層の解消系の研究は局所伝播法に関するものが主流だった. しかしすでに述べたように,実用における要求に対し,局所伝播法が十分に応 えていたとは言い難い.我々が本研究で制約解消系を開発し配布することは, HLSという,局所伝播法とは異なる新たな視点を広く提供することであり,こ の分野の発展に貢献するものである.

最後に本研究に関連する研究提案者らの論文を示す.

[1] Hiroshi Hosobe, Satoshi Matsuoka, and Akinori Yonezawa,
"Hierarchical Linear Systems: A Simplified Constraint Hierarchy Theory with Efficient Algorithms," 1997, 15 pages (Submitted).

[2] Hiroshi Hosobe, Satoshi Matsuoka, and Akinori Yonezawa,
"Generalized Local Propagation: A Framework for Solving Constraint Hierarchies," in Proc. of the Second International Conference of Principles and Practice of Constraint Programming, no. 1118 in Lecture Notes in Computer Science, Springer-Verlag, Aug. 1996, pp. 237-251.

[3] Hiroshi Hosobe, Ken Miyashita, Shin Takahashi, Satoshi Matsuoka, and Akinori Yonezawa, "Locally Simultaneous Constraint Satisfaction," in Proc. of the Second International Workshop of Principles and Practice of Constraint Programming, no. 874 in Lecture Notes in Computer Science, Springer-Verlag, Oct. 1994, pp. 51-62.

[4] Ken Miyashita, Satoshi Matsuoka, Shin Takahashi, and Akinori Yonezawa, "Interactive Generation of Graphical User Interfaces by Multiple Visual Examples," in Proc. of the ACM Symposium of User Interface Software and Technology, Nov. 1994, pp. 85-94.


[研究体制/研究方法]

(1) 研究体制

                         
   氏 名 所  属
研究代表者松岡 聡東工大 情報理工学 数理・計算科学
研究協力者細部博史東大 理学系 情報科学/学振特別研究員(DC2)


(2) 研究の方法

  1. 我々が考案した階層連立1次方程式のためのLU分解アルゴリズムをもとに, 制約解消系を設計する.このとき,既存の制約階層の解消系を利用する上での プログラミングスタイルを継承できるよう配慮する.

  2. この設計に基づき,C++を用いて制約解消系を実装する.アルゴリズムの性 能が十分に発揮できるよう,効率面に関して十分に留意する.

  3. 実装した制約解消系について様々なベンチマークを用いて基礎的な性能評 価を行う.この結果に基づき,制約解消系の性能向上を試みる.

  4. 制約解消系を利用して,対話型ユーザーインターフェースを備えたサンプ ルアプリケーションを作成する.

  5. サンプルアプリケーションを利用して実地的な性能評価を行う.必要に応 じて制約解消系の改良を行い,その実用的性能を向上する.


[想定されるソフトウェア成果]

(1)作成されるソフトウェア名称

階層連立1次方程式のための解消系パッケージ HiRise

(2)そのソフトウェアの機能/役割/特徴

HiRiseは階層連立1次方程式(HLS)を解くソフトウェアパッケージである.制約 ベースのシステムを開発する際にライブラリとして組み込むことにより,その 核となる制約解消系の機能を提供する.

HiRiseが扱うHLSは,1次方程式からなる制約階層の一種として見なすことがで きる.このような制約階層の解消系に対する需要は極めて多く,様々なシステ ムにおいてDeltaBlueまたはSkyBlueが制約解消系として利用されている.しか し,本来これらは多方向制約を扱うものであり,1次方程式を利用する際には 種々の問題を生じる.例えばDeltaBlueでは,真に方程式の連立が必要な場合 に正しい解を得ることができない.これは多方向制約の間に生じる循環的な依 存関係を適切に処理できないためである.また,SkyBlueではこの問題をcycle solverの導入によってある程度解決しているが,それも完全ではなく,循環の 中に冗長な制約や矛盾する制約が存在する場合にはやはり適切に処理できない.

HiRiseはこれらの問題を解決した,1次方程式のための健全かつ完全な最初の 制約階層解消系である.HiRiseは線形代数と線形計算を理論的基礎とし, DeltaBlueやSkyBlueなどとは異なる数値的方法により制約解消を行う.また, 従来の制約階層を用いる場合のプログラミングスタイルを維持できるように, DeltaBlueのような適度なレベル分割,stay制約およびedit制約の利用,プラ ンニングと実行の2段階解消といった機能も提供する.これらの特徴により, 多くのシステムにおいてDeltaBlueまたはSkyBlueの置換えとして利用でき,そ の導入によって信頼性が向上される.

(3)ソフトウェアの構成/構造

本ソフトウェアは,HiRise制約解消系本体,アプリケーションプログラミング インターフェース(API)提供部,サンプルアプリケーションの3つの部分から構 成される.

  1. 制約解消系本体は本ソフトウェアの主要部分であり,実際にHLSの解消を行 う.

  2. API提供部はアプリケーションから制約解消系本体へのアクセスの仲介を担 当する.ここでは,制約解消系にとっては本質的でないが,その利用を容易に するようなユーティリティーを提供する.例えば,1次方程式の制約をテキス トとして表現できるようにするパーザーなどである.

  3. サンプルアプリケーションは,実際にHiRise制約解消系を利用するプログ ラムである.詳細は未定であるが,HiRiseの長所を活用した対話型ユーザーイ ンターフェースを備えたアプリケーションとして作成する予定である.HiRise の利用者はこれを参考として独自のプログラムを開発することができる.

(4)参考とされたICOTフリーソフトウェアとの関連

関連なし

(5)使用予定言語および動作環境/必要とされるソフトウェア・パッケージ/ポータビリティなど

開発にはC++を使用する.解消系本体およびAPI提供部はとくにプラットフォー ム依存なしに,汎用的に実装する.これらはC++以外の言語への移植も容易で ある.

一方,サンプルアプリケーションはユーザーインターフェースの作成が主体と なるため,プログラムはプラットフォームに依存せざるを得ない.これについ ては,Visual C++を用いてWindows 95/NT上で動作するものを開発する予定で ある.

(6)ソフトウェアの予想サイズ(新規作成分の行数)

ソフトウェアのサイズは以下の程度になると予想される.

解消系本体 3000行
解消系API提供部 2000行
サンプルアプリケーション 3000行

スクラッチから作成するため,これらは全て新規作成分である.

(7)ソフトウェアの利用形態

HiRiseは,制約ベースのシステムにおいて,その核となる制約解消系として動 作するライブラリパッケージである.

同様の用途では現在,DeltaBlueまたはSkyBlueが多く利用されている.しかし, これらの解消系で1次方程式を制約として利用する場合には注意が必要である. 例えば,DeltaBlueは制約の循環を許さないため,制約が木構造をなしていな ければならない.またSkyBlueでは,循環が存在する場合,その中に冗長な制 約や矛盾する制約が出現しないようにしなければならない.このような制限の 存在により,プログラマーは制約が解かれた形をある程度事前に考慮する必要 がある.これは制約の利用という観点からは本末転倒といえる.

一方,HiRiseは健全かつ完全な制約解消系であり,プログラマーはこのような 不自由から解放される.構文的に許される限り,いかなる制約も指定できるた め,プログラマーの負担は極めて軽減される.またこの特徴は,制約がプログ ラマーによって直接指定されないようなシステムではさらに有効である.例え ばドローイングツールなどでユーザーが図形間の制約を指定すような場合や, 実演によるプログラミングなどで推論によって制約が自動生成されるような場 合である.このようなシステムの作成にHiRiseを利用すれば,その健全性と完 全性のために,システムの信頼性が著しく向上する.

(8)添付予定資料

HiRiseはシステム開発者がライブラリとして利用するパッケージであるため, プログラミングに十分な情報をマニュアルとして添付する.その中にはサンプ ルアプリケーションを用いた説明なども含まれる.


www-admin@icot.or.jp