You are on page 1of 29

TRÍ TUỆ NHÂN TẠO

Logic vị từ
Nội dung trình bày
2

 Logic bậc nhất (First Order Logic)


 Cú pháp và ngữ nghĩa
 Các lượng từ
 Hợp giải với logic vị từ
 Phép thế
 Thuật giải ñồng nhất
Tại sao sử dụng logic bậc nhất?
3

 Logic mệnh ñề chỉ xử lý trên các sự kiện, là các


khẳng ñịnh có giá trị hoặc ñúng hoặc sai.
 Logic vị từ (logic bậc nhất) cho phép chúng ta
nói về các ñối tượng, tính chất của chúng, quan
hệ giữa chúng, phát biểu về tất cả các ñối
tượng hay một ñối tượng nào ñó mà không cần
liệt kê tường minh.
Logic Bậc nhất
4

 Các câu không thể biểu diễn bằng logic mệnh


ñề nhưng có thể bằng logic bậc nhất
 Socrates là người nên socrates chết
 Khi sơn một hộp bằng màu xanh, nó sẽ trở thành hộp
xanh
 Một người ñược cho phép truy cập trang web nếu họ
ñược cấp quyền chính thức hay quen biết với ai ñược
phép truy cập
Cú pháp của FOL
5

 Term (tham chiếu ñối tượng)


 Ký hiệu hằng: Lan, Tuan, DHKHTN,…
 Biến: x, y, a,…
 Ký hiệu hàm áp dụng cho một hay nhiều term: f(x), tuoi(Lan),
anh-cua(Tuan)…
 Câu (phát biểu về ñối tượng)
 Một ký hiệu vị từ (predicate) áp dụng cho một hay nhiều term:
Thuoc(Lan, DHKHTN), La-anh-em(Tuan, Lan), La-ban-be(anh-
cua(Tuan), Lan),…
 t1= t2
 Nếu x là một biến và φ là một câu thì ∀x. φ và ∃x. φ là một câu
 Các câu tạo từ các câu khác với toán tử nối câu: ¬ ∧ ∨ ← ↔ →
 Tên và số lượng ñối số của hàm hay vị từ ñược gọi là
functor và arity.
Ngữ nghĩa của FOL
6

 Có một tập ngầm ñịnh U các ñối tượng mà một câu


FOL phát biểu trên ñó, U gọi là tập vũ trụ hay miền
phát biểu.
 Term tham chiếu ñến ñối tượng trong U:
 Hằng tham chiếu ñến một ñối tượng cụ thể.
 Biến tham chiếu ñến một ñối tượng nào ñó (cần lượng từ
hóa).
 Hàm tham chiếu ñến một ñối tượng thông qua các ñối
tượng khác.
 Câu là phát biểu trên các ñối tượng:
 Vị từ thể hiện tính chất hoặc quan hệ giữa các ñối tượng.
 Lượng từ giúp phát biểu trên toàn bộ các ñối tượng (lượng
từ với mọi) hay một ñối tượng nào ñó (lượng từ tồn tại) mà
không cần liệt kê hay nêu ra tường minh.
Chứng minh và Suy dẫn
14

 Suy dẫn xuất phát từ khái niệm tổng quát của phép “kéo
theo”
 Không thể tính toán trực tiếp bằng cách liệt kê
 Do ñó, ta sẽ làm theo cách chứng minh
 Trong FOL, nếu KB suy dẫn ñược S thì có một tập hữu
hạn các chứng minh của S từ KB
 Tồn tại hệ chứng minh FOL ñủ và ñúng
Hợp giải Bậc nhất
15

∀x, P(x)  Q(x) Tam ñoạn luận:


Mọi người ñều chết
P(A) Socrates là người Hai vấn ñề mới:
Q(A) Socrates chết • biến ñổi FOL thành
dạng mệnh ñề (clausal
form)
∀x, ¬P(x) ∨ Q(x) • hợp giải với biến
Tương ñương theo
P(A) ñịnh nghĩa của phép
Q(A) Suy ra

