next up previous
Next: 2.2 プロダクションルールの表現 Up: 2 プロダクションシステム Previous: 2 プロダクションシステム

2.1 プロダクションシステムの構成

プロダクションシステムは, の3つを基本要素としている. 図1に,プロダクションシステムの構成を示す. プロダクションシステムは,あらかじめルールの集合を登録しておき(0),登録して 外界から初期データ(1)や目的とするパターンを与えて(2)用いるものである. ゴールが与えられた場合には,作業記憶の内容がゴール状態を満たし ているかを判定し(3),満たしていれば停止する. ゴールが与えられなかったり,ゴールが満たされていない状態であった場合に は,(4)と(5)のデータ移動によりマッチングがなされ,(6),(7)へと進む. (7)でもう実行するルールがなくなると停止する. 実行できる処理があれば(8)それを行なう. (9)は,ルールの行動部で新しくプロダクションルールを加えたり修正したり することを行なう場合を示す.このようにプロダクションメモリの内容を 変更する形のプロダクションシステムは,適応型プロダクションシステム (adaptive production system)と呼ばれたりする.
図 1: プロダクションシステムの構成図
\includegraphics[width=8.0cm]{/home/inaba/eps/lecture/fig/pssystem.kdraw}
プロダクションルールは,

             if 条件 then 行動
という形の知識を表現するためのルール記述である. インタプリタは,プロダクションルールの選択と実行を行ない,認識行動サイ クル(recognition-act cycle)と呼ばれる一連の動作を繰り返す. 認識行動サイクルは,まず,作業記憶内のデータと条件部が照合(matching)す るプロダクションルールをプロダクションメモリの中から探す.捜し出さ れたルールは競合集合(conflict set)と呼ばれる.競合集合が空集合になっ た場合には,認識行動サイクルは停止する.競合集合がひとつのルールだけ であれば,そのルールの行動部を実行する.競合集合のルールが複数ある場 合には,どのルールから行動を実行するかという制御方式が必要となる. また,競合集合を作りあげる場合に,どのルールの条件部から作業記憶データ と比較するかという選択の部分にも制御機構が必要となる. 一般に,初期データやルールセットから推論を行なう場合は前向き推論 (forward chain)と呼ばれ,目標とルールセットから推論を行なう場合は後ろ 向き推論(backward chain)と呼ばれる. 通常のプロダクションシステムは前向き処理を行なうものが多く,以下で示す プロダクションシステムも前向きの処理を行なう.後ろ向き推論の代表例 が Prolog 言語である.

generated through LaTeX2HTML. M.Inaba 平成18年5月7日