65
TOÁN R˝I RC Biên so/n: Nguy„n Minh Trí Ngày 16 tháng 2 năm 2011

Lec TRR CNTTK6

Embed Size (px)

Citation preview

Page 1: Lec TRR CNTTK6

TOÁN RỜI RẠC

Biên soạn: Nguyễn Minh Trí

Ngày 16 tháng 2 năm 2011

Page 2: Lec TRR CNTTK6

Bài giảng TOÁN RỜI RẠC

Nguyễn Minh Trí 2

Page 3: Lec TRR CNTTK6

Mục lục

1 Cơ sở logic 5

1.1 Mệnh đề và các phép toán mệnh đề . . . . . . . . . . . . . . . . . . . . 5

1.1.1 Mệnh đề . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

1.1.2 Các phép toán . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

1.2 Dạng mệnh đề . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

1.2.1 Dạng mệnh đề . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

1.2.2 Giá trị chân lí của dạng mệnh đề . . . . . . . . . . . . . . . . . 8

1.3 Qui tắc suy diễn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

1.4 Vị từ và lượng từ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

1.4.1 Vị từ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

1.4.2 Các phép toán trên vị từ . . . . . . . . . . . . . . . . . . . . . . 14

1.4.3 Lượng từ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

1.4.4 Phủ định mệnh đề lượng từ hóa . . . . . . . . . . . . . . . . . . 15

1.5 Nguyên lí qui nạp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

2 Phương pháp đếm 19

2.1 Tập hợp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

2.1.1 Một số khái niệm . . . . . . . . . . . . . . . . . . . . . . . . . 19

2.1.2 Các phép toán trên tập hợp . . . . . . . . . . . . . . . . . . . . 19

2.2 Ánh xạ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

2.2.1 Định nghĩa ánh xạ . . . . . . . . . . . . . . . . . . . . . . . . . 20

2.2.2 Ảnh và tạo ảnh . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

2.2.3 Đơn ánh - Toàn ánh - Song ánh . . . . . . . . . . . . . . . . . . 20

2.2.4 Tích các ánh xạ. Ánh xạ ngược . . . . . . . . . . . . . . . . . . 21

2.2.5 Lực lượng của tập hợp . . . . . . . . . . . . . . . . . . . . . . . 21

2.3 Giải tích tổ hợp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

2.3.1 Nguyên lí cộng . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

2.3.2 Nguyên lí nhân . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

2.3.3 Nguyên lí bù trừ . . . . . . . . . . . . . . . . . . . . . . . . . . 22

2.3.4 Giải tích tổ hợp . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

2.4 Nguyên lí Dirichlet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

2.5 Hệ thức đệ qui . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

2.5.1 Khái niệm và các ví dụ . . . . . . . . . . . . . . . . . . . . . . . 25

2.5.2 Nghiệm tổng quát và nghiệm riêng . . . . . . . . . . . . . . . . 26

2.5.3 Hệ thức đệ qui tuyến tính thuần nhất . . . . . . . . . . . . . . . 27

2.5.4 Hệ thức đệ qui tuyến tính không thuần nhất . . . . . . . . . . 28

3

Page 4: Lec TRR CNTTK6

Bài giảng TOÁN RỜI RẠC

3 Quan hệ 353.1 Quan hệ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

3.1.1 Định nghĩa quan hệ . . . . . . . . . . . . . . . . . . . . . . . . . 353.1.2 Các tính chất của quan hệ . . . . . . . . . . . . . . . . . . . . . 363.1.3 Biểu diễn quan hệ . . . . . . . . . . . . . . . . . . . . . . . . . . 36

3.2 Quan hệ tương đương . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373.3 Quan hệ thứ tự . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

4 Đại số Bool và hàm Bool 434.1 Đại số Bool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

4.1.1 Định nghĩa và các ví dụ . . . . . . . . . . . . . . . . . . . . . . 434.1.2 Các định lí cơ bản . . . . . . . . . . . . . . . . . . . . . . . . . 44

4.2 Hàm Bool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 454.2.1 Hàm Bool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 454.2.2 Các phép toán trên hàm Bool . . . . . . . . . . . . . . . . . . . 464.2.3 Biểu diễn các hàm Bool . . . . . . . . . . . . . . . . . . . . . . 474.2.4 Dạng nối rời chính tắc . . . . . . . . . . . . . . . . . . . . . . . 474.2.5 Tính đầy đủ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

4.3 Mạng các cổng và công thức đa thức tổi tiểu . . . . . . . . . . . . . . . 504.3.1 Các cổng . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 504.3.2 Công thức đa thức tối tiểu . . . . . . . . . . . . . . . . . . . . . 53

4.4 Phương pháp Karnaugh . . . . . . . . . . . . . . . . . . . . . . . . . . 534.4.1 Biểu đồ karnaugh . . . . . . . . . . . . . . . . . . . . . . . . . . 544.4.2 Phương pháp tìm đa thức tối tiểu . . . . . . . . . . . . . . . . . 57

Nguyễn Minh Trí 4

Page 5: Lec TRR CNTTK6

Chương 1

Cơ sở logic

1.1 Mệnh đề và các phép toán mệnh đề

1.1.1 Mệnh đề

Trong toán học, ta quan tâm đến những khẳng định có giá trị chân lí xác định (đúnghoặc sai, không thể vừa đúng vừa sai). Các khẳng định như vậy gọi là mệnh đề.

Ví dụ:

1. Các khẳng định sau là mệnh đề:

• “1 + 2 = 4” là mệnh đề sai.

• “20 là số chẵn” là mệnh đề đúng.

2. Các khẳng định sau không phải là mệnh đề:

• “Ngày mai trời mưa”

• “n là số nguyên tố”

Ta dùng các chữ cái P,Q,R, · · · để chỉ các mệnh đề.Nếu mệnh đề P đúng thì ta nói nó có giá trị chân lí là 1 (hay chân trị là 1), viết là

P = 1Nếu mệnh đề P sai thì ta nói nó có giá trị chân lí là 0 (hay chân trị là 0), viết là

P = 0- Mệnh đề phức hợp: là mệnh đề được xây dựng từ các mệnh đề khác nhờ liên kết

bằng các liên từ (và, hay, khi và chỉ khi,. . . ) hoặc trạng từ “không”.- Mệnh đề sơ cấp (nguyên thủy): Là mệnh đề không thể xây dựng từ các mệnh đề

khác thông qua liên từ hoặc trạng từ “không”.Từ một hay nhiều mệnh đề, ta có thể lập các mệnh đề mới nhờ các phép toán logic

(tương tự như các phép toán đại số học)

1.1.2 Các phép toán

Phép phủ định Cho mệnh đề P , phủ định của P , kí hiệu là ¬P (đọc là "không P").Bảng chân trị của phép phủ định

P ¬P1 00 1

Ví dụ: P : 2 + 3 = 5 thì ¬P : 2 + 3 6= 5

5

Page 6: Lec TRR CNTTK6

Bài giảng TOÁN RỜI RẠC

Phép nối liền Mệnh đề nối liền của hai mệnh đề P và Q, kí hiệu P ∧Q (đọc là "Pvà Q") là mệnh đề đúng khi cả P và Q cùng đúng và sai trong các trường hợp còn lại.

P Q P ∧Q1 1 11 0 00 1 00 0 0

Ví dụ:

1. P : ”Số 5 là số nguyên tố.”

Q : ”5 là số chẵn.”

P ∧Q : ”Số 5 là số nguyên tố và 5 là số chẵn.”

2. Q : ”π >3”

R : ”π < 34’

Q ∧R : ”3< π <4”

Phép nối rời Mệnh đề nối rời của hai mệnh đề P và Q, kí hiệu P ∨ Q (đọc là "Phoặc Q") là mệnh đề sai khi cả P và Q cùng sai và đúng trong các trường hợp cònlại.

P Q P ∨Q1 1 11 0 10 1 10 0 0

Ví dụ:

1. P : "Số 5 là số nguyên tố.”

Q : ”Số 5 là số chẵn.”

P ∨Q : ”Số 5 là số nguyên tố hoặc 5 là số chẵn.”

2. Q : ”π >3”

R : ”π < 4”

Q ∨R : ”π>3 hoặc π <4”

Phép kéo theo Mệnh đề P kéo theo Q, kí hiệu P −→ Q, đọc là "Nếu P thì Q", làmệnh đề sai khi P đúng và Q sai; và đúng trong các trường hợp còn lại.

P Q P −→ Q1 1 11 0 00 1 10 0 1

Ví dụ:

Nguyễn Minh Trí 6

Page 7: Lec TRR CNTTK6

Bài giảng TOÁN RỜI RẠC

1. P : ”Số 5 là số nguyên tố.”

Q : ”Số 5 là số chẵn.”

P −→ Q: ”Nếu 5 là số nguyên tố thì 5 là số chẵn.”

2. Q : ”π >3”

R : ”π < 4”

Q −→ R : "Nếu π>3 thì π <4”

Phép kéo theo hai chiều Mệnh đề nếu P thì Q và ngược lại, kí hiệu P ←→ Q,đọc là "P khi và chỉ khi Q, P nếu và chỉ nếu Q", là mệnh đề đúng khi P,Q cùng đúnghoặc cùng sai; và sai trong các trường hợp còn lại.

P Q P ←→ Q1 1 11 0 00 1 00 0 1

Ví dụ:

1. P : ”Số 5 là số nguyên tố.”

Q : ”Số 5 là số chẵn.”

P ←→ Q : ”Số 5 là số nguyên tố khi và chỉ khi 5 là số chẵn.”

2. Q : ”π >3”

R : ”π < 4”

Q←→ R : ”π>3 nếu và chỉ nếu π <4”

1.2 Dạng mệnh đề

1.2.1 Dạng mệnh đề

Trong các phép tính mệnh đề ta có các "biểu thức logic" tương tự như các biểu thứcđại số mà ta gọi là các dạng mệnh đề chúng được xây dựng từ:

• Các mệnh đề (hằng mệnh đề)

• Các biến mệnh đề p, q, r, . . . có thể lấy giá trị là các mệnh đề nào đó

• Các phép toán trên các hằng mệnh đề và các biến mệnh đề theo 1 thứ tự xácđịnh.

Ví dụ: E(p, q, r) = (p ∧ q) ∨ ((¬r) −→ P )

là một dạng mệnh đề, trong đó P là hằng mệnh đề; p, q, r là các biến mệnh đề.

Giả sử E,F là hai dạng mệnh đề, khi ấy ¬E,E ∧F,E ∨F,E −→ F,E ←→ F cũnglà các dạng mệnh đề.

Nguyễn Minh Trí 7

Page 8: Lec TRR CNTTK6

Bài giảng TOÁN RỜI RẠC

1.2.2 Giá trị chân lí của dạng mệnh đề

Với một dạng mệnh đề E(p, q, r, . . .) thì ta có được mệnh đề E(P,Q,R, . . .) khi thaycác biến mệnh đề p, q, r, . . . bởi các mệnh đề P,Q,R, . . . có giá trị chân lí xác định. Mỗidạng mệnh đề có 1 bảng giá trị chân lí xác định trong đó mỗi dòng cho biết chân trịcủa E(p, q, r, . . .) theo các chân trị cụ thể của p, q, r, . . .

Ví dụ 1: Xây dựng bản chân trị của dạng mệnh đề p ∧ ¬(q ∨ r)

p q r q ∨ r ¬(q ∨ r) p ∧ ¬(q ∨ r)1 1 1 1 0 01 1 0 1 0 01 0 1 1 0 01 0 0 0 1 10 1 1 1 0 00 1 0 1 0 00 0 1 1 0 00 0 0 0 1 0

Ví dụ 2: Xây dựng bản chân trị của hai dạng mệnh đề p −→ q và ¬p ∨ q

p q ¬p p −→ q ¬p ∨ q1 1 0 1 11 0 0 0 00 1 1 1 10 0 1 1 1

Sự tương đương logic Hai dạng mệnh đề E và F được gọi là tương đương logicnếu chúng có cùng bảng chân trị. Khi ấy ta viết E ⇐⇒ F (hay E ≡ F )

Ví dụ: p −→ q ⇐⇒ ¬p ∨ q

• Một dạng mệnh đề được gọi là hằng đúng nếu nó luôn có chân trị bằng 1.

• Một dạng mệnh đề được gọi là hằng sai nếu nó luôn có chân trị bằng 0.

Định lí 1 Hai dạng mệnh đề E và F tương đương logic khi và chỉ khi E ←→ F làmột hằng đúng.

Hệ quả logic F được gọi là hệ quả logic của E nếu E −→ F là hằng đúng. Kí hiệuE ⇒ F .

Ví dụ: ¬(p ∨ q)⇒ ¬pTrong phép tính mệnh đề, ta thường không phân biệt các dạng mệnh đề tương

đương logic. Do đó các dạng mệnh đề phức tạp ta có thể biến đổi để nó tương đươngvới các dạng mệnh đề đơn giản.

Qui tắc thay thế thứ nhất Trong dạng mệnh đề E, nếu ta thay thế biểu thức conF bởi một dạng mệnh đề tương đương logic thì dạng mệnh đề thu được vẫn còn tươngđương logic với E.

Ví dụ: (p −→ q) ∨ r ⇐⇒ (¬p ∨ q) ∨ r

Qui tắc thay thế thứ hai Giả sử dạng mệnh đề E(p, q, r . . .) là một hằng đúng.Nếu ta thay thế những nơi p xuất hiện trong E bởi một F (p

′, q

′, r

′) thì dạng mệnh đề

nhận được theo các biến p′, q

′, r

′, q, r, . . . vẫn còn là một hằng đúng.

Nguyễn Minh Trí 8

Page 9: Lec TRR CNTTK6

Bài giảng TOÁN RỜI RẠC

Các luật logic Với p, q, r là các biến mệnh đề, 1 là hằng đúng, 0 là hằng sai, ta cócác tương đương logic:

Phủ định 2 lần: ¬¬p⇔ pLuật DeMorgan: ¬(p ∧ q)⇔ ¬p ∨ ¬q

¬(p ∨ q)⇔ ¬p ∧ ¬qLuật giao hoán: p ∧ q ⇔ q ∧ p

p ∨ q ⇔ q ∨ pLuật kết hợp: (p ∧ q) ∧ r ⇔ p ∧ (q ∧ r)

(p ∨ q) ∨ r ⇔ p ∨ (q ∨ r)Luật phân phối: (p ∧ q) ∨ r ⇔ (p ∨ r) ∧ (q ∨ r)

(p ∨ q) ∧ r ⇔ (p ∧ r) ∨ (q ∧ r)Luật lũy đẳng p ∧ p⇔ p

p ∨ p⇔ pLuật kéo theo: p→ q ⇔ ¬p ∨ q

