Cách Lập Bảng Chân Trị Trong Toán Rời Rạc

     

Mục tiêu

Học xong chương này, sinh viên phải nắm bắt được các vấn đề sau:

- Thế nào là mệnh đề, chân trị của mệnh đề, các phép toán mệnh đề.

Bạn đang xem: Cách lập bảng chân trị trong toán rời rạc

- Thực hiện được các phép toán mệnh đề.

- Hiểu được các ứng dụng của phép toán logic trong lập trình và trong đời sống hàng ngày.


Kiến thức cơ bản cần thiết

Các kiến thức cơ bản trong chương này bao gồm:

- Kiến thức về phép toán đại số, phép toán hình học cơ bản.

- Có khả năng suy luận.

- Biết lập trình bằng ngôn ngữ Pascal, C


Tài liệu tham khảo

Phạm văn Thiều, Đặng Hữu Thịnh. Toán rời rạc ứng dụng trong tin học. Nhà xuất bản Khoa học và Kỹ thuật, Hà Nội - 1997 (chương 1, trang 6 - 28).


Nội dung cốt lõi

- Định nghĩa mệnh đề, biểu thức mệnh đề.

- Các phép toán

- Ví dụ ứng dụng

- Giới thiệu một số thuật ngữ chuyên dùng

- Tương đương logic và cách chứng minh.


Định nghĩa mệnh đề

Mổi câu phát biểu là đúng hay là sai được gọi là một mệnh đề.

(Definition proposition: Any statement that is either true or false is called a proposition.)

Ví dụ 1: Các câu xác định dưới đây là một mệnh đề

. 2 + 3 = 5

. 3*4 = 10 .

. Tam giác đều có 3 cạnh bằng nhau

. Washington D.C. là thủ đô của Hoa Kỳ

. Toronto là thủ đô của Canada

Câu xác định "2 + 3 = 5", "Tam giác đều có 3 cạnh bằng nhau" và "Washington D.C. là thủ đô của Hoa Kỳ" là các mệnh đề đúng. Còn các câu xác định "3*4 = 10" và "Toronto là thủ đô của Canada" là các mệnh đề sai.

Như vậy, một mệnh đề có thể là mệnh đề đúng hoặc mệnh đề sai. Hay nói cách khác, một mệnh đề chỉ có thể lựa chọn 1 trong 2 giá trị là đúng hoặc là sai.

Một mệnh đề không thể vừa đúng vừa sai.

Ví dụ 2: Xét các câu phát biểu sau

. Hôm nay là thứ mấy ?

. Một số thực âm không phải là số chính phương

. Hãy đọc kỹ đọan này

. x + 1 = 2

. x + y = z

Câu "Hôm nay là thứ mấy ? " không là mệnh đề vì nó chỉ là một câu hỏi không có giá trị đúng, sai. Câu "Một số âm không phải là số chính phương" có chân trị là đúng nếu xét trên tập họp số thực R nhưng lại có chân trị sai khi xét trên tập họp số phức. Câu "x+1=2" và câu "x+y=z" không phải là mệnh đề vì chúng chẳng đúng cũng chẳng sai bởi các biến trong những câu đó chưa được gán cho một giá trị cụ thể nào.

Giá trị đúng, sai của một mệnh đề được gọi là chân trị của mệnh đề đó. Chân trị của mệnh đề đúng ký hiệu là T (true), chân trị của mệnh đề sai ký hiệu là F (false).

Bảng chân trị của mệnh đề bao gồm các trường hợp đúng, sai có thể xảy ra của mệnh đề đó.

Mục đích của các họat động khoa học là phân biệt các mệnh đề để xác định chân trị của nó. Sự xác định chân trị này dựa vào thực nghiệm và lý luận. Lý luận ở đây là xác định chân trị của mệnh đề bằng cách kết hợp các mệnh đề mà ta đã biết chân trị. Các luật lệ chế ngự cách kết hợp mang tính chính xác của phép toán đại số. Vì thế, chúng ta cần nói đến "Đại số mệnh đề".


Các phép tính mệnh đề

Trong phép tính mệnh đề, người ta không quan tâm đến ý nghĩa của câu phát biểu mà chỉ chú ý đến chân trị của các mệnh đề. Do đó, khi thực hiện các phép toán mệnh đề thông thường người ta không ghi rõ các câu phát biểu mà chỉ ghi ký hiệu. Các chữ cái sẽ được dùng để ký hiệu các mệnh đề. Những chữ cái thường dùng là P, Q, R,.....

