You are on page 1of 79

Chương 3: LOGIC VỊ TỪ CẤP 1

Nguyễn Kim Anh


NỘI DUNG

• Cú pháp và nghữ nghĩa của logic vị từ cấp I


• Chuẩn hóa các công thức
• Các luật suy diễn
• Thuật toán hợp nhất
• Chứng minh bằng luật phân giải

• Sử dụng logic vị từ cấp 1 để biểu diễn tri thức


• Thuật toán suy diễn tiến, suy diễn lùi
VẤN ĐỀ BIỂU DIỄN TRI THỨC VÀ
LẬP LUẬN

• 1 trong các mục tiêu của TTNT là thiết kế các tác nhân thông minh như
con người (có khả năng nhận thức được thế giới và đưa ra các hành động
hợp lý để đáp ứng lại)
• Các tác nhân thông minh có thể nhận thức được môi trường thông qua các
bộ cảm biến (sensor), tuy nhiên để có thể suy luận như con người, tác
nhân thông minh cần có tri thức về thế giới thực và bộ suy diễn trên tri
thức ấy (cơ sở tri thức - CSTT)
• Mỗi khi tiếp nhận được các sự kiện từ môi trường, thủ tục suy diễn thực
hiện quá trình liên kết các sự kiện đó với các tri thức trong CSTT để rút ra
các câu trả lời, các hành động hợp lý cần thực hiện
• Để máy tính có thể sử dụng và xử lý tri thức, chúng ta cần biểu diễn tri
thức dưới dạng thuận tiện cho máy tính → ngôn ngữ biểu diễn tri thức
NGÔN NGỮ BIỂU DIỄN TRI THỨC

Ngôn ngữ biểu diễn tri thức = Cú pháp + Ngữ nghĩa + Cơ chế
suy diễn
• Cú pháp bao gồm các ký hiệu và các quy tắc liên kết các ký
hiệu (các luật cú pháp) để tạo thành các câu (công thức) trong
ngôn ngữ
• Ngữ nghĩa xác định ý nghĩa của các câu trong một miền nào
đó của thế giới hiện thực
• Cơ chế suy diễn để từ các tri thức trong cơ sở tri thức và các
sự kiện ta nhận được các tri thức mới
LOGIC

• Công cụ để biểu diễn và xử lý tri thức


• Khoa học về lập luận, chứng minh và suy diễn
• Ngôn ngữ hình thức dùng để biểu diễn thông tin sao cho từ đó
chúng ta có thể rút ra được các kết luận
• Hai loại logic: logic mệnh đề và logic vị từ cấp 1
3.1. LOGIC MỆNH ĐỀ

• Câu phát biểu về thế giới


• Mệnh đề có thể đúng (True) hoặc sai (False)
• Mệnh đề đơn giản:
Đồng là một kim loại => Đúng
Gỗ là một kim loại => Sai
Hôm nay là thứ Hai => Sai
• Ký hiệu trong phép tính mệnh đề:
• Ký hiệu mệnh đề: P, Q, R, S,...
• Ký hiệu chân lý: true, false
• Các phép toán logic:  (hội),  (tuyển),  (phủ định),
 (kéo theo) , = (tương đương)
3.1. LOGIC MỆNH ĐỀ

• Phép toán trong logic mệnh đề

(Note: dùng bảng chân


trị chứng minh)
3.1. LOGIC MỆNH ĐỀ

• Biến đổi tương đương trong logic mệnh đề


Luật phủ định
Luật giao hoán
Luật kết hợp
Luật phân bố
Luật De Morgan
Luật về phần tử bù
Luật kéo theo
Luật tương đương
Các luật đơn giản của phép tuyển
Các luật đơn giản của phép hội

(Note: dùng phép biến đổi


tương đương chứng minh)
3.1. LOGIC MỆNH ĐỀ

• Luật suy diễn trong logic mệnh đề


3.1. LOGIC MỆNH ĐỀ

• Dạng chuẩn của logic mệnh đề - dạng chuẩn hội CNF


• Conjunctive normal form
• Hội của các tuyển
• Ví dụ:

• Trong đó:

• Mỗi câu trong logic mệnh đề đều có thể viết dưới dạng CNF
3.1. LOGIC MỆNH ĐỀ

• Chuyển đổi thành CNF


• Loại bỏ dấu mũi tên (, ) bằng các phép biến đổi tương đương
• Đưa phủ định vào bằng luật De Morgan

• Phân phối phép tuyển () vào phép hội ()


3.1. LOGIC MỆNH ĐỀ

• Chuyển đổi thành CNF


• Ví dụ:
3.1. LOGIC MỆNH ĐỀ

