# オブジェクト指向ネットワーク入門

オブジェクト指向ネットワークは， 通常のノードに加えて，インスタンス・ノードを含むネットワーク（すなわち、ベイジアンネットワークまたはインフルエンス・ダイアグラム）である．インスタンス・ノードとは，他のネットワークのインスタンスを表現するノードである．言い換えると、インスタンス・ノードはサブ・ネットを表現する．したがって，標準的なオブジェクト指向の用語に則って， ブジェクト指向ネットワークはしばしばクラスと呼ばれる．もちろん，他のネットワーク中に存在するインスタンスのネットワークは，それ自身インスタンス・ノードを含むので，オブジェクト指向ネットワークは，問題領域の階層的記述（またはモデル）と見なすことができる．インスタンス・ノードを用いてネットワークを構築することの主要な利点には，下記に説明する３つのことがある．

モデル構築の活動では，要約のレベルを繰り返し変更することがよくある．つまり，トップダウン方式，ボトムアップ方式，または2つの混合が実行される．このようなフォーカスの繰り返し変更は，人間がシステムを階層的に要約することを自然に思うことと，複雑なシステムのすべての詳細を同時に把握するメンタルな能力の欠如に起因する．インスタンス・ノードの使用は，ネットワーク・モデルの構築において，さまざまな要約レベルでの作業のためのサポートを提供する．
システムはしばしば同一もしくはほとんど同一のコンポーネントのコレクションで構成されるので，システムのモデルはしばしば繰り返しパターンを含む（すなわち，普通の存在する解決または問題の種類）．ベイジアンネットワークとインフルエンス・ダイアグラムでは，このようなパターンは，ネットワーク・フラグメントである．インスタンス・ノードの発想は，ネットワーク・フラグメントの同一のインスタンスを複数構築することをとても簡単にする．

階層的方式でのネットワーク記述は，ネットワークの散らかりをよく抑え，したがって，ナレッジ・エンジニアとユーザーの間でアイデアを伝達するよりより方法を提供する．

Huginグラフィカル・ユーザー・インタフェース 6.*以降 は，上記のコンセプトの基本的解釈におけるオブジェクト指向ネットワークの構築をサポートする．ベイジアンネットワークとインフルエンス・ダイアグラムの構築のための完全なオブジェクト指向パラダイムは，オブジェクト指向プログラミング言語から知られているサブ・クラスた継承（インヘリタンス）の考え方もサポートするべきである．したがって， Hugin グラフィカル・ユーザー・インタフェース 6.* 以降で提供される基本メカニズムは，継承ネットワークと呼べるようなものの構築をサポートする．

## インタフェース・ノード

インスタンス・ノードは，インスタンスであるネットワーク（マスター）のコピー内の（基本）ノードのいくつかを経由して他のノードに接続する．（インスタンス・ノードは，インスタンスであるネットワークのコピーと考えるべきである）これらのノードは，インタフェース・ノードとして知られる．我々は隠れた情報をサポートしたいので，インタフェース・ノードは，マスター・ネットワーク中のノードの部分集合だけからなる．インタフェース・ノードは，入力ノードと出力ノードの集合に細分化される．

マスター・ネットワークのインスタンスの入力ノードは，実際のノードではないが，マスター・ノードのインスタンスを含むネットワークの（基本）ノードの代理としてのみ見される．これらの基本ノードは，入力ノードに結合される（逆もまた真なり）と言われる．インスタンスの入力ノードが結合されていない場合，デフォルトのポテンシャル（確率表）がそれに関連づけられることに留意せよ．この表の中の確率は，マスター・ネットワーク内で指定される．

マスター・ネットワークのインスタンスの出力ノードは，インスタンス・ノードを含むネットワーク内のノードの親として指定できるか，あるいは，そのネットワークのほかのインスタンスの入力ノードに結合できる実際のノードである．

下記の事例は，これが意味するすべてをデモする．

## 疾患の事例の再検討

ベイジアンネットワークの節で，図１に示す動的ベイジアンネットワークの事例を提示した．この事例は，次のタイム・スライスでの疾患D1が現在のタイム・スライスのD1に従属し，疾患D2についても同様であるようなD1とD2の時間経過での進捗を説明する．S1とS2は疾患の兆候を示す．図１では，2つの連続したタイム・スライスのモデルのみを示した．

図 1: ダイナミック・ベイジアンネットワーク（DBN)の事例．

この方法で複数のタイム・スライスをカバーするモデルを作成するのは面倒な作業である．この構造とタイム・スライスの表は同一であり，遷移確率 P(D1|D1 prev) と P(D2|D2 prev) はすべてのタイム・スライスについて同一であると仮定して（これは現実世界でのアプリケーションでよくあるケースである），このようなタイム・スライス・モデルの構築は，インスタンス・ノードを用いるととてもエレガントに行える．

まず，単一のタイム・スライスのモデルを作成する（図2）．このモデルは，前のタイム・スライスの疾患ノードを入力ノードとして受け取り，疾患ノードD1とD2は出力ノードとして振る舞う．それらは次のタイム・スライスの入力ノードに結合するべきだからである．入力ノードは，図2で破線の輪郭線で示される．

図 2: 疾患問題での単一のタイム・スライスを表すBN.

一時的な振る舞いを記述する遷移確率 P(D1|D1 prev) and P(D2|D2 prev) と一時的な振る舞いを記述する確率が，このモデル中に格納されています．

二番目に， 図１のネットワークのk 個のインスタンスを作成して，たとえば簡単に10タイム・スライスをカバーするモデルを構築し，タイム・スライス１の出力からタイム・スライス２の入力に結合するというようにしていきます．図３は，k=3の場合の結果のモデルを示す．

図 3: オブジェクト指向ネットワークとして指定された 3-タイム・スライスのダイナミック・ベイジアンネットワーク

たくさんのインスタンス・ノードがある場合，オブジェクト指向ネットワークは，いくぶん散らかって見えるかもしれない．したがって，結合リンクが作成されると，図４に示すように，我々はよくインスタンス・ノードを閉じることがある．

図 4: 図 3のDBNのインスタンス・ノードを閉じたところ．

## 事故の事例

下記の事例は，UAIの第13回会議のプロシーディングでKoller & Pfeffer (1997) が最初に使用したオブジェクト指向ネットワークである．このネットワーク（図5）は，自動車事故のシチュエーションをモデルし，ドライバー，自動車，道路の特徴を表現するサブ・ネットワークのインスタンス・ノードを含む．

図 5: 自動車事故のシチュエーションを記述するオブジェクト指向ネットワーク

再び，インスタンス・ノードを閉じると図6に示すように整頓される．

図 6: インスタンス・ノードを閉じた図５のネットワーク.

ここで，carノードがインスタンスであるネットワークは，図7に示すように，それ自身複数のインスタンス・ノードを含んでいる．

図 7: carノードがインスタンスであるネットワーク.

オブジェクト指向ネットワーク・テクノロジーを用いてこのモデルを構築することのベネフィットは，まさに明らかである．

Huginは， オブジェクト指向ネットワークを構築するためのツールを提供する．オブジェクト指向ネットワークを構築すると，通常のBNよりも信念の修正，信念の更新というようなことが可能になる．

Huginグラフィカル・ユーザー・インタフェースを用いて，オブジェクト指向ネットワークを構築する方法について学ぶには， OOBNの構築方法チュートリアルを参照せよ．

Back