Mệnh đề chỉ có một giá trị đơn (luôn đúng hoặc sai) được gọi là mệnh đề nguyên từ ( atomic proposition ). Các mệnh đề không phải là mệnh đề nguyên từ được gọi là mệng đề phức hợp (compound propositions). Thông thường, tất cả mệnh đề phức hợp là mệnh đề liên kết (có chứa phép tính mệnh đề).

Các phép tính mệnh đề được sử dụng nhằm mục đích kết nối các mệnh đề lại với nhau tạo ra một mệnh đề mới. Các phép toán mệnh đề được trình bày trong chương này bao gồm : phép phủ định, phép hội, phép tuyển, phép XOR, phép kéo theo, phép tương đương.


Phép phủ định (NEGATION)

Cho P là một mệnh đề, câu "không phải là P" là một mệnh đề khác được gọi là phủ định của mệnh đề P. Kí hiệu : ¬ size 12{ neg } {} P (P¯ size 12{ {overline {P}} } {} ).

Ví dụ : P = " 2 > 0 "

¬ size 12{ neg } {} P = " 2 ≤ 0 "

Bảng chân trị (truth table)

p ¬ size 12{ neg } {}p
T F
F T
Qui tắc: Nếu P có giá trị là T thì phủ định P có giá trị là F.


Phép hội (CONJUNCTION)

Cho hai mệnh đề P, Q. Câu xác định "P và Q" là một mệnh đề mới được gọi là hội của 2 mệnh đề P và Q. Kí hiệu P ^ Q.

Ví dụ : Cho 2 mệnh đề P và Q như sau

P = " 2 > 0 " là mệnh đề đúng

Q = " 2 = 0 " là mệnh đề sai

P ^ Q = " 2> 0 và 2 = 0 " là mệnh đề sai.

Bảng chân trị

p q p^q
T T T
T F F
F T F
F F F

Qui tắc : Hội của 2 mệnh đề chỉ đúng khi cả hai mệnh đề là đúng. Các trường hợp còn lại là sai.


Phép tuyển (DISJUNCTION)

Cho hai mệnh đề P, Q. Câu xác định "P hay (hoặc) Q" là một mệnh đề mới được gọi là tuyển của 2 mệnh đề P và Q. Kí hiệu P V Q.

Ví dụ : Cho 2 mệnh đề P và Q như sau

P = " 2 > 0 " là mệnh đề đúng

Q = " 2 = 0 " là mệnh đề sai

P V Q = " 2 ≥ 0 " là mệnh đề đúng.

pqpvq
TTT
TFT
FTT
FFF
Bảng chân trị

Qui tắc : Tuyển của 2 mệnh đề chỉ sai khi cả hai mệnh đề là sai. Các trường hợp còn lại là đúng.


Phép XOR

Cho hai mệnh đề P và Q. Câu xác định "loại trừ P hoặc lọai trừ Q", nghĩa là "hoặc là P đúng hoặc Q đúng nhưng không đồng thời cả hai là đúng" là một mệnh đề mới được gọi là P xor Q. Kí hiệu P ⊕ size 12{⊕} {} Q.

Bảng chân trị

p q p⊕ size 12{⊕} {}q
T T F
T F T
F T T
F F F


Phép toán trên bit

Các máy tính dùng các bit để biểu diễn thông tin. Một bit có 2 giá trị khả dĩ là 0 và 1. Bit cũng có thể được dùng để biểu diễn chân trị. Thường người ta dùng bit 1 để biểu diễn chân trị đúng và bit 0 để biểu diễn chân trị sai. Các phép toán trên bit trong máy tính là các phép toán logic. Thông tin thường được biển diễn bằng cách dùng các xâu bit. Ta có định nghĩa xâu bit như sau:

Định nghĩa : Một xâu bit (hoặc xâu nhị phân) là dãy có một hoặc nhiều bit. Chiều dài của xâu là số các bit trong xâu đó.

Ví dụ : 101011000 là một xâu bit có chiều dài là 9

