Next: 2.2 プロダクションルールの表現
Up: 2 プロダクションシステム
Previous: 2 プロダクションシステム
プロダクションシステムは,
- プロダクションルール(production rule)を蓄え
るプロダクションメモリ(production memory)
- ルールの解釈手続き(プロダクショ
ンシステム解釈器 production system interpreter)
- 事実や状態の集
合を記憶するための作業記憶(working memory)
の3つを基本要素としている.
図1に,プロダクションシステムの構成を示す.
プロダクションシステムは,あらかじめルールの集合を登録しておき(0),登録して
外界から初期データ(1)や目的とするパターンを与えて(2)用いるものである.
ゴールが与えられた場合には,作業記憶の内容がゴール状態を満たし
ているかを判定し(3),満たしていれば停止する.
ゴールが与えられなかったり,ゴールが満たされていない状態であった場合に
は,(4)と(5)のデータ移動によりマッチングがなされ,(6),(7)へと進む.
(7)でもう実行するルールがなくなると停止する.
実行できる処理があれば(8)それを行なう.
(9)は,ルールの行動部で新しくプロダクションルールを加えたり修正したり
することを行なう場合を示す.このようにプロダクションメモリの内容を
変更する形のプロダクションシステムは,適応型プロダクションシステム
(adaptive production system)と呼ばれたりする.
プロダクションルールは,
if 条件 then 行動
という形の知識を表現するためのルール記述である.
インタプリタは,プロダクションルールの選択と実行を行ない,認識行動サイ
クル(recognition-act cycle)と呼ばれる一連の動作を繰り返す.
認識行動サイクルは,まず,作業記憶内のデータと条件部が照合(matching)す
るプロダクションルールをプロダクションメモリの中から探す.捜し出さ
れたルールは競合集合(conflict set)と呼ばれる.競合集合が空集合になっ
た場合には,認識行動サイクルは停止する.競合集合がひとつのルールだけ
であれば,そのルールの行動部を実行する.競合集合のルールが複数ある場
合には,どのルールから行動を実行するかという制御方式が必要となる.
また,競合集合を作りあげる場合に,どのルールの条件部から作業記憶データ
と比較するかという選択の部分にも制御機構が必要となる.
一般に,初期データやルールセットから推論を行なう場合は前向き推論
(forward chain)と呼ばれ,目標とルールセットから推論を行なう場合は後ろ
向き推論(backward chain)と呼ばれる.
通常のプロダクションシステムは前向き処理を行なうものが多く,以下で示す
プロダクションシステムも前向きの処理を行なう.後ろ向き推論の代表例
が Prolog 言語である.
generated through LaTeX2HTML. M.Inaba 平成18年5月7日