• Luật phân giải


• Luật:

Muốn
• Áp chứng
dụng: minh
Chứng cơ sở
minh tri bỏ
bác thức (KB)
bằng , chúng
→phân
luật giải: ta chứng minh
điều ngược lại KB →  là sai
3.1. LOGIC MỆNH ĐỀ

• Luật phân giải


• Thuật toán chứng minh bác bỏ bằng luật phân giải (Robinson)
3.1. LOGIC MỆNH ĐỀ

• Luật phân giải


• Ví dụ: Chứng minh bác bỏ bằng luật phân giải

G’
3.1. LOGIC MỆNH ĐỀ

• Luật phân giải


• Ví dụ: Chứng minh bác bỏ bằng luật phân giải
3.1. LOGIC MỆNH ĐỀ

• Resolution (Refutation) Tree


BÀI TẬP LOGIC MỆNH ĐỀ

1. Chuyển các công thức sau về dạng CNF


BÀI TẬP LOGIC MỆNH ĐỀ

2. Cho cơ sở tri thức

•Chứng minh bác bỏ Nam không được bạn bè tôn trọng


bằng luật phân giải
BÀI TẬP LOGIC MỆNH ĐỀ

2. Cho cơ sở tri thức


BÀI TẬP LOGIC MỆNH ĐỀ

3. Cho cơ sở tri thức


R1: P^Q^R => S
R2: U => R
R3: G^U => P
R4: H => Q
R5: H
R6: G
R7: U
•Áp dụng thủ tục chứng minh bác bỏ bằng luật phân giải chứng
minh: S
BÀI TẬP LOGIC MỆNH ĐỀ

4. Resolution refutation proofs


• Translate the following propositional logic expressions into conjunctive normal
form:
(1.1) P ⇒ Q ∧ Q ⇒ R ∧ P
(1.2) ( A ∧ B) ⇒ C ∧ C ⇒ ( D ∨ E )
• Assuming the following conjunctive normal form expression is true, prove A is
false (.i.e., prove ~ A is true).( ~ A ∨ B ) ∧ ( ~ B ∨ C ) ∧ ~ C
• Assuming the following conjunctive normal form expression is true, prove C is
true.( ~ A ∨ ~ B ∨ C ) ∧ ( B ∨ D ) ∧ A ∧ ~ D
• Given the following statements, all of which are assumed to be true:
If you are lactose intolerant then you cannot eat ice cream.
If you are lactose intolerant then you cannot eat cheese.
If you are lactose intolerant then you cannot drink milk.
You eat ice cream.
(1) Convert these statements to propositional expressions.
(2) Convert these expressions into a single conjunctive normal form statement.
(3) Prove, using resolution that “you are not lactose intolerant” is true.
3.2. SỬ DỤNG LOGIC VỊ TỪ CẤP 1
ĐỂ BIỂU DIỄN TRI THỨC

• Những hạn chế của logic mệnh đề


• Logic mệnh đề khá đơn giản, và có khả năng diễn đạt hạn chế do đó khó
có thể diễn tả các phát biểu liên quan tới các đối tượng và các mối quan
hệ
Ví dụ: Làm thế nào sử dụng logic mệnh đề để diễn tả
{Tất cả mọi người đều yêu thích hoa hồng}
• Để làm được như vậy cần có một mệnh đề riêng biệt cho mỗi người
trên trái đất để khẳng định rằng chị ta hoặc anh ta đều yêu thích hoa
hồng
{Lan yêu thích hoa hồng, An yêu thích hoa hồng, Mai yêu thích hoa
hồng…}
• Điều này dẫn đến một số lượng khổng lồ các mệnh đề và sẽ gây ra nhiều
vấn đề cho việc suy diễn
3.2. SỬ DỤNG LOGIC VỊ TỪ CẤP 1
ĐỂ BIỂU DIỄN TRI THỨC

• Ví dụ về biểu diễn thông tin với logic vị từ cấp 1:


3.2. SỬ DỤNG LOGIC VỊ TỪ CẤP 1
ĐỂ BIỂU DIỄN TRI THỨC

• Cú pháp:
• Các kí hiệu được sử dụng trong logic vị từ cấp 1
• Các ký hiệu hằng: a, b, c, An, Ba, John,...
• Các ký hiệu biến: x, y, z, u, v, w,...
• Các ký hiệu vị từ: P, Q, R, S, Like, Havecolor, Prime...
• Các ký hiệu hàm: f, g, cos, sin, mother, husband, distance...
• Các ký hiệu kết nối logic:  (hội),  (tuyển),  (phủ định), 
(kéo theo),  (kéo theo nhau – tương đương)
• Các ký hiệu lượng tử:  (với mọi),  (tồn tại)
• Các ký hiệu ngăn cách: dấu phẩy, dấu mở ngoặc và dấu đóng
ngoặc
3.2. SỬ DỤNG LOGIC VỊ TỪ CẤP 1
ĐỂ BIỂU DIỄN TRI THỨC

