You are on page 1of 36

TRÍ TUỆ NHÂN TẠO

Chứng minh trong Logic Mệnh ñề


Nội dung trình bày
2

 Hợp giải mệnh ñề


 Thuật toán hợp giải
 Thuật toán Davis Putman
 Suy diễn tiến
 Suy diễn lùi
 ðánh giá suy diễn tiến và suy diễn lùi
Hợp giải Mệnh ñề
3

 Hợp giải mệnh ñề là luật của suy diễn

 Chỉ sử dụng một mình hợp giải mệnh ñề (không cần sử


dụng các luật khác) có thể xây dựng một chương trình
chứng minh lý thuyết ñúng và ñủ cho tất cả Logic Mệnh
ñề

 Chỉ hoạt ñộng với biểu diễn dạng hội chuẩn


(Conjunctive Normal Form)
Dạng Hội Chuẩn CNF
4

 Công thức Dạng hội Chuẩn (CNF) có dạng:


(A ∨ B ∨ ¬C) ∧ (B∨D) ∧ (¬ A) ∧ (B∨C)
• (A ∨ B ∨ ¬C) là một clause

• A, B, ¬C là các literal, mà mỗi cái là một biến hay phủ


ñịnh của một biến
• Mỗi clause phải ñược thoả và có thể ñược thoả theo
nhiều cách
• Mỗi câu trong logic mệnh ñề ñều có thể viết dưới
dạng CNF
Biến ñổi thành CNF
5

 Loại bỏ các dấu mũi tên (⇐, ⇔, ⇒) bằng ñịnh nghĩa


 ðưa dấu phủ ñịnh vào dùng luật De Morgan
¬(A ∨ B) ≡ ¬A ∧ ¬ B
¬(A ∧ B) ≡ ¬A ∨ ¬ B
 Phân phối or vào and
A ∨ (B ∧ C) ≡ (A ∨ B) ∧ (A ∨ C)

 Mọi câu ñều có thể ñược biến ñổi thành CNF, nhưng
kích thước có thể tăng lên theo luỹ thừa.
Ví dụ Hợp giải Mệnh ñề
9

Chứng minh R Bước Công thức Suy dẫn


1 P∨Q 1 P∨Q Cho trước
2 P⇒R 2 ¬P ∨ R Cho trước
3 Q⇒R 3 ¬Q ∨ R Cho trước
Ví dụ Hợp giải Mệnh ñề
11

Chứng minh R Bước Công thức Suy dẫn


1 P∨Q 1 P∨Q Cho trước
2 P⇒R 2 ¬P ∨ R Cho trước
3 Q⇒R 3 ¬Q ∨ R Cho trước
4 ¬R Phủ ñịnh kết luận
5 Q∨R 1, 2
6 ¬P 2, 4
7 ¬Q 3, 4
8 R 5, 7
9 · 4, 8
Thủ tục Davis Putman
12

 Biến ñổi tất cả các câu thành dạng CNF


 Lấy phủ ñịnh kết luận, ñưa vào KB
 Lặp
 Nếu trong KB có chứa hai mệnh ñề mâu thuẫn (ví
dụ: P và ¬P) thì trả về true
 Sử dụng một biến mệnh ñề ñể hợp giải:
 Lấy tất cả các câu chứa biến mệnh ñề ñược chọn.
 Áp dụng luật hợp giải lên mọi cặp câu chứa khẳng ñịnh
và phủ ñịnh của biến mệnh ñề.
 Viết các câu kết quả mới và xoá các câu ñã sử dụng.
 Lặp cho ñến khi không còn biến mệnh ñề nào có
thể hợp giải ñược.
 Trả về false
Suy diễn Tiến và Lùi
13

 Logic dạng Horn (hạn chế):


KB = nối liền của các mệnh ñề Horn

Mệnh ñề Horn =
 biến mệnh ñề, hay
 (nối rời các biến) ⇒ biến
Ví dụ: C ∧ (B ⇒ A) ∧ (C ∧ D ⇒ D)
 Tam ñoạn luận (cho dạng Horn): ñủ ñối với KB Horn
α⇒β, α
β
 Có thể ñược sử dụng với suy diễn tiến và suy diễn lùi
 Các thuật toán này rất tự nhiên và chạy với thời gian tuyến tính
Ví dụ Hợp giải Mệnh ñề
10

Chứng minh R Bước Công thức Suy dẫn


