BIỂU DIỄN TẬP HỢP TRÊN MÁY TÍNH Tập hợp không chứa phần tử nào được gọi là tập rỗng, ký hiệu .. Ví dụ Tập hợp các số nguyên dương lớn hơn bình phương của nó là một tập rỗng... Nếu có ch
Trang 16 Mô tả vắn tắt nội dung môn học
Cung cấp cho sinh viên những kiến thức cơ bản về Tập hợp, Đại số Boole,Thuật toán, Đồ thị, Cây, Một số kiến thức cơ bản và bổ trợ khác
7 Nhiệm vụ của sinh viên
Trang 2[4] Đỗ Đức Giáo, Toán học rời rạc, Đại học Quốc Gia Hà Nội, 1998 [5] Đỗ Đức Giáo, Cơ sở toán trong lập trình, KH&KT Hà Nội, 1998.
[6] Nguyễn Xuân Quỳnh, Cơ sở toán rời rạc và ứng dụng, GDĐT,
1993
9 Tiêu chuẩn đánh giá sinh viên
- Điểm đánh giá nhận thức và thái độ tham gia thảo luận: 10%
- Điểm kiểm tra giữa học phần: 20%
- Điểm thi kết thúc học phần: 70%
10 Thang điểm Thực hiện theo học chế tín chỉ
11 Nội dung học phần Gồm 3 phần
- Phần I Lý thuyết tập hợp (Từ chương I đến III)
- Phần II Lý thuyết đồ thị (Chương IV, V)
- Phần III Lôgic (Chương VI, VII)
Trang 3MỤC LỤC Trang
1.1 BIỂU DIỄN TẬP HỢP TRÊN MÁY TÍNH 1
1 1 1.Khái niệm tập hợp 1
1 1 2 Quan hệ giữa các tập hợp 1
1 1 3 Các phép toán tập hợp 3
1 1 4 Tập hợp lũy thừa 4
1 1 6 Lực lượng của tập hợp 6
1 1 7 Tích Đề - các của các tập hợp và lực lượng của nó 8
1 1 8 Biểu diễn các tập hợp trên máy tính 9
1 1 9 Các hằng đẳng thức trên tập hợp 10
1.2 HÀM SỐ 12
1.2.1 Định nghĩa hàm số 12
1.2.2 Đơn ánh, toàn ánh, song ánh 13
1.2.3 Hàm ngược 15
1.2.4 Hợp thành của các hàm 16
1.2.5 Đồ thị của hàm 16
1.2.6 Một số hàm quan trọng 16
1.2.7 Dãy và phép tính tổng 17
1.2.8 Khái niệm O (big-O) 19
1.3 CÁC PHƯƠNG PHÁP ĐẾM TRÊN TẬP HỢP 21
1.3.1 Những nguyên lý đếm cơ bản 21
1.3.2 Kỹ thuật đếm cao cấp 27
BÀI TẬP CHƯƠNG 1 33
Chương 2 QUAN HỆ 37
2.1 QUAN HỆ - BIỂU DIỄN QUAN HỆ 37
2.1.1 Định nghĩa 37
2.1.2 Tính chất của quan hệ 37
2.1.3 Phương pháp biểu diễn quan hệ 39
2.2 QUAN HỆ NGƯỢC - QUAN HỆ HỢP THÀNH - QUAN HỆ N NGÔI 44
Trang 42.2.1.Quan hệ ngược 44
2.2.2 Quan hệ hợp thành 45
2.3 BAO ĐÓNG CỦA QUAN HỆ 52
2.3.1 Định nghĩa 52
2.3.2 Quan hệ tương đương - sự phân hoạch 58
BÀI TẬP CHƯƠNG 2 61
Chương 3 ĐẠI SỐ BOOLE - BẢN ĐỒ KARNAUGH 64
3.1 Đại số BOOLE 64
3.2 Hàm BOOLE 66
3.3 Bản đồ Karnaugh 68
BÀI TẬP CHƯƠNG 3 73
Chương 4 ĐỒ THỊ 74
4.1 ĐỊNH NGHĨA - CÁCH BIỂU DIỄN ĐỒ THỊ 74
4.1.1 Định nghĩa 74
4.1.2 Cách biểu diễn đồ thị 83
4.2 TÍNH LIÊN THÔNG CỦA ĐỒ THỊ 86
4.2.1 Đường đi 86
4.2.2 Tính liên thông trong đồ thị 87
4.3 ĐỒ THỊ EULER - ĐỒ THỊ HAMILTON 92
4.3.1 Chu trình Euler, đường đi Euler, đồ thị Euler 92
4.3.2 Chu trình Hamilton, đường đi Hamilton, đồ thị Hamilton 98
4.3.3 Bài toán đường đi ngắn nhất của đồ thị có trọng số 99
4.4 SỐ ỔN ĐỊNH TRONG, ỔN ĐỊNH NGOÀI, NHÂN CỦA ĐỒ THỊ 103
4.4.1 Số ổn định trong 103
4.4.2 Số ổn định ngoài 104
4.4.3 Thuật toán tìm số ổn định ngoài của đồ thị 104
4.4.4 Nhân của đồ thị 105
4.4.5 Bài toán tô màu bản đồ 106
BÀI TẬP CHƯƠNG 4 108
Chương 5 CÂY 112
Trang 55.1 ĐỊNH NGHĨA VÀ TÍNH CHẤT 112
5.1.1 Các định nghĩa 112
5.1.2 Một số thuật ngữ (cây phả hệ, cây thực vật) 112
5.1.3 Một vài mô hình sử dụng cây 115
5.1.4 Những tính chất của cây 115
5.1.5 Một số ứng dụng của cây 116
5.2 CÂY NHỊ PHÂN 117
5.2.1 Khái niệm 117
5.3 ỨNG DỤNG CỦA CÂY 121
5.3.1 Cây tìm kiếm nhị phân đối với bài toán 1 121
5.3.2 Cây và bài toán liệt kê 123
5.3.3 Các mã tiền tố đối với bài toán 3 124
5.4 CÂY KHUNG VÀ BÀI TOÁN TÌM CÂY KHUNG BÉ NHẤT 128
5.4.1 Định nghĩa cây khung 128
5.4.2 Bài toán tìm cây khung bé nhất (Minimum Spanning Trees) 129
BÀI TẬP CHƯƠNG 5 133
Chương 6 CÁC KIẾN THỨC CƠ SỞ 135
6.1 MỆNH ĐỀ 135
6.1.1 Lôgic 135
6.1.2 Mệnh đề 135
6.2 LOGIC VỊ TỪ 142
6.2.1 Định nghĩa 142
6.2.2 Phép toán vị từ 143
Chương 7 MỘT SỐ KIẾN THỨC BỔ TRỢ 149
7.1 THUẬT TOÁN 149
7.1.1 Mở đầu 149
7.1.2 Định nghĩa 150
7.1.3 Các thuật toán tìm kiếm và sắp xếp 155
7.1.3.1 Các thuật toán tìm kiếm 155
7.1.3.2 Các thuật toán sắp xếp 158
Trang 67.2 ĐỘ PHỨC TẠP CỦA THUẬT TOÁN 160
7.2.1 Độ tăng của hàm 160
7.2.3 Phép toán tích cực 167
7.3 CÁC PHƯƠNG PHÁP CHỨNG MINH 169
7.3.1 Một vài thuật ngữ 169
7.3.2 Các phương pháp chứng Định lý 169
7.4 SỐ NGUYÊN VÀ PHÉP CHIA 173
7.4.1 Số nguyên tố (SNT) 173
7.4.2 Số học đồng dư 173
7.4.3 Số nguyên và thuật toán 174
7.4.4 Ma trận không - một 175
7.4.5 Quy nạp toán học (Chứng minh các phỏng đoán) 175
7.5 CHỈNH HỢP VÀ TỔ HỢP SUY RỘNG 179
7.5.1 Chỉnh hợp lặp 179
7.5.2 Tổ hợp lặp 179
7.5.3 Hoán vị với các phần tử không phân biệt 181
7.5.4 Sinh các hoán vị và tổ hợp 182
BÀI TẬP CHƯƠNG 7 185
Trang 7Chương 1 TẬP HỢP
Mục tiêu Cung cấp cho sinh viên những kiến thức cơ bản về tập hợp, hàm số,
các phương pháp đếm trên tập hợp Từ đó, sinh viên có cái nhìn tổng quan về một cấu trúc rời rạc cơ bản nhất để dựng lên tất cả cấu trúc khác.
1.1 BIỂU DIỄN TẬP HỢP TRÊN MÁY TÍNH
Tập hợp không chứa phần tử nào được gọi là tập rỗng, ký hiệu
Ví dụ Tập hợp các số nguyên dương lớn hơn bình phương của nó là
một tập rỗng
Trang 81 1 2 Biểu diễn các tập hợp trên máy tính
Có nhiều cách biểu diễn tập hợp trên máy tính Ở đây, giới thiệuphương pháp biểu diễn bằng cách lưu trữ các phần tử của tập hợp dưới dạngsắp xếp tùy các phần tử của tập vũ trụ
Giả sử X là một tập vũ trụ và A ⊆ X (với giả thiết dung lượng bộ nhớcủa máy tính không nhỏ hơn lực lượng của X)
Giả sử |X| = n, khi đó ta sắp các phần tử của X = {a1, a2, …, an}
Biểu diễn tập con A bằng một xâu bit có chiều dài n, trong đó bit thứ i
là 1 nếu ai A, còn bit thứ i là 0 nếu ai ∉ A
Ví dụ 1 Cho X = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
A = {1, 3, 5, 7, 9}
B = {2, 4, 6, 8, 10}
a Tìm xâu bit của A B
b Tìm xâu bit của A B
c Tìm xâu bit của A và B
Hướng dẫn
Xâu bit biểu diễn tập con A = {1, 3, 5, 7, 9} là 1010101010
Xâu bit biểu diễn tập con B = {2, 4, 6, 8, 10} là 0101010101
Để nhận đuợc xâu bit cho các hợp và giao của hai tập hợp, ta thực hiện
phép toán Boole trên các xâu bit biểu diễn hai tập hợp đó
Xâu bit đối với hợp là OR (phép tuyển ) bit của hai xâu tương ứng và xâu bit đối với giao là AND (phép hội ) của hai xâu tuơng ứng
Xâu bit của A B: 1010101010 ∨ 1010101010 = 1111111111
tương ứng với tập A B = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
Xâu bit của A B: 1010101010 ⋀ 0101010101 = 0000000000
tương ứng với tập A B =
Trang 9Để nhận được xâu bit của phần bù tập hợp A, ta chỉ việc thay 0 bởi 1 vàthay 1 bởi 0 trong xâu bit của A
Xâu bit của A: 0101010101; của B: 1010101010
Ta dùng ký hiệu A ⊆ B để chỉ tập A là con của tập B
Nhận xét A ⊆ B nếu và chỉ nếu lượng từ ∀x (x ∈ A → x ∈ B) là đúng
Ví dụ
a) Tập các số nguyên dương lẻ nhỏ hơn 10 là một tập con của tập các sốnguyên dương nhỏ hơn 10
b) Tập rỗng là con của mọi tập hợp
c) Mọi tập hợp đều là tập con của chính nó
Khi muốn nhấn mạnh tập A là tập con của tập B nhưng A ≠ B, ta viết A
⊂ B và nói rằng A là tập con thật sự của B
Định nghĩa 2
Hai tập hơp là bằng nhau nếu và chỉ nếu chúng có cùng các phần tử
Ví dụ Các tập {1, 3, 5} và {3, 5, 1} là bằng nhau vì chúng có cùng các
phần tử
Trang 10Nếu có chính xác n phần tử phân biệt trong tập hợp S, với n là số
nguyên không âm,thì ta nói rằng S là tập hữu hạn và n là bản số của S, ký
Trang 11Cho A và B là hai tập hợp Hợp của A và B, ký hiệu là A B, là tập
hợp chứa các phần tử, hoặc thuộc A hoặc thuộc B
Cho A và B là hai tập hợp, hiệu của A và B, ký hiệu là A – B (hay A\
B), là tập hợp chứa các phần tử thuộc A nhưng không thuộc B
Hiệu của A và B còn đuợc gọi là phần bù của B đối với A
A – B = {x| x ∈ A ∧ x ∉ B}
Trang 12Đặc biệt Cho U là tập vũ trụ Phần bù của tập A, kí hệu là A, là phần
bù của của A đối với U: A = {x| x ∉ A}
a) Tập hợp các sinh viên năm thứ hai học môn toán rời rạc ở trường bạn(A B)
b) Tập hợp các sinh viên năm thứ hai ở trường bạn không học môn toánrời rạc (A \ B)
c) Tập hợp các sinh viên ở trường bạn hoặc là năm thứ hai hoặc đanghọc tóan rời rạc (A B)
Trang 13Nếu một tập có n phần tử thì tập lũy thừa của nó có 2n phần tử
Ví dụ Tìm tập lũy thừa của tập các chữ số nhị phân B = {0,1}
Ví dụ
a) V = {x| x là nguyên âm trong bảng chữ cái Tiếng Anh}
b) O = {x| x là số nguyên dương, lẻ, nhỏ hơn 10}
b) {x| x là số nguyên sao cho x2 = 2} B =
2 Dùng cách chỉ rõ các thuộc tính đặc trưng mô tả các tập hợp sau
a) {0, 3, 6, 9, 12} A = {x| x = 3k x 12, (k 0)}
b) {-3, -2, -1, 0, 1, 2, 3} B = {x| x Z |x| 3}
Trang 141 1 7 Lực lượng của tập hợp
a Định nghĩa
Lực lượng của tập A, ký hiệu là |A|, là số phần tử của A
b Các công thức tính lượng của tập hợp
1 1 8 Tích Đề - các của các tập hợp và lực lượng của nó
Cho hai tập A và B Tích Đề - các của A và B, ký hiệu là A × B, là tập
Tích Đề các của các tập A1, A2, …, An, đuợc ký hiệu bởi A1× A2× …
× An là tập hợp các dãy đuợc sắp thứ tự (a1, a2, …, an) trong đó ai ∈ Ai với i
= 1, 2, …, n
A1× A2× … × An = {(a1, a2, … , an)| ai ∈ Ai với i = 1, 2, … n}
Trang 15Lực lượng |A1× A2× … × An| = |A1| × |A2| × … × |An|
Để chứng minh hai tập hợp bằng nhau ta thường dùng các kỹ thuật sau
- Chứng minh tập này là tập con của tập kia và ngược lại
- Dùng cách chỉ rõ các thuộc tính đặc trưng và các tương đuơng logic
Ví dụ Chứng minh A B = A B bằng cách chứng minh tập này là
con tập kia và ngược lại
Hướng dẫn
∀ x, x ∈ A B ⇒ x ∉ A B ⇒ x ∉ A ∨ x ∉ B⇒ x ∈ A ∨ x ∈ B ⇒ x ∈ A B ⇒ A B ⊆ A B
∀ x, x ∈ A B ⇒ x ∈ A ∨ x ∈ B ⇒ x ∉ A ∨ x ∉ B ⇒ x ∉ A B
Trang 171.2 HÀM SỐ
1.2.1 Định nghĩa hàm số
Cho A và B là hai tập khác rỗng Một ánh xạ f từ A đến B là sự gán
chính xác một phần tử của B cho mỗi phần tử duy nhất của A
Vậy để có một ánh xạ f phải có tập nguồn A, tập đích B đồng thờikhông có phần tử nào của A không được gán với một phần tử của B và cũngkhông có phần tử nào của A được gán với hai phần tử khác nhau của B
Ký hiệu b = f(a) gọi là giá trị của f tại a.
Nếu f là một ánh xạ từ A đến B, ta viết f: A B
Ta có thể nói “hàm f xác định trong A và lấy giá trị trong B” thay chocụm từ “f ánh xạ từ A đến B” Tuy nhiên, hai từ ánh xạ và hàm không đồngnhất Ánh xạ xác định khắp nơi trên A còn hàm thì không nhất thiết nhưnghàm luôn là một ánh xạ từ tập hợp xác định (miền xác định - nguồn) của nóđến tập đích (miền giá trị)
Hàm số là ánh xạ từ tập số thực (tập con của tập số thực) vào tập sốthực
f ánh xạ từ A đến B
A được gọi là miền xác định của f
B được gọi là miền giá trị của f
Nếu ta nói b là ảnh của a và a là nghịch ảnh b
Trang 18Ảnh của A, ký hiệu f(A) là tập hợp tất cả các ảnh của các phần tử thuộc A qua f f(A) = { f(a)| a ∈ A}
Ví dụ
a) Giả sử f : Z → Z gán bình phương của một số nguyên cho số nguyên
đó Khi đó f(x) = x2, f có miền xác định là Z, miền giá trị trong Z và miền ảnh của Z là f(Z) = {1, 4, 9, ….}
b) Cho f là hàm gán hai bit cuối cùng của một xâu bit chiều dài hai hoặc lớn hơn tới xâu đó Khi đó miền xác định của f là tập các xâu bit có chiều dài hai hoặc lớn hơn còn miền giá trị của f là tập {00, 01, 10, 11}
c) Trong Pascal cho khai báo Function floor (x: real): integer có nghĩa
hàm floor có miền xác định là R và miền giá trị là Z
Định nghĩa
Cho f1 và f2 là hai hàm từ A đến R Khi đó f1 + f2 và f1f2 cũng là các hàm từ A đến R được định nghĩa bởi
(f1+ f2)(x) = f1(x) + f2(x)(f1f2)(x) = f1(x)f2(x)
Trang 19Cho hàm f: A→ B, f đuợc gọi là đơn ánh nếu và chỉ nếu x, y ∈ A,
nếu x ≠ y thì f(x) ≠ f(y) (tương đương x, y ∈ A , nếu f(x) = f(y) thì x = y)
Nói cách khác đơn ánh là ánh xạ mà không có hai phần tử nào của tập nguồn được gán cho cùng một phần tử của tập đích
Cho hàm số f: A → B, f đuợc gọi là toàn ánh nếu và chỉ nếu b ∈ B
a ∈ A: f(a) = b (Một cách tương đương f(A) = B)
Ví dụ Các hàm f trong ví dụ trên có phải là toàn ánh không?
Hướng dẫn
F(x) = x2 không toàn ánh vì không có số nguyên nào cho x2 = -1
F(x) = x + 1 toàn ánh vì với mọi số nguyên y tồn tại số nguyên x = y - 1thỏa f(x) = x + 1 = (y - 1) + 1 = y
43
Đơn ánh, không toàn ánh
dcb
a
123Toàn ánh, không đơn ánh
dcba
4321
Đơn ánh và toàn ánh
Trang 201.2.3 Hàm ngược
Cho f là song ánh từ tập A đến tập B Hàm ngược của f là gán một phần
tử duy nhất a A cho mỗi phần tử b B sao cho f(a) = b, kí hiệu là f-1
Vậy f-1(b) = a khi f(a) = b
Hàm song ánh còn gọi là hàm khả nghịch vì khi f song ánh thì mỗi
phần tử b = f(a) với b B đều là ảnh của một và chỉ một phần tử a A
Như vậy có thể gán tương ứng mỗi phần tử b B với một phần tử a
A Phép gán đó xác định một ánh xạ từ B sang A, gọi là hàm ngược của hàm f
Ví dụ
Trang 21Cho hàm f: Z Z, f(x) = x + 1 Hàm f có khả nghịch không? Nếu có,hãy tìm hàm ngược đó.
của các hàm f và g, đuợc ký hiệu là gof, đuợc định nghĩa bởi (gof)(a) = g(f(a))
Minh họa về hợp thành hai hàm
Trang 221.2.6 Một số hàm quan trọng
Hàm sàn (hay hàm phần nguyên) gán giá trị x số nguyên lớn nhất có
giá trị nhỏ hơn hay bằng x Giá trị hàm sàn ký hiệu là ⎣x⎦ (hay [x] )
Hàm trần (hàm sàn trên) gán giá trị x số nguyên nhỏ nhất có giá trị lớn
hơn hay bằng x Giá trị hàm trần ký hiệu là x
Trang 23Một cấp số cộng là dãy có dạng a, a + d, a + 2d, …, a + nd, trong đó số hạng đầu a và công sai d là các số thực
Cấp số cộng là các giá trị rời rạc của hàm tuyến tính f(x) = dx + a
Các dãy hữu hạn có dạng a1 ,a2, …,an còn được gọi là xâu và ký hiệu
a1a2 … an ; độ dài của xâu S là số các số hạng trong xâu đó, xâu rỗng có độ dài
là 0
1.2.7.2 Phép tính tổng
Ta dùng ký hiệu aj để biểu diễn tổng (am + am+1 + … +an)
j được gọi là chỉ số lấy tổng
1.2.8 Khái niệm Big - O
Độ tăng của hàm thường được mô tả bằng cách dùng một khái niệmđặc biệt được định nghĩa: Cho f và g là hai hàm từ Z (hay R) vào R Ta nói
5
J = 1 100
J = m
n
J = 1
5 j=1
Trang 24hàm f(n) có cấp thấp hơn hay bằng hàm g(n) nếu tồn tại hằng số C > 0 và một
số tự nhiên n0 sao cho |f(n)| ≤ C|g(n)| n ≥ n0
Ta viết f(n) = O(g(n)) và nói f(n) thoả mãn quan hệ big - O đối với g(n).Nghĩa là nếu xét những giá trị n ≥ n0 thì hàm f(n) sẽ bị chặn trên bởimột hằng số nhân với g(n)
Trong Tin học khái niệm Big - O được dùng để đánh giá độ phức tạp
về thời gian của một thuật toán
1|
|an-|a1| |a0|
Trang 25Với C = |an| + |an-1|+ … + |a1| + |a0| với x > 1 Vậy f(x) là O(xn)
Ví dụ Dùng khái niệm big - O đánh giá tổng n số nguyên dương đầu
tiên
Trang 26Hướng dẫn
Ta có 1 + 2 + 3 + … + n n + n + … + n = n2
Suy ra 1 + 2 + … + n là O(n2), khi lấy C = 1 và k = 1.
Ví dụ Chỉ ra hàm n! là O(n n ) và log n! là O(nlogn) Hướng dẫn
Ta có n! = 1 2 … n n n … n = nn
Vậy n! là O(nn)
Log n! log (nn) = nlogn
Vậy log n! là O(nlogn)
Trang 271.3.1 Những nguyên lý đếm cơ bản
1.3.1.1 Quy tắc cộng
Giả sử có k công việc T1, T2, , Tk Các việc này có thể làm tươngứng bằng n1, n2, , nk cách và giả sử không có hai việc nào có thể làm đồngthời Khi đó số cách làm một trong k việc đó là n1+ n2+ + nk
Cơ sở cuả quy tắc cộng là một trong các công thức sau
Theo quy tắc cộng có 23 + 15 + 19 = 57 cách chọn bài thực hành
2) Trong lớp CNTT có 45 sinh viên biết tiếng Anh, 30 sinh viên biết tiếngPháp, 10 sinh viên biết cả Anh và Pháp
Trang 28a) Tính số sinh viên của lớp, biết trong lớp không có sinh viên nàokhông biết một trong 2 thứ tiếng trên.
b) Cho sỉ số lớp là 70, hỏi có bao nhiêu sinh viên không biết tiếngAnh, Pháp
Hướng dẫn
Đặt A là số SV biết tiếng Anh |A| = 45;
B là số SV biết tiếng Pháp |B| = 30;
A B là số SV biết cả tiếng Anh và Pháp |A B| = 10;
Số sinh viên của lớp là số sinh viên biết tiếng Anh hoặc Pháp A BTheo công thức cơ sở ta có |A B| = | A |+ |B| - |A B|
= 45 + 30 – 10 = 65
Số sinh viên không biết tiếng Anh, Pháp 70 – 65 = 5
3) Giá trị của biến m bằng bao nhiêu sau khi đoạn chương trình sau được thực
Trang 29nên theo quy tắc cộng, giá trị cuối cùng của m bằng số cách thực hiện mộttrong số các nhiệm vụ Ti, tức là m = n1+ n2+ + nk
Quy tắc cộng có thể phát biểu dưới dạng của ngôn ngữ tập hợp NếuA1, A2, , Ak là các tập hợp đôi một rời nhau, khi đó số phần tử của hợp cáctập hợp này bằng tổng số các phần tử của các tập thành phần Giả sử Ti làviệc chọn một phần tử từ tập Ai với i = 1,2, , k Có |Ai| cách làm Ti vàkhông có hai việc nào có thể được làm cùng một lúc Số cách chọn một phần
tử của hợp các tập hợp này, một mặt bằng số phần tử của nó, mặt khác theoquy tắc cộng nó bằng |A1| + |A2| + + |Ak|
Do đó ta có |A1 A2 Ak| = |A1| + |A2| + + |Ak|
1.3.1.2 Quy tắc nhân
Giả sử một nhiệm vụ nào đó được tách ra thành k việc T1, T2, , Tk.Nếu việc Ti có thể làm bằng ni cách sau khi các việc T1, T2, Ti-1 đã đượclàm, khi đó có n1 n2 nk cách thi hành nhiệm vụ đã cho
Cơ sở của quy tắc nhân
|A × B| = |A|.|B|
|A × B × C| = |A|.|B|.|C|
Ví dụ
1) Người ta có thể ghi nhãn cho những chiếc ghế trong một giảng
đường bằng một chữ cái và một số nguyên dương không vượt quá 100 Bằngcách như vậy, nhiều nhất có bao nhiêu chiếc ghế có thể được ghi nhãn khácnhau?
Thủ tục ghi nhãn cho một chiếc ghế gồm hai việc, gán một trong 26chữ cái và sau đó gán một trong 100 số nguyên dương
Trang 30Quy tắc nhân chỉ ra rằng có 26.100 = 2600 cách khác nhau để gán nhãncho một chiếc ghế Như vậy nhiều nhất ta có thể gán nhãn cho 2600 chiếcghế
2) Có bao nhiêu xâu nhị phân có độ dài n
Mỗi một trong n bit của xâu nhị phân có thể chọn bằng hai cách vì mỗibit hoặc bằng 0 hoặc bằng 1
Vậy theo quy tắc nhân có tổng cộng 2n xâu nhị phân khác nhau có độdài bằng n
3) Có thể tạo được bao nhiêu ánh xạ từ tập A có m phần tử vào tập B có
Giá trị khởi tạo của k bằng 0 Ta có k vòng lặp được lồng nhau Gọi Ti
là việc thi hành vòng lặp thứ i Khi đó số lần đi qua vòng lặp bằng số cáchlàm các việc T1, T2, , Tk Số cách thực hiện việc Tj là nj (j = 1, 2, , k), vì
Trang 31vòng lặp thứ j được duyệt với mỗi giá trị nguyên ij nằm giữa 1 và nj Theoquy tắc nhân vòng lặp lồng nhau này được duyệt qua n1 n2 nk lần Vì vậygiá trị cuối cùng của k là n1 n2 nk
Nguyên lý nhân thường được phát biểu bằng ngôn ngữ tập hợp nhưsau: Nếu A1, A2, , Ak là các tập hữu hạn, khi đó số phần tử của tíchDescartes của các tập này bằng tích của số các phần tử của mọi tập thànhphần Ta biết rằng việc chọn một phần tử của tích Descartes A1 A2 Akđược tiến hành bằng cách chọn lần lượt một phần tử của A1, một phần tử củaA2, , một phần tử của Ak Theo quy tắc nhân ta có |A1 A2 Ak| = |A1| |A2| |Ak|
1.3.1.3 NGUYÊN LÝ DIRICHLET
a Mở đầu
Giả sử có một đàn chim bồ câu bay vào chuồng Nếu số chim nhiều hơn
số ngăn chuồng thì ít nhất trong một ngăn có nhiều hơn một con chim
Nguyên lý này dĩ nhiên là có thể áp dụng cho các đối tượng không phải
là chim bồ câu và chuồng chim
b Nguyên lý
Nếu có k + 1 (hoặc nhiều hơn) đồ vật được đặt vào trong k hộp thì tồntại một hộp có ít nhất hai đồ vật
Chứng minh
Giả sử không có hộp nào trong k hộp chứa nhiều hơn một đồ vật Khi
đó tổng số vật được chứa trong các hộp nhiều nhất là bằng k Điều này trái giảthiết là có ít nhất k + 1 vật
Nguyên lý này thường được gọi là nguyên lý Dirichlet, mang tên nhàtoán học người Đức ở thế kỷ 19 Ông thường xuyên sử dụng nguyên lý nàytrong công việc của mình
Trang 32Ví dụ
1) Trong bất kỳ một nhóm 367 người thế nào cũng có ít nhất 2 người có
ngày sinh nhật giống nhau bởi vì chỉ có tất cả 366 ngày sinh nhật khác nhau
2) Trong kỳ thi học sinh giỏi, điểm bài thi được đánh giá bởi một số
nguyên trong khoảng từ 0 đến 100 Hỏi rằng ít nhất có bao nhiêu học sinh dựthi để cho chắc chắn tìm được hai học sinh có kết quả thi như nhau?
Theo nguyên lý Dirichlet, số học sinh cần tìm là 102, vì ta có 101 kết quảđiểm thi khác nhau
3) Trong số những người có mặt trên trái đất, phải tìm được hai người có
hàm răng giống nhau Nếu xem mỗi hàm răng gồm 32 cái như là một xâu nhịphân có chiều dài 32, trong đó răng còn ứng với bit 1 và răng mất ứng với bit
0, thì có tất cả 232 = 4.294.967.296 hàm răng khác nhau
Trong khi đó số người trên hành tinh này là vượt quá 5 tỉ, nên theonguyên lý Dirichlet ta có điều cần tìm
c Nguyên lý Dirichlet tổng quát
Nếu có N đồ vật được đặt vào trong k hộp thì sẽ tồn tại một hộp chứa ít
nhất [N k ] đồ vật
(Ở đây, [x] là giá trị của hàm trần tại số thực x, đó là số nguyên nhỏnhất có giá trị lớn hơn hoặc bằng x
Chứng minh
Giả sử mọi hộp đều chứa ít hơn [N k ] -1 vật Khi đó tổng số đồ vật được
chứa trong các hộp nhiều nhất là: <= k([N k ]−1) <k([N k ]) = N
Điều này mâu thuẩn với giả thiết là có N đồ vật cần xếp
Ví dụ
1) Trong 100 người, có ít nhất 9 người sinh cùng một tháng
Xếp những người sinh cùng tháng vào một nhóm Có 12 tháng tất cả
Trang 33Vậy theo nguyên lý Dirichlet, tồn tại một nhóm có ít nhất [10012 ]= 9 người
2) Có 5 loại học bổng khác nhau Hỏi rằng phải có ít nhất bao nhiêu
sinh viên để chắc chắn rằng có ít ra là 6 người cùng nhận học bổng như nhau
Gọi N là số sinh viên, khi đó [N5 ] = 6 khi và chỉ khi 5 < [N5]≤ 6 hay 25
< N ≤ 30
Vậy số N cần tìm là 26
3) Số mã vùng cần thiết nhỏ nhất phải là bao nhiêu để đảm bảo 25 triệu
máy điện thoại trong nước có số điện thoại khác nhau, mỗi số có 9 chữ số (giả
sử số điện thoại có dạng 0XX - 8XXXXX với X nhận các giá trị từ 0 đến 9)
Có 107 = 10.000.000 số điện thoại khác nhau có dạng 0XX 8XXXXX
-Vì vậy theo nguyên lý Dirichlet tổng quát, trong số 25 triệu máy điện
Đặc biệt P(n, n) = n! là số các hoán vị
Ví dụ
Trang 34Có 8 vận động viên chạy thi, người về đích thứ nhất, nhì và ba sẽ nhậnđược tương ứng huy chương vàng, bạc và đồng Có bao nhiêu cách trao huychương? ( P(8, 3) = 336)
b Tổ hợp
Tổ hợp chập r của một tập hợp là một cách chọn không có thứ tự rphần tử của tập đã cho
Như vậy, một tổ hợp chập r chính là một tập con r phần tử của tậpban đầu
Đối với dãy số {an}, hệ thức truy hồi (HTTH) là phương trình biểu
diễn an qua 1 hay nhiều số hạng đứng trước nó a0 ,a1 , a2, …, an-1 với mọi sốnguyên n ≥ n0, trong đó n0 là số nguyên không âm
Dãy số là nghiệm của HTTH nếu các số hạng của nó thỏa mãn HTTHnày
Các điều kiện đầu định rõ giá trị các số hạng đi trước số hạng đầu tiên
Trang 35Gọi Sn là tổng số tiền mà anh ta có trong ngân hàng sau n năm Khi đó dãy {Sn} thỏa mãn hệ thức truy hồi sau
Hướng dẫn
Giả sử Hn là số lần chuyển n đĩa Với n = 1 thì H1 = 1
Thoạt đầu n đĩa ở cọc 1 ta có thể di chuyển n - 1 đĩa nằm trên sang cọc
3 theo quy tắc trên nó phải dùng Hn-1 lần;
Tiếp theo ta chuyển đĩa lớn nhất từ cọc 1 sang cọc 2;
Cuối cùng di chuyển (n - 1) đĩa từ cọc 3 sang cọc 2
Trang 37Vậy nghiệm của HTTH có dạng (1 + 2n)3n
Với điều kiện đầu a0 = 1 = 1
a1 = 6 = (1 + 2)3Giải ta được 2 = 1
KQ an = (1 + n)3 n
Định lý 3
Cho c1, c2, …, ck là các số thực
Giả sử PTĐT rn - c1 rn-1 - c2 rn-2 - … - ck-1 r - ck = 0 có k nghiệm phân biệt
r1, r2 ,…, rk Khi đó dãy {an} là nghiệm của HTTH an = c1 an-1 + c2 an-2 + … + ck
Trang 38an-k nếu và chỉ nếu an = α1 r1n + α2 r2n + … + αk rkn, với α1, α2, …, αk là cáchằng số.(được xác định từ ĐK đầu).
Do vậy nghiệm của HTTH có dạng an = α11n + α22n + α33n
Các điều kiện ban đầu a0 = 2 = α1 + α2 + α3
Trang 39Từ đó, số các số không chia hết cho 3, 4 và 5 là 1000 – 783 + 199 – 16 = 400
TỔNG KẾT CHƯƠNG Tập hợp là cấu trúc rời rạc cơ bản dựng lên các
Trang 40a) A × B × C b) C × A × B c) C × A × B d) B × B × B
3) Cho tập vũ trụ U = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
Biểu diễn các tập dưới đây bằng các xâu bit
a) {3, 4, 5} b) {1, 3, 6, 10} c) {2, 3, 4, 7, 8, 9} 4) Dùng tập vũ trụ như bài tập 3, tìm các tập biểu diễn bới các xâu
a) 1111001111 b) 0101111000 c) 1000000001 5) Cho A = {a, b, c, d, e} và B = {a, b, c, d, e, f, g, h} Tìm
10) Mỗi tập sau có bao nhiêu phần tử
a) P({a, b, {a,b}}) b) P({∅, a, {a}, {{a}}) 11) Tìm miền xác định , ảnh của miền xác định của các hàm sau
a) Hàm gán cho mỗi số nguyên không âm với chữ số cuối cùng của nó b) Hàm gán cho mỗi số nguyên dương số nguyên lớn nhất tiếp sau c) Hàm gán cho mỗi xâu bit số các bit 1 trong xâu đó