認知科学 プロダクションシステム 2019年1月21日(月).

Slides:



Advertisements
Similar presentations
キー・コンピテンシーと生きる 力 キー・コンピテンシー – 社会・文化的,技術的道具を相互作用的に活用する力 – 自律的に行動する力 – 社会的に異質な集団で交流する力 生きる力 – 基礎・基本を確実に身に付け,いかに社会が変化しようと, 自ら課題を見つけ,自ら学び,自ら考え, 主体的に判断 し,行動し,よりよく問題を解決する資質や能力.
Advertisements

地図の重ね合わせに伴う 位相関係の矛盾訂正手法 萬上 裕 † 阿部光敏* 高倉弘喜 † 上林彌彦 ‡ 京都大学工学研究科 † 京都大学工学部 * 京都大学情報学研究科 ‡
心理測定法 記憶③. 今日の予定 1.方法の工夫によって面白い成果を出 した有名な研究の紹介 2.動物実験 4.信号検出理論すこし.
プログラミング言語論 第3回 BNF 記法について(演習付き) 篠埜 功. 構文の記述 プログラミング言語の構文はどのように定式化できるか? 例1 : for ループの中に for ループが書ける。 for (i=0; i
一階述語論理 (first-order predicate logic) 一階述語論理入門 構文論(論理式の文 法) 意味論(論理式の解 釈) 認知システム論 知識と推論(4) 知識と論理でを組み合わせて問題を解決する.
プログラミング言語論 第10回(演習) 情報工学科 木村昌臣   篠埜 功.
第1回 確率変数、確率分布 確率・統計Ⅰ ここです! 確率変数と確率分布 確率変数の同時分布、独立性 確率変数の平均 確率変数の分散
ゲーム理論・ゲーム理論Ⅰ(第2回) 第2章 戦略形ゲームの基礎
相互作用図 FM11010 田中健太.
JavaScript プログラミング入門 2006/11/10 神津.
プログラミング言語としてのR 情報知能学科 白井 英俊.
Shimatterシステムの 初期モデルの正規化
Chapter5 ステートチャート図 FM 于 聡.
JavaによるCAI学習ソフトウェアの開発
アルゴリズムとデータ構造1 2007年6月12日
授業展開#11 コンピュータは 何ができるか、できないか.
地理情報システム論 第3回 コンピュータシステムおける データ表現(1)
「R入門」 第3章:オブジェクト、そのモードと属性
応用情報処理V 第1回 プログラミングとは何か 2004年9月27日.
論理式の表現を数学的に取り扱いやすくするために代数学の助けを借りる.
人工知能特論2011 資料No.6 東京工科大学大学院 担当教員 亀田弘之.
情報教育論 第9回 仮定文の仕組み 政策・メディア研究科 岡田 健.
システム開発実験No.7        解 説       “論理式の簡略化方法”.
応用情報処理V 第1回 プログラミングとは何か 2003年9月29日.
ML 演習 第 7 回 新井淳也、中村宇佑、前田俊行 2011/05/31.
第5回 統計処理(2) 塩浦 昭義 東北大学全学教育科目 情報基礎 A 1セメスター 木曜1,3講時 経済学部・法学部
プログラミング基礎a 第8回 プログラムの設計 アルゴリズムとデータ構造
第7回 条件による繰り返し.
チューリング機械 状態の有限集合 ヘッドの方向を表す。 L:1コマ左へ R:1コマ右へ テープ記号の有限集合 入力記号の有限集合 動作関数
不完全な知識 不完全な知識に基づく問題解決 フレーム問題 制約条件記述問題 非単調推論 極小限定 常識の定式化 並列極小限定.
非文字資料を対象とした Ontologyデータベースに対する RDF推論の適用
アルゴリズムとプログラミング (Algorithms and Programming)
数理論理学 第3回 茨城大学工学部情報工学科 佐々木 稔.
第7回 条件による繰り返し.
第7回 授業計画の修正 中間テストの解説・復習 前回の補足(クロックアルゴリズム・PFF) 仮想記憶方式のまとめ 特別課題について
 型推論1(単相型) 2007.
VBで始めるプログラミング こんにちは、世界。 /28 NARC.
Data Clustering: A Review
プログラミング基礎a 第8回 プログラムの設計 アルゴリズムとデータ構造
論理プログラミング 導出の効率化 論理プログラム ホーン節 ホーン集合に対する導出戦略 論理式の手続き的解釈 Prolog
(1)序論 人工知能とは 歴史 方法論 人工知能の基礎 問題解決 探索 推論 知識.
第5章 計算とプログラム 本章で説明すること ・計算の概観と記述法 ・代表的な計算モデル ・プログラムとプログラム言語.
プログラムの基本構造と 構造化チャート(PAD)
進化ゲームと微分方程式 第15章 n種の群集の安定性
『組織の限界』 第1章 個人的合理性と社会的合理性 前半
コンパイラ 2011年10月20日
融合原理 (resolution) 人工知能 論理と推論(2) 論理的帰結 節形式 融合原理 知識を組み合わせて知識を生み出す
知識表現 知識の表現形式 宣言的表現 手続き的表現 プロダクション・ルール フレーム 意味ネットワーク.
JAVAバイトコードにおける データ依存解析手法の提案と実装
アルゴリズムとプログラミング (Algorithms and Programming)
Ibaraki Univ. Dept of Electrical & Electronic Eng.
Handel-Cを用いた パックマンの設計
オブジェクト指向言語論 第三回 知能情報学部 新田直也.
情報基礎Ⅱ (第1回) 月曜4限 担当:北川 晃.
第7回  命題論理.
2進数と16進数、情報の量 Copyright(C)2004 Yoshihiro Sato & Tsutomu Ohara
執筆者:難波和明 授業者:寺尾 敦 atsushi [at] si.aoyama.ac.jp
ITSにおける 知的ネットワークシステムの構築 - 知的信号機システムの提案 -
述語論理式の構文と意味 一階述語論理式の構文 一階述語論理式の意味 述語,限量記号 自然言語文の述語論理式表現 解釈 妥当,充足不能
4.プッシュダウンオートマトンと 文脈自由文法の等価性
情報処理Ⅱ 第7回 2004年11月16日(火).
アルゴリズム入門 (Ver /10/07) ・フローチャートとプログラムの基本構造 ・リスト ・合計の計算
ヒープソート.
コンパイラ 2012年10月11日
オブジェクト指向言語論 第一回 知能情報学部 新田直也.
情報処理Ⅱ 2005年11月25日(金).
情報処理Ⅱ 小テスト 2005年2月1日(火).
オブジェクト指向言語論 第六回 知能情報学部 新田直也.
アルゴリズム ~すべてのプログラムの基礎~.
Presentation transcript:

認知科学 プロダクションシステム 2019年1月21日(月)

今日の内容 知識表現と利用 知識を用いた問題解決 ルールによる知識表現 プロダクションシステム プロダクションルール 競合解消

人工の専門知識と 人間の専門知識 人工の知識 人間の知識 長所 短所 不変である 移植しやすい ドキュメント化しやすい 一貫性がある 安価である 短所 変化しやすい 移植しにくい ドキュメント化しにくい 一貫性がない 高価である 創造的でない 適応性がない 記号処理が中心 焦点が狭い 専門知識に限られる 創造的である 適応性がある 感覚処理も可 焦点が広い 常識を使う

人工の知識の利点の活用 柔軟な知識表現の実現 問題解決機能の向上 あいまいな知識の取り扱い 対象の構造の表現 知識獲得の実現 知識の獲得と知識の管理→○宣言的知識 問題解決の観点→○手続き的知識 問題解決機能の向上 あいまいな知識の取り扱い 対象の構造の表現 知識獲得の実現

知識モデル 知識の表現方法と利用方法を整理したもの 論理モデル 手続きモデル プロダクションモデル 意味ネットワークモデル フレームモデル

ルールによる知識表現 もし~ならば・・・を実行せよ ルール(規則)に基づく問題解決の基本的形式 日常生活のさまざまな場面で人々が行う判断 専門的作業において専門家が行う判断 ルールの記述形式を利用して問題解決を行うシス テム ⇒ プロダクションシステム ルールベース:プロダクションルールを格納するDB ワーキングメモリ:プロダクションルールとファクトが照合 される一時的記憶領域

プロダクションシステム(PS) 人間の認知のモデルを記述するための知識処理システムの知 識モデルとして発展(NewellやSimonら) プロダクションシステムの利点 知識がルールの形式で表現されているため,利用者にとって自然 で理解しやすい. 宣言的知識(条件・ファクト)と手続き型知識(行動)の相互作用を 記述できる. ルールの記述は互いに独立であり,相互干渉が少ないため,知識 の変更,追加,削除が比較的簡単に行える. プロダクションシステムの欠点 問題解決の制御構造がわかりにくい.すなわち問題解決を行って いく順序がわかりにくく,アルゴリズム的知識の記述には向かない. すべての推論を「照合-行動」のサイクルの繰り返しで行うため, 実行効率が悪い.

PSの基本構成 ルールベース プロダクションルールと呼ば れる「条件-行動」形式の知識 を蓄積・管理する. if 条件C1 then 行動A1 if 条件C2 then 行動A2 ファクトF1 ファクトF2 ルールベース プロダクションルールと呼ば れる「条件-行動」形式の知識 を蓄積・管理する. ワーキングメモリ ファクトと呼ばれるデータを一 時的に記憶・管理する.ファク トはプロダクションルールの条 件部と同じ形式をしている. ルールインタプリタ プロダクションルールの解釈 と実行を管理する制御機構. 専門家 利用者 問題領域 知識 問題 解 知識獲得 学習 ルールベース ワーキングメモリ ルールインタプリタ

人間の記憶モデルのアナロジー 人間の記憶のモデル プロダクションシステム 専門家 利用者 学習 適応 刺激 反応 問題領域 知識 問題 解 知識獲得 学習 長期記憶 短期記憶 ルールベース ワーキングメモリ 推論機構 ルールインタプリタ

PSの基本動作 問題がWMに書き込まれると, これをトリガーとしてRIが動作 を開始する. if 条件C1 then 行動A1 if 条件C2 then 行動A2 ファクトF1 ファクトF2 問題がWMに書き込まれると, これをトリガーとしてRIが動作 を開始する. RIはRBに格納されている問 題解決の知識を適用しながら 中間結果をWMに記録し,こ れを繰り返すことにより最終 的に解を得る. WMに得られた解はユーザイ ンタフェースを通して利用者に 表示される. 専門家 利用者 問題領域 知識 問題 解 知識獲得 学習 ルールベース ワーキングメモリ ルールインタプリタ

ルールインタプリタの動作 RIはWMに問題がファクト の形式で与えれると,解が 生成されるまで,条件照合, 競合解消,行動の3つの フェーズを繰り返す. このRIの動作は認識-行 動サイクルと呼ばれている. 条件照合 競合解消 行動

条件照合 WMのファクトと呼ばれるデータ形式と, RBにあるプロダクションルールの条件 部のデータ形式を順次照合していく. データ形式が一致したルールを選び出 していく. ルールの条件部とファクトのデータ形 式が一致することを“マッチする”という. 一般には複数のルールがWMのファク トのどれかとマッチする. このファクトとマッチしたルールの集合 を競合集合という. 条件照合 競合解消 行動

競合解消 競合集合の中から,実際 に実行するプロダクション ルールを1つだけ選び出す 操作. 条件照合 この選び方によって問題解 決の種類や能力の違いが 決定される. このルールの選択の仕方 を競合解消戦略と呼ぶ. 条件照合 競合解消 行動 後に説明する

行動 条件照合 競合解消 行動 競合解消フェーズで選択され た1つのルールの行動部の実 行を行う. これを“ルールの発火”という. 行動部は基本的にWMの内容を書 き換えたり,追加したり,除去したり することが主であるが,その他入出 力など外部環境とのインタフェースを 定義することもできる. 条件照合 競合解消 行動

競合解消戦略 プロダクションシステムでは,ルールの数が多くなると各認 識-行動サイクルでファクトとマッチすることによって発火可 能となるルールが複数存在する可能性が生じる. ルールの選択の仕方によって,そのPSの推論の性質や能 力が異なる. ファーストマッチ ルール番号(RBの中の並び順)の小さいルールを優先して選択する. ルール優先順位 各ルールにあらかじめ優先順位を指定しておき,競合集合の中で最高の優先順位をもつルールを選択する. 最新優先 競合集合の中から,WMに書込み・修正されたた順序が最も新しいファクトとマッチしたルールを選択する. リフラクトリネス 1つのルールは1つのファクトに対して一度しか発火できない.同じルールが発火し続ける無限サイクルを防ぐ. 詳述優先 競合集合の中で最も複雑な条件部をもつルールを選択する.

(積み木: 名前 A: 寸法 10cm: 場所 机の上) ファクトのデータ形式 ファクトのデータ形式は,オブジェクト・属性・属性値 (object-attribute-value)の3種類のデータからなる. ⇒OAV形式 オブジェクト:記述したい対象を表す文字列(シンボル) 属性:その対象がもつべき性質の名前 属性値:その対象が属性に関してもつ固有の値 A 10cm 10cm (積み木: 寸法 10cm) (積み木: 名前 A: 寸法 10cm: 場所 机の上)

プロダクションルールのデータ形式 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)

