さて、2つの推論方式をざっくりと理解して頂いたところで、エキスパートシステムの動作をお話します。
ここでは、架空の「パートナーの浮気/性癖判定エキスパートシステム」を使います(残念ながら元ネタは、ネイト・シルバーさんの「シグナル&ノイズ」です。このネタ、いずれ、ベイジアンネットワークでも使います)。
さて、最初に「パートナーの浮気/性癖判定エキスパートシステム」に、以下の知識を与えます。この知識のことを、ここでは「ルール」ということにします。
もちろん、コンピュータには、「パンティ」だの「浮気」だの「女装癖」だのは分かりませんので、"A","B","C"とでも置き換えておく必要があります(この事実だけで、エキスパートシステムに、「心」なんぞ、ひとかけらもないことは明らかです)。
実際は、このようなルールを山のように追加していくと、ルールの間で矛盾が生じることがあります。ですので、ルールのためのルールも作っておく必要があります。例えば、最初にヒットしたルールを採用することにしたり、ルールに優先度をつけていたり、あるいはヒットしたルールをカウントしたり、など、いろいろやり方があります。
はじめに、「前向き推論」の概要を示します。
このように、事実をこのエキスパートシステムに入力すれば、答えが出てきます。
このケースの場合では、「不明な休日の外出がある」と「助手席の位置がズレている」という事実をインプットすれば、「浮気」と「女装癖」の可能性を教えてくれることになります。
次に、「後向き推論」の概要を示します。
後向き推論は、前向き推論とは違って、まず仮説を作ります。上記のケースでは、「サプライズパーティーでの妻へのプレゼントを購入するために、夫は外泊をする」という仮説を作ります。
この仮説をエキスパートシステムに入力すると、エキスパートシステムは、仮説を成立させるルールを探しまくります。結果として、そのようなルールが見つかれば仮説は採用、見つからなければ仮説は棄却されることになります。
もっと単純に説明すれば、「前向き推論」で使った"IF と THEN"の順番を引っくり返せば、「後向き推論」になるという、乱暴な解釈でも構わないと思います。
Copyright © ITmedia, Inc. All Rights Reserved.