p↔ q ⇔ (p→ q) ∧ (q → pLuật thống trị: p ∧ 0⇔ 0; p ∨ 1⇔ 1Luật trung hòa: p ∨ 0⇔ p; p ∧ 1⇔ pPhần tử bù: p ∧ ¬p⇔ 0; p ∨ ¬p⇔ 1Luật hấp thu: p ∧ (p ∨ q)⇔ p

p ∨ (p ∧ q)⇔ p

Ví dụ: Chứng minh rằng:

(¬p ∧ q ∧ r) ∨ (¬p ∧ ¬q ∧ r) ∨ (q ∧ r)⇔ (p→ q) ∧ r

Giải:(¬p ∧ q ∧ r) ∨ (¬p ∧ ¬q ∧ r) ∨ (q ∧ r)⇔ [(¬p ∧ q) ∨ (¬p ∧ ¬q)] ∧ r ∨ (q ∧ r)⇔ [¬p ∧ (q ∨ ¬q)] ∧ r ∨ (q ∧ r)⇔ (¬p ∧ 1) ∧ r ∨ (q ∧ r)⇔ ¬p ∧ r ∨ (q ∧ r)⇔ (¬p ∨ q) ∧ r⇔ (p→ q) ∧ r

1.3 Qui tắc suy diễn

Trong các chứng minh toán học, xuất phát từ một số khẳng định đúng p1, p2, . . . , pn(tiền đề), ta áp dụng các qui tắc suy diễn để suy ra chân lí của một mệnh đề q mà tagọi là kết luận.

Nói cách khác, dùng các qui tắc suy diễn để chứng minh: (p1 ∧ p2 ∧ . . . ∧ pn) có hệquả logic là q

Ta thường mô hình hóa phép suy luận đó dưới dạng: (p1 ∧ p2 ∧ . . . ∧ pn)→ qThông thường thì các biến logic không xuất hiện một cách tường minh và được

trừu tượng hóa (bỏ đi phần nội dung cụ thể) từ các mệnh đề nguyên thủy như ví dụsau đây.

Giả sử ta có các tiền đề:p1: Nếu An chăm học thì An đạt môn TRR.p2: Nếu An không đi chơi thì An chăm học.p3: An trượt môn TRR.Ta muốn dùng các qui tắc suy diễn để suy ra kết luận sau là đúng:q : An hay đi chơi.

Nguyễn Minh Trí 9

Page 10: Lec TRR CNTTK6

Bài giảng TOÁN RỜI RẠC

Ta trừu tượng hóa các mệnh đề nguyên thủy:p :"An chăm học"; q :"An hay đi chơi"; r :"An đạt môn TRR".Như vậy, các tiền đề trở thành:p1 = p→ rp2 = ¬q → pp3 = ¬rTa cần chứng minh dạng mệnh đề sau đây là một hằng đúng:

[(p→ r) ∧ (¬q → p) ∧ ¬r]→ q

Ta có thể dùng bảng giá trị chân lí để chứng minh dạng mệnh đề trên là một hằngđúng. Tuy nhiên, ta có thể dùng phương pháp khác là sử dụng các qui tắc suy diễn đểchia bài toán thành các bước nhỏ. Để tiện ta mô hình hóa phép suy diễn thành sơ đồsau:

p1p2...pn∴ q

Sau đây là một số quy tắc suy diễn thường dùng mà chân lý của nó có thể được kiểmtra dễ dàng bằng cách lập bảng chân trị.

Qui tắc khẳng định (Modus Pones) Qui tắc này được thể hiện bởi hằng đúng

[(p→ q) ∧ p]→ q

hoặc dưới dạng sơ đồp→ qp∴ q

Ví dụ 1:Nếu An chăm học thì An đạt môn TRRAn chăm học.Suy ra An đạt môn TRR.

Ví dụ 2:Nếu hôm nay trời nắng thì Bình đi bơiHôm nay trời nằng.Suy ra Bình đi bơi.

Tam đoạn luận (Syllogism) Qui tắc này được thể hiện bởi hằng đúng

[(p→ q) ∧ (q → r)]→ (p→ r)

hoặc dưới dạng sơ đồp→ qq → r∴ p→ r

Ví dụ 1:Nếu hôm nay trời mưa thì Chi không đi cắm trại.Nếu hôm nay Chi không đi cắm trại thì Chi ở nhà xem phim.

Nguyễn Minh Trí 10

Page 11: Lec TRR CNTTK6

Bài giảng TOÁN RỜI RẠC

Suy ra Nếu hôm nay trời mưa thì Chi ở nhà xem phim.Ví dụ 2:

Một con ngựa rẻ thì hiếm.Một con ngựa hiếm thì đắt.Suy ra Một con ngựa rẻ thì đắt. (!)

Qui tắc phủ định (Modus Tollens) Qui tắc này được thể hiện bởi hằng đúng

[(p→ q) ∧ ¬q]→ ¬p

hoặc dưới dạng sơ đồp→ q¬q∴ ¬p

Ví dụ 1:Nếu An chăm học thì An đạt môn TRR.An trượt môn TRR.Suy ra An không chăm học.

Ví dụ 2:

Nếu n...2 thì n có chữ số tận cùng là chữ số chẵn.

n có chữ số tận cùng là chữ số lẻ.Suy ra n không chia hết cho 2.

Qui tắc tam đoạn luận rời Qui tắc này được thể hiện bởi hằng đúng

[(p ∨ q) ∧ ¬p]→ q

hoặc dưới dạng sơ đồp ∨ q¬p∴ q

Ví dụ 1:Thứ bảy, An về nhà hoặc An lên thư viện đọc sách.Thứ bảy, An không về nhà.Suy ra An lên thư viện đọc sách.

Ví dụ 2:Bình ham chơi hoặc Bình đạt môn TRR.Bình không ham chơi.Suy ra Bình đạt môn TRR.

Qui tắc cộng Qui tắc này được thể hiện bởi hằng đúng

p→ (p ∨ q)

hoặc dưới dạng sơ đồp∴ p ∨ q

Ví dụ: An đang làm bài tậpSuy ra An đang làm bài tập hoặc An đang chơi game.

Nguyễn Minh Trí 11

Page 12: Lec TRR CNTTK6

Bài giảng TOÁN RỜI RẠC

Qui tắc đơn giản Qui tắc này được thể hiện bởi hằng đúng

p ∧ q → p

hoặc dưới dạng sơ đồp ∧ q∴ p

Ví dụ: An đang làm bài tập và An đang nghe nhạcSuy ra An đang làm bài tập.

Qui tắc nối Qui tắc này được thể hiện bởi hằng đúng

(p) ∧ (q)→ (p ∧ q)

hoặc dưới dạng sơ đồpq∴ p ∧ q

Ví dụ:An đang làm bài tập.An đang nghe nhạc.Suy ra An đang làm bài tập và An đang nghe nhạc.

Qui tắc mâu thuẫn Ta có tương đương logic

[(p1 ∧ p2 ∧ . . . ∧ pn)→ q]

⇔ [(p1 ∧ p2 ∧ . . . ∧ pn ∧ ¬q)→ 0]

Hay nói cách khác, nếu ta thêm giả thiết phụ ¬q vào các tiền đề cho trước mà dẫn đếnmột mâu thuẫn thì q là hệ quả logic của các tiền đề cho trước.

Ví dụ: Sử dụng phản chứng để chứng minh:

p→ r¬p→ qq → s∴ ¬r → s

Phủ định của kết luận tương đương với:

¬(¬r → s)⇔ ¬(r ∨ s)⇔ ¬r ∧ ¬s

Như thế ta thêm các giả thiết phụ ¬r và ¬s và các tiền đề và chứng minh suy luậnsau đây là đúng:

p→ r¬p→ qq → s¬r¬s∴ 0

Nguyễn Minh Trí 12

Page 13: Lec TRR CNTTK6

Bài giảng TOÁN RỜI RẠC

Ta có các bước sau đây:

¬p→ qq → s∴ ¬p→ s( Tam đoạn luận)¬s∴ ¬(¬p)( Phủ định)p→ r∴ r( Khẳng định)

Kết luận r cùng với giả thiết phụ ¬r cho ta

r ∧ ¬r ⇔ 0

Qui tắc chứng minh theo từng trường hợp Qui tắc này được thể hiện bởi hằngđúng

[(p→ r) ∧ (q → r)]→ [(p ∨ q)→ r]

Ý nghĩa của qui tắc này là: Nếu một giả thiết có thể tách thành 2 trường hợp p đúnghay q đúng, và ta chứng minh được riêng lẽ các trường hợp là kết luận r đúng. Khi ấyr cũng đúng với cả 2 trường hợp.

Ví dụ: Chứng minh tích 3 số tự nhiên liên tiếp thì chia hết cho 3

Phản ví dụ Để chứng minh một phép suy luận là sai hay

(p1 ∧ p2 ∧ . . . ∧ pn)→ q

không là một hằng đúng. Ta tìm các chân trị của các biến mệnh đề làm cho các tiềnđề đều đúng nhưng kết luận q sai. Ta nói ví dụ dẫn đến các giá trị của các biến mệnhđề như trên là một phản ví dụ của định lí cần chứng minh.

Ví dụ: Hãy tìm phản ví dụ cho suy luận dưới đây:

Ông Minh nói rằng nếu không được tăng lương thì ông ta sẽ nghỉ việc. Mặt khác,nếu ông ấy nghỉ việc và vợ ông ấy bị mất việc thì phải bán xe. Biết rằng nếu vợ ôngMinh hay đi làm trễ thì trước sau gì cũng sẽ bị mất việc và cuối cùng ông Minh đãđược tăng lương. Suy ra nếu ông Minh không bán xe thì vợ ông ta đã không đi làmtrễ.

Ta đặt các biến mệnh đề như sau:

• p : Ông Minh được tăng lương.

• q : Ông Minh xin nghỉ việc.

• r : Vợ ông Minh bị mất việc.

• s : Ông Minh bán xe.

• t : Vợ ông Minh đi làm trễ.

Mô hình suy diễn sẽ là:¬p→ q(q ∧ r)→ st→ rp∴ ¬s→ ¬t

Nguyễn Minh Trí 13

Page 14: Lec TRR CNTTK6

Bài giảng TOÁN RỜI RẠC

Ta phải tìm phản ví dụ sau cho các tiền đề là đúng và kết luận sai, tức là:

¬p→ q = 1

(q ∧ r)→ s = 1

t→ r = 1

p = 1

¬s→ ¬t = 0

do đó

s = 0

t = 1

p = 1

r = 1

q = 0

Chú ý: Nếu hệ trên vô nghiệm thì suy luận trên là đúng, nếu hệ trên có nghiệm thìsuy luận trên là sai.

1.4 Vị từ và lượng từ

1.4.1 Vị từ

Một vị từ là một khẳng định p(x, y, . . .) trong đó có chứa các biến x, y, . . . lấy giá trịtrong những tập cho trước A,B, . . . sao cho:

i.) p(x, y, . . .) không phải là mệnh đề.ii.) Nếu thay x, y, . . . bằng những phần tử cố định nhưng tùy ý a ∈ A, b ∈ B, . . . ta

sẽ được một mệnh đề dạng p(a, b, . . .) nghĩa là ta có thể tìm được chân trị của nó.Ví dụ:1. p(n) ="n là số nguyên tố" là một vị từ theo biến tự do n ∈ N: với n = 2, 3, 5

thì ta có các mệnh đề đúng p(2), p(3), p(5); với n = 4, 6, 9 thì ta có các mệnh đề saip(4), p(6), p(9).

2. p(x, y) = ”x+ y2 là số chẵn" với x, y ∈ Z

1.4.2 Các phép toán trên vị từ

Cho các vị từ p(x), q(x) khi đó ta cũng có các phép toán:

Phủ định: ¬p(x)Phép nối liền: p(x) ∧ q(x)Phép nối rời: p(x) ∨ q(x)Phép kéo theo: p(x)→ q(x)Phép kéo theo 2 chiều: p(x)↔ q(x)

1.4.3 Lượng từ

Xét một vị từ p(x) với x ∈ A. Có 3 TH:TH1: Khi thay x bởi một phần tử a tùy ý trong A thì ta p(a) là mệnh đề đúng.TH2: Với một số giá trị a ∈ A thì ta p(a) là mệnh đề đúng.TH3: Khi thay x bởi một phần tử a tùy ý trong A thì ta p(a) là mệnh đề sai.

Ví dụ: Cho vị từ p(x) với x ∈ Rp(x) = ”x2 + 1 > 0”p(x) = ”x2 − 3x+ 2 = 0”p(x) = ”x2 − 2x+ 1 < 0”Nếu TH1 xảy ra thì mệnh đề "với mọi x ∈ A, p(x)" là mệnh đề đúng. Kí hiệu:

∀x ∈ x, p(x).Nếu TH1 hay TH2 xảy ra thì mệnh đề "tồn tại x ∈ A, p(x)" là mệnh đề đúng. Kí

hiệu ∃x ∈ A, p(x)

Nguyễn Minh Trí 14

Page 15: Lec TRR CNTTK6

Bài giảng TOÁN RỜI RẠC

Lượng từ Các mệnh đề dạng ”∀x ∈ A, p(x)” và ”∃x ∈ A, p(x)” gọi chung là cáclượng từ hóa của vị từ p(x) bởi lượng từ phổ dụng (∀) và lượng từ tồn tại ∃

Ví dụ: Xét tính đúng sai của các mệnh đề sau:∀x ∈ R, p(x) = ”x2 − 1 > 0”∀x ∈ R, p(x) = ”x2 + 4x+ 5 6= 0”∃x ∈ R, p(x) = ”x2 + 3x− 4 = 0”∃x ∈ R, p(x) = ”x2 + 1 < 0”Ta xét một vị từ theo 2 biến p(x, y) với x ∈ A, y ∈ B. Ta có 4 mệnh đề:

∀x ∈ A, ∀y ∈ B, p(x, y)

∃x ∈ A, ∀y ∈ B, p(x, y)

∀x ∈ A, ∃y ∈ B, p(x, y)

∃x ∈ A, ∃y ∈ B, p(x, y)

Ví dụ: Xét vị từ p(x, y) = ”x2 + y > 0” với x, y ∈ R

∀x ∈ R,∀y ∈ R, x2 + y > 0

∃x ∈ R,∀y ∈ R, x2 + y > 0

∀x ∈ R,∃y ∈ R, x2 + y > 0

∃x ∈ R,∃y ∈ R, x2 + y > 0

Định lí 2 Nếu p(x, y) là một vị từ theo hai biến x, y thì các mệnh đề sau là đúng:

[∀x ∈ A,∀y ∈ B, p(x, y)]↔ [∀y ∈ B, ∀x ∈ A, p(x, y)]

[∃x ∈ A,∃y ∈ B, p(x, y)]↔ [∃y ∈ B, ∃x ∈ A, p(x, y)]

[∃x ∈ A,∀y ∈ B, p(x, y)]→ [∀y ∈ B, ∃x ∈ A, p(x, y)]

1.4.4 Phủ định mệnh đề lượng từ hóa

Phủ định của mệnh đề lượng từ hóa vị từ p(x, y, . . .) có được bằng các thay ∀ thành∃, thay ∃ thành ∀ và vị từ p(x, y, . . .) thành ¬p(x, y, . . .).

¬[∀x ∈ A, p(x)]⇔ [∃x ∈ A,¬p(x)]

¬[∃x ∈ A, p(x)]⇔ [∀x ∈ A,¬p(x)]

¬[∀x ∈ A, ∀y ∈ B, p(x, y)]⇔

Qui tắc đặc biệt hóa phổ dụng Nếu một mệnh đề có dạng lượng từ hóa trong đócó 1 biến x ∈ A bị phụ thuộc bởi lượng từ phổ dụng ∀, khi ấy nếu thay x bởi a ∈ Athì ta được một mệnh đề đúng.

Ví dụ: Mọi người đều chết. Socrate là người. Vậy Socrate sẽ chết.

∀x ∈ A, p(x)a ∈ A∴ p(a)

Nguyễn Minh Trí 15

Page 16: Lec TRR CNTTK6

Bài giảng TOÁN RỜI RẠC

1.5 Nguyên lí qui nạp

Với những bài toán chứng minh tính đúng đắn của P (n) với mọi n ≥ N0. Quy nạptoán học là một kỹ thuật chứng minh các bài toán thuộc loại như thế.

Quá trình chứng minh P (n) đúng với mọi n ≥ N0 gồm 2 bước:- Bước cơ sở: Chỉ ra P (N0) đúng.- Bước quy nạp: Chứng minh nếu P (k) đúng thì P (k + 1) đúng. Trong đó P (k)

được gọi là giả thiết quy nạp.Ví dụ: Chứng minh với mọi số tự nhiên n ∈ N∗ ta có

1 + 2 + · · ·+ n =n(n+ 1)

2(∗)

Chứng minh

• Với n = 1 ta có 1 =1(1 + 1)

2Nên (∗) đúng với n = 1.

• Giả sử (∗) đúng với n = k, nghĩa là ta có

1 + 2 + · · ·+ k =k(k + 1)

2

Ta cần chứng minh (∗) đúng với n = k + 1, nghĩa là cần chứng minh

1 + 2 + · · ·+ k + (k + 1) =(k + 1)[(k + 1) + 1]

2

Thật vậy, V T = 1+2+· · ·+k+(k+1) =k(k + 1)

2+(k+1) =

k(k + 1) + 2(k + 1)

2=

(k + 1)(k + 2)

2=

(k + 1)[(k + 1) + 1]

2

• Vậy

1 + 2 + · · ·+ n =n(n+ 1)

2,∀n ∈ N∗

Bài tập

Bài 1. Gọi P,Q là các mệnh đề:P : "Minh giỏi toán."Q : "Minh yếu anh văn"Hãy viết lại các mệnh đề sau đây dưới dạng hình thức trong đó có sử dụng các

phép nối.a. Minh giỏi toán nhưng yếu anh văn.b. Minh yếu cả toán lẫn anh văn.c. Minh giỏi toán hay Minh vừa giỏi anh văn vừa yếu toán.d. Nếu Minh giỏi toán thì Minh giỏi anh văn.e. Minh giỏi toán và anh văn hay minh yếu toán nhưng giỏi anh văn.

Bài 2. Hãy lấy phủ định các mệnh đề sau:a. Ngày mai nếu trời mưa hay trời lạnh thì tôi sẽ ở nhà.b. 15 chia hết cho 4 nhưng không chia hết cho 4.c. Hình chữ nhật này không phải là hình chữ nhật mà cũng không là hình thoi.d. Nếu An không hoàn thành công việc thì An sẽ bị đuổi việc.

Nguyễn Minh Trí 16

Page 17: Lec TRR CNTTK6

Bài giảng TOÁN RỜI RẠC

e. Mọi tam giác đều có các góc bằng 600

Bài 3. Lập bảng chân trị của các dạng mệnh đề sau:a. ¬p→ (p ∨ q) e. (p→ q) ∨ (q → p)b. ¬p→ (¬q ∨ r) f. (p ∨ ¬q) ∧ (¬p ∨ q)c. (p ∧ q)→ ¬q g. (p→ ¬q) ∨ (q → ¬p)d. (p ∨ r)→ (r ∨ ¬p) h. ¬(¬p ∧ ¬q)

Bài 4. Dùng các qui tắc thay thế để kiểm tra các dạng mệnh đề sau là hằng đúng;a. [(p ∨ q)→ r]↔ [¬r → ¬(p ∨ q)]b. (p→ q) ∧ ¬q → ¬pc. [p→ (q → r)]→ (p ∧ q → r)d. (p→ r) ∧ (q → r)→ (p ∨ q → r)e. ¬[(¬p ∨ q) ∧ ¬q] ∨ ¬pf. ¬[(¬p ∨ q) ∧ (¬q ∨ r)] ∨ ¬p ∨ r

Bài 5. Lấy phủ định rồi đơn giản các dạng mệnh đề sau:a. p ∧ (q ∨ r) ∧ (¬p ∨ ¬q ∨ r)b. (p ∧ q)→ rc. p→ (¬q ∧ r)d. p ∨ q ∨ (¬p ∧ ¬q ∧ r)

Bài 6. Chứng minh các dạng mệnh đề sau tương đương logic với nhau:a. [(p ∨ q) ∧ (p ∨ ¬q)] ∨ q và p ∨ qb. ¬(p ∨ q) ∨ [(¬p ∧ q) ∨ ¬q] và ¬(p ∧ q)c. (p→ q) ∧ [¬q ∧ (r ∨ ¬q)] và ¬(q ∨ p)

