The 19th Annual Conference of the Japanese Society for Artificial Intelligence, 2005

3C4-03定性シミュレータにおける因果モデル再利用による因果モデル作成支援の提案
A Causal Model Building Support System by Causal Model Reuse in Qualitative Simulator
小松 正樹 ∗1

松尾 徳朗 ∗1

大囿 忠親 ∗1

伊藤 孝行 ∗1∗2

新谷 虎松∗1

Masaki KOMATSU

Tokuro MATSUO

Tadachika OZONO

Takayuki ITOToramatsu SHINTANI∗1

名古屋工業大学大学院 工学研究科 情報工学専攻

Dept. of Computer Science and Engineering, Graduate School of Engineering, Nagoya Institute of Technology∗2DEAS, Harvard University.

In this paper, we propose a support system for qualitative simulation based on causal graph model reusing. In
qualitative simulation based on causal graph model, users make a qualitative simulation graph that consist of nodes
and arcs. When users make a causal model, they consider nodes that mean factors of economic dynamics and givearcs that indicate the relationships between each node. Users sometimes confuse a form of a causal model because
the graph becomes complication in large scale. When multiple arcs are cross, it is difficult for users to recognize
and know the whole relationships. To solve the problems, we propose the support method based on reserved rule
data and a partial graph model reserved in a library database. Using our system, users can build such models
without complicated works. When using the system, users register partial graph models as a ”library-model”. A
Library-model is used in making a causal graph model for the simulation. When users want to use a library-model,
they select appropriate a library-model from a set of reserved models. Users can reuse partial graph models andreserve new generated models for the subsequent simulation. Thus, our system can support users effectively inmaking qualitative simulation models providing rules and library-models.

1.

はじめに比較的な大規模な因果モデルを構築する際に，あらかじめ作成されたモデルを，別のモデルを作成する際に利用することで，負担を軽減するシステムを提案する．ユーザがシミュレーションを行う際に構築した因果モデルをライブラリとして再利用可能な形式で保存する．そして，別のシミュレーションを行う際に，ライブラリを利用することができる．
以下に本稿の構成を示す．第 2 章で，本研究の対象となる定性シミュレーションの説明を行う．第 3 章で，本稿で提案する因果モデル再利用による因果モデル構築支援の詳細について述べる．第 4 章で，本稿で示したシステムを実装したシミュレータについて述べる．第 5 章で，本研究について考察を行い，第 6 章で，本稿をまとめる．

本稿では，定性シミュレータにおける，因果モデルの作成を支援するシステムを提案する．定性シミュレーションは，人間の定性的な思考過程を分析，モデル化し応用した問題解決シス
テムに関する研究分野である，定性推論研究の一領域である．
従来の多くの定性シミュレーションでは，シミュレーションの対象となる系を定性微分方程式により表現して行われてきた．
しかし近年，定性微分方程式で表すことが出来ない系，または定性微分方程式を用いる必要が無い定性シミュレーションに関して，因果グラフベースの定性シミュレーションを用いた研究がなされている [Forbus 04][Matsuo 04]．
因果モデルベースの定性シミュレーションを行うには，シミュレーションの対象となる系を表現する因果モデルを構築する．因果モデルは，系の要素を表現したノードと，ノード同士の関係を表すアークで構成される．因果モデルを構築する際には，ノードを作成し，ノード同士をアークで接続する過程を繰り返す．したがって，従来の QSIM のようなテキストベースのシミュレータでは，因果モデルを構築するのが難しい．論文[Forbus 04][Matsuo 04] のように，ノードやアークをグラフィカルなインタフェースで配置，値の設定を行うことができるシミュレータが開発されている．これらのシミュレータでは，初心者でも，因果モデルの構築がしやすい．
しかし，既存に開発されているツールでは，因果モデル構築の支援に関しては考慮されていない．そこで本稿では，定性シミュレーションを行うユーザに因果モデル構築の支援を行うシステムを提案する．対象とする系の規模が大きく，構築する因果モデルの規模が大きくなると，ノードやアークの数が多くなり，ユーザにとって，因果モデル構築の作業が煩雑になる．

2.

定性シミュレーション

2.1

因果モデルにおける定義