条件とファクトのマッチ 条件Ci は次の条件を満足するときに「真」の値をもつ という. Ci と同じOAV形式がWMに存在する. Ci の属性値に変数が含まれている場合,その変数 以外のOAV形式が一致するファクトがWMに存在 する.このとき,その変数は対応する属性値の任意 の値にマッチし,その変数はその値に束縛される. 条件Ci を真とするファクトFj がWMに存在するとき“Ci はFj にマッチする”という.

その他のマッチなど 否定の表現~Ci Ci にマッチするOAV形式がWMに存在しないときに真 になる. 否定の表現~Ci Ci にマッチするOAV形式がWMに存在しないときに真 になる. Ci =?f という書き方 条件Ci とマッチしたファクトを参照するための変数(ファ クト変数?f) ファクトの属性attの値を参照したいとき ?f:att 条件部の各条件C1,C2,・・・,Cnが同時になったとき (C1∧C2∧・・・∧Cn)が真になったとき,そのルールは “発火可能である”といい,競合集合に登録される.

行動フェーズでの行動 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)

例題:車の運転のプロダクションルール 車Aを運転して道路Pから交差点Q に進入して右折し,道路Rを走行す るための運転に関する知識をプロ ダクションルールで表現せよ. ルールとしては次のようなものを考 える. 信号が赤か黄であれば停止 信号が青であれば交差点に進入 交差点Qでは右折 対向車があれば停止 対向車がなければ進行 対向車 交差点Q 道路R 車A 道路P