Bài 7. Chứng minh suy luận sau đây là đúng:

a.

pp→ qs ∨ rr → ¬q∴ s ∨ t

b.

(¬p ∨ q)→ rr → (s ∨ t)¬s¬u¬u→ ¬t∴ p

c.

p→ q¬r ∨ sp ∨ r∴ ¬q → s

Bài 8. Hãy kiểm tra lại các qui tắc suy luận sau:

a.

p→ q¬q¬r∴ ¬(p ∨ r)

b.

p→ qr → ¬qr∴ ¬p

c.

p→ (q → r)¬q → ¬pp∴ r

d.

p ∧ qp→ (r ∧ q)r → (s ∨ t)¬s∴ t

e.

p→ (q → r)p ∨ st→ q¬s∴ ¬r → ¬t

f.

p ∨ q¬p ∨ r¬r∴ q

Bài 9. Hãy kiểm tra các qui tắc suy luận sau có đúng không?a. Nếu An được lên chức và làm việc nhiều thì An sẽ được tăng lương.

Nếu An được tăng lương thì An sẽ mua xe mới.Mà An không mua xe mới.

Nguyễn Minh Trí 17

Page 18: Lec TRR CNTTK6

Bài giảng TOÁN RỜI RẠC

Vậy An không được lên chức hay An không làm việc nhiều.b. Nếu muốn dự họp sáng thứ Ba thì Minh phải dậy sớm.

Nếu Minh đi nghe nhạc tối thứ Hai thì Minh sẽ về trễ.Nếu về trễ và thức dậy sớm thì Minh phải đi họp mà chỉ ngủ dưới 7 giờ.Nhưng Minh không thể đi họp nếu ngủ dưới 7 giờ.Do đó hoặc là Minh không đi nghe nhạc tối thứ Hai hoặc là Minh bỏ họp sáng thứ

Ba.c. Nếu Bình đi làm về muộn thì Vợ anh sẽ rất giận dữ.

Nếu An thường xuyên vắng nhà thì vợ anh sẽ rất giận dữ.Nếu vợ Bình hay vợ An giận dữ thì cô Hà bạn họ sẽ nhận được lời than phiền.Mà Hà đã không nhận được lời than phiền.Vậy Bình đi làm về sớm và An ít khi vắng nhà.

Bài 10. Tìm các phản ví dụ cho các suy luận sau:

a.

p↔ qq → rr ∨ ¬s¬s→ q∴ s

b.

pp→ rp→ (q ∨ ¬r)¬ ∨ ¬s∴ s

Bài 11. Lấy phủ định các mệnh đề sau:a. Với mọi số nguyên n, nếu n không chia hết cho 2 thì n là số lẻ.b. Nếu bình phương của một số nguyên là lẻ thì số nguyên ấy là số lẻ.c. Nếu k,m, n là các số nguyên sao cho k−m và m−n là số lẻ thì k−n là số chẵn.d. Nếu x là một số thực sao cho x2 > 16 thì x < −4 hay x > 4e. Với mọi số thực x, nếu |x− 3| < 7 thì −4 < x < 10

Bài 12. Gọi p(x) và q(x) là các vị từ theo một biến, hãy lấy phủ định và đơn giảncác mệnh đề sau:

a. ∃x, p(x) ∨ q(x)b. ∀x, p(x) ∧ ¬q(x)c. ∀x, p(x)→ q(x)

Bài 13. Chứng minh các công thức sau:

a. 02 + 12 + · · ·+ n2 =n(n+ 1)(2n+ 1)

6

b. 03 + 13 + 23 + · · ·+ n3 =n2(n+ 1)2

4

c.1

2!+

2

3!+

3

4!+ · · ·+ n

(n+ 1)!= 1− 1

(n+ 1)!

Nguyễn Minh Trí 18

Page 19: Lec TRR CNTTK6

Chương 2

Phương pháp đếm

2.1 Tập hợp

2.1.1 Một số khái niệm

Tập hợp (hay còn gọi là tập) là một khái niệm cơ bản của toán học, không được địnhnghĩa. Trong toán học người ta không định nghĩa tập hợp, mà chỉ mô tả nó như là mộtsự tụ tập của một số đối tượng nào đó.

Tập hợp được kí hiệu bằng các chữ cái in hoa A,B,X, Y, . . .. Những đối tượng tạothành tập hợp được gọi là các phần tử, kí hiệu : a, b, c, x, y, . . .

Ví dụ: Tập hợp các sinh viên của một lớp. Tập hợp các số tự nhiên. Tập hợp cácsố nguyên.

Khi nói ”x là một phần tử của tập X” hay ”x thuộc vào tập X” ta viết x ∈ X.Nếu y không là phần tử của tập hợp X hay ”y không thuộc tập X” ta viết y 6∈ X.

Để ý rằng từ “tính chất” được hiểu theo một nghĩa rộng rãi. Thông thường nó sẽđược biểu hiện bởi một vị từ p(x) theo một biến x ∈ U . Khi ấy tập hợp được ký hiệubởi:

A = {x ∈ U |p(x)}

U được gọi là tập vũ trụ.Tập rỗng là tập hợp không có chứa phần tử nào. Kí hiệu tập rỗng ∅.Tập hợp A là con của tập hợp B khi và chỉ khi mọi phần tử thuộc A đều thuộc B.

Kí hiệu A ⊂ B. Tức là A ⊂ B ⇔ nếu x ∈ A⇒ x ∈ B

Hai tập hợp A và B được gọi là bằng nhau nếu chúng cùng chứa những phần tửgiống nhau. Kí hiệu A = B.

Ta có định nghĩa khác của hai tập hợp bằng nhau: Nếu A ⊂ B và B ⊂ A thì A = B.Ta có thể sử dụng các phép toán trên mệnh đề và vị từ để định nghĩa các phép toán

trên tập hợp như phép hợp (∪), phép giao (∩) và phần bù theo định nghĩa sau đây:

2.1.2 Các phép toán trên tập hợp

Giả sử A,B là hai tập hợp con của tập hợp vũ trụ U . Khi ấy:

A ∪B = {x|x ∈ A ∨ x ∈ B}

A ∩B = {x|x ∈ A ∧ x ∈ B}

A = {x ∈ U |x 6∈ A}

19

Page 20: Lec TRR CNTTK6

Bài giảng TOÁN RỜI RẠC

2.2 Ánh xạ

2.2.1 Định nghĩa ánh xạ

Một ánh xạ f từ tập X đến tập Y là một phép tương ứng với mỗi phần tử x ∈ X vớiduy nhất 1 phần tử y ∈ Y .

Ta viếtf : X → Y

x 7→ y = f(x)

• Tập hợp X gọi là miền xác định hay tập nguồn của ánh xạ f .

• Tập hợp Y gọi là miền giá trị hay tập đích của ánh xạ f .

• Phần tử y gọi là ảnh của phần tử x qua ánh xạ f và kí hiệu y = f(x).

• Phần tử x gọi là tạo ảnh của phần tử y qua ánh xạ f .

Giả sử f, g là hai ánh xạ từ X đến Y . Ánh xạ f gọi là ánh xạ g nếu f(x) = g(x) vớimọi x ∈ X

2.2.2 Ảnh và tạo ảnh

f : X → Y là một ánh xạ, A ⊂ X,B ⊂ Y .

f(A) = {f(x)|x ∈ X} là ảnh của tập A qua ánh xạ f .

f−1(B) = {x ∈ X|f(x) ∈ B} là tạo ảnh (toàn phần) của tập hợp B qua ánh xạ f

Nếu y ∈ Y ta viết f−1({y}) = f−1(y)

Ví dụ: Cho ánh xạ

f : R→ Rx 7→ x+ 2

Khi đó: A = {0, 1, 2} thì f(A) = {2, 3, 4}

f−1(1) = {x ∈ R|f(x) = 1} = {−1}

f−1([0, 3]) = {x ∈ R|0 ≤ f(x) ≤ 3} = [−2, 1]

2.2.3 Đơn ánh - Toàn ánh - Song ánh

Toàn ánh Ánh xạ f : X → Y là một toàn ánh khi và chỉ khi ∀y ∈ Y, ∃x ∈ X; f(x) =y.

⇔ f(X) = Y .

⇔ ∀y ∈ Y, f−1(y) 6= ∅Ví dụ: Chứng minh f là toàn ánh, g không là toàn ánh.

f : R→ Rx 7→ x3

g : R→ Rx 7→ x2

Nguyễn Minh Trí 20

Page 21: Lec TRR CNTTK6

Bài giảng TOÁN RỜI RẠC

Đơn ánh Ánh xạ f : X → Y được gọi là một đơn ánh khi và chỉ khi∀x1, x2 ∈ X mà x1 6= x2 thì f(x1) 6= f(x2)⇔ ∀x1, x2 ∈ X : x1 6= x2 ⇒ f(x1) 6= f(x2)⇔ ∀x1, x2 ∈ X : f(x1) = f(x2)⇒ x1 = x2Ví dụ: Chứng minh f là đơn ánh, g không là đơn ánh.

f : R→ Rx 7→ x3

g : R→ Rx 7→ x2

Song ánh Ánh xạ f : X → Y gọi là một song ánh khi và chỉ khi f vừa là đơn ánhvừa là toàn ánh.

Hay ∀y ∈ Y : f−1(y) có duy nhất 1 phần tử.

2.2.4 Tích các ánh xạ. Ánh xạ ngược

Cho hai ánh xạ f : X → Y và g : Y → Z.Khi đó ta có thể lập một ánh xạ đi từ X đến Z như sau:

h : X → Zx 7→ h(x) = g[f(x)]

Ánh xạ h gọi là tích của ánh xạ f và ánh xạ g, kí hiệu h = g ◦ f hay h = g.fChú ý thứ tự các ánh xạ.

Ánh xạ đồng nhất Ánh xạ f : X → X được gọi là ánh xạ đồng nhất nếu f(x) = xvới mọi x ∈ X.

Kí hiệu ánh xạ đồng nhất trên tập X là 1X

Ánh xạ đồng nhất là 1 song ánh.

Ánh xạ ngược Giả sử f : X → Y, g : Y → X là hai ánh xạ sao cho:

g ◦ f = 1X , f ◦ g = 1Y

