2011-02-08 9 views
1

私はプロローグで新しいです。確率論的推論のための定性的確率論的ネットワーク(QPN)について学びました。 QPNは、各影響が定性的なサインに関連付けられている統計的変数のセット間の確率的影響のグラフィカルモデルです。プロローグ内の符号伝播アルゴリズム

入力:質的確率ネットワーク、Q

出力:QPNに推論するために使用されるアルゴリズムは以下の通りである符号伝搬アルゴリズムである、ネットワーク内の各ノード上の証拠ノードOの影響のサイン

procedure PropagateObservation(Q, O, sign, Observed): 
for each Vi ϵ V (G) 
do sign [Vi] ← ‘0’; 
PropagateSign (Ø, O, sign). 

procedure PropagateSign(trail, to, messagesign): 
sign[to] ← sign [to]  messagesign;  *//update the sign of to 
trail ← trail  {to}; *// add to to the set of visited nodes 
for each active neighbour Vi of to given {O}  Observed 
do linksign ← sign of (induced) influence between to and Vi; 
    messagesign ← sign [to]  linksign; 
    if Vi ϵ trail and sign [Vi] ≠ sign [Vi]  messagesign 
    then PropagateSign (trail, Vi, messagesign). 

V =変数/ノード O =証拠ノード

このアルゴリズムは、定性的な符号乗算と加算テーブル(申し訳ありませんが、私はここでそれらのテーブルを置くために、問題をした)で動作します。 私はこのアルゴリズムをプロローグに書きたい(私は現在swi-prologを使っている)。残念ながら、 私は初心者であり、プロローグでプログラムできるかどうかわからないので、プロローグでこのアルゴリズムをプログラムする方法を知りません。私の質問があまり明確でない場合は申し訳ありません。私がもっと説明する必要があるかどうかを教えてください。たぶんあなたのおかげです。ありがとう。

答えて

1

Ivan Bratko ISBN-13:978-0-20140-375-6によるProlog Programming for Artificial Intelligenceを参照してください。第20章は質的推論の話題です。本のコンパニオンウェブサイトhttp://www.pearsoned.co.uk/highereducation/resources/bratkoprologprogrammingforartificialintelligence3e/には、オンラインで利用可能なサンプルプログラムがあります。これらのプログラムを見て、プロローグで定性的な推論(特にQPNではなく)をどのように実装しているかを理解することから始めます。

+0

大丈夫、提案に感謝します。 – glow123