因果モデルは，有向グラフとして示され，グラフの各ノードおよびアークはそれぞれ状態値および変化の方向を持つ．ここで，因果モデルに関する定義を以下に示す．
まず，ノードに関する定義を示す．
一般的に，定性シミュレーションでは，ランドマークを定義するが，本件急の現在の値をランドマークとして，その後の時間における状態値を表す定性値を定義する．
ノードは時刻ごとに状態値を持つ．社会シミュレーション等
におけるノードは，定量的な表現が困難であり，定性値表現する．一般的に，定性シミュレーションでは，定性値を定義するために境界値を定義するが，本研究の対象とするシミュレーションでは境界値の定義が困難である．そこで，現在の値を境界地として，その後の時刻における状態値を表す定性値を定義する．ノード x の時刻 t における，定性的状態値 [x(t)] を，表1 に定義する．
ノードの状態の変化方向を定性的に示す．変化方向は，ノードの状態値の定性的微分値に相当し，3 種類の定性値で定義す連絡先: 小松正樹，名古屋工業大学大学院工学研究科新谷研究室，〒 466-8555 名古屋市昭和区御器所町，052-733-6550，052-735-5584，masa@ics.nitech.ac.jp1

The 19th Annual Conference of the Japanese Society for Artificial Intelligence, 2005

[x(t)]
HML

表 1: ノードの定性的状態値
Qualitative states

D(x, y)In the next step, [x(t)] is higher
than in the current step.
In the next step,[x(t)] is lower or higher
than in the current step.
In the next step, [x(t)] is lower
than in the current step.

V0V1V?

表 4: 影響の伝播速度
Direction of effects

Node x’s value gives an effect to node y’svalue immediately.
Node x’s value gives an effect to node y’svalue slowly.
The speed is unknown.

る．ノード x の時刻 t における状態の変化傾向 [δx(t)] は表 2に定義する．
表 2: ノードの状態の変化傾向[δ(t)] Qualitative changing stateISD[x(t)] is increasing.
[x(t)] is stable.
[x(t)] is decreasing.

図 1: 定性シミュレーションにおける因果モデルの例

す．示した結果は，初期値を含めた 9 ステップにおける定性値の時系列である．結果から，経済成長の兆候が見られ，物価やGDP 等が増加傾向にあることが分かる．

次に，ノード間を結ぶアークに関して定義する．原因ノードx から結果ノード y の状態に与える影響の方向 D(x, y) を表 3に定義する．

表 5: シミュレーション結果の例
表 3: 影響の方向D(x, y)+−

Direction of effects
When x’s state value increases / decrease, y’s
state value also increases / decrease.
When x’s state value decreases / increase, y’s
state value increases / decrease.

影響の伝播速度は，因果モデルに依存する．原因ノード xから結果ノード y への影響の伝播速度 V (x, y) を表 4 に定義する．
影響伝播において，瞬時にフィードバックされない系においては，V0 のアークの処理がすべて終了したところで，1 単位時間進める．次の単位時間で，遅れて伝播される影響に関して処理を行う．

2.2ノード時間→

Wages
PricesExportExchange
GDP
Tax
Consumption
ProductCompany+++++++++

3.

++++++−+++++++−++−−−+++++++++−+++−++++++−−+−−−−−−++++++++++++++++−+++−++

因果モデル再利用による因果モデル作成
支援

本章では，提案する因果モデル作成支援システムの詳細について述べる．まず，因果モデルを再利用するためのライブラリ化について述べ，次にライブラリ化した因果モデルの分類と，それぞれを用いた支援の提案について述べる．

定性シミュレーションの例

家購入における価格傾向を対象に定性シミュレーションを行った. 図 1 は定性シミュレーションにおける因果モデルの例
である．因果モデルはノードとアークからなる．アークはそれぞれ定性値 (D(x, y), V (x, y)) を持つ．D(x, y) はノード x からノード y に影響が伝播することを表す．また，V (x, y) は影響の伝播の速度である．
図 1 で示した因果モデルを用いて定性シミュレーションを行った．定性シミュレーションにおいて，ノードの値が，複数ノードからの影響で決定できない時は，影響する + （または − ）の数で決定する． + （または − ）の数が閾値（ユーザが設定）より多い時は，定性値は + （または − ）になる．また，定性値が閾値を越えない場合，定性値はランダムに決定される．これは，シミュレーションの結果を単一に決定するために必要である．シミュレーションの結果を表 5 に示

3.1

因果モデルのライブラリ化

