数理論理学 第5回 解釈 © 加藤,高田,新出 3.2 述語論理の 意味論 (p.55) 演習問題4 何代先であっても、直系の女性先祖を判 定できる確定節、fAncestor を定義せよ。 parent(kotake, sumire). fAncestor(X,Y) :- … fAncestor(X,Y) :- … ?- fAncestor(X, tomohiro). X = sakiko ; motherと fAncestor X = sumire ; X = kotake; 以外の述語を使用し maruko, hiroshi, tomozou に た場合は0点 対しては false. 演習問題4 何代先であっても、直系の女性先祖を判 定できる確定節、fAncestor を定義せよ。 fAncestor(X,Y) :- mother(X,Y). fAncestor(X,Y) :- mother(X, Z), fAncestor(Z, Y). motherと fAncestor 以外の述語を使用し た場合は0点 3.2 述語論理の意味論 (p.55) 1. 述語記号 parent, male, female, etc. 2. 関数記号 f, g, etc. 3. 定数記号 tomozou,maruko, etc. 4. 変数 x,y,z, etc. (prolog では変数 は必ず大文字にする) これらはあくまでも記号の定義であり、こ れらの記号自体には意味はない 意味を持たせるものが解釈 E x( human ( x) mortal ( x)) human(a ) mortal (a ) (p. 63) human(a ). mortal ( x) : human( x). ? mortal (a ). true 知識の形式的表現と、それを用いた自動 推論のための仕組みの理解を目指す。 3.2.2 解釈 定義 3.17 論理式や、関数に意味を 与えるもの。 (p. 61) 解釈 I ( D ,A ) 対象領域 割り当て Dの例 定義3.14 定義3.15 D {tomozou , kotake, hiroshi, sumire, sakiko, maruko} 割り当て 述語記号に対しては、D {, T} m の関数を割り当てる。 Aの例 : D {tomozou, kotake,}, m 2 A ( parent )(tomozou, hiroshi ) T (真) A ( parent )(tomozou, maruko) (偽) 割り当て D = {tomozou, kotake, hiroshi… } A (elder)(tomozou, hiroshi) = tomozou A (elder)(maruko, sakiko) = sakiko さくら家における解釈を I ( D ,A ) sakura sakura とする。ただし Dsakura {tomozou, kotake, hiroshi, sumire, sakiko, maruko} Asakura とは、さくら家における述語記号や関数記号の割り当て Asakura ( parent ) 表 tomozou kotake hiroshi … maruko tomozou ⊥ ⊥ T … ⊥ kotake ⊥ ⊥ T … ⊥ hiroshi ⊥ ⊥ ⊥ … T … … … … … … maruko ⊥ ⊥ ⊥ … ⊥ さくら家における解釈を I ( D ,A ) sakura sakura とする。ただし Dsakura {tomozou, kotake, hiroshi, sumire, sakiko, maruko} Asakura とは、さくら家における述語記号や関数記号の割り当て Asakura (elder ) 表 hiroshi … maruko tomozou tomozou tomozou tomozou … tomozou tomozou kotake kotake tomozou kotake kotake … kotake hiroshi tomozou kotake hiroshi … hiroshi … … … … … … maruko tomozou kotake hiroshi … maruko 解釈には、様々なものが考えられる 梅田家の家系図 hiroshi kotake sumire tomozou maruko sakiko 梅田家における解釈を I ( Dumeda ,Aumeda ) とする。ただし Dumeda {tomozou, kotake, hiroshi, sumire, sakiko, maruko} Aumeda とは、梅田家における述語記号や関数記号の割り当て Asakura ( parent ) 表 tomozou kotake hiroshi … maruko tomozou ⊥ ⊥ ⊥ … ⊥ kotake T ⊥ ⊥ … ⊥ hiroshi T ⊥ ⊥ … ⊥ … … … … … … maruko ⊥ ⊥ ⊥ … ⊥ 梅田家における解釈を I ( Dumeda ,Aumeda ) とする。ただし Dumeda {tomozou, kotake, hiroshi, sumire, sakiko, maruko} Aumeda とは、梅田家における述語記号や関数記号の割り当て Aumeda (elder ) 表 tomozou kotake hiroshi … maruko tomozou tomozou kotake hiroshi … tomozou kotake kotake kotake hiroshi … kotake hiroshi hiroshi hiroshi hiroshi … hiroshi … … … … … … maruko tomozou kotake hiroshi … maruko E (x( human ( x) mortal ( x))) human(c) mortal (c) p.63 I ({nello , patrasche},A ) A (human)(nello) T D A (human)( patrasche) A (mortal )(nello) T A (mortal )( patrasche) T A (c) nello I ( D ,A ) の用い方 (pp. 63-64) F (x( human ( x) mortal ( x))) human(c) mortal (c) I ({nello , patrasche},A ) この解釈 I の元で、論理式Fが 真になること、つまり I (F ) T を示す。 F (x( human ( x) mortal ( x))) human(c) mortal (c) E1 ⊃ E2 (p.62) 5. I ( E1 ) T かつ I ( E2 ) I (F ) T その他の場合 E1 (x( human ( x) mortal ( x))) E11 human(c) E12 (p.62) 3. T I ( E11 ) T かつ I ( E12 ) T I ( E1 ) その他の場合 I ((x( human ( x) mortal ( x)))) の値は、 p.62 6. によると、 I (human (nello) mortal (nello))と I (human ( patrasche) mortal ( patrasche)) の値に依存する。まずnelloの場合を調べる I (human (nello) mortal (nello)) I (human (nello)) T かつ I (mortal (nello)) T その他の場合 p.62 5. E (x( human ( x) mortal ( x))) human(c) mortal (c) I ({nello , patrasche},A ) A (human)(nello) T D A (human)( patrasche) A (mortal )(nello) T A (mortal )( patrasche) T A (c) nello I ((x( human ( x) mortal ( x)))) の値は、 p.62 6. によると、 I (human (nello) mortal (nello))と I (human ( patrasche) mortal ( patrasche)) の値に依存する。まずnelloの場合を調べる I (human (nello) mortal (nello)) I (human (nello)) T かつ I (mortal (nello)) T その他の場合 p.62 5. I ((x( human ( x) mortal ( x)))) T の値は、 p.62 6. によると、 I (human (nello) mortal (nello))と I (human ( patrasche) mortal ( patrasche)) の値に依存する。patrascheの場合 I (human ( patrasche) mortal ( patrasche)) I (human ( patrasche)) T かつ I (mortal ( patrasche)) T その他の場合 p.62 5. E1 (x( human ( x) mortal ( x))) E11 A ( E11 ) T human(c) E12 A (human)(c) A ( human)(A (c)) A ( human)(nello) T (p.62) 3. T I ( E11 ) T かつ I ( E12 ) T I ( E1 ) その他の場合 A ( E1 ) T F (x( human ( x) mortal ( x))) human(c) mortal (c) E1 A ( E1 ) T ⊃ E 2 A (mortal )(c) A ( mortal )(A (c)) A ( mortal )(nello) T I ( E1 ) T かつ I ( E2 ) I (F ) T その他の場合 F (x( human ( x) mortal ( x))) human(c) mortal (c) しで F I ({katuo , patrasche},A ) めもが せ真、 A ( human)(katuo) T 。に右 なの A ( human)( patrasche) る解 A ( mortal )( katuo ) 釈 こ との A ( mortal )( patrasche) T を元 A (c) katuo 課題5
© Copyright 2024 ExpyDoc