Trong giáo trình này, chúng ta sẽ nghiên cứu những đối tượng rời rạc như quan hệ trong toán học, tập hợp, bài toán đếm, ma trận, các phương pháp tính.. Giáo trình gồm 4 chương Chương 1 :
Trang 1TRƯỜNG TRUNG CẤP NGHỀ KHU VỰC GÒ CÔNG
Trang 2GIÁO TRÌNH TOÁN ỨNG DỤNG
Copyright c ○ 2014 by Nguyễn Hồng Điệp
Trang 3TRƯỜNG TRUNG CẤP NGHỀ KHU VỰC GÒ CÔNG
Trang 5Toán ứng dụng trong tin học được đề cập đến trong giáo trình này chủ yếu làcác phần thuộc bộ phận của Toán rời rạc Toán học rời rạc ngày nay đã trở thànhquen thuộc trong những năm gần đây bởi những ứng dụng to lớn của nó trongcác ngành tin học Toán học rời rạc là một ngành toán học giải quyết các đốitượng hay cấu trúc rời rạc Đối tượng rời rạc là những đối tượng mà chúng cóthể được phân biệt, phân tách ra khỏi nhau để có thể đếm được Số tự nhiên, sốhữu tỉ (được coi như là tỉ số của 2 số tự nhiên), môtô, nhà, người, là những đốitượng rời rạc Mặt khác số thực bao gồm số vô tỉ là không rời rạc (chúng ta biếtrằng giữa hai số thực khác nhau luôn tồn tại một số thực khác chúng) Thuật ngữ
“Toán học rời rạc ” cũng để phân biệt với “Toán học liên tục” Trong khi các đốitượng rời rạc thường được coi như có sự liên quan mật thiết tới số tự nhiên thì cácđối tượng liên tục là số thực
Trong giáo trình này, chúng ta sẽ nghiên cứu những đối tượng rời rạc như quan
hệ trong toán học, tập hợp, bài toán đếm, ma trận, các phương pháp tính tất
cả chúng đều rời rạc Chúng ta sẽ học các khái niệm, tính chất và quan hệ giữachúng với nhau và với các đối tượng khác
Giáo trình gồm 4 chương
Chương 1 : Quan hệ và suy luận toán học trình bày các kiến thức cơ bản về
tập hợp, các quan hệ giữa các tập hợp; quan hệ 2 ngôi trong toán học vàphương pháp chứng minh bằng quy nạp làm cơ sở kiến thức cho các chươngsau Đồng thời chương 1 cũng trình bày sơ lượt về thuật toán, đệ quy chuẩn
bị cho việc học các môn học khác chuyên sâu hơn
Chương 2 : Tính toán và xác suất giới thiệu các khái niệm cơ bản về Giải tích
tổ hợp, các khái niệm có liên quan tới bài toán liệt kê ở chương 3; nguyên lý
Trang 6Chương 3 : Ma trận trình bày các kiến thức về ma trận, các thuật toán về ma
trận, số hóa ma trận áp dụng trong khoa học máy tính và trong phương pháptính ở chương 4 Chương 3 cũng giới thiệu sơ lược về bài toán liệt kê, bàitoán tối ưu và các thuật toán quay lui, thuật toán nhánh cận
Chương 4 : Phương pháp tính tìm hiểu về các phương pháp tìm nghiệm gần
đúng của phương trình, hệ phương trình; phương pháp nội suy, phương phápbình phương cực tiểu
Trong đó phần nội dung trọng tâm sẽ rơi vào các chương 2, 3, 4
Một số qui ước dùng trong giáo trình
1 Các Định nghĩa, Định Lý, Ví dụ, Bài tập đều được đánh số, và là
số duy nhất trong toàn giáo trình
Trang 7LỜI GIỚI THIỆU v
1 Tập hợp 1
1.1 Khái niệm về tập hợp 1
1.2 Các phép toán trên tập hợp 3
2 Quan hệ hai ngôi 5
2.1 Khái niệm về quan hệ hai ngôi 5
2.2 Các tính chất có thể có của quan hệ 2 ngôi trong 1 tập hợp 6 2.3 Quan hệ tương đương và phân hoạch 6
2.4 Quan hệ thứ tự 8
3 Suy luận toán học 9
3.1 Quy nạp toán học 9
3.2 Định nghĩa bằng đệ quy 10
3.3 Các thuật toán bằng đệ quy 13
3.4 Tính đúng đắn của chương trình 15
3.5 Bài tập 16
3.6 Đáp án 17
2 TÍNH TOÁN VÀ XÁC SUẤT 19 1 Tính toán 19
1.1 Nguyên lý cộng 19
1.2 Nguyên lý nhân 21
Trang 81.3 Nguyên lý bù trừ 22
1.4 Nhắc lại lý thuyết tổ hợp 22
1.5 Nguyên lý Dirichlet 25
1.6 Bài tập 27
1.7 Đáp án 32
2 Xác suất 34
2.1 Sự kiện ngẫu nhiên 34
2.2 Các định nghĩa xác suất 36
2.3 Xác suất có điều kiện 40
2.4 Bài tập 41
2.5 Đáp án 45
3 MA TRẬN 47 1 Ma trận 47
1.1 Mở đầu 47
1.2 Số học ma trận 49
1.3 Thuật toán nhân ma trận 50
1.4 Chuyển vị và lũy thừa các ma trận 51
1.5 Các ma trận 0 - 1 52
1.6 Bài tập 53
1.7 Đáp án 54
2 Thuật toán và độ phức tạp của thuật toán 56
2.1 Thuật toán 57
2.2 Độ phức tạp của thuật toán 61
2.3 Bài toán liệt kê và thuật toán quay lui 64
2.4 Bài toán tối ưu và thuật toán nhánh cận 67
2.5 Bài tập 68
2.6 Đáp án 69
4 PHƯƠNG PHÁP TÍNH 71 1 Số xấp xỉ và sai số 72
1.1 Số xấp xỉ 73
1.2 Sai số tuyệt đối 73
1.3 Sai số tương đối 73
1.4 Số quy tròn 74
1.5 Bài tập 76
1.6 Đáp án 76
2 Giải gần đúng các phương trình 77
2.1 Nghiệm và khoảng phân ly nghiệm 77
2.2 Phương pháp chia đôi 81
Trang 92.3 Phương pháp lặp 84
2.4 Phương pháp dây cung 87
2.5 Phương pháp tuyến tính (Newton) 90
2.6 Phương pháp phối hợp 93
2.7 Bài tập 96
2.8 Đáp án 98
3 Giải hệ phương trình đại số tuyến tính 99
3.1 Khái niệm về hệ phương trình tuyến tính 99
3.2 Phương pháp Gauss 100
3.3 Bài tập 104
3.4 Đáp án 106
4 Nội suy và phương pháp bình phương cực tiểu 106
4.1 Đa thức nội suy 106
4.2 Tính giá trị của đa thức bằng sơ đồ Horner 107
4.3 Đa thức nôi suy Lagrange 108
4.4 Đa thức nội suy Newton 110
4.5 Phương pháp bình phương cực tiểu 113
4.6 Bài tập 115
4.7 Đáp án 116
Trang 11A Mã số môn học : MH19
B Thời gian của môn : 60 giờ (Lý thuyết 45 giờ; Bài tập : 12giờ, Kiểm tra : 3
giờ)
C Vị trí và tính chất của môn
∙ Vị trí : Môn học được bố trí sau khi học sinh học xong các môn học
chung, trước các môn học, mô đun đào tạo chuyên môn nghề
∙ Tính chất : Là môn học lý thuyết cơ sở tự chọn.
E Nội dung tổng quát và phân phối thời gian
Lý thuyết Bài tập Kiểm tra Tổng số
1.1 Quan hệ hai ngôi
1.2 Suy luận toán học
Trang 12F Chương trình chi tiết
Chương 1 : Quan hệ và suy luận toán học
Mục tiêu :
∙ Trình bày các phép toán trong quan hệ hai ngôi
∙ Trình bày thứ tự các phép toán trong biểu thức
∙ Biến đổi chính xác các quan hệ tương đương trong các bài toán theo dạngquan hệ
∙ Trả lời chính xác các bảng trắc nghiệm về quan hệ hai ngôi và suy luậntoán học
∙ Kiểm tra tính đúng của một chương trình cụ thể
∙ Áp dụng được giải thuật quy nạp và đệ qui
∙ Thực hiện các thao tác an toàn với máy tính
1 Quan hệ hai ngôi Thời gian : 02 giờ1.1 Khái niệm về quan hệ hai ngôi
1.2 Các tính chất có thể có của quan hệ trong 1 tập hợp
1.3 Quan hệ tương đương và phân hoạch
1.4 Quan hệ thứ tự
Trang 132 Suy luận toán học Thời gian : 02 giờ
∙ Thực hiện các thao tác an toàn với máy tính
1 Tính toán Thời gian : 10 giờ1.1 Nguyên lý cộng
∙ Thực hiện các phép toán đối với một ma trận (ma trận 2 chiều)
∙ Tính toán chính xác độ phức tạp của một thuật toán đơn giản
∙ Trả lời chính xác các bảng test về ma trận và độ phức tạp của thuật toán
∙ Sử dụng đúng các thuật toán áp dụng cho ma trận
∙ Thực hiện các thao tác an toàn với máy tính
Trang 141 Ma trận Thời gian : 4 giờ1.1 Mở đầu
1.2 Số học ma trận
1.3 Thuật toán nhân ma trận
1.4 Chuyển vị và luỹ thừa các ma trận
1.5 Ma trận 0 − 1
2 Thuật toán và độ phức tạp của thuật toán Thời gian : 8 tiết2.1 Thuật toán
2.2 Độ phức tạp của thuật toán
2.3 Bài toán liệt kê và thuật toán quay lại
2.4 Bài toán tối ưu và thuật toán nhánh cận
Chương 4 : Phương pháp tính
Mục tiêu
∙ Thực hiện đúng các bài toán về xấp xỉ và sai số, các phương trình, hệphương trình, nội suy và bình phương cực tiểu
∙ Mô tả được các cách tính : bài toán về xấp xỉ và sai số, các phương trình,
hệ phương trình, nội suy và bình phương cực tiểu
∙ Trả lời chính xác các bảng test trên giấy về các nội dung của phương pháptính
∙ Thực hiện các thao tác an toàn với máy tính
1 Số xấp xỉ và sai số Thời gian : 3 giờ1.1 Số xấp xỉ
1.2 Sai số tuyệt đối
1.3 Sai số tương đối
2.4 Phương pháp dây cung
2.5 Phương pháp tuyến tính (NewTon)
2.6 Phương pháp phối hợp
Trang 153 Giải hệ thống phương trình đại số tuyến tính Thời gian : 5 giờ3.1 Khái niệm về hệ phương trình tuyến tính
3.2 Phương pháp Gauss
4 Nội suy và phương pháp bình phương cực tiểu Thời gian : 6 giờ4.1 Đa thức nội suy
4.2 Tính giá trị của đa thức bằng sơ đồ Horner
4.3 Đa thức nôi suy Lagrange
4.4 Đa thức nội suy Newton
4.5 Phương pháp bình phương cực tiểu
Trang 16QUAN HỆ VÀ SUY LUẬN TOÁN HỌC
1 Tập hợp 1
2 Quan hệ hai ngôi 5
3 Suy luận toán học 9
1 Tập hợp
1.1 Khái niệm về tập hợp
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định nghĩa Để chỉ a là một phần tử của tập A, ta viết a ∈ A (đọc là a thuộc A) Đểchỉ b là không phải một phần tử của tập A, ta viết b /∈ A (đọc là b không thuộc A)
Khi liệt kê các phần tử của một tập hợp, người ta viết các phần tử của nó tronghai dấu móc { }, ví dụ A = {1, 2, 3, 4, 5, 6}
Một tập hợp cũng có thể được xác định bằng cách chỉ ra tính chất đặc trưng củanó
Ví dụ 1.1.1 Cho tập hợp A viết dạng tính chất đặc trưng A = {n ∈ N, n ≤ 5},
dạng liệt kê của A là A = {0, 1, 2, 3, 4, 5}
Ngoài ra A còn có thể viết được dưới dạng khác A = {n − 1; n ∈ N*, n ≤ 6} Tathấy một tập hợp có thể được thể hiện dưới nhiều hình thức khác nhau g
Ví dụ 1.1.2 Hãy xác định các tập hợp sau bằng cách chỉ ra tính chất đặc trưng
các phần tử của nó
Trang 17a) Tập D là 16 số nguyên dương đầu tiên.
Định nghĩa 1.1.5 Nếu mọi phần tử của tập hợp A đều là phần tử của tập hợp B
thì ta nói A là một tập con của tập B, và viết là A ⊂ B (đọc là A chứa trong B).Nếu A không phải là tập con của B ta viết A ̸⊂ B
Trang 20Phần hiệu của A và B là tập hợp được xác định bằng phần gạch chéo trong Hình1.4.
Ví dụ 1.1.8 Cho các tập hợp sau A = {1, 2, 3, 5, 6}, B = {1, 7, 2, a}, D = {1, 2, 3}
Định nghĩa 1.1.9 Tích của hai tập hợp A và B, kí hiệu A × B, là tập hợp mà các
phần tử của nó là cặp số phân định thứ tự có dạng (x, y) với x ∈ A, y ∈ B
Ví dụ 1.1.10 Cho các tập A = {a, b}, B = {1, 2} khi đó :
∙ A × B = {(a, 1) , (a, 2) , (b, 1) , (b, 2)}
∙ B × A = {(1, a) , (1, b) , (2, a) , (2, b)}
Nhìn chung tính chất giao hoán không còn đúng trong tích 2 tập hợp Khi A × A
2 Quan hệ hai ngôi
2.1 Khái niệm về quan hệ hai ngôi
2.1.1 Quan hệ hai ngôi
Định nghĩa 1.2.1 Giả sử cho tập X khác rỗng và một tính chất S được thỏa mãn
với một số cặp phần tử a, b nào đó của X Khi đó ta nói a có quan hệ S với b vàviết aSb, còn S gọi là một quan hệ hai ngôi trong X
Ví dụ 1.2.2
1 Trong tập số thực R, quan hệ a = b hoặc quan hệ a > b là quan hệ 2 ngôi
2 Trong tập hợp mọi đường thẳng trên mặt phẳng, quan hệ vuông góc, quan
hệ song song giữa 2 đường thẳng là các quan hệ 2 ngôi
3 Trên tập N* các số nguyên đương, quan hệ ”a là ước số của b” cũng là quan
Trang 212.2 Các tính chất có thể có của quan hệ 2 ngôi trong 1 tập hợp
Quan hệ S trong tập X (tức S ⊂ X2) có thể có các tính chất sau :
1 Tính phản xạ : aSa, ∀a ∈ S tức là (a, a) ∈ S, ∀a ∈ X
2 Tính đối xứng : aSb ⇒ bSa tức là nếu (a, b) ∈ S ⇒ (b, a) ∈ S
3 Tính phản đối xứng : (aSb và bSa) ⇒ a = b
4 Tính bắc cầu : aSb và bSc ⇒ aSc
2.3 Quan hệ tương đương và phân hoạch
Định nghĩa 1.2.3 (Quan hệ tương đương) Giả sử X là một tập hợp, S là một bộ
phận của X × X Thế thì S gọi là một quan hệ tương đương trong X nếu và chỉnếu các điều kiện sau được thỏa :
1 Phản xạ : ∀a ∈ X ; aSa
2 Đối xứng : ∀a, b ∈ S; nếu aSb thì bSa
3 Bắc cầu : ∀a, b, c ∈ S; nếu aSb và bSc thì aSc
Nếu S là một quan hệ tương đương thì người ta kí hiệu S bằng ∼ và đọc a ∼ b
là “a tương đương b”
Ví dụ 1.2.4 Dấu bằng “= ”thường dùng trong số số học các số thực là một ví dụ
Định nghĩa 1.2.5 (Phân hoạch) Gọi S là tập có n phần tử Mỗi phân hoạch của
tập S được định nghĩa là tập k tập con S1, S2, , Sk khác rỗng của S đôi một rờinhau và hợp của chúng là S tức là:
Trang 222.3.1 Biểu diễn 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 nếu lưu trữ các phần tử của cáctập hợp theo cách không sấp thứ tự thì ít phải chuẩn bị Tuy nhiên việc tính giao,hợp hoặc hiệu của 2 tập hợp thì mất thời gian, vì mỗi phép tính đó đòi hỏi mộtlượng tìm kiếm rất lớn đối với các phần tử Dưới đây sẽ giới thiệu một phươngpháp lưu trữ các phần tử bằng cách dùng sự sắp tùy ý các phần tử của tập toànthể Phương pháp biểu diễn tập hợp này sẽ làm cho việc tính những tổ hợp trởnên dễ dàng hơn
Giả sử tập toàn thể U được dùng là hữu hạn (và có kích thước hợp lí để số phần
tử của U không lớn hơn dung lượng bộ nhớ của máy tính mà ta đang dùng) Trướchết, hãy chỉ rõ sự sắp tùy ý các phẩn tử của U , ví dụ a1, a2, ansau đó biểu diễntập con A của U bằng một xâu bit có chiều dài n, trong đó bit thứ i ở xâu này là 1nếu ai ∈ A và là 0 nếu ai∈ A Ví dụ sau sẽ minh họa kỹ thuật này./
1 Xâu bit biểu diễn tập hợp các số nguyên lẻ trong U , cụ thể là tập
{1, 3, 5, 7, 9}, có bit 1 ở vị trí thứ nhất, thứ ba, thứ 5, thứ 7 và thứ 9, và bit 0
ở các vị trí còn lại Đó là 10101 01010
2 Tương tự ta biểu diễn tập con tất cả các số nguyên chẵn trong U , cụ thể làtập {2, 4, 6, 8, 10} bằng xâu 01010 10101
3 Tập con các số nguyên không vượt quá 5 trong U cụ thể là tập {1, 2, 3, 4, 5}
Bằng cách dùng các xâu bit để biểu diễn các tập hợp, ta dễ dàng tìm được phần
bù các tập hợp, cũng như giao, hợp và hiệu của chúng Để tìm xâu bit cho phần
bù một tập hợp ta chỉ việc thay 0 thành 1 và 1 thành 0, vì x ∈ A ⇔ x /∈ A Chú ýrằng phép toán này tương ứng với việc lấy phủ định của mỗi bit khi ta gắn mộtbit với một giá trị chân lý : 1 ứng với đúng và 0 ứng với sai
Trang 23Ví dụ 1.2.8 Lấy lại kết quả Ví dụ 1.2.7 ta được xâu bit dối với tập hợp {1, 3, 5, 7, 9}
là 10101 01010 Để xác định phần bù của tập hợp này ta thay số 0 thành 1 vàthay 1 thành 0 Khi đó ta được xâu 01010 10101, xâu này tương úng với tập
Ví dụ 1.2.9 Lấy lại kết quả Ví dụ 1.2.7 ta tìm hợp, giao của xâu 11111 00000 và
10101 01010 (các xâu này ứng với các tập {1, 2, 3, 4, 5} và {1, 3, 5, 7, 9})
Xâu bit đối với hợp của hai tập này là :
1111100000 ∨ 1010101010 = 1111101010
và xâu này ứng với tập {1, 2, 3, 4, 5, 7, 9}
Xâu bit đối với giao của hai tập này là :
1111100000 ∧ 1010101010 = 1010100000
2.4 Quan hệ thứ tự
Định nghĩa 1.2.10 Giả sử X là một tập hợp, S là một bộ phận của X × X Thế thì
S được gọi là một quan hệ thứ tự trong X (hay người ta còn gọi S là một quan hệthứ tự giữa các phần tử của X ) nếu và chỉ nếu các điều kiện sau được thỏa :
1 Phản xạ : ∀a ∈ X ; aSa
2 Phản đối xứng : ∀a, b ∈ S; nếu aSb và bSa thì a = b
3 Bắc cầu : ∀a, b, c ∈ S; nếu aSb và bSc thì aSc
Người ta gọi một tập X là sắp thứ tự nếu trong X có một quan hệ thứ tự
Ví dụ 1.2.11 Quan hệ ≤ trong tập các số tự nhiên N là một quan hệ thứ tự Với
a, b tùy ý ta luôn có a ≤ hoặc b ≤ ta gọi một quan hệ thứ tự như vậy gọi là toàn
1 George Boole (1815-1864) là nhà toán học người Anh, Ethel Boole - con gái ông là nhà văn nổi tiếng, được biết đến với tác phẩm Ruồi trâu.
Trang 243 Suy luận toán học
3.1 Quy nạp toán học
3.1.1 Phương pháp quy nạp toán học
Để chứng minh những mệnh đề liên quan tới số tự nhiên n ∈ N* là đúng với mọi
n mà không thể thử trực tiếp được thì có thể làm như sau :
Bước 1 Kiểm tra mệnh đề đúng với n = 1
Bước 2 Giả thiết mệnh đề đúng với một số tự nhiên bất kì n = k ≥ 1 (gọi là giả
thiết quy nạp), chứng minh rằng nó cũng đúng với n = k + 1
Một cách đơn giản ta có thể hình dung như sau : mệnh đề đã đúng khi n = 1 nêntheo kết quả ở bước 2, nó cũng đúng với n = 1 + 1 = 2 Vì nó đúng với n = 2nên lại theo kết quả bước 2, nó đúng với n = 2 + 1 = 3, Bằng cách ấy ta có thểkhẳng định mệnh đề đúng với mọi số tự nhiên n ∈ N*
Giả sử đẳng thức đúng với n = k ≥ 1, nghĩa là
Sk = 1 + 3 + 5 + · · · + (2k − 1) = k3(giả thiết quy nạp )
Ta phải chứng minh (1) cũng đúng với n = k + 1, tức là
Sk+1= 1 + 3 + 5 + · · · + (2k − 1) + [(2(k + 1) − 1)] = (k + 1)2.Thật vậy, từ giả thiết quy nạp ta có
Sk+1= Sk+ [(2(k + 1) − 1)] = (k + 1)2
Trang 25Vậy hệ thức (1) đúng với mọi n ∈ N* g
3.2 Định nghĩa bằng đệ quy
Đôi khi chúng ta rất khó định nghĩa một đối tượng một cách tường minh, nhưng
có thể dễ dàng định nghĩa đối tượng này qua chính nó Kỹ thuật này gọi là đệquy2
3.2.1 Khái niệm đệ quy
Đệ quy có nhiều cách hiểu nhưng ta có thể hiểu theo hai cách cơ bản sau :
1 Phương pháp dùng trong các chương trình máy tính trong đó có một hàm tựgọi chính nó
2 Một khái niệm X được định nghĩa theo đệ quy nếu trong định nghĩa X có sửdụng chính khái niệm X
Ví dụ 1.3.2
1 Đặt 2 chiếc gương cạnh nhau ta thấy trong chiếc gương này có hình ảnh củachiếc gương kia và hình ảnh đó được lặp đi lặp lại
2 Định nghĩa sau là định nghĩa đệ quy của tổ tiên :
∙ Bố mẹ của một người là tổ tiên của người ấy (trường hợp cơ bản)
∙ Bố mẹ của tổ tiên một người bất kỳ là tổ tiên của người ấy (bước đệ
Các định nghĩa kiểu như vậy cũng thường thấy trong toán học (chính là quy nạptoán học)
3.2.2 Các hàm được định nghĩa bằng đệ quy
Để định nghĩa một hàm số xác định trên tập các số nguyên không âm,chúng ta có thể cho :
1 Giá trị của hàm số tại n = 0
2 Các công thức tính giá trị của hàm tại số nguyên n bằng các giátrị hàm tại các số nguyên nhỏ hơn
2 Tiếng Anh gọi là Recursion
Trang 26Định nghĩa như thế gọi là định nghĩa đệ quy hay định nghĩa quy nạp.
Ví dụ 1.3.3 Giả sử hàm f được định nghĩa bằng đệ quy như sau :
f(0) = 3, f(n + 1) = 2 f (n) + 3Hãy tìm f (1), f (2), f (3) và f (4)
Giải Từ định nghĩa hàm đệ quy ta suy ra
f(1) = 2 f (0) + 3 = 2.3 + 3 = 9
f(2) = 2 f (1) + 3 = 2.9 + 3 = 21
f(3) = 2 f (2) + 3 = 2.21 + 3 = 45
Trong một số định nghĩa hàm bằng đệ quy, người ta cho giá trị của hàm số tại k
số nguyên dương đầu tiên và cho quy tắc tính giá trị của hàm số tại số nguyên lớnhơn từ k giá trị này Theo quy nạp toán học thì từ các định nghĩa này tạo ra cáchàm hoàn toàn xác định
3.2.3 Các tập hợp được định nghĩa bằng đệ quy
Các tập hợp được định nghĩa bằng đệ quy Trước hết người ta đưa ra tập xuất phát.Sau đó là quy tắc tạo ra phần tử mới từ các phần tử đã biết Những tập được mô
tả như vậy gọi là các tập được định nghĩa tốt
Ví dụ 1.3.4 Giả sử S được định nghĩa bằng đệ quy như sau :
3 ∈ S
x+ y ∈ S nếu x ∈ S và y ∈ SHãy chỉ ra rằng S là tập các số nguyên chia hết cho 3
Giải Gọi A là tập các số nguyên dương chia hết cho 3 Để chứng minh A = S ta
sẽ chứng minh A là con S và S là con của A Để chứng minh A là tập con của S tagiả sử P(n) là mệnh đề “3n thuộc tập S”
∙ P(1) đúng vì theo định nghĩa của S: 3.1 = 3 ∈ S
∙ Giả sử P(k) đúng, tức là 3k ∈ S Vì 3 ∈ S và 3k ∈ S nên theo định nghĩa
3 + 3k = 3(k + 1).Điều này có nghĩa là P(k + 1) đúng
Theo quy nạp toán học ta có mọi số có dạng 3n ∈ S, ∀n ∈ N*, hay nói cách khác
Alà tập con của S
Trang 27Ngược lại, 3 ∈ S, hiển nhiên 3 chia hết cho 3 nên 3 ∈ A Tiếp theo ta chứngminh tất cả các phần tử của S sinh ra do phần tử thứ 2 của định nghĩa cũng thuộc
A Giả sử x, y là hai phần tử của S, cũng là hai phần tử của A Theo định nghĩacủa S thì x + y ∈ S, vì x và y đều chia hết cho 3 nên x + y cũng chia hết cho 3, tức
Định nghĩa đệ qui cũng thường dùng khi nghiên cứu các xâu kí tự Xâu là mộtdãy kí tự thuộc bộ chữ cái ∑ Tập hợp các xâu ứng với bộ chữ cái ∑ được kí hiệubởi ∑* Hai xâu có thể kết hợp với nhau bằng phép ghép Ghép xâu x và xâu ycho xy là xâu tạo nên bằng cách viết tiếp xâu y vào xâu x
Ví dụ 1.3.5 Cho x = abc, y = de f gh; khi đó xy = abcde f gh. g
Khi chứng minh các kết quả về xâu người ta thường dùng định nghĩa đệ quy
Ví dụ 1.3.6 (Định nghĩa đệ quy của tập các xâu.) Giả sử ∑*là tập các xâu trên
bộ chữ cái ∑ Khi đó ∑* được định nghĩa bằng đệ quy như sau :
∙ λ ∈ ∑*, trong đó λ là một xâu rỗng (tức xâu không có phần tử nào)
∙ ωx ∈ ∑*nếu ω ∈ ∑* và x ∈ ∑*
Phần đầu định nghĩa nói rằng xâu rỗng thuộc ∑* Phần sau khẳng định một xâumới tạo nên bằng cách ghép một kí tự của ∑ với một xâu của ∑* cũng thuộc ∑*.g
Độ dài xâu, tức là số kí tự của xâu cũng được định nghĩa bằng đệ quy
Ví dụ 1.3.7 (Định nghĩa độ dài xâu) Ta kí hiệu độ dài của xâu ω là l(ω) Khi
đó định nghĩa đệ quy của l(ω) như sau :
∙ l(λ ) = 0, trong đó λ là xâu rỗng
Ví dụ 1.3.8 Chứng minh bằng quy nạp
l(xy) = l(x) + l(y)trong đó x, y là các xâu thuộc ∑*
Giải
∙ Dễ dàng kiểm tra rằng P(λ ) là đúng vì
l(xλ ) = l(x) = l(x) + 0 = l(x) + l(λ ), ∀x ∈∑
Trang 28∙ Giả sử P(y) là đúng ta phải chứng minh P(ya) đúng với mọi a ∈ ∑ tức làl(xya) = l(x) + l(ya) Theo định nghĩa độ dài xâu ta có :
l(xya) = l(xy) + 1 và l(ya) = l(y) + 1Theo giả thiết của quy nạp l(xy) = l(x) + l(y) ta có
l(xya) = l(x) + l(y) + 1 = l(x) + l(ya)
3.3 Các thuật toán bằng đệ quy
Định nghĩa 1.3.9 (Thuật toán đệ quy) Một thuật toán gọi là đệ quy nếu nó giải
bài toán bằng cách rút gọn liên tiếp bài toán ban đầu tới bài toán cũng như vậynhưng có dữ liệu đầu vào nhỏ hơn
Ví dụ 1.3.10 Tìm thuật toán đệ quy tính giá trị an với a ̸= 0 và n ∈ N
Giải Ta xây dựng thuật toán đệ quy nhờ định nghĩa đệ quy của an đó là
∙ an = 0 với n = 0
∙ an+1= a.an với n ̸= 0
Vậy để tính an ta quy về các trường hợp mũ n nhỏ hơn cho tới khi n = 0 Xemthuật toán dưới đây
Thuật toán 1 : Thuật toán đệ quy tính an
Procedure power(a : số thực khác không, n số nguyên không
Định nghĩa đệ quy biểu diễn giá trị của hàm số tại một số nguyên qua giá trị của
nó tại các số nguyên nhỏ hơn Điều này có nghĩa là ta có thể xây dựng một thuậttoán đệ quy tính giá trị của hàm được định nghĩa đệ quy tại một điểm nguyên
Trang 29Ví dụ 1.3.11 Hàm đệ quy sau đây cho ta giá trị của n! với n nguyên dương.
Thuật toán 2 : Thủ tục đệ qui tính giai thừa
Function giaithua(n nguyên dương)
Trang 30Có cách khác tính hàm giai thừa của một số nguyên từ định nghĩa đệ quy của nó.Thay cho việc lần lượt rút gọn việc tính toán cho các giá trị nhỏ hơn, chúng ta cóthể xuất phát từ giá trị của hàm tại 1 và lần lượt áp dụng định nghĩa đệ quy để tìmgiá trị hàm tại các số nguyên lớn dần Đó là thủ tục lặp Nói cách khác để tìm n!
ta xuất phát từ 1! = 1, tiếp theo lần lượt nhân các số nguyên cho tới khi bằng n.Điều đó thể hiện qua thuật toán sau :
Thuật toán 3 : Thủ tục lập tính giai thừa
Producer giaithua( n nguyên dương)
Giả sử rằng chúng ta đã thiết kế được một thuật toán để giải một bài toán nào
đó và đã viết chương trình để thể hiện ra nó Liệu ta có thể tin chắc rằng chươngtrình luôn cho lời giải đúng ? Sau khi tất cả sai sót về cú pháp được loại bỏ, chúng
ta có thể thử chương trình với các đầu vào mẫu Tuy nhiên, ngay cả khi chươngtrình cho kết quả đúng với tất cả đầu vào mẫu, do ta không chắc rằng có thể kiểmtra tất cả đầu vào mẫu, chương trình có thể sai trong một số trường hợp Chúng
ta cần chứng minh rằng chương trình luôn luôn cho đầu ra đúng
∙ Phần thứ hai chứng tỏ chương trình luôn kết thúc
Để định rõ thế nào là một chương trình cho thông tin ra đúng, người ta dùnghai mệnh đề sau :
1 Thứ nhất là khẳng định đầu, nó đưa ra những tính chất mà thông tin đầu vàocần phải có
Trang 312 Thứ hai là khẳng định cuối, nó đưa ra những tính chất mà thông tin đầu racần phải có.
Khi kiểm tra chương trình cần chuẩn bị các khẳng định đầu và khẳng định cuốithích hợp
Định nghĩa 1.3.12 Chương trình (hay đoạn chương trình) S gọi là đúng đắn bộ
phận đối với khẳng định đầu p và khẳng định cuối q, nếu p là đúng với các giátrị vào của S và nếu S kết thúc thì q đúng với các giá trị ra của S
Kí hiệu p{S}q có nghĩa là chương trình (hay đoạn chương trình) S là đúng đắn
bộ phận với khẳng định đầu p và khẳng định cuối q
Chú ý : khái niệm đúng đắn bộ phận không đề cập tới việc chương trình có kết
thúc hay không Nó chỉ nhằm kiểm tra xem chương trình có làm được việc mà nócần làm hay không
(e) A = {n ∈ N, 10 < n < 50, n là bội số của 2 và 3}
(f) Tập hợp A các số chính phương không vượt quá 100
2;
9
4; −
278
Trang 32Bài 5 Chứng minh rằng với n ∈ N* ta có các đẳng thức :
(a) 2 + 5 + 8 + · · · + 3n − 1 = n(3n + 1)
2(b) 1
2(n + 1)24Bài 6 Chứng minh rằng với n ∈ N* ta có :
(a) n3+ 3n2+ 5n chia hết cho 3
1 −19
n+ 1+
1
n+ 2+ · · · +
12n >
1324
(b) B =
−1,83
(c) A = {2, 3, 4, 5}
Bài 2 Học sinh tự giải
Bài 3 Học sinh tự giải
Bài 4 Học sinh tự giải
Bài 5 Học sinh tự giải
Bài 6 Học sinh tự giải
Bài 7 Học sinh tự giải
Trang 34tử của một tập hợp mà không cần đếm trực tiếp.
1.1.1 Nguyên lý cộng
Một công việc nào đó có thể thực hiện theo một trong hai phương án
A hoặc B Nếu phương án A có m cách thực hiện , phương án B có ncách thực hiện và không trùng với bất kì cách nào trong phương án Athì công việc đó có m + n cách thực hiện
Ví dụ 2.1.1 Từ thành phố A tới thành phố B có 3 con đường thủy và 2 con đường
bộ Hỏi có tất cả mấy cách đi từ A tới B ?
Trang 35Giải Để đi từ thành phố A tới thành phố B ta có 2 phương án đi hoặc đi bằng
đường thủy hoặc đi bằng đường bộ:
∙ Nếu đi bằng đường thủy ta có 3 cách đi
∙ Nếu đi bằng đường bộ ta có 2 cách đi
Và 2 phương án này độc lập nhau Vậy theo nguyên lý cộng ta có tất cả là
Ví dụ 2.1.2 Trong một hộp chứa sáu quả cầu trắng đánh số từ 1 đến 6 và ba quả
cầu đen đánh số 7, 8, 9 Có bao nhiêu cách chọn một trong các quả cầu ấy ?
Giải Vì các quả cầu được đánh số phân biệt nên khi lấy một quả cầu bất kì có
hai khả năng : đen hoặc trắng
∙ Quả cầu đen : 3 khả năng
∙ Quả cầu trắng : 6 khả năng
Vậy theo qui tắc cộng có tất cả : 6 + 3 = 9 (cách) g
Định nghĩa 2.1.3 (Lực lượng của tập hợp) Lực lượng của một tập hữu hạn A là
số phần tử của tập A Kí hiệu là n(A) hoặc |A|
Ví dụ 2.1.4 Cho A = {1, 2, 3, 4}, tập B = {1, a, 2, 6, b, f } Lực lượng của A là
Nguyên lý cộng cho nhiều hành động được phát biểu như sau :
Một công việc có thể thực hiện theo một trong k phương án A1, A2, , Ak
Có n1 cách thực hiện phương án A1, có n2 cách thực hiện phương án
A2, có nk cách thực hiện phương án Ak Khi đó công việc có thểthực hiện theo n1+ n2+ · · · + nk cách
Trang 361.2 Nguyên lý nhân
1.2.1 Nguyên lý nhân
Một công việc nào đó có thể bao gồm 2 công đoạn A và B Nếu côngđoạn A có m cách thực hiện và ứng với mỗi cách đó có n cách thựchiện công đoạn B thì công việc đó có m.n cách thực hiện
Ví dụ 2.1.5 Từ Hà Nội đến Huế có 3 cách đi : máy bay, ô tô, tàu hỏa Từ Huế đến
Sài Gòn có 4 cách đi: máy bay, ô tô, tàu hỏa, tàu thủy Hỏi có bao nhiêu cách đi
Hà Nội – Huế - Sài Gòn?
Giải Ta có thể xem việc đi Hà Nội – Huế - Sài Gòn như một công việc tiến
hành theo 2 giai đoạn liên tiếp nhau :
∙ Giai đoạn 1 : đi từ Hà Nội đến Huế : có 3 cách đi
∙ Giai đoạn 2 : từ Huế đến Sài Gòn : ứng với mỗi cách đi ở giai đoạn 1 ta đều
có 4 cách để hoàn thành giai đoạn 2
Vậy theo nguyên lí nhân có tất cả : 3.4 = 12 cách đi Hà Nội – Huế - Sài Gòn g
Ví dụ 2.1.6 Có bao nhiêu số tự nhiên có 3 chữ số khác nhau có thể được tạo
thành từ các chữ số 5, 6, 7, 8, 9 ?
Giải Số cần lập có dạng : a1a2a3 (a1̸= 0) , để lập được số như thế ta thực hiệncác giai đoạn sau :
∙ Chọn a1 : Chọn 1 trong 5 số nên có : 5 cách chọn
∙ Chọn a2 : do a1 ̸= a2 nên ứng với mỗi cách chọn a1 có 4 cách chọn a2
∙ Chọn a3 : do a1 ̸= a2̸= a3 nên ứng với mỗi cách chọn a2có 3 cách chọn a3Vậy theo nguyên tắc nhân có tất cả : 5.4.3 = 60 số thỏa yêu cầu bài toán g
Nguyên lý nhân cho nhiều công đoạn được phát biểu như sau :
Một công việc thực hiện theo k công đoạn A1, A2, , Ak Công đoạn
A1 có n1 cách thực hiện , công đoạn A2 có n2 cách thực hiện, côngđoạn Ak có nk cách thực hiện Khi đó công việc có thể thực hiện theo
n1· n2· · · nk cách
Trang 371.3 Nguyên lý bù trừ
Nguyên lý bù trừ hay còn gọi là nguyên lý cộng tổng quát cho hai tập hợp hữuhạn A và B được phát biểu như sau
n(A ∪ B) = n(A) + n(B) − n(A ∩ B)
Nguyên lý này được lý giải như sau: tập A và B có thể có phần chung, khi đó cóthể có phần tử được đếm hai lần trong n(A) và n(B) nên cần trừ đi một lần trongn(A ∩ B)
Ví dụ 2.1.7
∙ Cho tập A = {a, b, c, 1, 2, 3} có 6 phần tử n(A) = 6
∙ Cho tập B = {a, 1, d} có 3 phần tử n(B) = 3
∙ Tập A ∩ B = {a, 2} có hai phần tử n(A ∩ B) = 6 Do đó
n(A ∪ B) = n(A) + n(B) − n(A ∩ B) = 6 + 3 − 2 = 7
Ví dụ 2.1.8 Trong hồ sơ đăng kí học nộp vào trường có 212 học sinh đăng kí
nghề Quản trị mạng và 80 học sinh đăng kí nghề May thời trang, trong đó có 10học sinh đăng kí cả 2 nghề Quản trị mạng và May thời trang Hỏi nghề Quản trịmạng và May thời trang có bao nhiêu học sinh đăng kí?
Giải Kí hiệu A, B là tập hợp sinh viên đăng kí nghề Quản trị mạng và May thời
trang Khi đó n(A ∪ B) là số học sinh đăng kí hai nghề Ta có:
n(A) = 212, n(B) = 80 và n(A ∩ B) = 10, khi đó
n(A ∪ B) = n(A) + n(B) − n(A ∩ B) = 212 + 80 − 10 = 282
Vậy có tất cả 282 học sinh đăng kí nghề Quản trị mạng và May thời trang g
1.4 Nhắc lại lý thuyết tổ hợp
Định nghĩa 2.1.9 (Hoán vị) Cho tập A gồm n phần tử (n ≥ 1) Mỗi kết quả của
sự sắp xếp thứ tự n phần tử của tập hợp A được gọi là một hoán vị của n phần tửđó
Ví dụ 2.1.10 Cho tập A gồm 3 phần tử : 0, 1, a Các hoán vị của A là : 01a, 0a1,
Trang 38Nhận xét: hai hoán vị của n phần tử chỉ khác nhau ở thứ tự sắp xếp Chẳng hạn
hai hoán vị abc và acb của 3 phần tử a, b, c là khác nhau
Kí hiệu Pnlà số hoán vị của một tập hợp, ta có định lý sau
Định lý 2.1.11 (Số các hoán vị) Số các hoán vị của một tập hợp có n phần tử là
Pn= n(n − 1) 3.2.1 = n!
h
Trong đó kí hiệu n! (đọc là n giai thừa) và được xác định bằng biểu thức
n! = 1.2.3 n(n − 1)(tích liên tiếp các số nguyên từ 1 đến n) Qui ước 0! = 1
Ví dụ 2.1.12 Có bao nhiêu cách sắp xếp 3 bạn A, B,C ngồi vào bàn dài có 3 chỗ
?
Giải Cần sắp xếp 3 bạn vào 3 chỗ vậy mỗi cách sắp là hoán vị của 3 phần tử,
có tất cả P3= 3! = 3.2.1 = 6 cách sắp1 Các hoán vị đó là :
Ví dụ 2.1.13 Có bao nhiêu số có 4 chữ số đôi một khác nhau lập từ các số 2, 6,
7, 9 ?
Giải Mỗi số được thành lập là một hoán vị của 4 phần tử Vậy ta có tất cả :
Định nghĩa 2.1.14 (Chỉnh hợp ) Cho tập A gồm n phần tử (n ≥ 1).Kết quả của
việc lấy k phần tử khác nhau từ n phần tử của tập hợp A và sắp xếp chúng theothứ tự nào đó được gọi là một chỉnh hợp chập k của n phần tử
Ví dụ 2.1.15 Cho tập A gồm 3 phần tử A = {a, b, c} Các chỉnh hợp chập 2 của
3 phần tử của tập A là : ab, ba, ac, ca, bc, ca Có tất cả 6 chỉnh hợp g
Kí hiệu Akn là số chỉnh hợp chập k của n phần tử (1 ≤ k ≤ n) ta có định lý sau
Trang 39Chú ý: mỗi hoán vị n phần tử cũng chính là một chỉnh hợp chập n của n phần tử
đó Vì vậy : Pn= Ann
Ví dụ 2.1.17 Có bao nhiêu số tự nhiên gồm 5 chữ số khác nhau lập từ các chữ số
1, 2, 9 ?
Giải Mỗi số tự nhiên có 5 chữ số khác nhau được lập bằng cách lấy 5 chữ số
khác nhau từ chín chữ số đã cho và xếp theo một thứ tự nhất định Mỗi số như
vậy được coi là một chỉnh hợp chập 5 của 9 Vậy có tất cả : A59= 120 số g
Định nghĩa 2.1.18 (Tổ hợp ) Cho tập A có n phần tử (n ≥ 1) Mỗi tập con gồm
k phần tử của A được gọi là một tổ hợp chập k của n phần tử đã cho
Ví dụ 2.1.19 Cho tập A = {a, b, c} Các tổ hợp chập 2 của 3 phần tử2 của A là :
Chú ý: Số k trong định nghĩa cần thỏa mãn điều kiện 1 ≤ k ≤ n Tuy vậy tập hợp
không có phần từ nào là tập rỗng nên ta qui ước gọi tổ hợp chập 0 của n phần tử
Chứng minh. Mỗi cách sắp thứ tự các phần tử của một tổ hợp chập k của A cho
ta một chỉnh hợp chập k của A Nói cách khác mỗi hoán vị của một tổ hợp chập
k của A cho ta một chỉnh hợp chập k của A, Vậy từ một tổ hợp chập k của A ta
lập được k! chỉnh hợp chập k của A Vậy ta có
Akn= Cnkk!hay Cnk = A
k n
Ví dụ 2.1.21 Cho tập A = {1, 2, 3, 4, 5} Có bao nhiêu tổ hợp chập 3 của 5 phần
tử của A Liệt kê chúng
Giải Có tất cả C53= 5!
3!(5 − 3)!= 10 tổ hợp chập 3 của 5 phần tử của A Chúng là{1, 2, 3} ; {1, 2, 4} ; {1, 2, 5} ; {2, 3, 4} ; {2, 3, 5} ; {3, 4, 5} ; {1, 3, 4} ; {1, 3, 5} ; {3, 4, 5}
; {1, 3, 4} , {1, 3, 5} ; {2, 3, 4} , {1, 4, 5} g
2 Số tập con có 2 phần tử lập từ A.
Trang 40Ví dụ 2.1.22 Một tổ có 10 người gồm 6 nam và 4 nữ Cần lập một đoàn đại biểu
gồm 5 người Hỏi :
(a) Có bao nhiêu cách lập ?
(b) Có bao nhiêu cách lập đoàn dại biểu trong đó có 3 nam, 2 nữ ?
Định lý 2.1.23 (Nguyên lý Dirichlet) Nếu đem xếp nhiều hơn n đối tượng vào
trong n cái hộp thì luôn tìm được một cái hộp chứa không ít hơn 2 đối tượng. h
Ví dụ 2.1.24 Nếu đem nhốt 10 con chim bồ câu vào cái 9 chuồng thì luôn có 1
chuồng chứa ít nhất 2 con
g
Hình 2.1: Hình minh họa nguyên lý chuồng bồ câu
3 Peter Gustav Lejeune Dirichlet (1805 – 1859) là nhà toán học người Đức gốc Pháp.
4 “Nếu nhốt hết 5 con thỏ vào 4 cái chuồng thì luôn có ít nhất là hai con thỏ bị nhốt trong cùng một chuồng”