1 P∨Q 1 P∨Q Cho trước
2 P⇒R 2 ¬P ∨ R Cho trước
3 Q⇒R 3 ¬Q ∨ R Cho trước
4 ¬R Phủ ñịnh kết luận
Ví dụ Suy diễn Tiến
17
Thủ tục Davis Putman
12

 Biến ñổi tất cả các câu thành dạng CNF


 Lấy phủ ñịnh kết luận, ñưa vào KB
 Lặp
 Nếu trong KB có chứa hai mệnh ñề mâu thuẫn (ví
dụ: P và ¬P) thì trả về true
 Sử dụng một biến mệnh ñề ñể hợp giải:
 Lấy tất cả các câu chứa biến mệnh ñề ñược chọn.
 Áp dụng luật hợp giải lên mọi cặp câu chứa khẳng ñịnh
và phủ ñịnh của biến mệnh ñề.
 Viết các câu kết quả mới và xoá các câu ñã sử dụng.
 Lặp cho ñến khi không còn biến mệnh ñề nào có
thể hợp giải ñược.
 Trả về false
Suy diễn Tiến và Lùi
13

 Logic dạng Horn (hạn chế):


KB = nối liền của các mệnh ñề Horn

Mệnh ñề Horn =
 biến mệnh ñề, hay
 (nối rời các biến) ⇒ biến
Ví dụ: C ∧ (B ⇒ A) ∧ (C ∧ D ⇒ D)
 Tam ñoạn luận (cho dạng Horn): ñủ ñối với KB Horn
α⇒β, α
β
 Có thể ñược sử dụng với suy diễn tiến và suy diễn lùi
 Các thuật toán này rất tự nhiên và chạy với thời gian tuyến tính
Suy diễn tiến
14

 Ý tưởng: kích hoạt tất cả các luật mà tiền ñề của nó


thoả trong KB,
 bổ sung kết luận vào KB, lặp cho ñến khi tìm thấy kết luận
Ví dụ Suy diễn Tiến
15
Ví dụ Suy diễn Tiến
22
Ví dụ Suy diễn Tiến
17
Ví dụ Suy diễn Tiến
18
Ví dụ Suy diễn Tiến
19
Ví dụ Suy diễn Tiến
20
Ví dụ Suy diễn Tiến
21
Ví dụ Suy diễn Tiến
22
Suy diễn Lùi (Back Chaining)
23

Ý tưởng: quay lùi từ câu hỏi q:


ñể chứng minh q bằng BC,
kiểm tra xem q ñã biết chưa, hay
chứng minh bằng cách suy diễn lùi tất cả tiền ñề của một luật
nào ñó rút ra q

Tránh loop: kiểm tra xem một mục tiêu phụ ñã nằm trong
ngăn xếp mục tiêu hay chưa

Tránh lặp lại công việc: kiểm tra xem một mục tiêu phụ
mới
1. ñã ñược chứng minh ñúng, hay
2. ñã thất bại
Ví dụ Suy diễn Lùi
24
Ví dụ Suy diễn Lùi
32

Q? P⇒Q
P? 
L? 
A? 
B? 
M? 
L? 
B? 
Ví dụ Suy diễn Lùi
26

Q? P⇒Q
P? L∧M⇒P
L?
Ví dụ Suy diễn Lùi
27

Q? P⇒Q
P? L∧M⇒P
L? A∧ B⇒ L
A? 
Ví dụ Suy diễn Lùi
28

Q? P⇒Q
P? L∧M⇒P
L? A∧B⇒L
A? 
B? 
Ví dụ Suy diễn Lùi
29

Q? P⇒Q
P? L∧M⇒P
L? 
A? 
B? 
Ví dụ Suy diễn Lùi
30

Q? P⇒Q
P? L∧M⇒P
L? 
A? 
B? 
M? L∧ B⇒M
L?
B?
Ví dụ Suy diễn Lùi
31

Q? P⇒Q
P? L∧M⇒P
L? 
A? 
B? 
M? 
L? 
B? 
Ví dụ Suy diễn Lùi
32

Q? P⇒Q
P? 
L? 
A? 
B? 
M? 
L? 
B? 
Ví dụ Suy diễn Lùi
33

Q? 
P? 
L? 
A? 
B? 
M? 
L? 
B? 
Suy diễn Tiến (FC) và Lùi (BC)
34

 FC là hướng dữ liệu, xử lý tự ñộng, không ý thức,


 vd, nhận dạng mẫu, quyết ñịnh lộ trình

 Có thể làm nhiều việc không liên quan ñến ñích

 BC là hướng ñích, thích hợp với giải quyết vấn ñề,

 ðộ phức tạp của BC có thể ít hơn nhiều so với tuyến


tính theo kích thước của KB
ðiều cần nắm
35

 Hiểu ñược ý tưởng, cơ sở của phép hợp giải


và việc chứng minh dùng thuật toán hợp giải
 Nắm ñược các dạng suy diễn áp dụng ñược
trên logic mệnh ñề
 Làm ñược các bài tập liên quan ñến logic
mệnh ñề
Thắc mắc
36