Có thể mở rộng các phép toán trên bit tới các xâu bit. Người ta định nghĩa các OR bit, AND bit và XOR bit đối với 2 xâu bit có cùng chiều dài là các xâu có các bit của chúng là ca1c OR, AND, XOR của các bit tương ứng trong 2 xâu tương ứng. Chúng ta cũng dùng các kí hiệu ^, v, ⊕ size 12{⊕} {} để biểu diễn các phép tính OR bit, AND và XOR tương ứng.

Ví dụ : Tìm OR bit, AND bit và XOR bit đối với 2 xâu sau đây (mỗi xâu được tách thành 2 khối, mỗi khối có 5 bit cho dễ đọc)

01101 10110

11000 11101

11101 11111 OR bit

01000 10100 AND bit

10101 01011 XOR bit


Phép kéo theo (IMPLICATION)

Cho P và Q là hai mệnh đề. Câu "Nếu P thì Q" là một mệnh đề mới được gọi là mệnh đề kéo theo của hai mệnh đề P,Q. Kí hiệu P → Q. P được gọi là giả thiết và Q được gọi là kết luận.

Ví dụ : Cho hai mệnh đề P và Q như sau

P = " tam giác T là đều "

Q = " tam giác T có một góc bằng 60°"

Để xét chân trị của mệnh đề P → Q, ta có nhận xét sau :

- Nếu P đúng, nghĩa là tam giác T là đều thì rõ ràng rằng P → Q là đúng.

- Nếu P sai, nghĩa là tam giác T không đều và cũng không là cân thì dù Q là đúng hay sai thì mệnh đề P → Q vẫn đúng.

Sau đây là bảng chân trị của ví dụ và cũng là bảng chân trị của mệnh đề P →Q.

*

Qui tắc : mệnh đề kéo theo chỉ sai khi giả thiết đúng và kết luận sai. Các trường hợp khác là đúng.

Từ mệnh đề P → Q, chúng ta có thể tạo ra các mệnh đề kéo theo khác như là mệnh đề Q → P và ¬ size 12{ neg } {}Q → P được gọi là mệnh đề đảo và mệnh đề phản đảo của mệnh đề P → Q.

Xem thêm: Hướng Dẫn Cách Trang Trí Phòng Học Mầm Non Đẹp Sáng Tạo, Hướng Dẫn Trang Trí Các Góc Lớp Mầm Non

Ví dụ : Tìm mệnh đề đảo và phản đảo của mệnh đề sau

" Nếu tôi có nhiều tiền thì tôi mua xe hơi"

Mệnh đề đảo là :

" Nếu tôi mua xe hơi thì tôi có nhiều tiền"

Mệnh đề phản đảo là :

" Nếu tôi không mua xe hơi thì tôi không có nhiều tiền"


Phép tương đương (BICONDITIONAL)

Cho P và Q là hai mệnh đề. Câu "P nếu và chỉ nếu Q" là một mệnh đề mới được gọi là P tương đương Q. Kí hiệu P  Q. Mệnh đề tương đương là đúng khi P và Q có cùng chân trị.

P  Q = (P → Q) ^ (Q → P)

Đọc là : P nếu và chỉ nếu Q

P là cần và đủ đối với Q

Nếu P thì Q và ngược lại

Bảng chân trị

p q p↔ size 12{↔} {}q
T T T
T F F
F T F
F F T

Biểu thức mệnh đề (LOGICAL CONNECTIVES)

Cho P, Q, R,... là các mệnh đề. Nếu các mệnh đề này liên kết với nhau bằng các phép toán thì ta được một biểu thức mệnh đề.

Chú ý : . Một mệnh đề cũng là một biểu thức mệnh đề

. Nếu P là một biểu thức mệnh đề thì P cũng là biểu thức mệnh đề

Chân trị của biểu thức mệnh đề là kết quả nhận được từ sự kết hợp giữa các phép toán và chân trị của các biến mệnh đề.

Ví dụ : Tìm chân trị của biểu thức mệnh đề ¬ size 12{ neg } {}P ^V (Q ^ R )

*

Do biểu thức mệnh đề là sự liên kết của nhiều mệnh đề bằng các phép toán nên chúng ta có thể phân tích để biểu diễn các biểu thức mệnh đề này bằng một cây mệnh đề.

Ví dụ : Xét câu phát biểu sau :

" Nếu Michelle thắng trong kỳ thi Olympic, mọi người sẽ khâm phục cô ấy, và cô ta sẽ trở nên giàu có. Nhưng, nếu cô ta không thắng thì cô ta sẽ mất tất cả."