提案システムでは，ユーザが定性シミュレーションを行う時に作成した因果モデルを，ライブラリとして保存する．ライ
ブラリとして保存した因果モデルをライブラリモデルと呼ぶ．
ライブラリモデルは，支援に用いるために，ライブラリモデル
名，ライブラリモデル内の各ノードとアークに関する情報，およびモデル外との接続に関する情報を持つソースコードに変換して保存される．図 2 は， 収入 から 消費 ， 所得税に + の影響が伝播し， 消費 から影響が発生する因果モデルである．図 2 の因果モデルのライブラリモデルのソースコードは以下のようになる．

2

The 19th Annual Conference of the Japanese Society for Artificial Intelligence, 2005

図 2: ライブラリモデルの例<librarymodel><modelname>家計モデル</modelname><nodes><node><name>収入</name><arcs><arc>消費, +, 1</arc><arc>所得税, +, 1</arc></arcs></node><node><name>消費</name><arcs><arc>#out</arc></arcs></node><node><name>所得税</name></node></nodes></librarymodel>

図 3: システムの実行例
クの数を入力する．システムは適合するノードとアークのライブラリモデルを複数提示し，ユーザは提示されたライブラリモデルの中で，求めるアークの接続の仕方に一致するものを選択する．

2) 入出力に注目したライブラリモデル 因果モデルを構築する
際に，作成する因果モデルの中に，部分的に詳細な挙動を把握できない，または把握する必要がない場合に有効に利用できる．例えば，家庭や企業といった閉じた社会の定性シミュレーションに用いた因果モデルをライブラリモデルとして登録しておく．その後，より広い地域等のシミュレーションを行う時に，家庭や企業を一つのノードとみなして，再利用することができる．部分的なモデルを一つのノードとみなすことで，グラフの規模の圧縮を行うことができ，必要な挙動の理解を容易にすることができる．入出力に注目したライブラリモデルを利用する時は，ユーザはシステムに求めるライブラリモデルの入力と出力の数を入力する．システムは適合する数の入出力を持つライブラリモデルを複数提示し，ユーザは提示されたライブラリモデルの中で，求めるモデルを選択する．

ソースコード中のライブラリモデル名（<modelname> タグ）
は，再利用する際に分かりやすいように，ユーザがライブラリ化の時につけることができる名前である．また， 消費 ノー
ドのアークにおける <arc> タグの値 #out は， 消費 ノー
ドからのアークは他のノードへ接続されるが，接続先が未定であり，ユーザが再利用する時に接続することを表している．また，各ライブラリモデルは，ユーザが再利用する時に，任意に再構築可能である．

3.2

4.

ライブラリモデルの分類と支援本システムでは，ユーザにより蓄積されたライブラリモデ
ルを用いて因果モデル構築支援を行う．ここで，ライブラリモデルは注目する点と支援法により，1) ノードの数に注目したライブラリモデル，2) 入出力に注目したライブラリモデル に分類できる．以下では 1)，2) のライブラリモデルの詳細について述べる．

シミュレータの実装

本研究で実装したシステムの実行例を図 3 に示す．本システ
ムは，GUI を用いてノード，アークを設定して因果モデルを構築する．本システムでは，木構造を用いて因果モデルを構築することができる [小松 05]．因果モデルの構築に木構造を用いることで，矛盾の含まれない因果モデルの作成を支援する．
シミュレーション結果をライブラリとして登録するには，メニューバーの Library から， Register を選択する．ライ
ブラリとして登録する時には，ユーザは因果モデルの説明をする名前をつける．図 4 はライブラリモデルの提示の例である．
登録されているライブラリモデルを利用するには，メニューバーの Library から Load を選択する． Load が選択されると，図 4 のウィンドウを提示する．ウィンドウが提示されると，ユーザはコンボボックスでライブラリモデルの種類を選択する．次に，ノードの数に注目したライブラリモデルの場合はノード数を，入出力に注目したライブラリモデルの場合は入力と出力の数をコンボボックスで選択する．値が選択されると，システムが選択された値に適合するライブラリモデルを提示し，必要なライブラリモデルをユーザに選択させる．

1) ノードの数に注目したライブラリモデル 比較的大規模な因果モデルは，すべのノードやアークを設置するのは煩雑な作業である．そこで，あらかじめノードとアークが接続された部分的なモデルを用意しておくことで，ユーザが行う作業量を軽減することができる．例えば，経済に関するシミュレーションを行い，シミュレーションに用いた因果モデルをライブラリモデルとして登録しておく．
その後，シミュレーションをさらに詳細に行おうとする時に，登録しておいてライブラリモデルを利用することで，因果モデル構築の負担を軽減することができる．ノードの数に注目したライブラリモデルを利用する時，ユーザは，システムに求めるライブラリモデルのノードとアー