記号の定義 道路の「状況」と「車」の操作を次のようなOAV形式 のファクトで記述する. (状況 :位置 p :信号 s : 対向車 q) (車 :操作 h :方向 d) 位置pの値: 「道路P」,「交差点Q」,「道路R] 信号sの値: 「赤」,「黄」,「青」 対向車qの値: 「有」,「無」 操作hの値: 「進行」,「停止」 方向dの値: 「直進」,「右折」,「左折」 ただし信号の色と対向車の状況を表す値はシステム外部から制御され ているものとする.

知識①~⑤から得られたルール(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:方向 右折) 初期状態を与えるためのルール

知識①~⑤から得られたルール(2) r4 r5 r6 (状況 :位置 交差点Q :対向車 有) (車 :操作 進行 :方向 右折) = ?g (状況 :位置 交差点Q :対向車 有) (車 :操作 進行 :方向 右折) = ?g → (modify ?g:操作 停止) r5 (状況 :位置 交差点Q :対向車 無)  = ?f (車 :操作 停止 :方向 右折) = ?g (modify ?g:操作 走行 ?g:方向 直進) (modify ?f:位置 道路R) r6 (車 :操作 停止 :方向 右折)  (no-operation) 動作を行わないことを表す

ワーキングメモリの内容(ファクト)と直前に発火したルール シミュレーション(1) 時刻 ワーキングメモリの内容(ファクト)と直前に発火したルール t=0 (start) t=1 ルール r0 を適用 (状況 :位置 道路P :信号 青 :対向車 有) (車 :操作 進行 :方向 直進) t=2 ルール r2 を適用 (状況 :位置 交差点Q :信号 青 :対向車 有) t=3 ルール r3 を適用 (車 :操作 進行 :方向 右折)  t=4 ルール r4 を適用 (車 :操作 停止 :方向 右折)

ワーキングメモリの内容(ファクト)と直前に発火したルール シミュレーション(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に進む.

思考過程のモデル化 → 強い人工知能(AI)の実装 脳内シミュレーション 「ハノイの塔」に適用されるプロダクションルールを記 述してみよう. どんなオペレータがあるか検討してみよう. 必要なデータ形式は何かを検討してみよう. どんな競合解消の方法が良さそうか考えてみよう. t=0から各ステップのWMの状態を記述してみよう. 思考過程のモデル化 → 強い人工知能(AI)の実装