Đây là một biểu thức mệnh đề và phép toán chính là phép hội. Có thể viết lại như sau :

"Nếu Michelle thắng trong kỳ thi Olympic, mọi người sẽ khâm phục cô ấy, và cô ta sẽ trở nên giàu có.

Nhưng,

nếu cô ta không thắng thì cô ta sẽ mất tất cả. "

Cả hai mệnh đề chính trong biểu thức mệnh đề này là mệnh đề phức hợp. Có thể định nghĩa các biến mệnh đề như sau:

P: Michelle thắng trong kỳ thi Olympic

Q: mọi người sẽ khâm phục cô ấy

R: cô ta sẽ trở nên giàu có

S: cô ta sẽ mất tất cả

Biểu diễn câu phát biểu trên bằng các mệnh đề và các phép toán, ta có biểu thức mệnh đề sau : ( P → (Q ^ R)) ^ (¬ size 12{ neg } {}P → S)

Biểu diễn câu phát biểu trên thành một cây ngữ nghĩa như sau :

Nếu Michelle thắng trong kỳ thi Olympic, mọi người sẽ khâm phục cô ấy, và cô ta sẽ trở nên giàu có. Nhưng, nếu cô ta không thắng thì cô ta sẽ mất tất cả. Nếu Michelle thắng trong kỳ thi Olympic, mọi người sẽ khâm phục cô ấy, và cô ta sẽ trở nên giàu có. Nếu cô ta không thắng thì cô ta sẽ mất tất cả. AND Michelle thắng trong kỳ thi Olympic Mọi người sẽ khâm phục cô ấy, và cô ta sẽ trở nên giàu có. Cô ta không thắng Cô ta sẽ mất tất cả. Mọi người sẽ khâm phục cô ấy Cô ta sẽ trở nên giàu có. Cô ta sẽ mất tất cả. AND NOT


Các ứng dụng của Logic (EVERDAY LOGICAL)

Ngày nay, logic mệnh đề được ứng dụng nhiều trong các lĩnh vực khác nhau như:

- Viết

- Nói

- Tìm kiếm trên mạng (search engines)

- Toán học

- Các chương trình máy tính (logic in programming)

Do đó, hiểu biết các qui tắc để sử dụng logic là rất hữu ích. Sau đây là một vài ví dụ để chỉ ra các ứng dụng đó.


Ví dụ 1: Logic trong tìm kiếm trên mạng

Đặt vấn đề : Bạn muốn tìm tài liệu trên mạng có liên quan đến hai từ "disc golf". Nếu bạn gõ vào ô tìm kiếm hai từ "disc golf" này, bạn sẽ tìm thấy các tài liệu về disc và các tài liệu về golf nhưng không tìm thấy các các tài liệu về "disc golf".

Cách giải quyết : Bạn chỉ cần gõ vào ô tìm kiếm là "disc AND golf"


Ví dụ 2 : Logic trong lập trình (Logic in programming)

Đặt vấn đề : Bạn muốn đặt điều kiện là nếu 00 AND x 0 và y > 0 . Đặt :

a + 51 = x2

a - 38 = y2

89 = 1.89 = x2 - y2 = ( x + y )( x - y )

Suy ra :

x + y = 1

x - y = 89

(loại vì x, y là nguyên dương nên không thể có x + y = 1)

Hay là :

x + y = 89

x - y = 1

Giải hệ phuơng trình này ta được x = 45 và y = 44. Vậy a = 1974.

Trên đây là vài ví dụ đơn giản. Hy vọng rằng các ví dụ này cho chúng ta thấy được sự quan trọng của logic không chỉ trong toán học, khoa học máy tính mà còn trong cuộc sống hàng ngày.



Định nghĩa Hằng đúng (Tautologie):

Một hằng đúng là một mệnh đề luôn có chân trị là đúng.

Một hằng đúng cũng là một biểu thức mệnh đề luôn có chân trị là đúng bất chấp sự lựa chọn chân trị của biến mệnh đề.

Ví dụ : xét chân trị của biểu thức mệnh đề P v P

*

Vậy ¬ size 12{ neg } {}PvP là một hằng đúng.


Định nghĩa Hằng sai (Contradiction):

Một hằng sai là một mệnh đề luôn có chân trị là sai.

