Download presentation
Presentation is loading. Please wait.
1
認知科学 プロダクションシステム 2019年1月21日(月)
2
今日の内容 知識表現と利用 知識を用いた問題解決 ルールによる知識表現 プロダクションシステム プロダクションルール 競合解消
3
人工の専門知識と 人間の専門知識 人工の知識 人間の知識 長所 短所 不変である 移植しやすい ドキュメント化しやすい 一貫性がある
安価である 短所 変化しやすい 移植しにくい ドキュメント化しにくい 一貫性がない 高価である 創造的でない 適応性がない 記号処理が中心 焦点が狭い 専門知識に限られる 創造的である 適応性がある 感覚処理も可 焦点が広い 常識を使う
4
人工の知識の利点の活用 柔軟な知識表現の実現 問題解決機能の向上 あいまいな知識の取り扱い 対象の構造の表現 知識獲得の実現
知識の獲得と知識の管理→○宣言的知識 問題解決の観点→○手続き的知識 問題解決機能の向上 あいまいな知識の取り扱い 対象の構造の表現 知識獲得の実現
5
知識モデル 知識の表現方法と利用方法を整理したもの 論理モデル 手続きモデル プロダクションモデル 意味ネットワークモデル フレームモデル
6
ルールによる知識表現 もし~ならば・・・を実行せよ ルール(規則)に基づく問題解決の基本的形式
日常生活のさまざまな場面で人々が行う判断 専門的作業において専門家が行う判断 ルールの記述形式を利用して問題解決を行うシス テム ⇒ プロダクションシステム ルールベース:プロダクションルールを格納するDB ワーキングメモリ:プロダクションルールとファクトが照合 される一時的記憶領域
7
プロダクションシステム(PS) 人間の認知のモデルを記述するための知識処理システムの知 識モデルとして発展(NewellやSimonら)
プロダクションシステムの利点 知識がルールの形式で表現されているため,利用者にとって自然 で理解しやすい. 宣言的知識(条件・ファクト)と手続き型知識(行動)の相互作用を 記述できる. ルールの記述は互いに独立であり,相互干渉が少ないため,知識 の変更,追加,削除が比較的簡単に行える. プロダクションシステムの欠点 問題解決の制御構造がわかりにくい.すなわち問題解決を行って いく順序がわかりにくく,アルゴリズム的知識の記述には向かない. すべての推論を「照合-行動」のサイクルの繰り返しで行うため, 実行効率が悪い.
8
PSの基本構成 ルールベース プロダクションルールと呼ば れる「条件-行動」形式の知識 を蓄積・管理する.
if 条件C1 then 行動A1 if 条件C2 then 行動A2 ファクトF1 ファクトF2 ルールベース プロダクションルールと呼ば れる「条件-行動」形式の知識 を蓄積・管理する. ワーキングメモリ ファクトと呼ばれるデータを一 時的に記憶・管理する.ファク トはプロダクションルールの条 件部と同じ形式をしている. ルールインタプリタ プロダクションルールの解釈 と実行を管理する制御機構. 専門家 利用者 問題領域 知識 問題 解 知識獲得 学習 ルールベース ワーキングメモリ ルールインタプリタ
9
人間の記憶モデルのアナロジー 人間の記憶のモデル プロダクションシステム 専門家 利用者 学習 適応 刺激 反応 問題領域 知識 問題 解
知識獲得 学習 長期記憶 短期記憶 ルールベース ワーキングメモリ 推論機構 ルールインタプリタ
10
PSの基本動作 問題がWMに書き込まれると, これをトリガーとしてRIが動作 を開始する.
if 条件C1 then 行動A1 if 条件C2 then 行動A2 ファクトF1 ファクトF2 問題がWMに書き込まれると, これをトリガーとしてRIが動作 を開始する. RIはRBに格納されている問 題解決の知識を適用しながら 中間結果をWMに記録し,こ れを繰り返すことにより最終 的に解を得る. WMに得られた解はユーザイ ンタフェースを通して利用者に 表示される. 専門家 利用者 問題領域 知識 問題 解 知識獲得 学習 ルールベース ワーキングメモリ ルールインタプリタ
11
ルールインタプリタの動作 RIはWMに問題がファクト の形式で与えれると,解が 生成されるまで,条件照合, 競合解消,行動の3つの フェーズを繰り返す. このRIの動作は認識-行 動サイクルと呼ばれている. 条件照合 競合解消 行動
12
条件照合 WMのファクトと呼ばれるデータ形式と, RBにあるプロダクションルールの条件 部のデータ形式を順次照合していく. データ形式が一致したルールを選び出 していく. ルールの条件部とファクトのデータ形 式が一致することを“マッチする”という. 一般には複数のルールがWMのファク トのどれかとマッチする. このファクトとマッチしたルールの集合 を競合集合という. 条件照合 競合解消 行動
13
競合解消 競合集合の中から,実際 に実行するプロダクション ルールを1つだけ選び出す 操作. 条件照合
この選び方によって問題解 決の種類や能力の違いが 決定される. このルールの選択の仕方 を競合解消戦略と呼ぶ. 条件照合 競合解消 行動 後に説明する
14
行動 条件照合 競合解消 行動 競合解消フェーズで選択され た1つのルールの行動部の実 行を行う. これを“ルールの発火”という.
行動部は基本的にWMの内容を書 き換えたり,追加したり,除去したり することが主であるが,その他入出 力など外部環境とのインタフェースを 定義することもできる. 条件照合 競合解消 行動
15
競合解消戦略 プロダクションシステムでは,ルールの数が多くなると各認 識-行動サイクルでファクトとマッチすることによって発火可 能となるルールが複数存在する可能性が生じる. ルールの選択の仕方によって,そのPSの推論の性質や能 力が異なる. ファーストマッチ ルール番号(RBの中の並び順)の小さいルールを優先して選択する. ルール優先順位 各ルールにあらかじめ優先順位を指定しておき,競合集合の中で最高の優先順位をもつルールを選択する. 最新優先 競合集合の中から,WMに書込み・修正されたた順序が最も新しいファクトとマッチしたルールを選択する. リフラクトリネス 1つのルールは1つのファクトに対して一度しか発火できない.同じルールが発火し続ける無限サイクルを防ぐ. 詳述優先 競合集合の中で最も複雑な条件部をもつルールを選択する.
16
(積み木: 名前 A: 寸法 10cm: 場所 机の上)
ファクトのデータ形式 ファクトのデータ形式は,オブジェクト・属性・属性値 (object-attribute-value)の3種類のデータからなる. ⇒OAV形式 オブジェクト:記述したい対象を表す文字列(シンボル) 属性:その対象がもつべき性質の名前 属性値:その対象が属性に関してもつ固有の値 A 10cm 10cm (積み木: 寸法 10cm) (積み木: 名前 A: 寸法 10cm: 場所 机の上)
17
プロダクションルールのデータ形式 if then C1,C2,・・・,Cn A1,A2,・・・,Am
プロダクションルールのデータ形式は条件部のデータと行動部のデータ に分けられる. 各条件Ciはファクトと似たOAV形式で表現される. 条件記述では,属性値は数値や文字列などの定数以外にも,関係式や 変数を取ることができる. 関係式として(>3)などの不等式もOK. 変数xは定数と区別するために?をつけて?xと表す. if then C1,C2,・・・,Cn A1,A2,・・・,Am Ci=(オブジェクト :属性1 属性値1 ・・・ :属性n 属性値n)
18
条件とファクトのマッチ 条件Ci は次の条件を満足するときに「真」の値をもつ という.
Ci と同じOAV形式がWMに存在する. Ci の属性値に変数が含まれている場合,その変数 以外のOAV形式が一致するファクトがWMに存在 する.このとき,その変数は対応する属性値の任意 の値にマッチし,その変数はその値に束縛される. 条件Ci を真とするファクトFj がWMに存在するとき“Ci はFj にマッチする”という.
19
その他のマッチなど 否定の表現~Ci Ci にマッチするOAV形式がWMに存在しないときに真 になる.
否定の表現~Ci Ci にマッチするOAV形式がWMに存在しないときに真 になる. Ci =?f という書き方 条件Ci とマッチしたファクトを参照するための変数(ファ クト変数?f) ファクトの属性attの値を参照したいとき ?f:att 条件部の各条件C1,C2,・・・,Cnが同時になったとき (C1∧C2∧・・・∧Cn)が真になったとき,そのルールは “発火可能である”といい,競合集合に登録される.
20
行動フェーズでの行動 Ai (基本操作) 競合解消フェーズで競合集合からただ1つのルー ルが選択され,行動フェーズに選択されたルール の行動部の各行動Ai が順に実行される. 行動Ai のデータ形式: (操作 データ形式) OAV形式 そのルールの条件Ci とマッチしたWMのファクト ?f の属性1~属性nの属性値を属性値1~属性値nに変更 プロダクションルール ルールベース if then (make (obj: att v1)) (obj: att v1) (make OAV形式) WMにOAV形式に追加 プロダクションルール ルールベース if then (remove ?f ) WMからそのルールのCiとマッチするファクト?f を取り除く. Ci = ?f (obj: att x) (modify ?f: att v1) xをv1に書き換える (modify ?f : 属性1 属性値1 ・・・?f : 属性n 属性値n)
21
例題:車の運転のプロダクションルール 車Aを運転して道路Pから交差点Q に進入して右折し,道路Rを走行す るための運転に関する知識をプロ ダクションルールで表現せよ. ルールとしては次のようなものを考 える. 信号が赤か黄であれば停止 信号が青であれば交差点に進入 交差点Qでは右折 対向車があれば停止 対向車がなければ進行 対向車 交差点Q 道路R 車A 道路P
22
記号の定義 道路の「状況」と「車」の操作を次のようなOAV形式 のファクトで記述する. (状況 :位置 p :信号 s : 対向車 q) (車 :操作 h :方向 d) 位置pの値: 「道路P」,「交差点Q」,「道路R] 信号sの値: 「赤」,「黄」,「青」 対向車qの値: 「有」,「無」 操作hの値: 「進行」,「停止」 方向dの値: 「直進」,「右折」,「左折」 ただし信号の色と対向車の状況を表す値はシステム外部から制御され ているものとする.
23
知識①~⑤から得られたルール(1) r0 r1 r2 r3 (start) →
(make (状況 :位置 道路P :信号 青 :対向車 有)) (make (車 :操作 進行 :方向 直進)) r1 (状況 :位置 道路P :信号 赤 or 黄) (車 :操作 進行) = ?f (modify ?f:操作 停止) r2 (状況 :位置 道路P :信号 青) = ?f (車 :操作 進行) (modify ?f:位置 交差点Q) r3 (状況 :位置 交差点Q) (車 :方向 直進) = ?f (modify ?f:方向 右折) 初期状態を与えるためのルール
24
知識①~⑤から得られたルール(2) r4 r5 r6 (状況 :位置 交差点Q :対向車 有) (車 :操作 進行 :方向 右折) = ?g
(状況 :位置 交差点Q :対向車 有) (車 :操作 進行 :方向 右折) = ?g → (modify ?g:操作 停止) r5 (状況 :位置 交差点Q :対向車 無) = ?f (車 :操作 停止 :方向 右折) = ?g (modify ?g:操作 走行 ?g:方向 直進) (modify ?f:位置 道路R) r6 (車 :操作 停止 :方向 右折) (no-operation) 動作を行わないことを表す
25
ワーキングメモリの内容(ファクト)と直前に発火したルール
シミュレーション(1) 時刻 ワーキングメモリの内容(ファクト)と直前に発火したルール t=0 (start) t=1 ルール r0 を適用 (状況 :位置 道路P :信号 青 :対向車 有) (車 :操作 進行 :方向 直進) t=2 ルール r2 を適用 (状況 :位置 交差点Q :信号 青 :対向車 有) t=3 ルール r3 を適用 (車 :操作 進行 :方向 右折) t=4 ルール r4 を適用 (車 :操作 停止 :方向 右折)
26
ワーキングメモリの内容(ファクト)と直前に発火したルール
シミュレーション(2) 時刻 ワーキングメモリの内容(ファクト)と直前に発火したルール t=5 ルール r6 を適用 (状況 :位置 交差点Q :信号 青 :対向車 有) (車 :操作 停止 :方向 右折) t=iー1 (状況 :位置 交差点Q :信号 青 :対向車 無) t=i ルール r5 を適用 (状況 :位置 道路R :信号 青 :対向車 無) (車 :操作 進行 :方向 直進) この例題では1つの状態で1つのルールしかマッチしない. →競合解消の処理の必要がない t=5のあと,対向車が「有」の間はルールr6 が発火し続けるが,t=t-1で対向車が「無」になると,t=i でルールr5 が発火し,車は道路Rに進む.
27
思考過程のモデル化 → 強い人工知能(AI)の実装
脳内シミュレーション 「ハノイの塔」に適用されるプロダクションルールを記 述してみよう. どんなオペレータがあるか検討してみよう. 必要なデータ形式は何かを検討してみよう. どんな競合解消の方法が良さそうか考えてみよう. t=0から各ステップのWMの状態を記述してみよう. 思考過程のモデル化 → 強い人工知能(AI)の実装
Similar presentations
© 2024 slidesplayer.net Inc.
All rights reserved.