推論
分の内容によらずに、一般的に成り立つ規則。
論理プログラミング
述語論理:述語を主体にして記号化する。
命題論理
文の構造に注目しない。
”太郎は人間である。”
”花子は人間である。”
person(太郎)
述語 主語、目的語
モデル論:真理値表に基づいて審議を決める
手続き的意味論(操作的意味論):推論規則で真偽を決める。
太郎は一郎の父親である。
述語
father (太郎,一郎)
↑ ↑ ↑
父親である。 父親 子供
↑ ↑
述語名 個体(Individual)
演繹(A→B AからBを導く)
理論的側面
parent (pam, bob ).
↑ ↑ ↑
述語名 第1引数 第2引数
述語は小文字で始める。 小文字ではじまるのは定数
大文字ではじめるのは変数
記号の空間 意味の空間
・parent ・true or false
・pam ・pamという人
・bob ・bobという人
定数の集合D
意味の空間S
D→S
述語P(x1,x2,・・・xn)
D={pam,tom,bob,liz,ann,pat,jim}
prarentは2引数だからD²を考える
D²={ (pam,pam),(pam,tom),・・・
(tom,pam),(tom,bob)・・・
(jim,pam),(tom,bob)・・・}
7²=49
演習1
(1) parent(jim,X). no
(2) parent(X,jim). X=pat
(3) parent(pam,X), parent(X,pat). X=bob
(4) parent(pam,X),parent(X,Y),parent(Y,jim). X=bob,Y=pat
female(pam). pamは女性である。同じ述語の定義は連続して記述する。
female(liz).
female(ann).
female(pat).
male(tom).
male(bob).
male(jim).
子孫を定義する
offspring(liz,tom)
関係系データベースのビュー機能を使う
offspring(Y,X):-parent(X,Y)
すべてのX,Yにおいて、parent(X,Y)が真ならば、offspring(Y,X).は真である。
一般形
H :- B₁,B₂,・・・Bn
結論部 条件部
B₁かつB₂かつ・・・Bnが真ならば、Hは真。(条件がない場合は事実を表す。)
mother(X,Y):-parent(X,Y),female(X).
grandparent(X,Z):-parent(X,Y),parent(Y,Z).
sister(X,Y):-parent(Z,X),parent(Z,Y),female(X).
証明論(how)VSモデル論(what)
?- mother(pam,bob)
ルール mother(X,Y):-parent(X,Y),female(X).を使用する。
?-parent(pam,bob),female(pam)
事実parent(pam,bob)を使用する。
?-female(pam)
事実female(pam)を使用する。
?-□
証明終了
A→B
Aが真であることがわかると→前向き推論
Bも真にする
Bを証明したい
A→BよりAを証明する→後ろ向き推論
Aが真であると証明終了。
再帰的ルール
predecess
推論
分の内容によらずに、一般的に成り立つ規則。
論理プログラミング
述語論理:述語を主体にして記号化する。
命題論理
文の構造に注目しない。
”太郎は人間である。”
”花子は人間である。”
person(太郎)
述語 主語、目的語
モデル論:真理値表に基づいて審議を決める
手続き的意味論(操作的意味論):推論規則で真偽を決める。
太郎は一郎の父親である。
述語
father (太郎,一郎)
↑ ↑ ↑
父親である。 父親 子供
↑ ↑
述語名 個体(Individual)
演繹(A→B AからBを導く)
理論的側面
parent (pam, bob ).
↑ ↑ ↑
述語名 第1引数 第2引数
述語は小文字で始める。 小文字ではじまるのは定数
大文字ではじめるのは変数
記号の空間 意味の空間
・parent ・true or false
・pam ・pamという人
・bob ・bobという人
定数の集合D
意味の空間S
D→S
述語P(...