(1X , 1Y là các ánh xạ đồng nhất.Khi đó, ánh xạ g gọi là ánh xạ ngược của ánh xạ f .Kí hiệu ánh xạ ngược của ánh xạ f là f−1.

2.2.5 Lực lượng của tập hợp

Mỗi tập A ta đặt tương ứng với một đối tượng, kí hiệu là |A| gọi là lực lượng của tậpA , sao cho |A| = |B| khi và chỉ khi tồn tại song ánh từ A vào B.

Lực lượng của tập A còn được gọi là bản số của A và ký hiệu là cardA. Lực lượngcủa tập rỗng là số 0.

Nếu tập hợp A có đúng n phần tử phân biệt, với n là số nguyên không âm thì tanói A là tập hữu hạn và gọi n là bản số của A.

Tập hợp được gọi là vô hạn nếu nó không là tập hữu hạn.Ví dụ: A là tập các số tự nhiên lẻ nhỏ hơn 10. Khi đó |A| = 5Lực lượng của tập số tự nhiên ký hiệu là N0 (đọc là alép không) và gọi là lực lượng

đếm được, còn lực lượng của tập số thực được gọi là lực lượng continum và ký hiệulà N (alep).

Tập hợp số hữu tỷ, tập hợp số nguyên, tập số chẵn có lực lượng đếm được.Khoảng (0; 1), đoạn [0; 1] có lực lượng continum.

Nguyễn Minh Trí 21

Page 22: Lec TRR CNTTK6

Bài giảng TOÁN RỜI RẠC

2.3 Giải tích tổ hợp

2.3.1 Nguyên lí cộng

Giả sử để làm công việc A có 2 phương pháp- Phương pháp 1 có n cách làm- Phương pháp 2 có m cách làmKhi đó số cách làm công việc A là n+mVí dụ: Có 3 viên bi trắng và 4 viên bi đen. Có bao nhiêu cách lấy ra 1 viên bi?

2.3.2 Nguyên lí nhân

Một công việc A được chia làm hai giai đoạn.Có n cách thực hiện giai đoạn thứ nhất và có m cách thực hiện giai đoạn thứ hai.Khi đó sẽ có tất cả n×m cách để thực hiện công việc A.Ví dụ: Cho các chữ số 1,2,3,4. Hỏi có bao nhiêu số có 4 chữ số khác nhau được lập

nên từ 4 chữ số đó?

2.3.3 Nguyên lí bù trừ

Cho A và B là hai tập hữu hạn. Khi đó

|A ∪B| = |A|+ |B| − |A ∩B|

Ví dụ. Trong một lớp ngoại ngữ Anh Pháp. Có 24 HS học Tiếng Pháp, 26 học sinhhọc Tiếng Anh. 15 học sinh học Tiếng Anh và Tiếng Pháp. Hỏi lớp có bao nhiêu người?

2.3.4 Giải tích tổ hợp

Hoán vị: Cho một tập hợp A gồm n phần tử. Một hoán vị của n phần tử này là 1cách sắp thứ tự của n phần tử đó.Ví dụ 1: Các hoán vị của 3 phần tử của tập hợp A = {a, b, c} là

(a, b, c), (a, c, b), (b, a, c), (b, c, a), (c, b, a), (c, a, b)

Số các hoán vị của n phần tử là :

Pn = n(n− 1)(n− 2) . . . 3.2.1 = n!

Ví dụ 2: Với các chữ số 1,2,3,4,5. Có thể lập được bao nhiêu số có 5 chữ số khác nhautừ các chữ số trên?

Chỉnh hợp Một tập hợp gồm n phần tử. Một nhóm gồm m phần tử lấy ra từ tậptrên và sắp theo 1 thứ tự nào đó được gọi là một chỉnh hợp chập m của n phần tử.(m ≤ n)

Ví dụ 1: Cho tập hợp A = {a, b, c, d}. Tất cả các chỉnh hợp chập 2 của 4 phần tửcủa A là

(a, b), (a, c), (a, d), (b, c), (b, d), (c, d)

(b, a), (c, a), (d, a), (c, b), (d, b), (d, c)

Có tất cả 12 chỉnh hợp chập 2 của 4 phần tử.

Nguyễn Minh Trí 22

Page 23: Lec TRR CNTTK6

Bài giảng TOÁN RỜI RẠC

Số chỉnh hợp chập k của n phần tử là:

Akn = n(n− 1)(n− 2) . . . (n− k + 1) =

n!

(n− k)!

Ví dụ 2: Có bao nhiêu số tự nhiên có 6 chữ số khác nhau?

Tổ hợp Một tập hợp gồm n phần tử. Một nhóm gồm k phần tử lấy ra từ tập trênvà không kể thứ tự được gọi là một tổ hợp chập k của n phần tử. (k ≤ n)Ví dụ 1: Một tổ SV gồm 5 người: A, B, C, D, E. Một nhóm gồm 3 người là một tổ hợpchập 3 của 5 phần tử.

(A,B,C), (A,B,D), (A,B,E), (A,C,D), (A,C,E), (A,D,E), (B,C,D), (B,C,E), (B,D,E), (C,D,E)Có 10 tổ hợp chập 3 của 5 phần tử.Số tổ hợp chập k của n phần tử là:

Ckn =

n!

(n− k)!k!

Ví dụ 2: Một hộp có 10 bóng đèn. Lấy ngẫu nhiên 3 bóng ra kiểm tra thì có bao nhiêucách?

Hoán vị lặp Cho n đối tượng trong đó có ni đối tượng loại i giống hệt nhau (i =1, 2, . . . , k;n1 + n2 + · · ·+ nk = n). Mỗi cách sắp xếp có thứ tự n đối tượng đã cho gọilà một hoán vị lặp của n.Số hoán vị của n đối tượng, trong đó có

n1 đối tượng giống nhau thuộc loại 1,n2 đối tượng giống nhau thuộc loại 2,. . . ,nk đối tượng giống nhau thuộc loại k, là

n!

n1!n2! . . . nk!

Ví dụ: Có bao nhiêu chuỗi kí tự khác nhau bằng cách sắp xếp các chữ cái của từSUCCESS?

Tổ hợp lặp Mỗi cách chọn ra k vật từ n loại vật khác nhau (trong đó mỗi loại vậtcó thể được chọn lại nhiều lần) được gọi là tổ hợp lặp chập k của n

Số các tổ hợp lặp chập k của n được ký hiệu là

Knk = Cn

n+k−1

Ví dụ 1: Có 3 loại nón A, B, C. An mua 2 cái nón. Hỏi An có bao nhiêu cách chọn.Ta có mỗi cách chọn là mỗi tổ hợp lặp chập 2 của 3. Cụ thể

AA,AB,AC,BB,BC,CC

Ví dụ 2: Có k vật đồng chất giống nhau. Hỏi có bao nhiêu cách sắp chúng vào n hộpphân biệt?

Mỗi cách sắp cũng chính là 1 tổ hợp lặp chập k của n nên số cách sắp là

Ckn+k−1

Nguyễn Minh Trí 23

Page 24: Lec TRR CNTTK6

Bài giảng TOÁN RỜI RẠC

Ví dụ 3: Xét phương trình

x1 + x2 + · · ·+ xn = k(∗)

với xi ∈ N. Phương trình (∗) có bao nhiêu nghiệm?Mỗi nghiệm là một bộ n số (x1, x2, . . . , xn) thỏa (∗).Một nghiệm chính là cách chia k vật vào n hộp phân biệt (xi là các hộp). Như vậy

số nghiệm của (∗) chính là số tổ hợp lặp chập k của nVí dụ 4: Tìm số nghiệm nguyên không âm của phương trình

x1 + x2 + x3 + x4 = 20(1)

thỏa x1 ≤ 3, x2 ≥ 2, x3 > 4(∗)Giải:x1 ≤ 3, x2 ≥ 2, x3 ≥ 5(∗)Xét các điều kiện sau:x2 ≥ 2, x3 ≥ 5(∗∗)x1 ≥ 4, x2 ≥ 2, x3 ≥ 5(∗ ∗ ∗)Gọi p, q, r lần lượt là số nghiệm nguyên không âm của phương trình (1) thỏa các

điều kiện (∗), (∗∗), (∗ ∗ ∗). Ta có:

p = q − r

Đầu tiên ta tìm q:

x′

1 = x1;x′

2 = x2 − 2;x′

3 = x3 − 5, x′

4 = x4

Phương trình (1) trở thành

x′

1 + x′

2 + x′

3 + x′

4 = 13(2)

Số nghiệm nguyên không âm của phương trình (1) thỏa điều kiện (∗∗) bằng sốnghiệm nguyên không âm của phương trình (2)

Vậy số nghiệm là K134 = C13

4+13−1 = C1316 = hay q = C13

16

Lí luân tương tự ta có r = C912

p = q − r = C1316 − C9

12 = 340Vậy số nghiệm nguyên không âm của phương trình (1) thỏa điều kiện (∗) là 340

2.4 Nguyên lí Dirichlet

Nguyên lí Dirichlet do nhà toán học người Đức là Dirichlet đề xuất từ thế kỉ XIX.Nguyên lí này dùng để chứng minh sự tồn tại nghiệm trong nhiều bài toán tổ hợp.Nguyên lí này còn có tên gọi khác là "nguyên lí chuồng bồ câu": Giả sử có một đànbồ câu bay vào chuồng. Nếu số chim nhiều hơn số chuồng thì chắc chắn có ít nhất mộtchuồng có nhiều hơn 1 con chim. Một cách tổng quát, nguyên lí Dirichlet được phátbiểu như sau:

Nếu xếp nhiều hơn n đối tượng vào n cái hộp thì tồn tại ít nhất một hộp khôngchứa ít hơn 2 đối tượng.

Ví dụ 1: Một năm có nhiều nhất 366 ngày. Do đó trong 367 người bất kì bao giờcũng có ít nhất 2 người có ngày sinh nhật giống nhau.

Ví dụ 2: Thang điểm bài kiểm tra được cho từ 0 đến 10. Do đó, trong 12 sinh viênsẽ có ít nhất 2 sinh viên có điểm số giống nhau.

Nguyễn Minh Trí 24

Page 25: Lec TRR CNTTK6

Bài giảng TOÁN RỜI RẠC

Ví dụ 3: Có 20 thành phố, giữa các thành phố có thể có đường giao thông nối trựctiếp với nhau hoặc không. Chứng minh rằng có ít nhất 2 thành phố có số thành phốkhác nối trực tiếp với chúng là như nhau.

Giải: Ta gọi ai là số thành phố có đường giao thông nối trực tiếp với thành phố thứi và A = {a1, a2, . . . , a20} là tập các giá trị đó. Khi đó ta có 0 ≤ ai ≤ 19. Mặt khác,không thể có đồng thời có mặt 0 và 19 vì nếu tập A có 0 tức là có một thành phố bịcô lập thì sẽ không có thành phố nào nối với 19 thành phố còn lại, ngược lại cũng nhưvậy. Do đó tập A chỉ có tối đa 19 giá trị khác nhau. Theo nguyên lí Dirichlet thì sẽ tồntại 2 cặp số i 6= j sao cho ai = aj

Nguyên lí Dirichlet tổng quát: Giả sử có n vật cần đặt vào k hộp. Khi đó tồn tạiít nhất một hộp chứa từ dn/ke vật trở lên. Trong đó dn/ke là số nguyên dương nhỏnhất không bé hơn n/k

(d100/12e = 9)Ví dụ 4: Trong số 100 người luôn luôn có ít nhất d100/12e = 9 là người có sinh

nhật trong cùng một tháng.Ví dụ 5: Cần tạo ít nhất bao nhiêu mã vùng để đảm bảo cho 84 triệu máy điện

thoại mỗi máy một số thuê bao biết rằng mỗi số thuê bao gồm 7 chữ số, mà chữ sốđầu khác 0?

Giải: Theo Nguyên lý nhân, có 9 triệu số thuê bao khác nhau có đúng 7 chữ số,trong đó chữ số đầu khác 0. Theo nguyên lý Dirichlet, trong số 84 triệu máy điện thoạicó ít nhất là d84/9e = 10 máy có cùng một số thuê bao.

Do đó để đảm bảo mỗi máy một số thuê bao cần tạo ra ít nhất là 10 mã vùng.Ví dụ 6: Trong một tháng 30 ngày, một công nhân làm ít nhất một sản phẩm,

nhưng cả tháng không làm quá 45 sản phẩm. Chứng minh rằng có những ngày liêntiếp người này làm ra 14 sản phẩm.

Giải: Gọi ai là số sản phẩm người đó làm từ ngày đầu đến hết ngày thứ i. Khi đóa1, a2, . . . , a30 là một dãy số nguyên dương phân biệt và tăng dần với 1 ≤ ai ≤ 45. Hơnthế nữa a1 + 14, a2 + 14, . . . , a30 + 14 cũng là một dãy số nguyên dương phân biệt vàtăng dần với 15 ≤ ai + 14 ≤ 59

Ta có 60 số nguyên dương a1, a2, . . . , a30, a1 + 14, a2 + 14, . . . , a30 + 14 đều nhỏ hơnhoặc bằng 59. Theo nguyên lí Dirichlet có ít nhất hai trong số 60 số này bằng nhau.Vì các dãy a1, a2, . . . , a30 và dãy a1+14, a2+14, . . . , a30+14 gồm các số phân biệt nêntồn tại các chỉ số i, j sao cho ai = aj + 14(j < i). Điều này có nghĩa là từ ngày j + 1đến ngày i người này làm được 14 sản phẩm.

Ví dụ 7: Chứng tỏ rằng trong n+1 số nguyên dương không vượt quá 2n, tồn tại ítnhất một số chia hết cho một số khác trong đó.

Giải: Ta viết mỗi số a1, a2, . . . , an+1 dưới dạng tích của một lũy thừa cơ số 2 vớimột số lẻ. Nói cách khác ai = 2ki .qi, trong đó ki là một số nguyên không âm, qi làmột số lẻ nhỏ hơn 2n. Vì chỉ có n số nguyên dương lẻ khác nhau nhỏ hơn 2n nên theonguyên lí Dirichlet tồn tại hai số lẻ trong q1, q2, . . . , qn+1 bằng nhau, tức là có 2 chỉ sối, j sao cho qi = qj = q. Khi đó ai = 2kiq và aj = 2kjq. Suy ra, nếu ki ≤ kj thì aj chiahết cho ai, trong trường hợp ngược lại thì ai chia hết cho aj.

2.5 Hệ thức đệ qui

2.5.1 Khái niệm và các ví dụ

Một bài toán đếm được giải bằng các kĩ thuật đếm trong các tiết trước cũng có thểgiải được bằng cách tìm các mối quan hệ, gọi là quan hệ đệ qui, giữa các số hạng của

Nguyễn Minh Trí 25

Page 26: Lec TRR CNTTK6

Bài giảng TOÁN RỜI RẠC

dãy.Ví dụ: Một cầu thang có n bậc. Mỗi bước đi gồm 1 hoặc 2 bậc. Hỏi có bao nhiêu

cách đi hết cầu thang?

Định nghĩa: Một hệ thức đệ qui tuyến tính cấp k là một hệ thức có dạng:

a0xn + a1xn−1 + · · ·+ akxn−k = fn(1)

trong đó a0 6= 0, a1, . . . , an là các số thực;{fn} là một dãy số thực cho trước;{xn} là dãy ẩn nhận các giá trị thực.

Trường hợp fn = 0 thì (1) trở thành

a0xn + a1xn−1 + · · ·+ akxn−k = 0(2)

Ta nói (2) là một hệ thức đệ qui tuyến tính thuần nhất cấp k.Ví dụ: xn + 2xn−1 − 3xn−2 = n2 − 3n−2xn + 3xn−2 = n2 + 1xn + 2xn−1 = 0

2.5.2 Nghiệm tổng quát và nghiệm riêng

Mỗi dãy {xn} thỏa (1) được gọi là một nghiệm của (1). Nhận xét rằng mỗi nghiệm{xn} của (1) được hoàn toàn xác định bởi k giá trị ban đầu x0, x1, . . . , xk−1.

Họ dãy số {xn = xn(C1, C2, . . . , Ck)} phụ thuộc vào k họ tham số C1, C2, . . . , Ck

được gọi là nghiệm tổng quát của (1) nếu mọi dãy của họ này đều là nghiệm của (1)Với k giá trị ban đầu y0, y1, . . . , yk−1, tồn tại duy nhất các giá trị của k tham số

C1, C2, . . . , Ck sao cho nghiệm {xn} tương ứng thỏa

x0 = y0, x1 = y1, . . . , xk−1 = yk−1(∗)

Khi đó, nghiệm {xn} tương ứng được gọi nghiệm riêng ứng với điều kiện ban đầu (*).Giải một hệ thức đệ qui là đi tìm nghiệm tổng quát của nó; nhưng nếu hệ thức đệ

qui có kèm theo điều kiện ban đầu, ta phải tìm nghiệm riêng thỏa điều kiện ban đầuđó.

Ví dụ:

2xn − 3xn−1 = 0 có nghiệm tổng quát xn =(32

)n2xn − 3xn−1 + xn−2 = 0 có nghiệm tổng quát xn = C1 + C2

(12

)nTa quay lại bài toán trong ví dụ ban đầu. "Một cầu thang có n bậc. Mỗi bước đi

gồm 1 hoặc 2 bậc. Hỏi có bao nhiêu cách đi hết cầu thang?". Gọi xn là số cách đi hếtn bậc thang.

• Nếu n = 1 thì x1 = 1

• Nếu n = 2 thì x2 = 2

• Nếu n > 2, để khảo sát xn ta chia thành 2 trường hợp:

– TH1: Bước đầu tiên gồm 1 bậc. Khi đó cầu thang còn lại n − 1 bậc và cóxn−1 cách để đi hết n− 1 bậc thang này.

– TH2: Bước đầu tiên gồm 2 bậc. Khi đó cầu thang còn lại n − 2 bậc và cóxn−2 cách để đi hết n− 2 bậc thang này.

Nguyễn Minh Trí 26

Page 27: Lec TRR CNTTK6

Bài giảng TOÁN RỜI RẠC

Theo nguyên lí cộng, số cách đi hết n bậc thang này là xn−1 + xn−2.

Do đó ta có xn = xn−1 + xn−2 hay xn − xn−1 − xn−2 = 0

Vậy ta có hệ thức đệ qui tuyến tính thuần nhất cấp 2 là:{xn − xn−1 − xn−2 = 0

x1 = 1;x2 = 2

Ví dụ: Có 3 cọc A, B, C và n đĩa (có lỗ để đặt vào cọc) với đường kính đôi mộtkhác nhau. Nguyên tắc đặt đĩa vào cọc là: mỗi đĩa chỉ được chồng lên đĩa lớn hơn nó.Ban đầu, cả n đĩa được đặt chồng lên nhau ở cọc A, hai cọc B và C để trống. Vấn đềđặt ra là chuyển cả n đĩa ở cọc A sang cọc C (có thể qua trung gian cọc B), mỗi lầnchỉ chuyển một đĩa. Gọi xn là số lần chuyển đĩa. Tìm một hệ thức đệ qui cho xn

Giải:

• Với n = 1 ta có x1 = 1.

• Với n > 1, trước hết ta chuyển n− 1 đĩa bên trên sang cọc B qua trung gian cọcC (giữ nguyên đĩa thứ n dưới cùng ở cọc A). Số lần chuyển n− 1 đĩa đó là xn−1.Sau đó ta chuyển đĩa thứ n từ cọc A sang cọc C. Cuối cùng ta chuyển n− 1 đĩatừ cọc B sang cọc C. Số lần chuyển n− 1 đĩa đó lại là xn−1.

Như vậy số lần chuyển toàn bộ n đĩa từ A sang C là:

xn−1 + 1 + xn−1 = 2xn−1 + 1

Nghĩa là xn = 2xn−1 + 1, ta có hệ thức đệ qui tuyến tính không thuần nhất cấp1: {

xn = 2xn−1 + 1

x1 = 1

2.5.3 Hệ thức đệ qui tuyến tính thuần nhất

Xét hệ thức đệ qui tuyến tính thuần nhất

a0xn + a1xn−1 + · · ·+ akxn−k = 0(2)

Phương trình đặc trưng của (2) là phương trình bậc k định bởi:

a0λk + a1λ

k−1 + · · ·+ ak = 0(∗)

• Trường hợp 1: k = 1

Phương trình đặc trưng (*) trở thành a0λ + a1 = 0 nên có nghiệm là λ = −a1a0

.

Khi đó, (2) có nghiệm tổng quát là:

xn = Cλn

Ví dụ: {2xn − 3xn−1 = 0

x0 = 1

Nguyễn Minh Trí 27

Page 28: Lec TRR CNTTK6

Bài giảng TOÁN RỜI RẠC

Phương trình đặc trưng: 2λ− 3 = 0 có nghiệm λ = −3

2

Nên hệ thức có nghiệm tổng quát là:

xn = C(32

)nTừ điều kiện x0 = 1 ta có C = 1. Vậy nghiệm của hệ thức là:

xn =(32

)n• Trường hợp k = 2

Phương trình đặc trưng (∗) trở thành

a0λ2 + a1λ+ a2 = 0(∗∗)

Người ta chứng minh được kết quả sau:

1. Nếu (∗∗) có 2 nghiệm phân biệt λ1 và λ2 thì (2) có nghiệm tổng quát là:

xn = C1λn1 + C2λ

n2

2. Nếu (∗∗) có nghiệm kép r thì (2) có nghiệm tổng quát là:

xn = (C1 + nC2)λn

Ví dụ: Giải các hệ thức đệ quia. 2xn − 3xn−1 + xn−2 = 0

b.

{4xn − 12xn−1 + 9xn−2 = 0

x0 = 2;x1 = 4

2.5.4 Hệ thức đệ qui tuyến tính không thuần nhất

Xét một hệ thức đệ qui tuyến tính không thuần nhất

a0xn + a1xn−1 + · · ·+ akxn−k = fn(1)(1)

Hệ thức đệ qui tuyến tính thuần nhất tương ứng là

a0xn + a1xn−1 + · · ·+ akxn−k = 0(2)

Phương trình đặc trưng của (2) là:

a0λk + a1λ

k−1 + · · ·+ ak = 0(∗)

Khi đó: Nghiệm tổng quát của (1)= nghiệm tổng quát của (2) + một nghiệm riêngcủa (1)

Cách tìm một nghiệm riêng của (1) khi vế phải fn của (1) có dạng đặc biệt nhưsau:

Dạng 1. fn = αnPr(n) trong đó Pr là một đa thức bậc r, α là một hằng số.

Dạng 2. fn = fn1+ fn2+ . . . + fns , trong đó các fn1, fn2, . . . , fns thuộc dạng 1 đã xétở trên

Nguyễn Minh Trí 28

Page 29: Lec TRR CNTTK6

Bài giảng TOÁN RỜI RẠC

Dạng 1: fn = αnPr(n)

TH1: α không là nghiệm của phương trình đặc trưng.

(1) có một nghiệm riêng dạng:

xn = αnQr(n)

TH2: α là nghiệm đơn của phương trình đặc trưng.

(1) có một nghiệm riêng dạng:

xn = nαnQr(n)

TH3: α là nghiệm kép của phương trình đặc trưng.

(1) có một nghiệm riêng dạng:

xn = n2αnQr(n)

Trong đó Qr(n) là một đa thức bậc r

Qr(n) = Arnr + Ar−1n

r−1 + · · ·+ A1n+ A0

Để xác định các hệ số Ai bên trên ta cần thế xn, xn−1, . . . , xn−k vào (1) và cho n nhậnr + 1 giá trị nguyên nào đó hoặc đồng nhất các hệ số tương ứng ở hai vế để được mộthệ phương trình. Các hệ số trên là nghiệm của hệ phương trình này.

Dạng 2: fn = fn1 + fn2 + . . . + fnsBằng cách như trên ta tìm được nghiệm riêng xni (1 ≤ i ≤ s) của hệ thức đệ qui:

a0xn + a1xn−1 + . . . + akxn−k = fni

Khi đó xn = xn1 + xn2 + . . . + xns là nghiệm riêng của (1)Ví dụ 1: 2xn − 3xn+1 + xn+2 = 4n− 1(1)Giải:Hệ thức đệ qui tuyến tính thuần nhất là

2xn − 3xn+1 + xn+2 = 0(2)

Phương trình đặc trưng của (2) là:

2λ2 − 3λ+ 1 = 0

Có hai nghiệm thực là λ1 = 1, λ2 =1

2Do đó nghiệm tổng quát của (2) có dạng

xn = C1 + C2

(12

)nBây giờ, ta tìm một nghiệm riêng của (1)

Vế phải của 1 là fn = 1n.(4n+ 1) có dạng Pr(n) là đa thức bậc r = 1 theo n.Vì λ = 1 là nghiệm của phương trình đặc trưng (*) nên (1) có nghiệm riêng có

dạng:xn = n(an+ b)(4)

Nguyễn Minh Trí 29

Page 30: Lec TRR CNTTK6

Bài giảng TOÁN RỜI RẠC

Thế (4) vào (1) ta được:

2n(an+ b)− 3(n− 1)[a(n− 1) + b] + (n− 2)[a(n− 2) + b] = 4n+ 1

Cho n lần lượt nhân hai giá trị n = 0;n = 1 ta được hệ:{a+ b = 1

3a+ b = 5

Giải hệ trên ta được a = 2, b = −1. Thế vào (4) ta tìm được 1 nghiệm riêng của (1)

xn = n(2n− 1)(5)

Từ (3) và (5), suy ra nghiệm tổng quát của (1) là

xn = C1 + C2

(12

)n+ n(2n− 1)

Ví dụ 2: Giải hệ thức đệ qui{xn+1 − 6xn + 9xn−1 = (18n+ 12).3n

x0 = 2;x1 = 0

Giải:Xét hệ thức đệ qui

xn+1 − 6xn + 9xn−1 = (18n+ 12).3n(1)

Hệ thức đệ qui tuyến tính thuần nhất:

xn+1 − 6xn + 9xn−1 = 0(2)

Phương trình đặc trưng của (2)

λ2 − 6λ+ 9 = 0

có nghiệm kép λ = 3Do đó nghiệm tổng quát của (2) là

xn = (C1 + nC2)3n(3)

Ta tìm một nghiệm riêng của (1).Về phải của (1) là một đa thức f(n) = (18n + 12).3n có dạng αn.Pr(n) trong đó

α = 3 là nghiệm của phương trình đặc trưng và Pr(n) là đa thức bậc 1 theo n.Vì α = 3 là nghiệm kép của phương trình đặc trưng nên nghiệm riêng có dạng

xn = n2(an+ b).3n(4)

Thế (4) vào (1) ta được

(n+1)2[a(n+1)+b].3n+1−6n2(an+b).3n+9(n−1)2[a(n−1)+b].3n−1 = (18n+12).3n

Cho n lần lượt bằng 0 và 1 ta được{6b = 12

54a+ 18b = 90

Nguyễn Minh Trí 30

Page 31: Lec TRR CNTTK6

Bài giảng TOÁN RỜI RẠC

Giải hệ trên ta được a = 1, b = 2 thế vào (4) ta được 1 nghiệm riêng của (1) là

xn = n2(n+ 2).3n(5)

Từ (3) và (5) ta được nghiệm tổng quát của (1) là

xn = (C1 + nC2).3n + n2(n+ 2).3n(6)

Thay điều kiện x0 = 2, x1 = 0 vào (6) ta được{C1 = 2

3C1 + 3C2 + 9 = 0

Ta có C1 = 2, C2 = −5Thế vào (6), ta có nghiệm cần tìm là:

xn = (2− 5n).3n + n2(n+ 2).3n

Ví dụ 3: Giải hệ thức đệ qui

xn − 4xn−1 + 3xn−2 = 20 + (2− n)2n−2 + 3.4n(1)

Giải:Hệ thức đệ qui tuyến tính thuần nhất:

xn − 4xn−1 + 3xn−2 = 0(2)

Phương trình đặc trưng của (2)

λ2 − 4λ+ 3 = 0

có 2 nghiệm thực phân biệt λ1 = 1, λ2 = 3Do đó nghiệm tổng quát của (2) có dạng:

xn = C1 + C2.3n

Tiếp theo ta xét 1 nghiệm riêng của (1)Ta có fn = 20 + (2− n)2n−2 + 3.4n, do đó ta phải xét các hệ thức đệ qui sau:

• xn − 4xn−1 + 3xn−2 = 20(3)

• xn − 4xn−1 + 3xn−2 = (2− n)2n−2(4)

• xn − 4xn−1 + 3xn−2 = 3.4n(5)

Lí luận tương tự như ví dụ trên ta tìm được các nghiệm riêng:

• Một nghiệm riêng của (3) là xn1 = −10n

• Một nghiệm riêng của (4) là xn2 = n2n

• Một nghiệm riêng của (5) là xn3 = 4n+2

Suy ra một nghiệm riêng của (1) là

xn = −10n+ n2n + 4n+2(6)

Từ (3) và (6) ta có nghiệm tổng quát của (1) là:

xn = C1 + C2.3n − 10n+ n2n + 4n+2

Nguyễn Minh Trí 31

Page 32: Lec TRR CNTTK6

Bài giảng TOÁN RỜI RẠC

Bài tập

Bài 14. Cho f : R → R xác định bởi f(x) = x2. Hãy tìm f(A) và f−1(A) với A làcác tập hợp sau:

a. A = {4, 8}b. A = {−8,−4, 4, 8}c. A = [−2, 4)d. A = {[4, 9]}

Bài 15. Với mỗi ánh xạ f : Z → Z, hãy xét xem nó có là đơn ánh hay toàn ánhkhông?

a. f(x) = x+ 7b. f(x) = 2x− 3c. f(x) = x2 + xd. f(x) = |x|

Bài 16. Cũng câu hỏi tương tự nhưng ánh xạ đối với ánh xạ f : R→ RBài 17. Xét ánh xạ f : R→ R được định nghĩa bởi:

f(x) =

x+ 7 nếu x ≤ 0

−2x+ 5 nếu 0 < x < 3

x− 1 nếu x ≥ 3

a. Tìm f(1), f−1(0), f−1(2), f−1(6)b. Tìm tạo ảnh của [−5,−1], [2, 4]

Bài 18. Cho S = {1, 2, 3, 4, 5, 6, 7, 8, 9.10}. Có bao nhiêu tập con A của S thỏa;a. |A| = 5b. |A| = 5 và phần tử bé nhất của A là 3?c. |A| = 5 và phần tử bé nhất của A bé hơn hay bằng 3?

Bài 19. Có 7 sinh viên, có bao nhiêu cách chia họ thành 2 đội? Nếu yêu cầu mỗi độicó ít nhất 2 sinh viên thì có bao nhiêu cách?Bài 20. Tìm số nguyện nguyên không âm của phương trình

x1 + x2 + x3 + x4 = 32

a. Có tất cả bao nhiêu nghiệm?b. Các nghiệm thỏa x1, x2 ≥ 5, x3, x4 ≥ 7c. Các nghiệm thỏa x1, x2, x3, x4 > 7

Bài 21. Bất đẳng thứcx1 + x2 + x3 ≤ 11

có bao nhiêu nghiệm nguyên không âm?Bài 22. Một tiểu ban gồm 12 người được chọn trong số 10 đại biểu nữ và 10 đại biểunam. Hỏi có bao nhiêu cách chon? Biết rằng:

a. Không có hạn chế nào cảb. Phải có 6 nam và 6 nữc. Số nữ phải là số chẵnd. Phải có nhiều nữ hơn name. Phải có ít nhất 8 nam

Bài 23. Có thể chia 12 quyển sách khác nhau cho 4 đứa trẻ theo bao nhiêu cách? Biếtrằng:

a. Mỗi đứa trẻ được 3 quyển sáchb. Hai đứa lớn nhất được 4 quyển sách mỗi đứa và hai đứa bé nhất được 2 quyển

mỗi đứa

Nguyễn Minh Trí 32

Page 33: Lec TRR CNTTK6

Bài giảng TOÁN RỜI RẠC

Bài 24. Trong tổng số 2504 sinh viên của khoa công nghệ thông tin, có 1876 theo họcmôn ngôn ngữ lập trình Pascal, 999 học môn ngôn ngữ Fortran và 345 học ngôn ngữC. Ngoài ra còn biết 876 sinh viên học cả Pascal và Fortran, 232 học cả Fortran và C,290 học cả Pascal và C. Nếu 189 sinh viên học cả 3 môn Pascal, Fortran và C thì trongtrường hợp đó có bao nhiêu sinh viên không học môn nào trong 3 môn ngôn ngữ lậptrình kể trên?Bài 25. Trong lớp có 34 học sinh, khi viết chính tả em Thu đã mắc 10 lỗi, các emkhác không có em nào mắc nhiều lỗi hơn. Chứng minh rằng có ít nhất 4 em đã mắcmột số lỗi giống nhau.Bài 26. Có 10 số tự nhiên bất kì: a1, a2, . . . , a10

Chứng minh rằng có 1 số hoặc tổng một số liên tiếp nhau trong dãy 10 số đã chochia hết cho 10.Bài 27. Chứng minh rằng trong 35 sinh viên của lớp công nghệ phần mềm, có haingười có số người quen như nhau. (kể cả trường hợp quen 0 người)Bài 28. Phải tung 1 con xúc sắc bao nhiêu lần để có một mặt xuất hiện ít nhất:

a. 2 lầnb. 3 lầnc. n lần với n ≥ 4

Bài 29. Cho 10 số tự nhiên bất kì. Chứng minh rằng có 1 số hoặc tổng một số liêntiếp nhau trong dãy 10 số đã cho chia hết cho 10.Bài 30. a. Tìm nghiệm tổng quát của hệ thức đệ qui

xn = 6xn−1 − 9xn−2

b. Tìm nghiệm tổng quát của hệ thức đệ qui{xn = 6xn−1 − 9xn−2 + 2.4n

x0 = 12;x1 = 8

Bài 31. a. Tìm nghiệm tổng quát của hệ thức đệ qui

xn = 4xn−1 − 4xn−2

b. Tìm nghiệm tổng quát của hệ thức đệ qui{xn = 4xn−1 − 4xn−2 + 3.2n+1

x0 = 4;x1 = 4

Bài 32. a. Tìm nghiệm tổng quát của hệ thức đệ qui

xn = xn−1 + 6xn−2

b. Tìm nghiệm tổng quát của hệ thức đệ qui{xn = xn−1 + 6xn−2 + 50n3n−1

x0 = 1;x1 = 5

Bài 33. Một người gửi 100 triệu đồng vào một quĩ đầu tư vào ngày đầu của một năm.Ngày cuối cùng của năm người đó được hưởng hai khoản tiền lãi. Khoản thứ nhất là20% tổng số tiền có trong tài khoản cả năm, khoản lãi thứ hai là 45% của tổng số tiền

Nguyễn Minh Trí 33

Page 34: Lec TRR CNTTK6

Bài giảng TOÁN RỜI RẠC

có trong tài khoản của năm trước đó. Gọi Pn là số tiền có trong tài khoản vào cuốinăm thứ n.

a. Tìm công thức truy hồi cho Pn

b. Tìm biểu thức của Pn theo n.Bài 34. Tìm hệ thức đệ qui cho xn, trong đó xn là số miền của mặt phẳng bị phânchia bởi n đường thẳng trong đó không có hai đường nào song song và không có bađường nào đồng qui. Tìm xn.

Nguyễn Minh Trí 34

Page 35: Lec TRR CNTTK6

Chương 3

Quan hệ

3.1 Quan hệ

3.1.1 Định nghĩa quan hệ

Tích Descartes Cho hai tập hợp A và B tùy ý khác rỗng. Ta gọi tích Descartescủa hai tập hợp A và B, kí hiệu A × B là tập hợp các cặp sắp thứ tự (a, b) trong đóa ∈ A, b ∈ B

A×B = {(a, b)|a ∈ A ∧ b ∈ B}

Ví dụ: Cho A = {1, 2, 3}, B = {x, y}

A×B = {(1, x), (1, y), (2, x), (2, y), (3, x), (3, y)}

Nhận xét:

• Ta có A×B 6= B × A

• Ta qui ước A× ∅ = ∅ × A = ∅

• Nếu B = A thì ta có thể viết A× A = A2

Quan hệ Một quan hệ hai ngôi R từ tập A đến tập B là tập con của tích DescartesR ⊂ A×B.

Chúng ta sẽ viết aRb thay cho (a, b) ∈ RQuan hệ từ A đến chính nó được gọi là quan hệ trên A

Ví dụ: R là quan hệ "bằng nhau" trên tập NR = {(x, y) ∈ N2|x = y} hay ∀x, y ∈ N : xRy ⇔ x = y

S là quan hệ "bé hơn hoặc bằng" trên tập các số thực R :

∀x, y ∈ R : xSy ⇔ x ≤ y

T là quan hệ "có cùng số dư khi chia cho m" trên tập Z :

∀x, y ∈ Z : xTy ⇔ (x− y)...m

Quan hệ này được gọi là đồng dư modulo m và chúng ta viết x ≡ y (mod m) thayvì xTy

35

Page 36: Lec TRR CNTTK6

Bài giảng TOÁN RỜI RẠC

3.1.2 Các tính chất của quan hệ

Tính chất phản xạ Quan hệ hai ngôi S trên tập X gọi là có tính chất phản xạ nếu

∀x ∈ X : xSx

Ví dụ: Quan hệ R, S, T có tính phản xạ.

Tính chất đối xứng Quan hệ hai ngôi S trên tập X gọi là có tính chất đối xứng

∀x, y ∈ X : xSy ⇒ ySx

Ví dụ: Quan hệ R, T có tính đối xứng, quan hệ S không có tính đối xứng.

Tính chất phản đối xứng Quan hệ hai ngôi S trên tập X gọi là có tính chất phảnđối xứng

∀x, y ∈ X :

{xSyySx

⇒ x = y

Ví dụ: Quan hệ R, S có tính phản đối xứng, quan hệ T không có tính đối xứng.

Tính chất bắc cầu Quan hệ hai ngôi S trên tập X gọi là có tính chất bắc cầu

∀x, y, z ∈ X :

{xSyySz

⇒ xSz

Ví dụ: Quan hệ R, S, T có tính bắc cầu.

3.1.3 Biểu diễn quan hệ

Cho R là quan hệ từ A = {1, 2, 3, 4} đến B = {u, v, w}:

R = {(1, u), (1, v), (2, w), (3, w), (4, u)}

Khi đó R có thể biễu diễn như sau

u v w1 1 1 02 0 0 13 0 0 14 1 0 0

Đây là ma trận cấp 4× 3 biễu diễn cho quan hệ R

Định nghĩa Cho R là quan hệ từ A = {a1, a2, . . . , am} đến B = {b1, b2, . . . , bn}.Matrận biểu diễn của R là ma trận cấp m× n MR = [mij] xác định bởi

mij =

{1 nếu (ai, bj) ∈ R0 nếu (ai, bj) 6∈ R

Ví dụ: Cho R là quan hệ từ A = {a, b, c} đến B = {s, t, u, v} có ma trận biểu diễn1 0 0 10 0 0 10 1 1 1

Khi đó quan hệ R gồm các cặp:

(a, s), (a, v), (b, v), (c, t), (c, u), (c, v)

Nguyễn Minh Trí 36

Page 37: Lec TRR CNTTK6

Bài giảng TOÁN RỜI RẠC

3.2 Quan hệ tương đương

Quan hệ hai ngôi R trên tập X gọi là quan hệ tương đương nếu nó có các tính chấtphản xạ, đối xứng và bắc cầu.

Ví dụ: Các quan hệ R (bằng nhau trên N), T (có cùng số dư khi chia cho 3 trêntập Z) là các quan hệ tương đương.

Lớp tương đương Giả sử R là một quan hệ tương đương trên tập X và a ∈ X. Khiđó lớp tương đương của a là tập hợp

{x ∈ X|xRa}

Lớp tương đương của a kí hiệu a hay [a].Ví dụ:

• Xét quan hệ "bằng nhau" trên tập các số tự nhiên. Ta có [4] = {4}

• Xét quan hệ "có cùng số dư khi chia cho 3" trên tập các số tự nhiên N. Ta có5 = {2, 5, 8, 11, 14, . . .}

Định lí 3 Giả sử R là một quan hệ tương đương trên tập X và x, y ∈ X ta có các kếtquả sau

1. ∀x ∈ X : x ∈ x hay x 6= ∅

2. x = y ⇔ xRy

3. x = y hoặc x ∩ y = ∅

Chú ý. Các lớp tương đương theo một quan hệ tương đương trên X tạo nên một phânhọach trên X, nghĩa là chúng chia tập X thành các tập con rời nhau.

3.3 Quan hệ thứ tự

Quan hệ hai ngôi R trên tập X gọi là quan hệ thứ tự nếu nó có các tính chất: phảnxạ, phản đối xứng, bắc cầu.

Ta thường kí hiệu quan hệ thứ tự bởi ≺.Cặp (X,≺) được gọi là một tập sắp thứ tự hay poset.Ví dụ:

• Quan hệ "chia hết cho" trên tập N∗ (Chứng minh xem như bài tập)

• Quan hệ "bé hơn hoặc bằng" trên tập các số thực R

Các phần tử a và b của poset (X,≺) gọi là so sánh được nếu a ≺ b hoặc b ≺ a.Ngược lại, ta nói a, b không so sánh được.Cho (X,≺), nếu hai phần tử tùy ý của X đều so sánh được với nhau thì ta gọi nó

là tập sắp thứ tự toàn phần.Ta cũng nói rằng ≺ là thứ tự toàn phần hay thứ tự tuyến tính trên XVí dụ: Quan hệ "≤” trên tập số thực là thứ tự toàn phần.Quan hệ “chia hết cho” trên tập hợp số nguyên dương không là thứ tự toàn phần,

vì các số 5 và 7 là không so sánh được.

Nguyễn Minh Trí 37

Page 38: Lec TRR CNTTK6

Bài giảng TOÁN RỜI RẠC

Thứ tự từ điển Trên tập các chuỗi bit có độ dài n ta có thể định nghĩa thứ tự nhưsau:

a1a2 . . . nn ≤ b1b2 . . . bn

khi và chỉ khi ai ≤ bi,∀i.Với thứ tự này thì các chuỗi 0110 và 1000 là không so sánh được với nhau. Chúng

ta không thể nói chuỗi nào lớn hơn.

Trong tin học chúng ta thường sử dụng thứ tự toàn phần trên các chuỗi bit.

Đó là thứ tự tự điển.

Cho (A,≤) và (B,≤′) là hai tập sắp thứ tự toàn phần. Ta định nghĩa thứ tự ≺

trên A×B như sau

(a1, b1) ≺ (a2, b2)

nếu a1 < a2 hay (a1 = a2 và b1 <′b2)

Dễ dàng thấy rằng đây là thứ tự toàn phần trên A×B. Ta gọi nó là thứ tự tự điển .

Chú ý rằng nếu A và B được sắp tốt bởi ≤ và ≤′,tương ứng thì A×B cũng được

sắp tốt bởi thứ tự ≺Chúng ta cũng có thể mở rộng định nghĩa trên cho tích Descartess của hữu hạn tập

sắp thứ tự toàn phần.

Cho∑

là một tập hữu hạn (ta gọi là bảng chữ cái). Tập hợp các chuỗi trên∑

, kýhiệu là

∑∗ , xác định bởi

. λ ∈∑∗, trong đó λ là chuỗi rỗng.

. Nếu x ∈∑∗ và w ∈

∑∗ thì wx ∈∑∗, trong đó wx là kết nối w với x.

Ví dụ. Chẳng hạn∑

= {a, b, c}. Thế thì∑∗ = {λ, a, b, c, aa, ab, ac, ba, bb, bc, ca, cb, cc, aaa, aab, . . .}Giả sử ≤ là thứ tự toàn phần trên

∑, khi đó ta có thể định nghĩa thứ tự toàn phần

≺ trên∑∗ như sau.

Cho s = a1a2 . . . am và t = b1b2 . . . bn là hai chuỗi trên∑∗

Khi đó s ≺ t nếu

• Hoặc ai = bi đối với 1 ≤ i ≤ m, tức là

t = a1a2 . . . ambm+1bm+2 . . . bn

• Hoặc tồn tại k < m sao cho

ai = bi với 1 ≤ i ≤ k và ak+1 < bk+1 , nghĩa là

s = a1a2 . . . akak+1ak+2 . . . am

t = a1a2 . . . akbk+1bk+2 . . . bn

Chúng ta có thể kiểm tra ≺ là thứ tự toàn phần trên∑∗ Ta gọi nó là thứ tự từ điển

trên∑∗

Ví dụ 1: Nếu∑

là bảng chữ cái tiếng Anh với thứ tự: a < b < . . . < z, thì thứ tựnói trên là thứ tự thông thường giữa các từ trong Từ điển.

Ví dụ 2: Nếu∑

= {0, 1} với 0 < 1, thì ≺ là thứ tự toàn phần trên tập tất cả cácchuỗi bit

∑∗ .

0110 ≺ 10

0110 ≺ 01100

Nguyễn Minh Trí 38

Page 39: Lec TRR CNTTK6

Bài giảng TOÁN RỜI RẠC

Biểu đồ Hasse Mỗi poset có thể biễu diễn bởi đồ thị đặc biệt ta gọi là biểu đồ Hasse

Để định nghĩa biểu đồ Hasse chúng ta cần các khái niệm phần tử trội và trội trựctiếp.

Phần tử b trong poset (X,≺) được gọi là phần tử trội của phần tử a trong X nếua ≺ b

Chúng ta cũng nói rằng a là được trội bởi b. Phần tử b được gọi là trội trực tiếpcủa a nếu b là trội của a, và không tồn tại trội c sao cho

a ≺ c ≺ b, a 6= c 6= b

Biểu đồ Hasse Biểu đồ Hasse của poset (X,≺) là đồ thị:

i. Mỗi phần tử của X được biễu diễn bởi một điểm trên mặt phẳng.

ii. Nếu b là trội trực tiếp của a thì vẽ một cung đi từ a đến b .

Ví dụ: Biểu đồ Hasse của poset ({1, 2, 3, 4},≤) có thể vẽ như sau:

Chú ý: Chúng ta không vẽ mũi tên với qui ước mỗi cung đều đi từ dưới lên trên.

Ví dụ: Biểu đồ Hasse của các chuỗi bit độ dài 3 với thứ tự tự điển

Phần tử tối đại - Phần tử tối tiểu Xét poset có biểu đồ Hasse như dưới đây:. Mỗi đỉnh màu đỏ là tối đại.. Mỗi đỉnh màu xanh là tối tiểu.. Không có cung nào xuất phát từ điểm tối đại.. Không có cung nào kết thúc ở điểm tối tiểu.

Nguyễn Minh Trí 39

Page 40: Lec TRR CNTTK6

Bài giảng TOÁN RỜI RẠC

Chú ý: Trong một poset X hữu hạn, phần tử tối đại và phần tử tối tiểu luôn luôntồn tại.

Ví dụ 1: Tìm phần tử tối đại, tối tiểu của poset ({2, 4, 5, 10, 12, 20, 25}, ...)?Ví dụ 2: Tìm phần tử tối đại, tối tiểu của poset các chuỗi bit độ dài 3?

Chặn trên - Chặn dưới Cho (S,≺) là poset và A ⊂ S. Phần tử chặn trên của Alà phần tử x ∈ S (có thể thuộc A hoặc không) sao cho ∀a ∈ A, a ≺ x.

Phần tử chặn dưới của A là phần tử x ∈ S sao cho ∀a ∈ A, x ≺ a

Ví dụ: Cho S có biểu đồ Hasse như hình vẽ

Phần tử chặn trên của {g, j} là aCho (S,≺) là một poset và A ⊂ S. Chặn trên nhỏ nhất của A là phần tử chặn trên

x của A sao cho mọi chặn trên y của A, ta đều có x ≺ y

Chặn dưới lớn nhất của A là phần tử chặn dưới x của A sao cho mọi chặn dưới ycủa A, ta có y ≺ x.

Chặn trên nhỏ nhất của : supA

Chặn dưới lớn nhất: infA

Ví dụ: Chặn trên nhỏ nhất của {i, j} là d

Nguyễn Minh Trí 40

Page 41: Lec TRR CNTTK6

Bài giảng TOÁN RỜI RẠC

Chặn trên nhỏ nhất (nếu có) của A = {a, b} đựơc ký hiệu bởi a ∨ bChặn dưới lớn nhất (nếu có) của A = {a, b} đựoc ký hiệu bởi a ∧ bVí dụ: i ∨ j = d c ∧ b = f

Bài tập

Bài 35. Hãy xét các tính chất phản xạ, đối xứng, phản đối xứng và bắc cầu của cácquan hệ sau:

a. Quan hệ R trên tâp Z : xRy ⇔ x+ y là số chẵnb. Quan hệ R trên tâp Z : xRy ⇔ x− y là số lẻc. Quan hệ R trên tâp R : xRy ⇔ |x| = |y|

Bài 36. Quan hệ R trên tâp Z+ được định nghĩa bởi

xRy ⇔ ∃n ∈ N : x = y2n

a. Chứng minh R là một quan hệ tương đươngb. Tìm các lớp tương đương [1], [2], [3], [4], [24]

Bài 37. Vẽ biểu đồ Hasse cho tập hợp sắp thứ tự (P (E),⊂) trong đó E = {1, 2, 3, 4}Bài 38. Trên tập N× N cho quan hệ hai ngôi R như sau:

(a, b)R(c, d)⇔ a+ d = b+ c

a. Chứng minh R là quan hệ tương đương.b. Tìm lớp tương đương [(1, 0)], [(1, 2)]

Nguyễn Minh Trí 41

Page 42: Lec TRR CNTTK6

Bài giảng TOÁN RỜI RẠC

Nguyễn Minh Trí 42

Page 43: Lec TRR CNTTK6

Chương 4

Đại số Bool và hàm Bool

4.1 Đại số Bool

4.1.1 Định nghĩa và các ví dụ

Một đại số Bool (A,∨,∧) là một tập hợp A 6= ∅ với hai phép toán ∨,∧, tức là hai ánhxạ:

∨ : A× A → A(x, y) 7→ x ∨ y

∧ : A× A → A(x, y) 7→ x ∧ y

thỏa 5 tính chất sau:1. Tính kết hợp: ∀a, y, z ∈ A

x ∨ (y ∨ z) = (x ∨ y) ∨ z

x ∧ (y ∧ z) = (x ∧ y) ∧ z

2. Tính giao hoán: ∀x, y ∈ Ax ∨ y = y ∨ x

x ∧ y = y ∧ x

3. Tính phân phối: ∀a, y, z ∈ A

x ∧ (y ∨ z) = (x ∧ y) ∨ (x ∧ z)

x ∨ (y ∧ z) = (x ∨ y) ∧ (x ∧ z)

4. Phần tử trung hòa 0 và 1: ∀x ∈ A

x ∨ 0 = x, x ∧ 1 = x

5. Phần tử bù: với mọi x ∈ A tồn tại x ∈ A sao cho:

x ∧ x = 0, x ∨ x = 1

Nếu không dùng các dấu ngoặc thì thứ tự thực hiện các phép toán như sau: trước hếtthực hiện tất cả các phép lấy phần bù, sau đó đến ∧ rồi đến ∨

43

Page 44: Lec TRR CNTTK6

Bài giảng TOÁN RỜI RẠC

Ví dụ 1. Đại số logic là một đại số Bool, với A là tập hợp tất cả các mệnh đề, cácphép ∧,∨,¬; các hằng đúng và hằng sai tương ứng các phần tử trung hòa 1 và 0.

2. Cho B = {0, 1}. Trên B ta định nghĩa 2 phép toán ∧,∨ như sau

x ∧ y = xy

x ∨ y = x+ y − xy

x = 1− x

Hay ta có bảng giá trị như sau:

∧ 0 10 0 01 0 1

∨ 0 10 0 11 1 1

Khi đó, B trở thành một đại số Bool. (Chứng minh xem như bài tập)3. Xét F là tập hợp tất cả các dạng mệnh đề theo n biến p1, p2, . . . , pn với hai phép

toán hội ∧, phép toán tuyển ∨, trong đó ta đồng nhất các dạng mệnh đề tương đương.Khi đó F là một đại số Bool với phần tử 1 là hằng đúng 1, phần tử 0 là hằng sai 0,phần tử bù của dạng mệnh đề E là dạng mệnh đề ¬E

4. Xét A là tập hợp tất cả các tập con của một tập không rỗng X, với các phéptoán trên S như phép giao, phép hợp và phép lấy phần bù. Khi đó S cùng với các phéptoán trên là một đại số Bool.

4.1.2 Các định lí cơ bản

1. x ∧ 0 = 0; x ∨ 1 = 1

2. x ∧ x = x; x ∨ x = x

3. x ∨ y = x ∧ y

4. x ∧ y = x ∨ y

5. x = x

6. x ∧ (x ∨ y) = x

7. x ∨ (x ∧ y) = x

8. 0 = 1; 1 = 0

Định lí 4 Trong đại số Bool A ta định nghĩa quan hệ

x ≺ y ⇔ x ∧ y = x

Khi ấy ≺ là một quan hệ thứ tự trên A.

Chứng minh xem như bài tập. (HD: Ta cần kiểm tra các tính chất phản xạ, phảnđối xứng, bắc cầu.)

Chú ý: trên một đại số Bool có thể có rất nhiều quan hệ thứ tự khác. Mặc dầuvậy, từ đây trở về sau khi ta nói đến quan hệ thứ tự trong đại số Bool mà không nóigì thêm thì ta hiểu rằng đấy là quan hệ thứ tự như đã định nghĩa trong định lý trên.

Nguyễn Minh Trí 44

Page 45: Lec TRR CNTTK6

Bài giảng TOÁN RỜI RẠC

4.2 Hàm Bool

Xét sơ đồ mạch điện gồm 3 ngắt điện

Tùy theo các cách ngắt điện A,B,C được đóng hay mở mà ta có dòng điện đi từM đến N hay không. Để biết các ngắt điện điều khiển việc cho dòng điện đi qua haykhông, ta vẽ sơ đồ cho tất cả các trường hợp.

Ta lấy giá trị 1 nếu ngắt đóng và 0 nếu ngắt mở. Trong ví dụ trên có 3 ngắt điệnnên ta xem như đó là ba biến a, b, c, còn toàn mạch điện liên kết với một biết f lấy giátrị 1 nếu có dòng điện đi qua và 0 nếu không có dòng điện đi qua. Tương ứng như vậyta có thể liệt kê các trường hợp trong bảng giá trị như sau:

a b c f0 0 0 00 0 1 00 1 0 00 1 1 11 0 0 11 0 1 11 1 0 11 1 1 1

Trong trường hợp số ngắt điện lớn thì việc lập bảng giá trị là không thực tế. Ta cầntìm một công thức cho phép biểu diễn hàm f(a, b, c) theo các biến a, b, c như là mộthàm đa thức. Ta nhận xét rằng bẳng giá trị trên giống như bảng giá trị chân lí củacác dạng mệnh đề. Ta có thể đồng nhất dạng mệnh đề E(p, q, r, . . .) với bảng giá trịchân lí của nó. Thực chất là ta xem hàm E(p, q, r, . . .) theo các biến p, q, r, . . . trongđó p, q, r, . . . chỉ nhận giá trị 0, 1. Đó là các hàm Bool.

4.2.1 Hàm Bool

Hàm Bool n biến là ánh xạ f : Bn → B, trong đó B = {0, 1}.Nhận xét.

1. Nếu đồng nhất tập B = {0, 1} với tập các mệnh đề Đúng, Sai thì hàm Boolecũng không phải là một khái niệm quá xa lạ: một hàm Boole chính là một dạngmệnh đề (công thức logic – xem lại chương 1). Nó nhận các biến x1, x2, . . . , xnchính là các biến mệnh đề và kết quả thu được cũng là cũng là một mệnh đề(đúng hoặc sai). Các biến xuất hiện trọng hàm Bool gọi là biến Bool.

2. Tổng quát, một hàm Boole theo n biến sẽ là một hàm số theo n biến số, mỗi biếnsố sẽ nhận giá trị 0 hoặc 1 và kết quả của hàm số cũng là giá trị 0 hoặc 1. Mặcdù không nói ra nhưng ta vẫn phải hiểu rằng các phép toán biểu diễn trong côngthức của hàm Boole vẫn chính là các phép toán trong đại số Boole B = {0, 1}.

Nguyễn Minh Trí 45

Page 46: Lec TRR CNTTK6

Bài giảng TOÁN RỜI RẠC

Ký hiệu Fn để chỉ tập các hàm Bool n biến.Ví dụ: Dạng mệnh đề E = E(p1, p2, . . . , pn) theo n biến p1, p2, . . . , pn là một hàm

Bool n biến.Xét hàm Bool n biến f(x1, x2, . . . , xn)Vì mỗi biến xi chỉ nhận hai giá trị 0, 1 nên chỉ có 2n trường hợp của bộ biến

(x1, x2, . . . , xn).Do đó, để mô tả f ta có thể lập bảng gồm 2n hàng ghi tất cả các giá trị của f tùy

theo 2n trường hợp của biến. Ta gọi đây là bảng chân trị của fVí dụ: Xét kết quả f trong việc thông qua một quyết định dựa vào 3 phiếu bầu

x, y, zMỗi phiếu chỉ lấy một trong hai giá trị: 1 (tán thành) hoặc 0 (bác bỏ).Kết quả f là 1 (thông qua quyết định) nếu được đa số phiếu tán thành, là 0 (không

thông qua quyết định) nếu đa số phiếu bác bỏ.Khi đó f là hàm Bool theo 3 biến x, y, z có bảng chân trị như sau:

x y z f0 0 0 00 0 1 00 1 0 00 1 1 11 0 0 01 0 1 11 1 0 11 1 1 1

Như vậy, mỗi hàm Boole sẽ tương ứng với một và chỉ một bảng chân trị. Nói cách khác,hai hàm Boole có cùng bảng chân trị sẽ là hai hàm Boole bằng nhau (thực chất chỉđược coi như là một hàm Boole duy nhất).

Nhận thấy rằng, việc xây dựng bảng chân trị của một hàm Boole hoàn toàn giốngnhư xây dựng bảng chân trị của một dạng mệnh đề (xem lại chương 1). Câu hỏi đặtra là: “Từ một bảng chân trị, làm thể nào ta xây dựng lại được công thức tường minhcủa hàm Boole?”. Đây là một câu hỏi được đặt ra rất thực tế, chúng ta phải thườngxuyên xây dựng công thức của hàm Boole khi biết bảng chân trị của nó. Để thực hiệnđược điều này, chúng ta phải quay lại kiến thức của đại số Boole đã học trong phầntrước.

4.2.2 Các phép toán trên hàm Bool

Phép cộng Bool ∨: Với f, g ∈ Fn, tổng Bool của f và g

f ∨ g = f + g − fg

∀x = (x1, x2, . . . , xn) ∈ Bn : (f ∨ g)(x) = f(x) + g(x)− f(x)g(x) Ta chứng minh được:f ∨ g ∈ Fn :

(f ∨ g)(x) = max{f(x), g(x)}

Phép nhân Bool ∧: Với f, g ∈ Fn, tích Bool của f và g

f ∧ g = fg

∀x = (x1, x2, . . . , xn) ∈ Bn : (f ∧ g)(x) = f(x)g(x) Ta chứng minh được: f ∧ g ∈ Fn :

(f ∧ g)(x) = min{f(x), g(x)}

Ta thường viết fg thay cho f ∧ g

Nguyễn Minh Trí 46

Page 47: Lec TRR CNTTK6

Bài giảng TOÁN RỜI RẠC

Phép lấy hàm bù: Với f ∈ Fn, ta định nghĩa hàm bù của f như sau:

f = 1− f

∀x = (x1, x2, . . . , xn) ∈ Bn : f(x) = 1− f(x)Ta thấy rằng Fn với hai phép toán định nghĩa như trên sẽ là một đại số Boole. Đây

là một điều cũng hết sức thú vị khi các hàm Boole được định nghĩa thông qua đại sốBoole B = {0, 1} và bây giờ, tập hợp những hàm Boole theo n biến cũng sẽ lại là mộtđại số Boole.

Thứ tự trên Fn: Với f, g ∈ Fn thì

f ≺ g ⇔ ∀x = (x1, x2, . . . , xn) ∈ Bn : F (x) ≤ g(x)

Để ý rằng, thông qua định nghĩa trên, một hàm Boole f được nói là “bé hơn” một hàmBoole g nếu và chỉ nếu tại cùng một dòng trên bảng chân trị, giá trị của f(x) luôn béhơn hay bằng giá trị của g(x).

4.2.3 Biểu diễn các hàm Bool

Các hàm Bool cũng có thể thu được biểu diễn bằng cách dùng các biểu thức tạo bởicác biến và các phép toán Bool. Các biểu thức Bool với các biến x1, x2, . . . , xn đượcđịnh nghĩa như sau:

• 0, 1, x1, x2, . . . , xn là các biểu thức Bool.

• Nếu E1, E2 là các biểu thức Bool thì E1, E1 ∧ E2, E1 ∨ E2 cũng là các công thứcBool

Mối một công thức Bool biểu diễn một hàm Bool. Các giá trị của hàm nhận được bằngcách thay 0 và 1 bởi các biến có trong biểu thức.

Hai bài toán quan trọng của đại số Bool sẽ được nghiên cứu trong tiết này. Bàitoán thứ nhất: cho các giá trị của một hàm Bool, làm thế nào để tìm được biểu thứcBool biểu diễn hàm đó? Bài toán này sẽ được giải bằng cách chứng minh rằng mọi hàmBool đều có thể biểu diễn bởi tổng các tích Bool của các biến và phần bù của chúng.Lời giải của bài toán này chứng tỏ rằng mọi hàm Bool đều có thể biểu diễn bằng 3toán tử Bool là ∨,∧,−. Bài toán thứ hai là: liệu có một tập hợp nhỏ hơn các toántử biểu diễn hàm Bool hay không? Chúng ta sẽ trả lời bài toán này bằng cách chứngminh rằng mọi hàm Bool đều có thể biểu diễn bằng cách chỉ dùng 1 toán tử. Cả haibài toán đều quan trọng trong việc thiết kế các mạch.

4.2.4 Dạng nối rời chính tắc

Chúng ta dùng các ví dụ để minh họa một phương pháp quan trọng để tìm biểu thứcBool biểu diễn một hàm Bool.

Ví dụ 1: Tìm các biểu thức Bool biểu diễn các hàm Bool F (x, y, z) và G(x, y, z) cócác giá trị cho trong bảng

Nguyễn Minh Trí 47

Page 48: Lec TRR CNTTK6

Bài giảng TOÁN RỜI RẠC

x y z F G0 0 0 0 00 0 1 0 00 1 0 0 10 1 1 0 01 0 0 0 01 0 1 1 01 1 0 0 11 1 1 0 0

Giải: Ta cần một biểu thức có giá trị 1 khi x = z = 1 và y = 0 và có giá trị băng0 trong các trường hợp còn lại để biểu diễn hàm F . Có thể lập một biểu thức như vậybằng cách lấy tích của x, y và z. Tích xyz có giá trị 1 nếu và chỉ nếu x = y = z = 1

Tương tự, hàm G = xyz ∨ xyz

Định nghĩa Xét tập hợp các hàm Bool của n biến Fn theo n biến x1, x2, . . . , xn. Mỗi hàm bool xi hay xi được gọi là từ đơn.. Đơn thức là tích khác không của một số hữu hạn từ đơn.. Từ tối tiểu là tích khác không của đúng n từ đơn.. Công thức đa thức là biểu thức biểu diễn hàm Bool thành tổng của các đơn

thức.. Dạng nối rời chính tắc là biểu thức biểu diễn hàm Bool thành tổng của các từ

tối tiểu.Ví dụ: Xét tập hợp F3 theo 3 biến x, y, z. x, y, y, z là các từ đơn.. xy, yz, xyz là các đơn thức.. xyz, xyz, xyz là các từ tối tiểu.. f = yz ∨ xyz ∨ xyz là biểu thức hàm Bool. f = xyz ∨ xyz ∨ xyz dạng nối rời chính tắc.

Ví dụ 2: Cho hàm Boole f(x, y, z) có bảng chân trị như sau:

Hãy thiết lập công thức biểu diễn của hàm f .Giải: Đầu tiên ta xác định các từ tối tiểu tương ứng với các dòng mà tại đó giá trị

của f bằng 1. Do f có giá trị bằng 1 tại 4 dòng nên ta chọn 4 từ tối tiểu tương ứngvới 4 dòng đó: f1 = x.y.z, f2 = x.y.z, f4 = x.y.z, f8 = x.y.z

Kế tiếp, nối chúng lại bằng phép hợp, ta được công thức của hàm f . Ta có:

f = x.y.z ∨ x.y.z ∨ x.y.z ∨ x.y.z

Đó là công thức cần tìm.

Nguyễn Minh Trí 48

Page 49: Lec TRR CNTTK6

Bài giảng TOÁN RỜI RẠC

Ví dụ 3: Tìm dạng nối rời chính tắc của hàm F (x, y, z) = (x ∨ y)zGiải: Bước đầu ta tìm các giá trị của hàm f . Các giá trị này được cho trong bảng

x y z x ∨ y z F0 0 0 0 1 00 0 1 0 0 00 1 0 1 1 10 1 1 1 0 01 0 0 1 1 11 0 1 1 0 01 1 0 1 1 11 1 1 1 0 0

Như vậy dạng nối rời chính tắc của hàm F là:

F (x, y, z) = xyz ∨ xy.z ∨ xyz

Công thức biểu diễn hàm Boole được xác định theo quy tắc trên được gọi là dạng nốirời chính tắc của nó. Sở dĩ ta nói đây là dạng nối rời vì nó được nối bởi phép nối rời –phép hợp và ta nói là chính tắc vì trong tất cả các số hạng (các từ tối tiểu) đều luôncó sự xuất hiện của tất cả các biến.

Chú ý:

• Dạng nối rời chính tắc đôi khi còn được gọi là dạng tổng các tích vì trong côngthức này ta lấy tổng (phép ∨ ) của các số hạng là tích (phép ∧) của các biến.

• Dạng nối rời chính tắc có ưu điểm là dễ thiết lập, mặc dù vậy công thức nàythường sẽ rất dài.

4.2.5 Tính đầy đủ

Tất cả các hàm Bool đều có thể biểu diễn thành dạng tổng của các đơn thức. Mỗi đơnthức là tích của các biến Bool hoặc các phần bù của chúng. Điều này chứng tỏ rằnghàm Bool có thể được biểu diễn bằng cách dùng các phép toán ∨,∧,−. Vì tất cả cáchàm Bool đều được biểu diễn bằng cách dùng các phép toán đó nên ta nói rằng tậphợp {∨,∧,−} là đầy đủ. Liệu chúng ta có thể tìm được một tập đầy đủ các phép toánnhỏ hơn thế không? Chúng ta có thể làm được điều đó nếu 1 phép toán có thể đượcbiểu diễn bằng hai phép toán kia.

Chúng ta có thể loại bỏ tổng Bool bằng cách dùng đẳng thức

x ∨ y = x.y

Chúng ta có thể loại bỏ tích Bool bằng cách dùng đẳng thức

xy = x ∨ y

Điều này cho thấy hai tập {∨,−} và {∧,−} cũng đầy đủ. Tập {∧,∨} không đầyđủ và ta không thể biểu diễn x thông qua 2 phép toán này.

Ở trên chúng ta đã tìm được các tập đầy đủ chứa 2 phép toán. Liệu chúng ta cóthể tìm được tập đầy đủ các phép toán nhỏ hơn nữa không? Những tập như vậy là tồntại.

Nguyễn Minh Trí 49

Page 50: Lec TRR CNTTK6

Bài giảng TOÁN RỜI RẠC

Ta định nghĩa 2 phép toán: Phép toán ↑ hay NAND và phép toán ↓ hay NOR nhưsau:

1 ↑ 1 = 0; 1 ↑ 0 = 0 ↑ 1 = 0 ↑ 0 = 1

1 ↓ 1 = 1 ↓ 0 = 0 ↓ 1 = 0; 0 ↓ 0 = 1

Cả hai tập {↑} và {↓} đều đầy đủ.Mỗi cái ra (output) của một mạch logic là một hàm Bool f(x1, x2, . . . , xn) của các

cái vào (input). Có thể có nhiều mạch cùng thực hiện một hàm Bool nhưng trong đósẽ có thể có những mạch đơn giản hơn. Vấn đề tìm mạch đơn giản hơn thực hiện mộthàm f cho trước là vấn đề tìm công thức đơn giản nhất biểu diễn hàm đó. Nếu chỉdùng một hệ đầy đủ có 1 phép toán thì một mạch logic chỉ cần dùng 1 cổng để xâydựng nên mạch logic đó.

4.3 Mạng các cổng và công thức đa thức tổi tiểu

4.3.1 Các cổng

Đại số Bool được dùng để mô hình hóa sơ đồ các mạch trong các dụng cụ điện tử. Mỗiđầu vào và mỗi đầu ra của một dụng cụ như vậy có thể xem như là một phần tử củatập {0, 1}. Một máy tính cũng như một dụng cụ điện tử khác được tạo ra bởi nhiềumạch. Mỗi mạch có thể được thiết kế bằng cách dùng các qui tắc của đại số Bool. Cácphần tử cơ bản của mạch gọi là các cổng. Mỗi một loại cổng thực hiện một phép toánBool.

Cổng NOT (Bộ đảo) Chấp nhận biến đầu Bool đầu vào và tạo ra phần bù của giátrị đó ở đầu ra. Kí hiệu

Cổng OR Đầu vào là 2 hay nhiều biến Bool, đầu ra là tổng Bool các giá trị đó. Kíhiệu

Cổng AND Đầu vào là 2 hay nhiều biến Bool, đầu ra là tích Bool các giá trị đó. Kíhiệu

Từ những sự tương ứng giữa mạch điện tử với hàm Boole ở trên, ta thấy rằng việcthiết kế các mạch điện tử cũng sẽ tương ứng với việc xây dựng các hàm Boole.

Ví dụ 1: Xác định hàm ngõ của các mạch sau:

a.

Nguyễn Minh Trí 50

Page 51: Lec TRR CNTTK6

Bài giảng TOÁN RỜI RẠC

b.

Ví dụ 2: Dựng các mạch tạo các đầu ra như sau:

a. (x ∨ y)xb. x(y ∨ z)c. (x ∨ y ∨ z)(xy z)Ví dụ 3: Trong một trận thi đấu võ thuật có 3 trọng tài sẽ cho điểm các đòn đánh

được thực hiện trong một trận đấu. Mỗi trọng tài sẽ có một nút bấm để chấm điểmcác đòn đánh. Mỗi đòn đánh sẽ được tính điểm nếu có từ 2 trọng tài bấm nút trở lên.Mạch điện dùng cho việc chấm điểm này sẽ gồm có 3 đầu vào tương ứng với 3 nútbấm của các trọng tài. Nếu trọng tài nào bấm nút thì tín hiệu 1 từ đường dây đó sẽđược truyền vào mạch, nếu không bấm thì tín hiệu trên đường dây vẫn là 0. Đầu racủa mạch sẽ là một tín hiệu nhị phân (0/1) thể hiện việc đòng đánh đó có được tínhđiểm hay không. (0 – không tính điểm, 1 – tính điểm).

Gọi f là hàm Boole thể hiện tín hiệu đầu ra, bảng chân trị của f theo mô tả trênsẽ như sau:

x y z f0 0 0 00 0 1 00 1 0 00 1 1 11 0 0 01 0 1 11 1 0 11 1 1 1

Theo quy tắc xây dựng dạng nối rời chính tắc của hàm Boole, ta có công thức của hàmBoole f là:

f(x, y, z) = x.y.z ∨ x.y.z ∨ x.y.z ∨ x.y.z

Từ đó, mạch điện được thiết kế như sau:

Thông qua các ví dụ trên, chúng ta thấy rằng việc xây dựng công thức của hàm Booleliên quan mật thiết đến việc xây dựng các mạch điện tử. Với việc xây dựng được côngthức dạng nối rời chính tắc của các hàm Boole, ta đã có một cơ sở lý thuyết và mộtcông cụ hữu dụng cho việc thiết kế các mạch điện.

Nguyễn Minh Trí 51

Page 52: Lec TRR CNTTK6

Bài giảng TOÁN RỜI RẠC

Bài toán tối ưu đầu tiên là tìm cách giảm số cổng từ 3 xuống 2, hoặc nếu đượcchỉ dùng 1 loại cổng.

Do hệ {∧,−} là hệ đầy đủ nên có thể thực hiện một hàm Bool bất kì bằng mộtmạch chỉ dùng các cổng NOT và AND

Do hệ {∨,−} là hệ đầy đủ nên có thể thực hiện một hàm Bool bất kì bằng mộtmạch chỉ dùng các cổng NOT và OR

Do cả hai tập {↑} và {↓} đều đầy đủ nên có thể thực hiện một hàm Bool bất kìbằng một mạch chỉ dùng 1 cổng NAND hay NOR.

Cổng NAND Là cổng bù của cổng AND coi như là sự nối tiếp của 2 cổng AND vàNOT Kí hiệu

Cổng NOR Là cổng bù của cổng OR coi như là sự nối tiếp của hai cổng OR vàNOT Kí hiệu

Các cổng được lắp với nhau thành các mạch logic (gọi tắt là mạch) thực hiện cáchàm logic phức tạp hơn.

Bài toán tối ưu thứ hai là tối ưu hóa 2 mục tiêu:

• Cực tiểu hóa thời gian chậm trễ (delay): tuy thời gian chậm trễ khi qua các cổnglà không đáng kể nhưng nếu tích lũy qua nhiều lớp cổng thì nó trở thành đángkể, nhất là các máy tính có tốc độ cao.

• Cực tiểu hóa số cổng sử dụng

Do thời gian chậm trễ khi qua cổng NOT là không đáng kể, dưới đây khi phân tíchcác mạch, ta có thể bỏ qua cổng NOT. Nói cách khác các biến x, y, . . . có thể xem nhưcác biến input tương tự như x, y, . . .

Thật ra hai mục tiêu trên là không thể đồng thời tối ưu hóa được. Do đó trước hếtta tối ưu hóa theo thời gian. Ta thiết kế các mạch chỉ có tối đa hai lớp cổng: lớp cổngAND rồi lớp cổng OR hay lớp cổng OR rồi lớp cổng AND. Tuy nhiên trường hợp saucó thể đưa về trường hợp đầu nếu ta xét f . Do đó chỉ xét các công thức có dạng OR(∨) của các số hạng là AND (∧) của các từ đơn. Đây chính là các công thức đa thức.

Đối với mục đích thiết kế mạch điện, công thức hàm Boole càng ngắn thì mạch điệnthiết kế sẽ có chi phí càng thấp (do sử dụng ít cổng điện tử). Chính vì thế, ta cần phảitìm công thức hàm Boole dưới dạng ngắn nhất có thể.

Trong lớp các công thức đa thức, ta có một số thuật toán cho phép tìm công thứcđa thức tối tiểu.

Nguyễn Minh Trí 52

Page 53: Lec TRR CNTTK6

Bài giảng TOÁN RỜI RẠC

4.3.2 Công thức đa thức tối tiểu

Đơn giản hơn Cho hai công thức đa thức của một hàm Bool :

f = m1 ∨m2 ∨ . . . ∨mp(F )

f =M1 ∨M2 ∨ . . . ∨Mq(G)

Ta nói rằng công thức F đơn giản hơn công thức G nếu tồn tại đơn ánh h : {1, 2, .., p} →{1, 2, . . . , q} sao cho với mọi i ∈ {1, 2, .., k} thì số từ đơn của mi không nhiều hơn sốtừ đơn của Mh(i)

Ví dụ:

f = xz ∨ yz ∨ xt ∨ yt ∨ xyz(F )

f = xz ∨ yz ∨ xt ∨ xyt ∨ xyz(G)

Công thức F đơn giản hơn công thức G

Chú ý:

. F đơn giản hơn G thì p ≤ q

. Quan hệ "đơn giản hơn" có tính phản xạ và tính bắc cầu.

Đơn giản như nhau Nếu F đơn giản hơn G và G đơn giản hơn F thì ta nói F vàG đơn giản như nhau.

Ví dụ:

f = xz ∨ yz ∨ xt ∨ xyz(F )

f = xy ∨ xz ∨ xt ∨ xyz(G)

Công thức đa thức tối tiểu Công thức F của hàm Bool f được gọi là tối tiểu nếuvới bất kỳ công thức G của f mà đơn giản hơn F thì F và G đơn giản như nhau.

Một hàm Bool bất kì f có thể viết như là tổng Bool của các đa thức tối tiểu và mỗiđa thức tối tiểu này được viết như là tích của đầy đủ n biến. Công thức này là dạngchuẩn tắc tuyển của f .

4.4 Phương pháp Karnaugh

Như ta đã thấy ở trên mô hình các mạch điện được thiết kế dựa theo công thức củahàm Boole (các cổng đều tương ứng với các phép toán). Mặt khác, cũng cần để ý rằng,đối với một hàm Boole, có thể có nhiều dạng công thức biểu diễn khác nhau. Côngthức dạng nối rời chính tắc của một hàm Boole, như phân tích ở trên, rất dễ thiết lập,tuy vậy trong thực tế, công thức dạng nối rời chính tắc không phải là công thức dạngngắn nhất của một hàm Boole.

Có nhiều phương pháp khác nhau nhằm rút gọn công thức của hàm Boole như: sửdụng các tính chất của đại số Boole biến đổi, rút gọn . . . mỗi phương pháp có nhữngưu khuyết riêng và sẽ hữu dụng cho một số trường hợp nào đó.

Trong phần này chúng ta sẽ giới thiệu phương pháp Karnaugh, một phương pháphữu hiệu cho việc tìm công thức dạng đơn giản nhất của hàm Boole có 3 hoặc 4 biến.

Trước hết, ta tìm hiểu khái niệm biểu đồ Karnaugh của một hàm Boole f

Nguyễn Minh Trí 53

Page 54: Lec TRR CNTTK6

Bài giảng TOÁN RỜI RẠC

4.4.1 Biểu đồ karnaugh

Phương pháp biểu đồ Karnaugh cho phép tìm nhanh công thức đa thức tối tiểu củahàm Bool 3, 4 biến.

Xét một hàm Bool f theo 3 biến x, y, z. Khi đó bảng chân trị của f gồm 8 hàng.Thay cho bảng chân trị của f ta vẽ một bảng chữ nhật gồm 8 ô, tương ứng với 8 hàngcủa bảng chân trị, được đánh dấu như sau:

Qui ước:. Khi một ô nằm trong dãy được đánh dấu bởi x thì tại đó x = 1, bởi x thì tại đó

x = 0, tương tự cho y, z.. Các ô tại đó f bằng 1 sẽ được đánh dấu (tô đậm hoặc gạch chéo). Tập các ô được

đánh dấu được gọi là biểu đồ Karnaugh của f , ký hiệu là kar(f).f là hàm Bool theo 4 biến x, y, z, t. Khi đó bảng chân trị của f gồm 16 hàng. Thay

cho bảng chân trị của f ta vẽ một bảng chữ nhật gồm 16 ô, tương ứng với 16 hàng củabảng chân trị, được đánh dấu như sau:

Qui ước:. Khi một ô nằm trong dãy được đánh dấu bởi x thì tại đó x = 1, bởi x thì tại đó

x = 0, tương tự cho y, z, t.. Các ô tại đó f bằng 1 sẽ được đánh dấu (tô đậm hoặc gạch chéo). Tập các ô được

đánh dấu được gọi là biểu đồ Karnaugh của f , ký hiệu là kar(f).Trong cả hai trường hợp, hai ô được gọi là kề nhau (theo nghĩa rộng), nếu chúng là

hai ô liền nhau hoặc chúng là ô đầu, ô cuối của cùng một hàng (cột) nào đó. Nhận xétrằng, do cách đánh dấu như trên, hai ô kề nhau chỉ lệch nhau ở một biến duy nhất.

Định lí 5 Cho f, g là các hàm Bool theo n biến x1, x2, . . . , xn. Khi đó:a) kar(fg) = kar(f)∩ kar(g).b) kar(f ∨ g) = kar(f)∪kar(g).c) kar(f) gồm đúng một ô khi và chỉ khi f là một từ tối tiểu

Nguyễn Minh Trí 54

Page 55: Lec TRR CNTTK6

Bài giảng TOÁN RỜI RẠC

Tế bào Biểu đồ Karnaugh của một đơn thức có dạng tích của p (1 ≤ p ≤ p) từ đơnlà một hình chữ nhật (theo nghĩa rộng) gồm 24−p, mà ta gọi là tế bào.

Nếu T là một tế bào thì T là biểu đồ karnaugh của một đơn thức duy nhất m, cáchxác định m như sau: lần lượt chiếu T lên các cạnh, nếu toàn bộ hình chiếu nằm trọntrong một từ đơn nào thì từ đơn đó mới xuất hiện trong m.

Ví dụ 1: Xét các hàm Bool theo 4 biến x, y, z, t.

Biểu đồ karnaugh của đơn thức xyzt

Ví dụ 2: Xét các hàm Bool theo 4 biến x, y, z, t.

Biểu đồ karnaugh của đơn thức yzt

Ví dụ 3: Xét các hàm Bool theo 4 biến x, y, z, t.

Biểu đồ karnaugh của đơn thức yt

Ví dụ 4: Xét các hàm Bool theo 4 biến x, y, z, t.

Biểu đồ karnaugh của đơn thức t

Nguyễn Minh Trí 55

Page 56: Lec TRR CNTTK6

Bài giảng TOÁN RỜI RẠC

Ví dụ 5: Xét các hàm Bool theo 4 biến x, y, z, t.

Tế bào

là biểu đồ karnaugh của đơn thức nào?

Là biểu đồ karnaugh của đơn thức yt

Tế bào lớn Cho hàm Bool f . Ta nói T là một tế bào lớn của kar(f) nếu T thoả haitính chất sau:

a) T là một tế bào và T ⊂ kar(f).

b) Không tồn tại tế bào T′nào thỏa T

′ 6= T và

T ⊂ T′ ⊂ kar(f)

Ví dụ: Xét hàm Bool f theo 4 biến x, y, z, t có biểu đồ karnaugh như sau:

Kar(f) có 6 tế bào lớn như sau:

Nguyễn Minh Trí 56

Page 57: Lec TRR CNTTK6

Bài giảng TOÁN RỜI RẠC

4.4.2 Phương pháp tìm đa thức tối tiểu

B1: Vẽ biểu đồ karnaugh của f .B2: Xác định tất cả các tế bào lớn của kar(f)B3: Xác định các tế bào lớn m nhất thiết phải chọn.Ta nhất thiết phải chọn tế bào lớn T khi tồn tại một ô của kar(f) mà ô này chỉ

nằm trong tế bào lớn T và không nằm trong bất kỳ tế bào lớn nào khác.B4: Xác định các phủ tối tiểu gồm các tế bào lớnNếu các tế bào lớn chọn được ở bước 3 đã phủ được kar(f) thì ta có duy nhất một

phủ tối tiểu gồm các tế bào lớn của kar(f).Nếu các tế bào lớn chọn được ở bước 3 chưa phủ được kar(f) thì:Xét một ô chưa bị phủ, sẽ có ít nhất hai tế bào lớn chứa ô này, ta chọn một trong

các tế bào lớn này. Cứ tiếp tục như thế ta sẽ tìm được tất cả các phủ gồm các tế bàolớn của kar(f).

Loại bỏ các phủ không tối tiểu, ta tìm được tất cả các phủ tối tiểu gồm các tế bàolớn của kar(f).

Bước 5: Xác định các công thức đa thức tối tiểu của f

Nguyễn Minh Trí 57

Page 58: Lec TRR CNTTK6

Bài giảng TOÁN RỜI RẠC

Từ các phủ tối tiểu gồm các tế bào lớn của kar(f) tìm được ở bước 4 ta xác địnhđược các công thức đa thức tương ứng của f

Loại bỏ các công thức đa thức mà có một công thức đa thức nào đó thực sự đơngiản hơn chúng.

Các công thức đa thức còn lại chính là các công thức đa thức tối tiểu của f .Ví dụ 1: Tìm tất tất cả các công thức đa thức tối tiểu của hàm Bool:

f(x, y, z, t) = xyzt ∨ xy ∨ xz ∨ yz ∨ xy(z ∨ t)

= xyzt ∨ xy ∨ xz ∨ yz ∨ xyz ∨ xytf(x, y, z, t) = xyzt ∨ xy ∨ xz ∨ yz ∨ xyz ∨ xyt

f(x, y, z, t) = xyzt ∨ xy ∨ xz ∨ yz ∨ xyz ∨ xyt

f(x, y, z, t) = xyzt ∨ xy ∨ xz ∨ yz ∨ xyz ∨ xyt

f(x, y, z, t) = xyzt ∨ xy ∨ xz ∨ yz ∨ xyz ∨ xyt

f(x, y, z, t) = xyzt ∨ xy ∨ xz ∨ yz ∨ xyz ∨ xyt

f(x, y, z, t) = xyzt ∨ xy ∨ xz ∨ yz ∨ xyz ∨ xyt

Nguyễn Minh Trí 58

Page 59: Lec TRR CNTTK6

Bài giảng TOÁN RỜI RẠC

Bước 1: Vẽ Kar(f)

f(x, y, z, t) = xyzt ∨ xy ∨ xz ∨ yz ∨ xyz ∨ xyt

Bước 2: Kar(f) có các tế bào lớn như sau:

Bước 3: Xác định các tế bào lớn nhất thiết phải chọn:

- Ô 1 nằm trong một tế bào lớn duy nhất x. Ta chọn x.

- Ô 3 nằm trong một tế bào lớn duy nhất yz. Ta chọn yz

Bước 4: Xác định các phủ tối tiểu gồm các tế bào lớn

Nguyễn Minh Trí 59

Page 60: Lec TRR CNTTK6

Bài giảng TOÁN RỜI RẠC

Bước 5: Xác định các công thức đa thức tối tiểu của f .

Ứng với phủ tối tiểu gồm các tế bào lớn tìm được ở bước 4 ta tìm được duy nhấtmột công thức đa thức tối tiểu của f :

x ∨ yz

Ví dụ 2: Xét hàm f có biểu đồ Karnaugh như sau:

Bước 2: Biểu đồ Karnaugh của f có 4 tế bào lớn:

Bước 3:Ô (2,4) nằm trong tế bào lớn duy nhất xzt

Ô (4,2) nằm trong tế bào lớn duy nhất xyzGạch chéo hai tế bào lớn này ta có sơ đồ:

Còn lại ô (3,3) chưa được phủ, nằm trong 2 tế bào lớn nên ta qua bước 4.

Bước 4: Ô (3,3) nằm trong 2 tế bào lớn xyt và yzt. Chọn tùy ý một trong 2 tế bàotrên phủ kín biểu đồ Karnaugh của f .

Bước 5: Ta được phép phủ tối thiểu tương ứng với 2 công thức đa thức:

f = xzt ∨ xyz ∨ xyt

f = xzt ∨ xyz ∨ yzt

Cả hai công thức đều đơn giản như nhau nên ta được 2 công thức đa thức tối tiểu.Ví dụ 3: Xét hàm f có biểu đồ Karnaugh như sau:

Bước 2: Biểu đồ Karnaugh của f có 8 tế bào lớn:

Nguyễn Minh Trí 60

Page 61: Lec TRR CNTTK6

Bài giảng TOÁN RỜI RẠC

Bước 3: Các ô (1,2) và (2,4) nằm trong các tế bào lớn duy nhất là xz và yz tươngứng. Sau khi chọn các tế bào lớn này thì phần còn lại của biểu đồ Karnaugh f đều cómỗi ô nằm đúng trong 2 tế bào lớn nên ta qua bước 4.

Bước 4: Ta có sơ đồ cách chọn các tế bào lớn còn lại để phủ kín biểu đồ Karnaughcủa f theo nhánh (của hình cây):

• Chọn xy: còn lại 4 ô chưa phủ

– Chọn yzt: còn lại 2 ô chưa phủ.

∗ Chọn xzt: phủ kín biểu đồ Karnaugh

f = xz ∨ yz ∨ xy ∨ yzt ∨ xzt (F1)

∗ Không chọn xzt: để phủ kín 2 ô (4,3) và (4,4) ta buộc phải chọn xyz vàyt

f = xz ∨ yz ∨ xy ∨ yzt ∨ xyz ∨ yt (F2)

– Không chọn yzt: để phủ 2 ô (3,2) và (3,3) ta buộc phải chọn xt và xyz

Lúc này chỉ còn lại 1 ô (4,4). Nếu chọn yt ta sẽ được 1 phép phủ không tốitiểu vì có thể loại bỏ tế bào lớn xy mà vẫn được 1 phép phủ. Do đó ta phảichọn xzt

f = xz ∨ yz ∨ xy ∨ xt ∨ xyz ∨ xzt (F3)

Nguyễn Minh Trí 61

Page 62: Lec TRR CNTTK6

Bài giảng TOÁN RỜI RẠC

• Không chọn xy: để phủ 2 ô (3,1) và (4,1) ta buộc phải chọn các tế bào lớn xt vàyt

Lúc này còn lại 2 ô (3,3) và (4,3).

– Chọn xyz: phủ kín biểu đồ Karnaugh

f = xz ∨ yz ∨ xt ∨ yt ∨ xyz (F4)

– Không chọn xyz: để phủ 2 ô (3,3) và (4,3) ta phải chọn các tế bào lớn yztvà xzt

f = xz ∨ yz ∨ xt ∨ yt ∨ yzt ∨ xzt (F5)

Bước 5: Ta có 5 công thức đa thức. Tuy nhiên công thứ F4 đơn giản hơn F1, F2, F3, F5

mà không tương đươngVậy công thức đa thức tối tiểu duy nhất của hàm f là:

f = xz ∨ yz ∨ xt ∨ yt ∨ xyz (F4)

Trường hợp hàm 3 biến Đối với các hàm Bool 3 biến, ta sẽ sử dụng hình chữ nhậtcó 8 ô để biểu diễn:

Khi đó định nghĩa biểu đồ Karnaugh, tế bào, tế bào lớn hoàn toàn tương tự và tacó thể áp dụng qui trình như trên để tìm công thức đa thức tối tiểu.

Ví dụ: Xét hàm Bool

f = (x ∨ y ∨ z)(x ∨ y ∨ z)(x ∨ yz)

Bước 1: Vẽ biểu đồ KarnaughBiểu đồ Karnaugh của 3 thừa số là:

Do đó biểu đồ Karnaugh của f có dạng:

Bước 2: Tìm các tế bào lớn. Có 4 tế bào lớn

Bước 3: Ô (1,3) nằm trong tế bào lớn duy nhất yz

Ô (2,4) nằm trong tế bào lớn duy nhất yzChọn các tế bào lớn này cho phép ta phủ được:

Nguyễn Minh Trí 62

Page 63: Lec TRR CNTTK6

Bài giảng TOÁN RỜI RẠC

Bước 4: Còn lại ô (1,1) nằm trong 2 tế bào lớn xy và xz. Chọn 1 trong 2 tế bàonày ta đều phủ kín biểu đồ Karnaugh của f

Bước 5: Ta có 2 công thức đều là công thức đa thức tối tiểu

f = yz ∨ yz ∨ xyf = yz ∨ yz ∨ xz

Bài tập

Bài 39. Cho S là tập hợp các ước nguyên dương của 70, với các phép toán •,+.−được định nghĩa như sau:

a • b = UCLN(a, b), a+ b = BCNN(a, b), a = 70/aChứng minh rằng S cùng với các phép toán •,+,− lập thành một đại số Bool.

Bài 40. Tìm giá trị các hàm Bool dưới đây khi các biến x, y, z, t lấy các giá trị 1, 1, 0, 0a. xy ∨ xyb. t ∨ xyc. tx ∨ y ∨ yzd. xt ∨ xy ∨ yze. (tx ∨ yz) ∨ ty ∨ (t ∨ y)(x ∨ y)

Bài 41. Tìm tất cả các giá trị y, z để các biểu thức dưới đây luôn luôn nhận giá trị 1biết rằng x = 1

a. x ∨ xy ∨ zb. xy ∨ zc. xy ∨ xzd. xy ∨ z

Bài 42. Tìm dạng nối rời chính tắc của các hàm Bool theo 3 biến:a. xy ∨ xz e. x(y ∨ x)zb. xy ∨ yz ∨ xz f. xy(z ∨ xy)c. xyz ∨ xz g. [x(y ∨ z) ∨ x] ∨ yd. (x ∨ yz)(x ∨ yz) h. x(y ∨ xz) ∨ z

Bài 43. Tìm dạng nối rời chính tắc của hàm Bool theo 4 biến:a. (xy ∨ zt)(x ∨ z)(xz ∨ yt)(xt ∨ yz)b. (xz ∨ yz ∨ xt)xyt ∨ yz ∨ zt ∨ xt

Bài 44. Hãy sử dụng các cổng NOT, AND, OR để tổng hợp các hàm Boola. (x ∨ y)(x ∨ y)(x ∨ y) c. (x ∨ z)(y ∨ z)xb. xz ∨ yz ∨ x d. x ∨ y(x ∨ z)

Bài 45. Tìm công thức đa thức tối tiểu của các hàm Bool có biểu đồ Karnaugh dướiđây:

a b c dBài 46. Tìm công thức đa thức tối tiểu của các hàm sau:

a. z(xy ∨ yt) ∨ y(xz ∨ xz)b. xyzt ∨ xy ∨ xzt ∨ yztc. y(zt ∨ zt) ∨ y(zt ∨ xzt) ∨ xztd. xyzt ∨ xy ∨ xz ∨ yz ∨ xy(z ∨ t)

Nguyễn Minh Trí 63

Page 64: Lec TRR CNTTK6

Bài giảng TOÁN RỜI RẠC

Nguyễn Minh Trí 64

Page 65: Lec TRR CNTTK6

Tài liệu tham khảo

[1] Nguyễn Hữu Anh, Toán rời rạc. NXB Lao động xã hội, 2007

[2] Hoàng Chúng, Đại cương về Toán học hữu hạn, NXB Giáo dục, 1999.

[3] Nguyễn Viết Đông, Slide bài giảng Toán Rời Rạc, Trường Đại học Khoa học tựnhiên TPHCM.

[4] Kennth H.Rosen, Discrete Mathematics and Its Applications, Sixth Edition, Pub-lished by McGraw-Hill, 2007

[5] Bùi Minh Trí, Giáo trình toán ứng dụng trong tin học, NXB Giáo dục, 2006

65