Thay A vào x, vẫn


¬P(A) ∨ Q(A)
ñúng
P(A)
khi ñó
Q(A)
Hợp giải Mệnh ñề
Lượng từ Tồn tại
9

 ∃<biến> <câu>

Có sinh viên CNTT thông minh:


∃x Sinh-viên(x,CNTT) ∧ Thông-minh(x)

 ∃x.P ñúng trong một miền phát biểu U nếu và chỉ nếu P
ñúng với một x nào ñó thuộc U.

 Nghĩa là, tương ñương với phép nối rời của các ñối
tượng trong U
Sinh-viên(Lan,CNTT) ∧ Thông-minh(Lan)
∨ Sinh-viên(Minh,CNTT) ∧ Thông-minh(Minh)
∨ Sinh-viên(Tuấn,CNTT) ∧ Thông-minh(Tuấn)
∨ …
Biến ñổi thành dạng mệnh ñề
19

5. Bỏ các lượng từ với mọi


∀x. ∃y Loves(x,y) ⇒ Loves(x, beloved(x))
6. Phần phối or vào and; trả về các mệnh ñề
P(z) ∨ (Q(z,w) ∧ R(w,z)) ⇒
{P(z) ∨ Q(z,w), P(z) ∨ Q(w,z)}
7. ðổi tên các biến trong từng mệnh ñề
{P(z) ∨ Q(z,w), P(z) ∨ Q(w,z)} ⇒
{P(z1) ∨ Q(z1,w1), P(z2) ∨ Q(w2,z2)}
Viết FOL như thế nào
11

 Mèo là ñộng vật có vú [Mèo1, ðộng-vật-có-vú1]


∀x.Mèo(x) → ðộng-vật-có-vú(x)
 Lan là sinh viên học giỏi [Sinh-viên1, Học-giỏi1,Lan]
Sinh-viên(Lan) ∧ Học-giỏi(Lan)
 Cháu là con của anh em [Cháu2, Anh-em2, Con2]
∀x,y.Cháu(x,y) ↔ ∃z.(Anh-em(z,y) ∧ Con(x,z))
 Bà ngoại là mẹ của mẹ [các hàm: bà-ngoại, mẹ]
∀xy. x= bà-ngoại(y) ↔ ∃z.(x= mẹ(z) ∧ z= mẹ(y))
 Mọi người ñều yêu ai ñó [Yêu2]
∀x, ∃y.Yêu(x, y)
∃x, ∀y.Yêu(x, y)
ðồng nhất
23

 Hai biểu thức ω1 và ω2 là ñồng nhất ñược (unifiable) khi


vào chỉ khi tồn tại phép thế s sao cho ω1s = ω2s
 Gọi ω1 = x và ω2 = y, dưới ñây là các phép ñồng nhất:

s ω1s ω2s
{y/x} x x
{x/y} y y
{x/f(f(A)), y/f(f(A))} f(f(A)) f(f(A))
{x/A, y/A} A A
Suy dẫn trong FOL
13

 KB suy dẫn S: với mọi thể hiện I, nếu KB thoả trong I thì
S cũng thoả trong I

 Nói chung tính toán suy dẫn là không khả thi vì có vô số


các miền phát biểu có thể
 Ngay cả việc tính toán tính thoả cũng không khả thi ñối
với các miền phát biểu vô hạn
Chứng minh và Suy dẫn
14

 Suy dẫn xuất phát từ khái niệm tổng quát của phép “kéo
theo”
 Không thể tính toán trực tiếp bằng cách liệt kê
 Do ñó, ta sẽ làm theo cách chứng minh
 Trong FOL, nếu KB suy dẫn ñược S thì có một tập hữu
hạn các chứng minh của S từ KB
 Tồn tại hệ chứng minh FOL ñủ và ñúng
Hợp giải Bậc nhất
15

∀x, P(x)  Q(x) Tam ñoạn luận:


Mọi người ñều chết
P(A) Socrates là người Hai vấn ñề mới:
Q(A) Socrates chết • biến ñổi FOL thành
dạng mệnh ñề (clausal
form)
∀x, ¬P(x) ∨ Q(x) • hợp giải với biến
Tương ñương theo
P(A) ñịnh nghĩa của phép
Q(A) Suy ra

Thay A vào x, vẫn


¬P(A) ∨ Q(A)
ñúng
P(A)
khi ñó
Q(A)
Hợp giải Mệnh ñề
Dạng mệnh ñề (Clausal Form)
16

 cấu trúc ngoài giống CNF


 không có lượng từ

∀x. ∃y. P(x) ⇒ R(x, y)

¬P(x) ∨ R(x, F(x))


Biến ñổi thành dạng mệnh ñề
17

1. Loại bỏ các dấu mũi tên


α ↔ β ⇒ (α → β) ∧ (β → α)
α → β ⇒ ¬α ∨ β
2. Phân phối phủ ñịnh
¬¬α ⇒ α
¬(α ∨ β) ⇒ ¬α ∧ ¬β
¬(α ∧ β) ⇒ ¬α ∨ ¬β
¬∀x. α ⇒ ∃x.¬α
¬∃x. α ⇒ ∀x.¬α
3. ðổi tên các biến thành phần
∀x.∃y.(¬P(x) ∨ ∃x. Q(x,y)) ⇒∀x1.∃y.(¬P(x1) ∨ ∃x2. Q(x2,y))
Skolem hoá
18

4. Skolem hoá
 thay tên mới cho tất cả lượng từ tồn tại
∃x. P(x) ⇒ P(Lan)
∃x,y.R(x,y) ⇒ R(Thing1, Thing2)
∃x. P(x) ∧ Q(x) ⇒ P(Fleep) ∧ Q(Fleep)
∃x. P(x) ∧ ∃x. Q(x) ⇒ P(Frog) ∧ Q(Grog)
∃y, ∀x. Loves(x,y) ⇒ ∀x.Loves(x, Englebert)
 thay hàm mới cho tất cả các lượng từ tồn tại ở tầm vực ngoài
∀x ∃y. Loves(x,y) ⇒ ∀x.Loves(x, beloved(x))
∀x ∃y ∀z ∃w. P(x,y,z) ∧ R(y,z,w) ⇒ ∀x ∀z. P(x,F(x),z) ∧
R(F(x),z,G(x,z))
Biến ñổi thành dạng mệnh ñề
19

5. Bỏ các lượng từ với mọi


∀x. ∃y Loves(x,y) ⇒ Loves(x, beloved(x))
6. Phần phối or vào and; trả về các mệnh ñề
P(z) ∨ (Q(z,w) ∧ R(w,z)) ⇒
{P(z) ∨ Q(z,w), P(z) ∨ Q(w,z)}
7. ðổi tên các biến trong từng mệnh ñề
{P(z) ∨ Q(z,w), P(z) ∨ Q(w,z)} ⇒
{P(z1) ∨ Q(z1,w1), P(z2) ∨ Q(w2,z2)}
Hợp giải Bậc nhất
20

∀x, P(x)  Q(x) Tam ñoạn luận:


Mọi người ñều chết
P(A) Socrates là người
Q(A) Socrates chết

ðiều chủ yếu là tìm các


∀x, ¬P(x) ∨ Q(x) phép thế ñúng ñắn cho
Tương ñương theo các biến
P(A) ñịnh nghĩa của phép
Q(A) Suy ra

Thay A vào x, vẫn


¬P(A) ∨ Q(A)
ñúng
P(A)
khi ñó
Q(A)
Hợp giải Mệnh ñề
Phép thế
21
P(x, f(y), B): một câu FOL
Các thể hiện Phép thế Ghi chú
{v1/t1, v2/t2 …}
P(z, f(w), B) {x/z, y/w} ðổi tên biến

