:: DEVELOPER ::
インフルエンス・ダイアグラムを用いたHugin知識ベースの構築
インフルエンス・ダイアグラムは、意思決定によって動作するときに、ベイジアン・ネットワークに代わりに用いられる。
いくつかの拡張のために、純粋なBNでも意思決定のモデルを構築することは可能であるが、効用と決定のコンセプトを明確にはカバーされていない。インフルエンス・ダイアグラムは、単に効用ノードと決定ノードによって拡張されたBNである。
この2つの新しいタイプのノードがあるため、我々は従来タイプのノードにも名前をつける必要がある。我々は、これらのノードを確率ノード(chance
node)と呼ぶことにしよう。
BNのイントロダクションのリンゴの木の事例で構築したBNを拡張して、インフルエンス・ダイアグラムのコンセプトを説明しよう。.
リンゴの木の事例
再びアップル・ジャックのリンゴ農園に行こう。図1のBNを覚えているだろう。
 | | 図 1: "BNのイントダクション"で構築したBN. |
アップル・ジャックは、木にいくつかの処置を施すことにおいて、いくらかの資源を投入するかどうかを決定したい。これに関するモデルを構築するために、
まずネットワーク内にすでにあるのととてもよく似た3つのノードを追加する。新しいノードSick'、Dry'、Loses'は、古いノードと同様に表現する
- ただし、それは未来の収穫期である。これらのノードは図2のように追加される。
 | | 図2: 木の状態の収穫期の期待を表現する同様なノードの追加。 |
新しいノードは、古いノードと同じ状態にあるだろう: Sick' は "sick"
か "not"のどちらか - Dry' は "dry" か "not"のどちらか
- Loses' は"yes" か "no"のどちらかです。新しいモデルでは、古いSickノードから新しいSick'ノードと、古いDryノードから新しいDry'ノードの従属性が予想される。これは、現在木が病気で将来もそれが変わらないであろうことが、かなりもっともらしいということが予想されるからである。もちろん、従属性の強さは、我々がみる未来がどれぐらい遠いかにもよる。たぶん、LosesからLoses'にも従属性があるだろうが、このモデルの中では我々はそうしない。
アップル・ジャックは、彼の問題に関して何かをする機会がある。彼は、可能性のある病気を取り除くためのいくつかの治療によって、木を治そうとすることができる。 もし落葉が日照りによって引き起こされていると彼が考えるなら、彼はお金を節約して、ただ雨を待つだけだろう。木にいくつかの治療を施す行動は、BNに決定ノードを追加し、したがって、それはもはやBNではない。代わってインフルエンス・ダイアグラムが図3に示される。アクション・ノードは、長方形で表現される。
 | | 図3: 治療のための決定ノードの追加 |
治療の決定ノードは、状態 "treat" と "not"を持つ。これまで見たとおり、Treat から Sick'の矢印でインフルエンス・ダイアグラムをモデルした。これは、治療が未来の木の健康に影響を持つと期待されるからである。
インフルエンス・ダイアグラムが終了する前に、決定の期待される効用を計算できるようにするために、効用関数を指定する必要がある。これは、全体の効用の一部にそれぞれ寄与している効用ノードをダイアグラムに追加することによってなされる。効用ノードが図4に追加されている。効用ノードはひし形で表現される。
 | | 図4: アップル・ジャック農園で意思決定のために用いられたインフルエンス・ダイアグラムの完全な質的表現。 |
効用ノードCostは、治療の費用についての情報を集め、一方、Harvは収穫時点での効用を表現する。それは、Sick'が示す状態に依存、つまり、リンゴの生産は木の健康に依存する。
図4 は、インフルエンス・ダイアグラムの完全な質的表現を示す。量的表現も得るために、我々は、各チャンス・ノードについての条件つき確率表(CPT)と各効用ノードの効用表を構築する必要がある。決定ノードは、どのような表も持たない。
下記の表は、チャンス・ノードのCPTがどのように指定されるかの1つの方法を示す。
| Sick="sick" |
Sick="not" |
| 0.1 |
0.9 |
|
| 表 1: P(Sick). |
| Dry="dry" |
Dry="not" |
| 0.1 |
0.9 |
|
| 表 2: P(Dry). |
| |
Dry="dry" |
Dry="not" |
| Sick="sick" |
Sick="not" |
Sick="sick" |
Sick="not" |
| Loses="yes" |
0.95 |
0.85 |
0.90 |
0.02 |
| Loses="no" |
0.05 |
0.15 |
0.10 |
0.98 |
|
| 表 3: P(Loses | Sick, Dry). |
| |
Treat="treat" |
Treat="not" |
| Sick="sick" |
Sick="not" |
Sick="sick" |
Sick="not" |
| Sick'="sick" |
0.20 |
0.01 |
0.99 |
0.02 |
| Sick'="not" |
0.80 |
0.99 |
0.01 |
0.98 |
|
| 表 4: P(Sick' | Sick, Treat). |
| |
Dry="dry" |
Dry="not" |
| Dry'="dry" |
0.60 |
0.05 |
| Dry'="not" |
0.40 |
0.95 |
|
| 表 5: P(Dry' | Dry). |
| |
Dry'="dry" |
Dry'="not" |
| Sick'="sick" |
Sick'="not" |
Sick'="sick" |
Sick'="not" |
| Loses'="yes" |
0.95 |
0.85 |
0.90 |
0.02 |
| Loses'="no" |
0.05 |
0.15 |
0.10 |
0.98 |
|
| 表 6: P(Loses' | Sick', Dry'). |
下記の表は、効用ノードの効用表がどのように指定されれるかを示す。どのような単位を用いるべきかわかあなかったので、ヨーロッパ紙幣の中でランダムに抽出してポルトガルEscudosを得た。
| Sick'="sick" |
Sick'="not" |
| 3000 |
20000 |
|
| Table 7: U(Harv). |
| Treat="treat" |
Treat="not" |
| -8000 |
0 |
|
| Table 8: U(Cost). |
インフルエンス・ダイアグラムの目的は、最も高い効用が期待される治療ノードの行動を計算できるようにすることである。これは、コンピュータの助けなして行なうにはやりにくい仕事であり、我々はここでそれをしようとは思わない。その代わりに、我々はHugin GUIで、このインフルエンス・ダイアグラムをどのように実装して、計算をさせるか、について説明する2つのチュートリアルをお薦めする。
|