1. Trang chủ
  2. » Giáo Dục - Đào Tạo

bài giảng môn cấu trức rời rạc

198 651 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 198
Dung lượng 2,02 MB

Nội dung

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 1

6 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 3

MỤ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 4

2.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 5

5.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 6

7.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 7

Chươ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 8

1 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 10

Nế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 11

Cho 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 13

Nế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 14

1 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 15

Lự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 17

1.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 19

Cho 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 20

1.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 21

Cho 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 22

1.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 23

Mộ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 24

hà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 25

Vớ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 26

Hướ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 27

1.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 28

a) 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 29

nê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 30

Quy 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 31

vò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 32

Ví 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 33

Vậ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 34

Có 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 35

Gọ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 37

Vậ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 38

an-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 39

Từ đó, 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 40

a) 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 đó

Ngày đăng: 29/08/2017, 08:48

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[4] Đỗ Đức Giáo, Toán học rời rạc, Đại học Quốc Gia Hà Nội, 1998 Sách, tạp chí
Tiêu đề: Toán học rời rạc
[5] Đỗ Đức Giáo, Cơ sở toán trong lập trình, KH&amp;KT Hà Nội, 1998 Sách, tạp chí
Tiêu đề: Cơ sở toán trong lập trình
[6] Nguyễn Xuân Quỳnh, Cơ sở toán rời rạc và ứng dụng, GDĐT,1993 Sách, tạp chí
Tiêu đề: Cơ sở toán rời rạc và ứng dụng
[1] Đỗ Đức Giáo, Toán Rời rạc ứng dụng trong Tin học, NXB Giáo dục, 2006 [2] Vũ Kim Thành, Toán Rời rạc, ĐH Nông nghiệp Hà Nội, 2008 Khác
[3] Nguyễn Đức Nghĩa , Toán rời rạc, Đại học Quốc Gia Hà Nội, 2003 Khác

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w