P(x, f(A), B) {y/A}

P(g(z), f(A), B) {x/g(z), y/A}

P(C, f(A), B) {x/C, y/A} Phép thế cơ sở


Phép thế
22
P(x, f(y), B): một câu FOL
Các thể hiện Phép thế Ghi chú
{v1/t1, v2/t2 …}
P(z, f(w), B) {x/z, y/w} ðổi tên biến

P(x, f(A), B) {y/A}

P(g(z), f(A), B) {x/g(z), y/A}

P(C, f(A), B) {x/C, y/A} Phép thế cơ sở

Áp dụng một phép thế


P(x, f(y), B) {y/A} = P(x, f(A), B)
P(x, f(y), B) {y/A, x/y} = P(A, f(A), B)
ðồng nhất
23

 Hai biểu thức ω1 và ω2 là ñồng nhất ñược (unifiable) khi


vào chỉ khi tồn tại phép thế s sao cho ω1s = ω2s
 Gọi ω1 = x và ω2 = y, dưới ñây là các phép ñồng nhất:

s ω1s ω2s
{y/x} x x
{x/y} y y
{x/f(f(A)), y/f(f(A))} f(f(A)) f(f(A))
{x/A, y/A} A A
ðồng nhất tổng quát nhất
24

 ðể ñồng nhất Knows(John,x) và Knows(y,z), ta có các


phép thế
θ = {y/John, x/z } hay θ = {y/John, x/John, z/John}

 Phép ñồng nhất ñầu tiên tổng quát hơn cái thứ hai.
ðồng nhất tổng quát nhất
25

 g là phép ñồng nhất tổng quát nhất (most general unifier


- MGU) của ω1 và ω2 khi và chỉ khi với mọi phép ñồng
nhất s, tồn tại s’ sao cho ω1.s = (ω1.g)s’ và ω2.s =
(ω2.g)s’
ω1 ω2 MGU
P(x) P(A) {x/A}
P(f(x), y, g(x)) P(f(x), x, g(x)) {y/x} hay {x/y}
P(f(x), y, g(y)) P(f(x), z, g(x)) {y/x, z/x}
P(x, B, B) P(A, y, z) {x/A, y/B, z/B}
P(g(f(v)), g(u)) P(x, x) {x/g(f(v)), u/f(v)}
P(x, f(x)) P(x, x) Không có MGU!
Qui tắc ñồng nhất
26

 E1 ñồng nhất với E2 khi:


 Nếu E1, E2 là hằng: ñồng nhất nếu E1 giống E2.
 E1 là biến, E2 bất kì: luôn ñồng nhất với E2 thay
thế cho E1.
 E2 là biến, E1 bất kì: luôn ñồng nhất với E1 thay
thế cho E2.
 Nếu E1, E2 là hàm hoặc vị từ: ñồng nhất khi E1,
E2:
 cùng functor và arity
 các ñối số ñồng nhất với nhau theo ñúng thứ tự
 các phép thế dùng trong ñồng nhất các ñối số phải
tương thích nhau.
Một số ví dụ về ñồng nhất
27

ω1 ω2 MGU
A(B,C) A(x,y) {x/B, y/C}
A(x, f(D,x)) A(E, f(D, y)) {x/E, y/E}
A(x, y) A(f(C, y), z) {x/f(C,y), y/z}
P(A, x, f(g(y))) P(y, f(z), f(z)) {y/A, x/f(z), z/g(y)}
P(x, g(f(A)), f(x)) P(f(y), z, y) Không có
P(x, f(y)) P(z, g(w)) Không có
ðiều cần nắm
28

 Ý nghĩa của logic bậc nhất


 Cú pháp của logic bậc nhất
 Có thể biểu diễn một vấn ñề dưới dạng logic
bậc nhất
 Chuyển ñổi KB thành dạng mệnh ñề
 Hiểu ñược phép thế và phép ñồng nhất
Thắc mắc
29

You might also like