3The 19th Annual Conference of the Japanese Society for Artificial Intelligence, 2005て，一致しない部分をモデルの作成間違いとして発見することができる．間違いを気づかせるアラートを提示したり，正しいモデルを提示して正しいモデルの構築に導くことができる．
本システムには以下の利点がある．第 1 に，本システムのユーザは複雑な操作をすることなく因果モデルの構築が可能である．第 2 に，入出力に注目したライブラリモデルを利用することで，シミュレーション対象の系を，部分的な系の集合として扱うことができる．第 3 に，作成した因果モデルを再利用可能なライブラリモデルとして保存することで，知識の共有が可能になる．

6.

おわりに

本稿では，因果モデルをライブラリ化し，再利用することによって，定性シミュレータにおける因果モデル構築の支援を行うシステムを提案した．また，提案システムを実装した定性シミュレータについて述べた．ユーザが本システムを繰り返し利用することで，シミュレーションの結果をライブラリとして蓄積することができる．ライブラリを蓄積することで，別のシミュレーションを行う際の因果モデル構築を支援をすることができる．また，システムがユーザの因果モデル作成状況を監視し，適切と思われるライブラリモデルをユーザへ提示する．
これにより，系に対する理解が不十分であったり，定性シミュレーションに不慣れな初心者でもシミュレーションを行うことが可能であると考えられる．

図 4: ライブラリモデルの提示

参考文献[Forbus 04] Kenneth D. Forbus, Karen Carney, Bruce LSherin, Leo C. Uree II: ”VModel: A visual qualitative modeling environment for middle-school students”, IAAI 2004 pp.820-827.
[Forbus 02] Kenneth D. Forbus: ”Helping Children Become Qualitative Modelers”, Journal of the JapaneseSociety for Artificial Intelligence, Vol. 17, No. 4,pp.471-479, 2002.

図 5: 次の操作の候補の提示[Matsuo 04] Tokuro MATSUO, Takayuki ITO, Toramatsu
SHINTANI: ”A Qualitative/Quantitative MethodsBased e-Learning Support System in Economic Education ”, Proc. of the 19th National Conference on
Artificial Intelligence.

また，本システムはユーザの因果モデル作成状況を監視する．ユーザが作成したノードと一致するノードをライブラリから検索し，一致するノードを持つライブラリモデルを推薦する．図 5 は，因果モデル作成中における，次の操作の候補の提示例である．システムは，図 5 のように，次にユーザが行うと予測される操作の提示を行う．

5.

[Matsuo 05] Tokuro MATSUO, Takayuki ITO, Toramatsu
SHINTANI: ”A Learning Support Method in Qualitative Simulation-based Economic Education”, Proc. ofthe 20th National Conference on Artificial Intelligence.
(to appear)考察

本 シ ミュレ ー タ の 応 用 例 と し て ，教 育 を 目 的 と し た 利
用 が 考 え ら れ る ．既 存 の 研 究 に お い て ，教 育 に お け る 定
性 シ ミュレ ー ション の 利 用 に 関 し て 多 く 提 案 さ れ て い る[Bredeweg 04][Forbus 02]．本システムを利用することで，系の理解を目的として定性シミュレーションを用いる際，教育者が学習者の理解を支援することができる．
因果モデルのライブラリ化をシミュレーションの熟練者や教育者が行うことで，シミュレーションの事例のライブラリを構築する．学習者がシミュレーションの学習を行う際，シミュレーション対象を十分に理解できておらず，因果モデルを構築できない場合がある．学習者が因果モデルを部分的にしか構築できていない時に，作成された不完全なモデル内のノードと，同じノードを持つライブラリモデルを提示して，次に行うべき操作のヒントを与えることができる．また，学習者が間違ったモデルを作成してしまった時に，ライブラリモデルと比較し[Bredeweg 04] Bert Bredeweg, Kenneth Forbus: ”Qualitative Modeling in Education”, AI magazine, Vol. 24,
No. 4, pp.35-46, American Association for ArtificialIntelligence, 2004.
[畑 95] 畑，大川，薦田: 定性シミュレーションにおける逆シミュレーション方式 ，電気学会論文誌 C，Vol.115,
No.11, pp.1369-1376, 1995 年[小松 05] 小松，松尾，大囿，伊藤，新谷: 定性シミュレータ
における木構造に基づく因果モデル作成支援システムの提案 ，第 67 回情報処理学会全国大会論文集, 2005 年 3月

4