• Cú pháp:
• Hạng thức
• Các hạng thức (term) là các biểu thức mô tả các đối tượng
• Các hạng thức được xác định đệ quy như sau
• Các ký hiệu hằng và các ký hiệu biến là hạng thức
• Nếu t1, t2, t3, ..., tn là n hạng thức và f là một ký hiệu hàm n
biến thì f(t1, t2, ..., tn) là hạng thức

• Một hạng thức không chứa biến được gọi là một hạng thức cụ thể
(ground term)
• Ví dụ: mother(x) là một hạng thức và mother(An) là một hạng
thức cụ thể
3.2. SỬ DỤNG LOGIC VỊ TỪ CẤP 1
ĐỂ BIỂU DIỄN TRI THỨC

• Cú pháp:
• Câu trong logic vị từ cấp 1

Vị từ Hạng thức Hạng thức


3.2. SỬ DỤNG LOGIC VỊ TỪ CẤP 1
ĐỂ BIỂU DIỄN TRI THỨC

• Cú pháp:
• Câu đơn
• Dùng để biểu diễn các tính chất của đối tượng, hoặc các quan
hệ của đối tượng
• Là các công thức phân tử được xác định đệ quy như sau:
• Các ký hiệu vị từ không biến (các ký hiệu mệnh đề) là câu
đơn
• Nếu t1, t2,...,tn là n hạng thức và P là vị từ của n biến thì
P(t1,t2,...,tn) là câu đơn
• Ví dụ: Love (Hoa, husband(Hoa)) là một câu đơn do
Hoa là một ký hiệu hằng, husband là hàm của một biến → hạng
thức Love là một vị từ của hai biến
3.2. SỬ DỤNG LOGIC VỊ TỪ CẤP 1
ĐỂ BIỂU DIỄN TRI THỨC

• Cú pháp:
• Câu phức hợp
• Từ công thức phân tử (câu đơn), sử dụng các kết nối logic
và các lượng tử, ta xây dựng nên các công thức (các câu)

• Là các công thức được xác định đệ quy như sau:


• Các câu đơn là công thức
• Nếu G và H là các công thức, thì các biểu thức (G 
H), (G  H), ( G), (G  H), (G  H) là công thức
• Nếu G là một công thức và x là biến thì các biểu thức
(x G), (x G) là công thức
3.2. SỬ DỤNG LOGIC VỊ TỪ CẤP 1
ĐỂ BIỂU DIỄN TRI THỨC

• Ngữ nghĩa:
• Ý nghĩa của các công thức trong một thế giới hiện thực nào đó
(còn gọi là một minh họa)
• Ngữ nghĩa của các câu đơn
• Các ký hiệu vị từ sẽ được gắn với một thuộc tính, hoặc một
quan hệ cụ thể nào đó của đối tượng
• Khi thay thế các biến trong vị từ bởi một đối tượng cụ thể
ta được một mệnh đề và mệnh đề này sẽ chỉ định một sự
kiện cụ thể nào đó, có thể là đúng (True) hoặc sai (False)
Lan ứng với một cô gái cụ thể nào đó, còn công thức
Student(x) ứng với thuộc tính “x là sinh viên” thì câu
• Ví dụ: Student(Lan) có giá trị chân lý là True hoặc False tuỳ
thuộc trong thực tế Lan có phải là sinh viên hay không
3.2. SỬ DỤNG LOGIC VỊ TỪ CẤP 1
ĐỂ BIỂU DIỄN TRI THỨC

• Ngữ nghĩa:
• Ngữ nghĩa của các câu phức
• Khi đã xác định được ngữ nghĩa của các câu đơn, ta có thể
xác định được ngữ nghĩa của các câu phức

• Ví dụ:
• Câu Student(Lan)  Student(An) nhận giá trị True nếu
cả hai câu Student(Lan) và Student(An) đều có giá trị
True, tức là cả Lan và An đều là sinh viên
• Câu Like(Lan, Rose)  Like(An, Tulip) là đúng nếu câu
Like(Lan, Rose) là đúng hoặc câu Like(An, Tulip) là
đúng
3.2. SỬ DỤNG LOGIC VỊ TỪ CẤP 1
ĐỂ BIỂU DIỄN TRI THỨC

