1 / 44

エージェントアプローチ 人工知能 8章・9章

エージェントアプローチ 人工知能 8章・9章. B4  片渕 08/07/24. 目次 ( 第2版 ). 第8章 一階述語論理 第9章 一階述語論理による推論. 8章:一階述語論理 目次. 論理ごとの相違 一階述語論理 一階述語論理の使い方 まとめ. 8章:一階述語論理 目次. 論理ごとの相違 一階述語論理 一階述語論理の使い方 まとめ. 論理ごとの相違. オントロジ的立場   -各論理が推論をする際に仮定する事項     ・命題論理では「 事実 」のみを扱う 認識論的立場   -エージェントが事実に対しての認識方法

truman
Download Presentation

エージェントアプローチ 人工知能 8章・9章

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. エージェントアプローチ人工知能 8章・9章エージェントアプローチ人工知能 8章・9章 B4 片渕 08/07/24

  2. 目次(第2版) • 第8章 一階述語論理 • 第9章 一階述語論理による推論

  3. 8章:一階述語論理目次 • 論理ごとの相違 • 一階述語論理 • 一階述語論理の使い方 • まとめ

  4. 8章:一階述語論理目次 • 論理ごとの相違 • 一階述語論理 • 一階述語論理の使い方 • まとめ

  5. 論理ごとの相違 • オントロジ的立場   -各論理が推論をする際に仮定する事項     ・命題論理では「事実」のみを扱う • 認識論的立場   -エージェントが事実に対しての認識方法     ・命題論理では「真/偽/不定」で認識 部屋[1,1]に穴はないetc

  6. 形式言語(論理)ごとのオントロジ的立場と認識論的立場形式言語(論理)ごとのオントロジ的立場と認識論的立場

  7. 一階述語論理命題論理との相違 • オブジェクト   -推論に影響を及ぼす要素(名詞)     例:部屋、wumpus、穴etc • 関係 -オブジェクト間の関係(動詞)     例:「風が吹いている」、「隣接している」etc • 関数入力からただ一つの値が求まるようなもの 例:「最大の~」、「1つ上の~」etc

  8. 8章:一階述語論理目次 • 論理ごとの相違 • 一階述語論理 • 一階述語論理の使い方 • まとめ

  9. 一階述語論理のモデル(一例) hat on head brother Tom Bob student right leg right leg

  10. 一階述語論理における統語論 • 定数記号 オブジェクトを記述   例:「Tom」、「Bob」 • 述語記号 関係を記述   例:「Brother」 「OnHead」「Student」etc • 関数記号 関数を記述   例:「Hat」(hatを被っているのはBobのみ)     「Rightleg(Tom)」(Tomの右足)

  11. 一階述語論理における意味論 • 前述の記号に厳密に「解釈」を規定   例:Brotherは兄弟関係 Onheadは帽子が人の頭上にある関係 Studentは学生かどうか Humanは人間かどうか etc     を規定 Brother(Tom,Bob)は トムとボブが兄弟の時、真を返す

  12. 論理結合子を用いた一階述語論理の表現例 • ¬Brother(Tom,Rightleg(Bob))    -トムとボブの右足は兄弟ではない • Student(Tom)∨Student(Bob)    -トムかボブのいずれかは学生である • ¬Student(Tom)⇒Student(Bob)    -トムが学生でなければボブは学生である

  13. 限量子 • 全称限量(∀)   -全てのオブジェクトに関する記述を表現   例:∀x Student(x) ⇒ Human(x)      「全ての学生は人間である」 • 存在限量(∃)   -世界に存在するオブジェクトに関する記述を表現   例:∃x Brother(x,Bob)      「ボブには兄弟が存在する」 x:変数

  14. 一階述語論理における表明と質問 • 表明(TELL):文を知識ベース(KnowledgeBase,KB)に追加   例:TELL(KB,Student(Bob))      -文「Student(Bob)」をKBに追加 • 質問(ASK):文の真偽を知識ベースに質問   例:ASK(KB,Student(Bob))      -KBに文「Student(Bob)」があるのでtrueを返す 注: ASK(KB,∃x Student(x))は{x/Bob}を返す 代入:条件を満たすx

  15. 8章:一階述語論理目次 • 論理ごとの相違 • 一階述語論理 • 一階述語論理の使い方 • まとめ

  16. 一階述語論理の使い方例: wumpus world • 部屋に風が吹いていれば隣の部屋に穴が無ければならない ∀sBreezy(s) ⇒∃r Adjacent(r,s)∧Pit(r) • ちなみに命題論理の場合 Bi,j ⇒ Pi-1,j-1∨ Pi-1,j+1∨ Pi+1,j-1∨ Pi+1,j+1 部屋sで 風が吹く 部屋rは部屋sの 隣にある 部屋rに 穴がある 一階述語論理によって表現の幅が広がった

  17. 診断規則・因果規則 • 診断規則   -観測された結果から原因を導くもの  ∀sBreezy(s) ⇒∃r Adjacent(r,s)∧Pit(r) • 因果規則   -想定された因果関係から結果が導かれる  ∀rPit(r) ⇒ [∀s Adjacent(r,s)⇒Breezy(s)] 部屋に風が吹いていれば隣の部屋に穴が無ければならない モデルベース推論 穴によって隣の部屋全てに風が吹く

  18. おまけ:知識ベースの構築(知識工学) • タスクの特定 • 関連知識の収集 • 定数、述語、関数の語彙の決定 • 問題領域に関する一般的知識の記述   -例:「Americaは国である」etc • 特定の問題例の記述   -例:「風が吹いていれば隣の部屋に穴がある」etc • 推論手続きへの質問と答えの獲得 • 知識ベースのデバッグ

  19. 8章:一階述語論理目次 • 論理ごとの相違 • 一階述語論理 • 一階述語論理の使い方 • まとめ

  20. まとめ • 一階述語論理はオブジェクトとその関係を表現 • 定数記号(オブジェクト)、述語記号(関係)、関数記号 • 一般則の表現:限量子(∀・∃) • 一階述語論理によって表現力が増した

  21. ここまで8章 • ここから9章

  22. 9章:一階述語論理による推論目次 • 命題論理化 • 単一化 • 前向き連鎖 • 後ろ向き連鎖 • 一階述語論理における融合法 • まとめ

  23. 9章:一階述語論理による推論目次 • 命題論理化 • 単一化 • 前向き連鎖 • 後ろ向き連鎖 • 一階述語論理における融合法 • まとめ

  24. 命題論理への帰着 • 一階述語論理命題論理への変換ができれば   命題論理での推論が可能 -命題論理化 ・限量子の無い文に変換

  25. 命題論理化 • 全称具現化:全称限量(∀)の無い文に変換   例: ∀x Student(x) ⇒ Human(x)      ・Student(Tom)⇒Human(Tom) ・Student(Bob)⇒Human(Bob) • 存在具現化:存在限量(∃)の無い文に変換   例: ∃x Brother(x,Bob)      ・Brother(C1,Bob) ※知識ベース にある語彙 全てについて ※C1が知識ベース に無いことが条件 スコーレム定数

  26. 9章:一階述語論理による推論目次 • 命題論理化 • 単一化 • 前向き連鎖 • 後ろ向き連鎖 • 一階述語論理における融合法 • まとめ

  27. 単一化 • KB内の2つの文を1つの文にまとめる技法  -UNIFY(p,q)={代入} 例1:UNIFY(Brothers(Tom,x),Brothers(Tom,Bob)) ={x/Bob}(Brothers(Tom,Bob)に単一化) 例2:UNIFY(Brothers(Tom,x),Brothers(y,Bob)) ={x/Bob,y/Tom} (Brothers(Tom,Bob)に単一化) 同じ述語記号(含:引数の数)であることが条件

  28. 9章:一階述語論理による推論目次 • 命題論理化 • 単一化 • 前向き連鎖 • 後ろ向き連鎖 • 一階述語論理における融合法 • まとめ

  29. 前向き連鎖 • できる限りの推論を行っていきゴールを目指す • 例:「(1)アメリカ人が敵対国に武器を売るのは犯罪」である。「(2)Nonoという国はアメリカの敵国」であり、「(3)ミサイルを持っていて」、「(4)その全てがアメリカ人のWestにより販売された」。

  30. 知識ベースへの格納(例題) (1)American(x)∧Weapon(y)    ∧Sells(x,y,z)∧Hostile(z) ⇒ Criminal(x) (2)Hostile(Nono) (3)∃x Owns(Nono,x)∧Missile(x) 命題論理化(3.1)Owns(Nono,C1) (3.2)Missile(C1) (4)Missile(x)∧Owns(Nono,x) ⇒Sells(West,x,Nono) ※「ミサイルが武器」「Westはアメリカ人」という事実も格納 (5)Missile(x) ⇒ Weapon(x) (6)American(West)

  31. 前向き連鎖での推論(例) • KBより「Westが犯罪者である」ことを証明 (3.1)(3.2)(4)より   (7)Sells(West,C1,Nono) (3.2)(5)より      (8)Weapon(C1) (1)(2)(6)(7)(8)より (9)Criminal(West)

  32. 前向き連鎖の証明木 Criminal(West) Weapon(C1) Sells(West,C1,Nono) American(West) Hostile(Nono) Missile(C1) Owns(Nono,C1)

  33. 9章:一階述語論理による推論目次 • 命題論理化 • 単一化 • 前向き連鎖 • 後ろ向き連鎖 • 一階述語論理における融合法 • まとめ

  34. 後ろ向き連鎖 • ゴールが正しいことをKBの文を用いて証明していく • 例:「Westが犯罪者である」ことを証明するには (1)より「American(West)」 KBに存在      「Weapon(y)」      「Sells(West,y,z)」      「Hostile(Nono)」  KBに存在      を証明する必要がある(以下同様)

  35. 後ろ向き連鎖の証明木 Criminal(West) Weapon(y) Sells(West,C1,z) {z/Nono} American(West) Hostile(Nono) Missile(y) Missile(C1) Owns(Nono,C1) {y/C1} 単一化によりMissile(C1)と同等になる

  36. 9章:一階述語論理による推論目次 • 命題論理化 • 単一化 • 前向き連鎖 • 後ろ向き連鎖 • 一階述語論理における融合法 • まとめ

  37. 一階述語論理における融合法 • 連言標準形(conjunctive normal form:CNF)への変換   -命題論理における融合規則を利用 • 消去する相補リテラルについて   -述語記号が同じで引数が異なる場合は単一化で消去    例:[P(Tom)∨Q(Tom,Bob)]∧[¬Q(x,y)∨R(Bob)] [P(Tom)∨R(Bob)] ({x/Tom,y/Bob}で単一化) (l1∨l2∨・・∨lk) ∧ (m1∨m2∨・・∨mk) l1∨・・∨li-1∨li+1∨・・∨lk∨m1∨ ・・∨mi-1∨mi+1∨・・∨mk

  38. CNFへの変換方法(1/2) • 条件文の消去   -∀x Missile(x) ⇒ Weapon(x) ∀x¬Missile(x) ∨ Weapon(x) • 負リテラル(¬)を限量子の内部に移す   -¬∀x Criminal(x) ∃x¬Criminal(x) • 変数標準化:変数の混同を回避   -(∀x P(x) )∨(∃x Q(x) ) (∀x P(x) )∨(∃y Q(y) ) ホーン節

  39. CNFへの変換方法(2/2) • スコーレム化:(「∃」の削除)   -∀x [∃y Brother(x,y)] ∀x Brother(x,F(x)) • 全称限量子「∀」の削除   - ∀x Brother(x,F(x))  Brother(x,F(x)) • ∧を∨に分配   -[P(x) ∧Q(x)] ∨ R(x) [P(x) ∨ R(x)]∧ [P(x) ∨ R(x)] スコーレム関数 xに依存する ことを明示 CNF

  40. 融合法での推論(1/2)例:犯罪例題 • KB内の文をCNFに変換 (1) ¬American(x)∨¬Weapon(y)    ∨ ¬Sells(x,y,z)∨¬Hostile(z) ∨ Criminal(x) (2)Hostile(Nono) (3.1)Owns(Nono,C1) (3.2)Missile(C1) (4)Missile(x)∧Owns(Nono,x) ⇒Sells(West,x,Nono) (5)¬Missile(x)∨Weapon(x) (6)American(West) • ゴールの文の否定も追加(背理法で解く) (7)¬Criminal(West)

  41. 融合法での推論(2/2)例:犯罪例題 • 融合規則により文を消去していく (1)∧(7) (Criminal(West)と¬Criminal(West)を消去) (8)¬American(x)∨¬Weapon(y)∨     ¬Sells(x,y,z)∨¬Hostile(z) (6)∧(8) ( American(West)と¬American(West)を消去) (9) ¬Weapon(y)∨ ¬Sells(x,y,z)∨¬Hostile(z) • 最終的にHostile(x)∧¬Hostile(x)になる矛盾

  42. 9章:一階述語論理による推論目次 • 命題論理化 • 単一化 • 前向き連鎖 • 後ろ向き連鎖 • 一階述語論理における融合法 • まとめ

  43. まとめ • 命題論理化:一階述語論理を命題論理に変換 • 単一化:同じ述語を一つにまとめる • 前向き連鎖:KBを基にできる限りの推論を行う • 後ろ向き連鎖:ゴールから後ろ向きに証明する • 融合法を用いる時は連言標準形に変換   -全ての一階述語論理はCNFに変換可能

  44. おまけ:Prolog • 一階述語論理に基づいた推論を行うプログラム言語 質問と回答 知識ベース ?Human(Bob). true Student(Bob). Human(x) := Student(x). ?Human(x). x=Bob ; x=Tom Student(Bob). Student(Tom). Human(x) := Student(x). Student(x)⇒Human(x)

More Related