Professional Documents
Culture Documents
Tomluoc4 LogicMenhDe
Tomluoc4 LogicMenhDe
1 Đặt vấn đề
Các phương pháp tìm kiếm có thể giải quyết nhiều bài toán. Tuy nhiên các phương pháp tìm
kiếm chỉ quan tâm đến việc đường đi đến lời giải mà không quan tâm đến ngữ cảnh của mỗi
trạng thái. Việc tìm lời được lời giải là hữu ích nhưng trong thực tế, con người đôi khi còn
mong muốn nhiều hơn một lời giải mà cần có một sự giải thích cho lời giải. Hay nói cách
khác máy tính cần có khả năng biểu diễn cho người dùng “hiểu” được các bước hoạt động
của mình để đạt được lời giải. Một trong những mục tiêu của TTNT là đề xuất phương pháp
biểu diễn và xử lý tri thức dựa trên các quá trình lập luận của con người.
Logic tính toán là công cụ đáp ứng được yêu cầu đặt ra xét trên cả hai phương diện người
và máy. Thứ nhất logic mô tả quá trình biểu diễn thông tin, suy diễn, lập luận của con người
do đó lập luận logic có thể hiểu được bởi con người (và được nhiều người sử dụng trong hoạt
động thường ngày). Thứ hai logic có một dạng biểu diễn hình thức (logic tính toán) mà máy
tính có thể hiểu và xử lý được.
Logic là một ngôn ngữ hình thức, bao gồm một tập cú pháp và ngữ nghĩa. Đơn vị cơ bản
trong một ngôn ngữ là câu (tương tự như trong ngôn ngữ tiếng Việt). Cú pháp là các quy tắc
để viết một câu hợp lệ trong ngôn ngữ và ngữ nghĩa quy định cách hiểu của những câu hợp lệ
trong ngôn ngữ. Có hai loại logic: logic mệnh đề và logic vị từ.
2 Logic mệnh đề
2.1 Cú pháp
Logic mệnh đề có cú pháp và ngữ nghĩa rất đơn giản. Các câu cơ bản của logic mệnh đề bao
gồm câu true, false và các biến mệnh đề, ký hiệu bằng các chữ cái viết hoa, ví dụ: P, Q, R, S,
A, B, C,… Mỗi biến mệnh đề đại diện cho một sự kiện trong bài toán. Ví dụ: P là “Trời
nắng”, Q là “Phơi đồ”,…
Các câu phức được tạo bằng cách sử dụng các phép nối. Có 5 phép nối trong logic với độ
ưu tiên từ cao đến thấp như sau: (phủ định), (và), (hay), (suy ra), (tương đương).
Ví dụ: ta có các câu sau:
a) P Q
b) P R true Q (P R) (true Q)
c) P Q R Q P _________________________
d) __________________ _________________________
e) __________________ _________________________
Ngoài ra không còn câu nào khác hợp lệ trong logic mệnh đề!
1
2.2 Ngữ nghĩa
Mỗi câu trong logic mệnh đề có một trong hai nghĩa: đúng/sai (true/false). Câu true luôn
luôn đúng và câu false luôn luôn sai. Giá trị của các câu phức được tính dựa vào giá trị các
câu cơ bản và quy ước của các phép nối và cho bởi bảng chân trị sau:
P Q P PQ PQ PQ QP PQ
f f t F f t t t
f t t F t t f f
t f f F t f t f
t t f T t t t t
2
PQ PQ P PQ
P Q Q
Q P PQ P
(Tam đoạn (Tam đoạn (Nối VÀ) (Bỏ VÀ)
luận) luận phủ định)
Áp dụng vào ví dụ trên, việc chứng minh được thực hiện qua các bước:
1. {P Q; P R; Q R S} (bỏ VÀ)
2. {P Q; P R; Q R S; P} (TĐL)
3. {P Q; P R; Q R S; P; R} (bỏ VÀ)
4. {P Q; P R; Q R S; P; R; Q} (nối VÀ)
5. {P Q; P R; Q R S; P; R; Q; Q R} (TĐL)
6. {P Q; P R; Q R S; P; R; Q; Q R, S} (đpcm)
Phương pháp suy diễn tự nhiên dựa vào tam đoạn luận có thể dùng chứng minh bài toán
suy dẫn. Tuy nhiên phương pháp này cần phải chia nhiều trường hợp đối với trường hợp như
(P Q R) để xử lý nên không hiệu quả (xem trong Thuật toán Vương Hạo). Hợp giải là
phương pháp chứng minh đầy đủ dành cho logic mệnh đề.
3
2.4.2 Dạng hội chuẩn (CNF)
Dạng hội chuẩn là tập hợp các câu logic được tạo thành bởi các từ logic (bao gồm ký hiệu
mệnh đề hoặc phủ định ký hiệu mệnh đề) và phép hội (phép HAY).
Ví dụ: các câu sau là dạng hội chuẩn: A B C, B D, A, B C, _______________
Ví dụ: các câu sau không phải hội chuẩn: A (B C), (C D), B C, _____________
Một câu bất kỳ trong logic mệnh đề có thể được biến đổi về dạng hội chuẩn qua 3 bước
sau:
1. Loại bỏ các dấu mũi tên (, ) bằng định nghĩa
( ) ( )
2. Phân phối phủ định
( ) (De Morgan)
( ) (De Morgan)
3. Phân phối vào (tách câu):
( ) ( ) ( )
Ví dụ 1: biến đổi câu về dạng hội chuẩn (A B) (C D)
Bước 1: _______________________________________
Bước 2: _______________________________________
Bước 3: _______________________________________
Ví dụ 2: P Q R Q P
Bước 1: _______________________________________
Bước 2: _______________________________________
Bước 3: _______________________________________
Ví dụ 3: Hãy biến đổi câu logic của bạn (ở phần 2.1) về dạng hội chuẩn.
4
Á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.
c. Lặp cho đến khi không còn biến mệnh đề nào có thể hợp giải được.
4. Trả về false
2.5 Thuật toán Vương Hạo – Suy diễn tự nhiên theo trường hợp
Một phương pháp khác thường được đề cập trong một số tài liệu (cũ) để chứng minh bài toán
suy dẫn là thuật toán Vương Hạo. Thuật toán Vương Hạo dựa vào một số trường hợp suy dẫn
tự nhiên như sau:
AA
AB A
AAC
AB AC
Những câu logic trên luôn đúng nên bài toán suy dẫn được chứng minh khi một mệnh đề
(A) vừa xuất hiện ở tiền đề vừa xuất hiện ở kết luận. Tổng quát, thuật toán Vương Hạo tìm
5
cách đưa câu cần chứng minh về dạng trên bằng cách tách câu logic thành các trường hợp
như trên.
1. Đưa bài toán cần chứng minh về dạng chuẩn:
GT1, GT2, ..., GTn KL1, KL2, ..., KLm
Trong đó các GTi và j KL là các câu chỉ gồm các phép , , ¬ (không chứa phép
hay ). Lưu ý: dấu phẩy (,) ở vế trái tương đương với , ở vế phải tương đương với .
2. Lặp
a. Nếu tồn tại một câu có phép ở đầu thì chuyển vế câu và loại bỏ phép
b. Thay các dấu ở vế trái và các dấu ở vế phải bằng dấu phẩy (,). Khi đó vế trái
chỉ còn dấu và , về phải chỉ còn dấu và .
c. Tách dòng:
Nếu dòng hiện tại có dạng: GT1, GT2, ..., AB, …, GTn KL1, KL2,..., KLm
thì thay bằng hai dòng:
GT1, GT2, ..., A, …, GTn KL1, KL2, ..., KLm
GT1, GT2, ..., B, …, GTn KL1, KL2, ..., KLm
Nếu dòng hiện hành có dạng: GT1, GT2, ...,GTn KL1, KL2,…, AB,...,KLm
thì thay bằng hai dòng:
GT1, GT2, ..., GTn KL1, KL2, ..., A,…, KLm
GT1, GT2, ..., GTn KL1, KL2, ..., B,…, KLm
d. Một dòng được chứng minh nếu tồn tại một mệnh đề ở cả hai vế.
e. Một dòng không thể tách cũng không thể chuyển vế dấu ¬ mà không có
biến mệnh đề chung ở cả hai vế thì không được chứng minh.
Vòng lặp kết thúc khi mọi dòng được chứng minh hay tồn tại một dòng không được chứng
minh. Bài toán ban đầu được chứng minh nếu mọi dòng tách ra từ nó được chứng minh.
Ví dụ: Cho KB = {A B D; A C; C B}. Chứng minh D được suy dẫn từ các câu
trên.
Chứng minh:
Biến đổi: A B D, __________________ D
Tách dòng:
1. A, ________________________ D
2. B, ________________________ D
3. D, _________________________D (được cm)
Chuyển vế:
6
1. ________________________ D, A
2. ________________________ D, B
Tách dòng:
___. _____________________________
___. _____________________________
Kết luận: ____________________________.
Nhận xét: Thuật toán Vương Hạo sử dụng cách chia trường hợp để chứng minh. Giả
sử mỗi câu trong cơ sở tri thức có thể được chia thành 2 trường hợp (mỗi câu bên tiền
đề có 1 dấu và bên kết luận có 1 dấu ). Khi đó số trường hợp (số dòng cần xét) là
2n. Thuật toán Vương Hạo rõ ràng không hiệu quả! (Hãy làm thử các bài tập trong
phần hợp giải để đối chiếu).