• Ngữ nghĩa:
• Ngữ nghĩa của các lượng tử
• Lượng tử phổ dụng (với mọi - )
• Cho phép mô tả tính chất của cả một lớp đối tượng mà
không cần phải liệt kê ra tất cả các đối tượng một cách cụ thể
• Ví dụ:
 Giả sử có hai vị từ:
Elephant(x) (đối tượng x là con voi)
Color(x, Gray) (đối tượng x có mầu xám)
 Câu “tất cả các con voi đều có màu xám” có thể biểu diễn
bởi công thức
x (Elephant(x)  Color(x, Gray))
3.2. SỬ DỤNG LOGIC VỊ TỪ CẤP 1
ĐỂ BIỂU DIỄN TRI THỨC

• Ngữ nghĩa:
• Ngữ nghĩa của các lượng tử
• Lượng tử tồn tại ():
• Khẳng định có một đối tượng nào đó trong lớp đối
tượng thỏa mãn tính chất hoặc một quan hệ nào đó

• Ví dụ:
Giả sử có hai vị từ:
Student(x) (x là sinh viên)
Inside(x, P301) (x ở trong phòng 301)
Câu “Có một sinh viên ở phòng 301” bởi công thức:
x (Student(x)  Inside(x,P301)
BÀI TẬP:
BIỂU DIỄN TRI THỨC TRONG LOGIC VỊ TỪ CẤP 1

1. Dùng logic vị từ để biểu diễn những câu bên dưới, cho


biết một số vị từ như:
BÀI TẬP:
BIỂU DIỄN TRI THỨC TRONG LOGIC VỊ TỪ CẤP 1

2. Biểu diễn các phát biểu sau dựa trên các vị từ cơ sở:
BÀI TẬP:
BIỂU DIỄN TRI THỨC TRONG LOGIC VỊ TỪ CẤP 1

3. Biểu diễn các phát biểu sau dựa trên các vị từ cơ sở:
BÀI TẬP:
BIỂU DIỄN TRI THỨC TRONG LOGIC VỊ TỪ CẤP 1

3. Biểu diễn các phát biểu sau dựa trên các vị từ cơ sở:

Mục tiêu cần


giải quyết
3.3. CHUẨN HÓA CÔNG THỨC

• Các công thức tương đương


• Hai công thức G và H tương đương (GH) nếu chúng cùng đúng
hoặc cùng sai trong một minh họa
• Ngoài các phép tương đương trong logic mệnh đề, trong logic vị từ
cấp 1 còn có các tương đương khác liên quan đến các lượng tử
• Các công thức tương đương trong logic mệnh đề???

1. "x G(x) º"y G(y) 2. Ø ("x G(x)) º $x (Ø G(x))


$x G(x) º $y Ø ($x G(x)) º "x (Ø G(x))
G(y)
3. "x (G(x) Ù H(x)) º "x G(x) Ù "x H(x)
$x (G(x) Ú H(x)) º $x G(x) Ú $x H(x)
3.3. CHUẨN HÓA CÔNG THỨC

• Từ các câu đơn bằng cách sử dụng các kết nối logic và các lượng
tử ta có thể tạo ra các câu phức có cấu trúc rất phức tạp
• Ví dụ: (bài trước)

• Để dễ dàng cho việc biểu diễn và thuận lợi cho việc xây dựng các
thủ tục suy diễn, chúng ta cần chuẩn hóa các câu bằng cách đưa
chúng về dạng chuẩn tắc hội (hội của các câu tuyển)
3.3. CHUẨN HÓA CÔNG THỨC

• Thủ tục chuẩn hóa các công thức:


Loại bỏ kéo theo bằng phép biến đổi tương đương
PÞQ ºØ PvQ
PÛQ º (ØPvQ)Ù (ØQvP)

Chuyển các phủ định vào các literal

Loại bỏ các lượng tử 

Phân phối các tuyển vào các hội


3.3. CHUẨN HÓA CÔNG THỨC

• Thủ tục chuẩn hóa các công thức:


Loại bỏ các lượng tử tồn tại
Ví dụ: P(x,y) là các vị từ có nghĩa rằng “y lớn hơn x” trong miền các số.
khi đó công thức"x ($y(P(x,y)) có nghĩa là “với mọi số x tồn tại y sao cho y lớn
hơn “. Ta có thể xem y trong công thức đó là hàm của đối số x, chẳng hạn f(x)
và loại bỏ lượng tử $y, công thức đang xét trở thành "x(P(x,f(x))

Một cách tổng quát, giả sử $y(G) là một công thức con của công thức
đang xét và nằm trong miền tác dụng của lượng tử "x1,...,"xn. Khi đó ta có thể
xem y là hàm của n biến x1,…, xn, chẳng hạn f(x1,…, xn), sau đó thay các
xuất hiện của y trong công thức G bởi hạng thức f(x1,…, xn) và loại bỏ các
lượng tử tồn tại

Các hàm f được đưa vào để loại bỏ các lượng tử tồn tại được gọi là hàm Skolem
3.3. CHUẨN HÓA CÔNG THỨC

• Chuyển câu sau về dạng chuẩn tắc hội


3.4. CÁC LUẬT SUY DIỄN

• Các luật suy diễn trong logic mệnh đề???


3.4. CÁC LUẬT SUY DIỄN

• Luật thay thế phổ dụng


• Luật:
Từ công thức x G(x) suy ra công thức G[x/t]
Trong đó: công thức G[x/t] là công thức có được bằng cách thay tất cả
các xuất hiện của x bởi t

• Ví dụ:
Cho câu “x Like(x, Football)” (mọi người đều thích bóng đá)
Thay x bởi An ta suy ra câu:
Like(An,Football) (An thích bóng đá)
3.4. CÁC LUẬT SUY DIỄN

• Luật hợp nhất


• Sử dụng phép thế để hợp nhất các câu phân tử

• Ví dụ:
Giả sử có hai câu:
Friend(x,Ba) Ù Good(x)
Friend(Lan,y)
Sử dụng phép thế [x/Lan,y/Ba], ta nhận được hai câu:
Friend(Lan,Ba) Ù Good(Lan)
Friend(Lan,Ba)
Theo luật suy diễn Modus Ponens, ta suy ra câu:
Good(Lan) (Lan là người tốt)
3.4. CÁC LUẬT SUY DIỄN

• Luật hợp nhất


• Hợp nhất tử
• Cho hai câu phân tử G và H, nếu tồn tại phép thế θ sao cho Gθ và
Hθ trở thành đồng nhất (Gθ=Hθ) thì G và H được gọi là hợp nhất
được, phép thế θ được gọi là hợp nhất tử của G và H

• Một phép thế θ là một dãy các cặp xi/ti , θ = [x1/t1 x2/t2.... xn/tn]
trong đó:
• xi là các biến khác nhau
• ti là các hạng thức và các xi không có mặt trong ti
Nếu áp dụng phép thế θ vào công thức G, ta nhận được công thức

3.4. CÁC LUẬT SUY DIỄN

• Luật Modus Ponens tổng quát

Trong đó:
• Pi, Pi’(i= 1,..,n) và Q là các công thức phân
tử
• Các cặp câu Pi, Pi' hợp nhất được bởi phép
 Ví dụ: thế θ, tức là P’i=Piθ
• Giả sử ta có 2 câu:
• Q' = Qθ
(Student (x) Ù Male (x) → Like (x,Football))
Student(Anh), Male(Anh)
• Với phép thế θ = [x|Anh], ta suy ra câu:
3.5. LUẬT PHÂN GIẢI

• Luật phân giải trên các câu tuyển

What?
Trong đó: Ai (i =1,..,m) và Bj (j=1,..,n) là các công
thức phân tử trong logic vị từ cấp 1
 Ví dụ: • C và D có thể hợp nhất được bởi phép thế θ, Cθ= Dθ
• Giả sử ta có hai câu: • Ai'=Aiθ (i=1,..,m) và Bj'=Bjθ (j=1,..,n)
A = Hear(x,Music) Ú Play(x,Tennis)
B = ØPlay(An,y) Ú Study (An)
• Với phép thế θ=[x|An,y|Tennis], suy ra câu:
Hear(An,Music) Ú Study (An)
3.5. LUẬT PHÂN GIẢI

• Luật phân giải trên câu Horn


• Câu Horn biểu diễn cho các phát biểu If – then, có dạng:

P1^P2^…^Pm ⇒ Q
trong đó: Pi(i =1,...,m; m ≥ 0) và Q là các câu phân tử

• Luật phân giải:


3.5. LUẬT PHÂN GIẢI

• Luật phân giải trên câu Horn


• Trường hợp riêng: câu Horn thứ 2 có dạng T

P1Ù…Ù Pm Ù S  Q
T
P1'Ù…Ù Pm'  Q'
trong đó Pi' = Piθ (i = 1,...,m) và Q' = Qθ
Xét hai câu
Student(x) ∧ Male(x) ⇒ Play(x,Football)
Male(Ba)
• Ví dụ: Sử dụng phép thế [x|Ba], ta suy ra:
Student (Ba) ⇒ Play (Ba, Football)
3.6. CHỨNG MINH BẰNG
LUẬT PHÂN GIẢI

• Chứng minh bác bỏ


3.6. CHỨNG MINH BẰNG
LUẬT PHÂN GIẢI

• Chứng minh bác bỏ


Ví dụ: Cho cơ sở tri thức:
1. Father(X,Y) => Child(Y,X).
2. Husband(X,Z) => Wife(Z,X).
3. Wife(Z,X)^Child(Y,X) => Mother(Z,Y).
4. Father(nam,lan).
5. Husband(nam,huong).
Áp dụng thủ tục chứng minh bác bỏ bằng luật phân giải trong
logic vị từ cấp I để chứng minh: Mother(huong,lan).
Bài tập:
CHỨNG MINH BẰNG LUẬT PHÂN GIẢI

• Chứng minh bằng luật phân giải trong logic mệnh đề


• Chứng minh bác bỏ bằng luật phân giải trong logic mệnh đề

• Chương minh bằng luật phân giải trong logic vị từ cấp 1 (sử
dụng thêm phép thế)
• Chương minh bác bỏ bằng luật phân giải trong logic vị từ cấp
1 (sử dụng thêm phép thế)
Bài tập:
CHỨNG MINH BẰNG LUẬT PHÂN GIẢI

1. Cho hệ CSTT gồm các câu logic vị từ sau đây:


Bài tập:
CHỨNG MINH BẰNG LUẬT PHÂN GIẢI

2.

Chó mèo đều là động vật


Bài tập:
CHỨNG MINH BẰNG LUẬT PHÂN GIẢI

2.
Bài tập:
CHỨNG MINH BẰNG LUẬT PHÂN GIẢI

3.

Gợi ý: CSTT sau chuẩn hóa

Kill(t,Bibi) ?
3.7. CƠ SỞ TRI THỨC DỰA TRÊN LUẬT

• Cơ sở tri thức gồm 2 bộ phận: cơ sở sự kiện và cơ sở luật


• Cơ sở sự kiện:
• Kí hiệu: FB (Fact Base)
• Gồm các sự kiện (Fact)
• Mô tả bởi các vị từ
• Mỗi vị từ là một phát biểu quan sát thấy về đối tượng mà
ta đang xét
3.7. CƠ SỞ TRI THỨC DỰA TRÊN LUẬT

• Cơ sở tri thức gồm 2 bộ phận: cơ sở sự kiện và cơ sở luật


• Cơ sở luật:
• Kí hiệu RB (Rule Base)
• Gồm các luật (Rule)
• Biểu diễn tri thức về lĩnh vực chuyên môn
• Biểu diễn dưới dạng mệnh đề:
Nếu … thì …
P1(t1, …, tk) ^…^ Pn(u1, …, un)  Q(v1, …, vm)
Trong đó:
P1, …, Pn và Q : tên các vị từ
t1, …, tk, u1, …, un, v1, …, vm : các hạng thức
3.7. CƠ SỞ TRI THỨC DỰA TRÊN LUẬT

• Ví dụ biểu diễn CSTT:


• Cơ sở sự kiện
Peolpe(Lan) là vị từ phát biểu cho sự kiện Lan là người
Mother (Lan, Hoa) là vị từ phát biểu cho quan hệ Lan là mẹ Hoa
Mother (Lan, Ngoc) tương tự

• Cơ sở luật
Nếu Mother(Lan,Hoa), Mother(Lan,Ngoc) thì Sister(Hoa,Ngoc)
3.8. THỦ TỤC SUY DIỄN TIẾN

• Forward chaining
• Tư tưởng:
• Áp dụng các luật suy diễn Modus Ponen tổng quát vào suy diễn (đối với
CSTT dựa trên luật, áp dụng luật phân giải trên câu Horn)
• Trong mỗi bước của thủ tục, xét các điều kiện của luật, nếu tất cả các
điều kiện được thỏa mãn thì sự kiện trong phần kết luận của luật được
cho là đúng
• Nếu sự kiện này là mới (chưa có trong FB) thì nó được thêm vào FB
• Quá trình trên được lặp lại cho tới khi không có luật nào sinh ra các sự
kiện mới
• Chú ý: lập luận tiến không hướng tới giải quyết một vấn đề nào cả, chỉ
đơn giản là quá trình suy ra các sự kiện mới từ các sự kiện đã có
3.8. THỦ TỤC SUY DIỄN TIẾN

• Tư tưởng:
• Sử dụng luật suy diễn sau
Ý nghĩa của luật suy diễn:
- Từ một luật có m điều
kiện, một trong các điều
kiện đó “khớp” với một
sự kiện nào đó thì suy ra
một luật mới có m – 1
điều kiện
- Nếu luật có m điều kiện,
Trong đó: Pi hợp nhất với S bởi phép thế , thì áp dụng suy diễn m lần
(nếu có thể) ta suy ra
tức là:
được một sự kiện
3.8. THỦ TỤC SUY DIỄN TIẾN

• Thủ tục suy diễn:

Conds là danh sách các điều kiện của luật


Conc là kết luận của luật
3.8. THỦ TỤC SUY DIỄN TIẾN

• Thủ tục suy diễn:

• Thủ tục thực hiện quá trình áp


dụng luật suy diễn để giảm bớt
số điều kiện của một luật trong
cơ sở luật
• Khi dẫn tới một luật có điều kiện
rỗng tức là đã suy ra một sự kiện
3.8. THỦ TỤC SUY DIỄN TIẾN

• Ví dụ: cho FB và RB như sau, áp dụng suy diễn tiến để tìm


các sự kiện mới cho FB

Tom là ngựa Nếu


Ken là ngựa 1.x là ngựa và
Kit là ngựa 2. x là mẹ của y, và
Bin là ngựa 3. y chạy nhanh
Tom là me của Bin Thì x có giá
Tom là mẹ của Ken
Bin là mẹ của Kit
Kit chạy nhanh
Bin chạy nhanh
3.8. THỦ TỤC SUY DIỄN TIẾN

• Ví dụ:
• Bước 1: biểu diễn tri thức
• Tìm các vị từ biểu diễn cho các đối tượng, tính chất và quan hệ
giữa các đối tượng trong CSTT
Ngựa(x), Mẹ(x,y), Nhanh(y), Giá(x)
• Biểu diễn lại CSTT cho FB và RB
Ngua(Tom) (1) Me(Tom,Bin) (5)
Ngua(Ken) (2) Me(Tom,Ken) (6)
Ngua(Kit) (3) Me(Bin,Kit) (7)
Ngua(Bin) (4) Nhanh(Kit) (8)
Nhanh(Bin) (9)
Ngua(x) Ù Me(x,y) Ù Nhanh(y) =>
Gia(x)
3.8. THỦ TỤC SUY DIỄN TIẾN

• Ví dụ:
• Bước 2: áp dụng thủ tục suy diễn tiến vào CSTT mới

Áp dụng thủ tục For_chain cho luật và FB gồm các sự kiện từ (1) đến (9) có:
(1) khớp với điều kiện Ngua(x) của luật bởi phép thế [x/Tom]:
Me(Tom,y) Ù Nhanh(y) => Gia(Tom)
 (5) hợp nhất với Me(Tom,y) bởi phép thế [y/Bin], suy ra:
Nhanh(Bin) => Gia(Tom)
 Nhanh(Bin)  (9) của luật: suy ra Gia(Tom)
 (6) hợp nhất với Me(Tom,y) bởi phép thế [y,Ken], suy ra:
Nhanh(Ken) => Gia(Tom) ?????
+ Tương tự: hợp nhất các sự kiện (2),(3),(4) vào luật suy ra được Gia(Bin)
3.9. THỦ TỤC SUY DIỄN LÙI

• Backward chaining
• Ý tưởng: Đưa ra các giả thuyết cần được đánh giá, sử dụng
lập luận để chứng minh hoặc bác bỏ giả thuyết
• Quá trình suy diễn:
 So sánh giả thuyết đưa ra với các sự kiện trong  Nếu các giả thuyết được sinh ra đều
CSTT có trong FB → giả thuyết đã đưa ra
 Nếu có một sự kiện khớp với giả thuyết → giả được xem là đúng
thuyết là đúng  Nếu giả thuyết không có trong FB
 Nếu không có sự kiện nào khớp với giả thuyết, ta và không thể quy giả thuyết này về
đi lùi lại phần điều kiện của luật. Các điều kiện các giả thuyết mới khác → giả
của luật được xem như các giả thuyết mới. Với thuyết đã đưa ra được xem là sai
giả thuyết mới, lặp lại quá trình trên
3.9. THỦ TỤC SUY DIỄN LÙI

• Thủ tục suy diễn:


• Với mỗi giả thuyết trong danh sách các giả thuyết, ta tìm những luật
có phần kết luận hợp nhất với giả thuyết đó
• Nếu luật này là một sự kiện thì ta loại bỏ giả thuyết đang xét khỏi
danh sách các giả thuyết
• Nếu không thì ta xem các điều kiện của luật là các giả thuyết mới
xuất hiện và giả thuyết đang xét được thay bởi các giả thuyết mới
đó → danh sách các giả thuyết mới
• Lặp lại quá trình trên cho danh sách các giả thuyết mới
• Trong quá trình thay thế ta lưu lại các phép thế đã sử dụng 
• Nếu tới một bước nào đó, danh sách các giả thuyết trở thành rỗng, thì
kết luận giả thuyết ban đầu là đúng với phép thế 
3.9. THỦ TỤC SUY DIỄN LÙI

• Thủ tục suy diễn:


3.9. THỦ TỤC SUY DIỄN LÙI

• Ví dụ: cho CSTT với các sự kiện và các luật như sau

Câu hỏi:
Con ngựa nào có giá?
3.9. THỦ TỤC SUY DIỄN LÙI

•Ví dụ:
•Giả thuyết Hyp = [Gia(w)] và  = []
•Gia(w) hợp nhất với kết luận của luật (10) bởi phép thế 1 = [w/x] → danh sách các giả thuyết mới:
Hyp = [Ngua(x), Me(x,y), Nhanh(y)] và q = [w/x]
•Ngua(x) hợp với sự kiện (1) bởi phép thế q1 = [x/Tom], → danh sách các giả thuyết mới: Hyp =
[Me(Tom,y), Nhanh(y)] và q = [w/x][x/Tom] = [w/Tom]
•Me(Tom,y) hợp nhất với sự kiện (5) bởi phép thế q 1 = [y/Bin], → danh sách các giả thuyết mới: Hyp
= [Nhanh(Bin)] và q = [w/Tom][y/Bin] = [w/Tom,y/Bin]
•Nhanh(Bin) hợp nhất với kết luận của luật (11) bởi phép thế q 1 = [z/Bin], do đó ta có: Hyp =
[Thangcuoc(Bin)] Và q = [w/Tom, y/Bin, z/Bin]
•Thangcuoc(Bin) trùng với sự kiện (9) (hợp nhất với phép thế q 1= []) → danh sách giả thuyết trở
thành rỗng với phép thế  = [w/Tom, y/Bin, z/Bin]
•Như vậy với phép thế này thì giả thuyết Gia(w) trở thành đúng, hay nói cách khác, Tom là con ngựa
có giá
•Me(Tom,y) hợp nhất với sự kiện (6)…
BÀI TẬP ÁP DỤNG
SUY DIỄN TIẾN, SUY DIỄN LÙI

• BÀI 1:
Cho cơ sở tri thức:
1. a => c
2. d^c => e
3. b => d
Áp dụng thuật toán suy diễn lùi vào cơ
4. a^b => f
5. a^h => i sở tri thức trên để chứng minh: g
6. e^f => g
7. a
8. b
BÀI TẬP ÁP DỤNG
SUY DIỄN TIẾN, SUY DIỄN LÙI

• BÀI 2: Giả sử cơ sở luật gồm các luật sau

Cơ sở sự kiện gồm các sự kiện: h và k.


Hãy sử dụng lập luận tiến để suy ra các sự kiện mới.
BÀI TẬP ÁP DỤNG
SUY DIỄN TIẾN, SUY DIỄN LÙI

• BÀI 3: Giả sử cơ sở luật gồm các luật sau

Với các sự kiện B đúng, D đúng.


Hãy trình bày quá trình lập luận tiến
và lập luận lùi để biết G đúng hay
sai.
BÀI TẬP ÁP DỤNG
SUY DIỄN TIẾN, SUY DIỄN LÙI

• BÀI 4:

• Cho cơ sở tri thức:


1. Father(X,Y) => Child(Y,X).
2. Husband(X,Z) => Wife(Z,X).
3. Wife(Z,X)^Child(Y,X) => Mother(Z,Y).
4. Father(nam,lan).
5. Husband(nam,huong).
• Áp dụng thuật toán suy diễn lùi trong logic vị từ cấp I để
chứng minh: Mother(huong,lan).
BÀI TẬP ÁP DỤNG
SUY DIỄN TIẾN, SUY DIỄN LÙI

• BÀI 5:

• Cho cơ sở tri thức:


R1: Father(X,Y)^Father(Y,Z) => Grandfather(X,Z).
R2: Son(X,Y) => Father(Y,X).
R3: Son(dan,peter).
R4: Son(john,dan).
• Áp dụng thủ tục suy diễn tiến vào cơ sở tri thức trên.
BÀI TẬP ÁP DỤNG
SUY DIỄN TIẾN, SUY DIỄN LÙI

• BÀI 6:

• Cho cơ sở tri thức:


1. Father(X,Y) => Child(Y,X).
2. Husband(X,Z) => Wife(Z,X).
3. Wife(Z,X)^Child(Y,X) => Mother(Z,Y).
4. Father(nam,lan).
5. Husband(nam,huong).
• Áp dụng thủ tục suy diễn tiến vào cơ sở tri thức trên.
Schubert’s Steamroller

You might also like