Một hằng sai cũng là một biểu thức mệnh đề luôn có chân trị là sai bất chấp sự lựa chọn chân trị của biến mệnh đề.

Ví dụ : xét chân trị của biểu thức mệnh đề ¬ size 12{ neg } {}P ^ P

*

Vậy ¬ size 12{ neg } {}P^P là một hằng sai.


Định nghĩa tiếp liên (Contingency):

Một tiếp liên là một biểu thức mệnh đề không phải là hằng đúng và không phải là hằng sai.

Ví dụ : Tìm chân trị của biểu thức mệnh đề (P ^ Q ) v ¬ size 12{ neg } {}Q

*

Vậy (P ∧ Q ) v ¬ size 12{ neg } {}Q là một tiếp liên vì nó không phải là hằng đúng và cũng không phải là hằng sai.


Mệnh đề hệ quả

Định nghĩa : Cho F và G là 2 biểu thức mệnh đề. Người ta nói rằng G là mệnh đề hệ quả của F hay G được suy ra từ F nếu F → G là hằng đúng.

Kí hiệu F |→ G

Ví dụ : Cho F = ( P → Q ) ^ ( Q → R )

G = P → R

Xét xem G có là mệnh đề hệ quả của F không ?

*

Vậy G là mệnh đề hệ quả của F

Nhận xét : Nếu G là hệ quả của F thì khi F là đúng thì bắt bắt buộc G phải đúng. Ngược lại, nếu G là đúng thì chưa có kết luận gì vể chân trị của F.


Tương đương Logic (LOGICALLY EQUIVALENT)

Định nghĩa 1 : Mệnh đề P và mệnh đề Q được gọi là tương đương logic nếu phép tương đương của P và Q (PQ) là hằng đúng. Định nghĩa 2 : Hai mệnh đề P và Q được gọi là tương đương logic nếu và chỉ nếu chúng có cùng chân trị. Mệnh đề P và Q tương đương logic được kí hiệu là P ⇔ Q (hay P = Q)

Ví dụ 1 : Cho F = Pv(Q^R)

G = (PvQ) ^ (PvR)

Xét xem hai mệnh đề trên là có tương đương logic không ?

Vậy F và G là tương đương logic hay F=G.

Xem thêm: Công Dụng Chữa Bệnh Tuyệt Vời Của Cây Tía Tô Chữa Bệnh Tuyệt Vời Của Cây Tía Tô

Ví dụ 2: Cho F = P → Q

G = ¬ size 12{ neg } {} (PvQ) Xét xem hai mệnh đề trên là có tương đương logic không ?

*

Vậy F ⇔ G hay P → Q =  (PvQ)

Bảng các tương đương logic thường dùng

Đặt T= hằng đúng, F = hằng sai

*

Domination laws : luật nuốt

Identity laws : luật đồng nhất

Idempotent laws : luật lũy đẳng

Double negation law : luật phủ định kép

Cancellation laws : luật xóa bỏ

Commutative laws : luật giao hoán

Associative laws : luật kết hợp

Distributive laws : luật phân bố

De Morgan’s laws : luật De Morgan

Ngoài các tương đương thường dùng trong bảng trên, có một tương đương logic khác mà chúng ta cũng sẽ hay gặp trong các chứng minh.

Đó là :

P v ( P ^ Q ) = P

P ^ ( P v Q ) = P

( sinh viên tự chứng minh xem như bài tập )

Ví dụ 1 : Không lập bảng chân trị, sử dụng các tương đương logic để chứng minh rằng (P ^ Q) → Q là hằng đúng.
*
Ví dụ 2 : Chứng minh rằng 

*

Ví dụ 3 : Áp dụng trong lập trình

Giả sử trong chương trình có câu lệnh sau :

while(NOT(A!=0 AND NOT(A>= 10)))

Ta có thể viết lại câu lệnh này một cách đơn giản hơn bằng cách sử dụng công thức De Morgan.

while( A==0 OR A>= 10)

Ví dụ 4: Giả sử trong chương trình có câu lệnh sau :

while( (i10) OR (i= 10)))

Trước hết chúng ta sẽ áp dụng công thức De Morgan để biến đổi biểu thức sau cùng như sau :

while( (i10) OR (i= 10) )

Sau đó, chúng ta lại sử dụng công thức về tính phân bố của phép hội đối với phép tuyển để rút gọn biểu thức phía trước. Ta có câu lệnh sau cùng là :