Bài toán suy diễn logic

Một phần của tài liệu giao_trinh_ky_thuat_lap_trinh_nang_cao (Trang 100 - 102)

II. LOGIC MỆNH ĐỀ

7. Bài toán suy diễn logic

Kỹ thuật lập trình nâng cao - 101 -

Qn tử ln nói thật và tiểu nhân ln nói dối. Một người hỏi một dân cư A trên đảo : "có phải anh là một quân tử ?". A đáp :"nếu tơi là qn tử thì tơi thua tiền anh ". Hãy chứng minh rằng : A nhất định phải thua tiền.

Ta mơ hình hóa bài tốn như sau :

Đặt các mệnh đề P : A là quân tử. Q : A phải trả tiền. Kết luận phải chứng minh là Q.

Khảo sát giả thiết của bài toán:

+ Mệnh đề khẳng định : " A là tiểu nhân " là not P

+ A phát biểu một mệnh đề S. giả thiết cho biết : Nếu A là quân tử thì S phải đúng tức là : P ==> S

+ Nếu A là tiểu nhân thì S phải sai : not p ==> not s

+ S là một hàm ý : " Nếu A là quân tử thì A phải trả tiền". Ta biểu thị S bởi : p ==> q

Như vậy tiền đề là : (P ==> S) and (not P ==> not S) theo luật tương đương (k) ta có thể viết là : P <==> S.

Bài toán được phát biểu dưới dạng thuần tuý logic như sau : Cho tiền đề P <==> (P ==> Q)

Có thể suy diễn được kết luận Q khơng ?

Ta sẽ xác lập rằng (lý luận trên là đúng) mệnh đề (P <==>(p ==> Q)) ==> Q là đúng với mọi bộ giá trị đúng sai của các mệnh đề thành phần .

Có hai cách : (a) Dùng bảng giá trị đúng sai . P Q ( P <==> ( P ==> Q ) ) ==> Q ––––––––––––––––––––––––––––––––––––– T T ( T <==> T ) ==> T F T ( F <==> T ) ==> T T F ( T <==> F ) ==> F F F ( F <==> T ) ==> F

(b) Dùng cách thay thế bằng các mệnh đề tương đương . P <==> (P ==> Q) P <==> (not P or Q) (hàm ý) ≡

≡ [(P and (not P or Q)] or [not P and not (not P or Q )] (tương đương)

mà not P and not (not P or Q) ≡ not P and (not not P and not Q) ≡ not P and ( P and not Q) ≡ (not P and P) and not Q ≡ false and not Q ≡ false và P and (not P or Q) ≡ (P and not P) or (P and Q) ≡ false or (p and Q) ≡ P and Q

Như vậy P <==> (P ==> Q) ≡ P and Q

Kỹ thuật lập trình nâng cao - 102 -

≡ not (P and Q) or Q ≡ (not P or not Q) or Q ≡ not P or (not Q or Q) ≡ not P or true ≡ true

Với các bài toán chỉ liên quan đến ít mệnh đề như trong ví dụ trên, cách dùng bảng chân trị đơn giản hơn . Nhưng nên cố gắng sử dụng cách biến đổi tương đương, bởi vì áp dụng thực tiễn của nó là lớn hơn nhiều.

Một phần của tài liệu giao_trinh_ky_thuat_lap_trinh_nang_cao (Trang 100 - 102)

Tải bản đầy đủ (PDF)

(108 trang)