Nguyên lý cộng: Giả sử phải thực hiện một công việc và để thực hiện công việc đó, có thể chọn một Biện pháp thứ nhất có n cách thực hiện, Biện pháp thứ hai có m cách thực hiện... M
Trang 1Toán rời rạc
(Discrete Mathematics)1
Trang 2Các vấn đề sẽ học trong môn Toán rời rạc
2 Kỷ thuật đếm cơ bản
Kỷ thuật đếm nâng cao
Phương pháp liệt kê
Các khái niệm về đồ thị
Cách biểu diễn đồ thị trên máy tính
Thuật toán tìm đường đi ngắn nhất và cây phủ nhỏ nhất
Bài toán luồng cực đại trên mạng
Đại số mệnh đề Các chương trình trong bài học sẽ được cài đặt trên ngôn ngữ C
Trang 33 Làm bài tập về nhà (thường 2 bài trên một buổi học)
Chuyên cần (sẽ điểm danh nếu thấy cần thiết)
Thi giữa kỳ
Thi cuối kỳ
Tài liệu tham khảo
[1] Kenneth H Rosen Toán Rời Rạc ứng dụng trong tinhọc NXB Khoa Học và Kỹ Thuật, 1998
[2] Nguyễn Đức Nghĩa, Nguyễn Tô Thành Toán RờiRạc NXB Giáo Dục, 1999
mathematics and its applications, 1999
Trang 6 Nguyên lý nhân: Giả sử phải thực hiện một thủ tục
gồm hai công việc kế tiếp nhau.
Để thực hiện công việc thứ nhất có n1 cách,
Ứng với mỗi cách thực hiện công việc thứ nhất có n2
cách thực hiện công việc thứ hai
Vậy, có số cách thực hiện thủ tục đó là n1 x n2.
Nguyên lý cộng: Giả sử phải thực hiện một công
việc và để thực hiện công việc đó, có thể chọn một
Biện pháp thứ nhất có n cách thực hiện,
Biện pháp thứ hai có m cách thực hiện.
Vậy, số cách thực hiện công việc là n + m
Trang 7của tích Descartes của các tập hợp trên bằng tích của các
số lượng phần tử của các tập hợp trên:
Cơ sở của nguyên lý cộng? (mối liên hệ )
Nếu A1, A2, , An là các tập hợp hữu hạn rời nhau từng
đôi một, thì số phần tử hội của các tập hợp trên bằng
tổng của các số lượng phần tử trong mỗi tập hợp:
|A 1 A 2 … A m |= |A 1 | х|A 2 |х, …,х|A m |
|A 1 A 2 … A m |= |A 1 |+|A 2 |+ …+|A m |
Trang 8Ghế ngồi trong một hội trường sẽ được ghi nhãn gồm
một mẫu ký tự và một số nguyên dương không lớn
hơn 100 Hỏi số ghế tối đa có thể được ghi nhãn khác nhau là bao nhiêu?
Lời giải.
Thủ tục ghi nhãn cho một ghế gồm 2 việc: ghi một trong 26 mẫu tự và kế tiếp là ghi một trong 100 số nguyên dương.
Qui tắc nhân cho thấy có 26 x 100 = 2600 cách khác
nhau để ghi nhãn cho một ghế ngồi.
Vây, số ghế tối đa có thể được ghi nhãn khác nhau là
Trang 9phải qua vị trí B Để đi từ A đến B ta có 2 cách đi khác
nhau, và có 3 cách đi từ B đến C Hỏi có bao nhiêu cách
để đi từ A đến C ?
Lời giải
Một cách đi từ A đến C gồm 2 việc: đi từ A đến B, rồi đi từ
B đến C Việc thứ nhất (đi từ A đến B) có 2 cách thực hiện,việc thứ hai có 3 cách thực hiện vậy, theo nguyên lý nhân,
số cách đi từ A đến C là 2 x 3 = 6.
A
Trang 10Vậy, qui tắc nhân cho phép ta kết luận rằng có 28
= 256 chuỗi bit có độ dài 8.
Hỏi có bao nhiêu xâu bit khác nhau có độ dài n ?
Trang 11Lời giải: Một ánh xạ đi từ tập A gồm m phần tử
vào một tập B gồm n phần tử tương ứng với việc
chọn lựa một trong n phần tử của B cho mỗi phần
tử của A Do đó, theo qui tắc nhân, có n.n .n =
n mũ m ánh xạ từ A vào B.
Trang 12 khi m > n thì không có một đơn ánh nào.
m <= n Giả sử các phần tử trong miền xác định của
ánh xạ là a1, a2,…,am
Có n cách chọn ảnh qua ánh xạ cho phần tử a1
Vì ánh xạ là đơn ánh nên đối với phần tử a2 ta chỉ có
n-1 cách chọn ảnh tương ứng (do giá trị ảnh được
chọn cho a1 không thể được chọn lại cho a2)
Tổng quát, giá trị ảnh của phần tử ak chỉ có thể được
chọn theo n-k+1 cách
Theo qui tắc nhân, có n.(n-1) .(n-m+1) đơn ánh
Trang 14Số đề tài trong các danh sách lần lượt là 23, 15, 19.
Hỏi sinh viên có bao nhiêu cách chọn một đề tài.
Lời giải:
Sinh viên có thể chọn một đề tài trong danh sách thứ thứ nhất theo 23 cách, trong danh sách thứ hai theo 15 cách, và trong danh sách thứ ba theo 19 cách.
đó số cách chọn đề tài là 23+15+19 = 57.
Trang 15for (inm= 1 ; i2 <= nnm ; inm ++)
k += 1;
Trang 16Ví dụ
17
Ví dụ 10:
Đếm số xâu bít khác nhau có độ dài 1 byte có
hai bit đầu 00 hoặc 11.
Trang 17Ví dụ
18Ví dụ 11:
X= {0,1,2,3,4,5} Hỏi có bao nhiêu số tự nhiên
khác nhau có ba chữ số từ X chia hết cho 2;
Trang 18Ví dụ 12: Một bài kiểm tra trắc nghiệm gồm 10
câu hỏi Có bốn câu trả lời cho mỗi câu hỏi.
? Có bao nhiêu phương án trã lời đối với một sinh
viên giả sữ mỗi câu hỏi sinh viên đều trả lời
4 * 4 * 4 * 4 * 4 * 4 * 4 * 4 * 4 * 4 = 410
? Có bao nhiêu phương án trã lời đối với một
sinh viên giả sữ mỗi câu hỏi sinh viên có thể
Trang 19Ví dụ 13: Một trường đại học danh tiếng có 18
chuyên ngành toán và 325 chuyên ngành khoa
học máy tính
Có bao nhiêu khả năng chọn hai đại diện một
thuộc chuyên ngành toán và một thuộc chuyên
ngành khoa học máy tính?
18*325 = 5850
Có bao nhiêu khả năng chọn một đại diện
mà đại diện đó thuộc chuyên ngành toán hoặc
chuyên ngành khoa học máy tính?
Trang 20Một số bài toán đếm phức tạp hơn
tên của một biến là một chuỗi gồm 1 hoặc 2 ký
tự, mỗi ký tự là mẫu tự hoặc ký số thập lục phân
và không phân biệt giữa chữ in hoa và chữ thường Hơn nữa, một tên biến phải bắt đầu bởi một mẫu tự và tên biến phải khác với 5 chuỗi gồm
2 ký tự đã được dành riêng cho ngôn ngữ Hỏi có bao nhiêu tên biến khác nhau trong BASIC.
Lời giải Đặt V là số tên biến khác nhau trong BASIC,
V1 là số biến gồm một ký tự, và V2 là số biến gồm hai ký tự.Theo qui tắc cộng ta có V = V1 + V2
Trang 21Một số bài toán đếm phức tạp hơn
Ví dụ 15: Mỗi người sử dụng trên một hệ thống
máy tính có một "password" dài từ 6 đến 8 ký tự,
trong đó mỗi ký tự là một chữ in hoa hoặc là một ký
số thập phân Mỗi "password" phải có ít nhất một
ký số Hỏi có bao nhiêu password khác nhau ?
Lời giải Đặt P là số lượng tất cả các
"password", và P6, P7, P8 lần lượt là số các
"password" có độ dài 6, 7, 8 Do qui tắc cộng
ta có P = P6 + P7 + P8.
Để tính P6 cho dễ, ta tính số chuỗi có độ dài
6 gồm các chữ in hoa hay ký số thập phân,
kể cả các chuỗi không có ký số thập phân,
và trừ cho số chuỗi (với độ dài 6) không có
ký số thập phân Theo qui tắc nhân, số chuỗi
gồm 6 ký tự là 36 6 và số chuỗi không có ký số
là 26 6 Suy ra
P6 = 36 6 - 26 6 = 1 867 866 560 Tương tự, ta có thể tính ra được :
P7 = 36 7 - 26 7 = 70 332 353 920.
P8 = 36 8 - 26 8 = 2 612 282 842 880.
Trang 221.2 Nguyên bù trừ
23
Cho A và B là hai tập hữu hạn Khi đó
Giả sử có 2 công việc có thể tiến hành đồng thời Số
thực hiện từng công việc – số cách thực hiện cả hai
Trang 23Ví dụ 1: Một lớp ngoại ngữ Anh-Nga Có 24 sinh viên tiếng Nga, 26 sinh viên tiếng Anh, 15 sinh viên vừa Anh và Nga Hỏi lớp có bao nhiêu sinh viên.
Gọi A là tập các sinh viên tiếng Nga,
B là tập các sinh viên tiếng Anh
|AB| - Số sinh viên vừa tiếng anh vừa tiếng Nga
Khi đó, số sinh viên của lớp là |A B|
Ví dụ
Trang 2425 Ví dụ 2: Đếm số xâu có độ dài 1 byte có 2 bit đầu
00 hoặc 2 bit cuối 11.
Trang 26Lời giải: Gọi Ai = {x thuộc X: x chia hết cho i} i=2,3,4
Theo nguyên lí bù trừ ta có N(A2) + N(A3) + N(A4) –
N(A2^A3) – N(A2^A4) – N(A3^A4) + N(A2^A3^A4) = 25 +
Các số chia hết cho 2, 4 = các số chia hết cho 4 = 12
Các số chia hết cho 3, 4 = các số chia hết cho 12 ( do 3 và
4 nguyên tố cùng nhau) = N/12 = 4
Trang 27 Một số bài toán đếm có thể sử dụng mô hình cây để giải
Có bao nhiêu xâu bít độ dài bằng 4 không chứa hai bit 1
liên tiếp
Trang 281.3 Nguyên lý lồng chim bồ câu
30
Giả sử có một đàn chim bồ câu bay vào chuồng để ngủ Nếu số chim nhiều hơn số ngăn chuồng thì phải
có một ngăn nào đó chứa ít nhất hai con chim.
Nếu 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ừ ⎡ n/k ⎤ vật trở lên.
- Còn được gọi là nguyên lý Dirichlet
- Dùng phản chứng để chứng minh định lý
vật trở lên được đặt vào k hộp, thì ít nhất có một hộp chứa 2 hoặc nhiều hơn hai đồ vật.
Trang 29chuồng để ngũ, thi sẽ tồn tại it nhất một chuồng chứa
13 /12 = 2 con chim bồ câu.
Trang 30Ví dụ: Trong một tháng 30 ngày, một đội bóng đá chơi ít nhất mỗi ngày một trận, nhưng không quá 45 trận Chứng tỏ rằng có một thời gian số ngày liên tiếp, đội bóng phải chơi tất cả 14 trận.
Giải: Gọi ai là số trận mà đội bóng đã chơi từ đầu tháng cho
đến ngày thứ i (i=1…30).
1a1<a2< <a29<a3045
15a1+14<a2+14< <a29+14<a30+1459.
a1,a2 a29,a30 và a1+14,a2+14, ,a29+14,a30+14
tất cả 60 số đều bé hơn 59 theo nguyên lý có 2 trong
số các số nguyên này bằng nhau.
Trang 331.4 Cấu trúc tổ hợp cơ cơ bản
35
1.4.3 Hoán vị: Cho tập X gồm n phần tử, |X|=n.
Một hoán vị của X là một cách sắp xếp n phần tử của X.
Trang 341.4 Cấu trúc tổ hợp cơ bản
36
1.4.4 Tổ hợp: Cho tập X gồm n phần tử, |X|=n.
Một tổ hợp chập k của X là một tập con gồm k phần tử của X.
!( , ) n
Trang 35Tính chất cơ bản của tổ hợp
37
!( , )
Trang 37Tam giác Pascal
Trang 38Định lý: Số hoán vị của phần tử n, trong đó có n1 phần tử
giống nhau thuộc loại 1, có n2 phần tử giống nhau thuộcloại 2, ,có nk phần tử giống nhau thuộc loại k, bằng:
1 2
! ( , ) ( , ) ( , )
Ví du: Đếm số cách sắp xếp chữ cái khác nhau từ
chữ cái của từ SUCCESS
1.5.1 Hoán vị của tập có các phần tử giống nhau:
Trang 39b1: Chữ S có thể sắp xếp vào 3 trong 7 vị trí, để lại 4
Trang 425$, 2$ và 1$ Giả sử thứ tự mà các tờ tiền được
chọn là không quan trọng, các tờ tiền cùng loại là
không phân biệt và mỗi loại có ít nhất 5 tờ.
Trang 44Đếm số nghiệm nguyên của phương trình:
x+y+z = 12 với x≥1, y≥-2, z≥3.
Lời giải:
Đặt x'=x-1, y'=y+2, z'=z-3Tương đương
x'+y'+z' = 10 với x'≥0, y'≥0, z'≥0
Vì vậy số nghiệm bằng số tổ hợp lặp chập 10 từ tập
phần tử và bằng C(3+10−1, 10).
Trang 45Không chia hết cho 4?
Chia hết cho 3 hoặc 4?
Không chia hết hoặc 3 hoặc 4?
Chia hết cho 3 nhưng không cho 4?
Chia hết cho 3 và 4?
Trang 467*142 = 994
142 – 15 + 1 = 128
Hoặc:
floor( (999-100+1)/7) = floor (900/7)
Trang 49 Không chia hết cho 3 hoặc 4?
+ Có 450 số chia hết cho 3 hoặc 4
Trang 50[ Tóm lại ]
THAT‟S ALL; THANK YOU
What NEXT?
KỶ THUẬT ĐẾM NÂNG CAO
Thanks for Your Attention!
Trang 51KỸ THUẬT ĐẾM NÂNG CAO
Trang 54Trong một quần thể vi trùng, số lượng cá thể tăng gấp đôi mỗi
giờ Nếu đầu tiên có 5 cá thể, thì sau n giờ số lượng sẽ là bao
Trang 55Định nghĩa đệ quy (quy nạp)
Đệ quy – một quá trình định nghĩa đối tượng theo chính nó.
Đối tượng có thể là một dãy, hàm hoặc tập hợp.
Ý tưởng – xác định các số hạng mới từ các số hạng đã biết.
Quá trình – xác định một vài số hạng đầu trên bước cơ sở và một công
thức để xác định số hạng tiếp theo từ các số hạng đứng trước trên bước đệ quy
Quy nạp toán học có thể được sử dụng để chứng minh kết quả.
phiên bản đơn giản có thể được giải
Có thể giải nếu
Có thể giải nếu
Có thể giải nếu
Trang 57Định nghĩa hệ thức truy hồi
61
Hệ thức truy hồi của dãy {a n } là công thức biểu diễn a n theo
một hay nhiều số hạng đứng trước của dãy, tức là a 0, a 1 ,…, a n-1,
với mọi số nguyên n và n ≥ n 0 , trong đó n 0 là số nguyên không
âm
Một dãy được gọi là nghiệm hay lời giải của hệ thức truy hồi
nếu các số hạng của nó thỏa mãn hệ thức truy hồi đó
a n = 2a n-1
a0 = 5 điều kiện đầu
hệ thức truy hồi Khái niệm
đệ quy
Mọi số hạng của dãy đều có thể tìm được từ các điều kiện đầu
bằng cách sử dụng hệ thức truy hồi qua một số lần cần thiết
Trang 59Xác định xem dãy {a n } trong đó a n = 3n với mọi n nguyên không
âm, có là lời giải của hệ thức truy hồi a n = 2a n-1 – a n-2 đối với n =
Xác định xem dãy {a n } trong đó a n = 5 với mọi số nguyên không
âm n, có là lời giải của hệ thức truy hồi a n = 2a n-1 – a n-2 với n = 2,
Trang 602.2 Mô hình hóa bằng hệ thức truy hồi
− Tính lãi gộp
− Đếm số thỏ trên một hòn đảo
− Xác định số cách dịch chuyển trong trò chơi Tháp
Hà nội Đếm số xâu bít có những tính chất nhất định
Trang 6110 000$
11 % tính gộp hàng năm
30 năm
a n
số tiền có trong tài khoản sau
Trang 62Một đôi thỏ con (một đực & một cái) được thả trên một hòn đảo Giả sử thỏ là loài chưa thể sinh con trước 2 tháng tuổi Sau 2 tháng tuổi, mỗi đôi thỏ mỗi tháng sinh được một đôi thỏ con Tìm hệ thức truy hồi tính số đôi
thỏ có trên đảo sau n tháng, giả thiết thỏ không bao giờ chết
Gọi f n số đôi thỏ trên đảo sau n tháng, thì ;
Số đôi thỏ trên n-2 tháng
Trang 63Đôi tái tạo
Đôi thỏ con
Số đôi thỏ
Trang 64LUẬT TRÕ CHƠI:
− Cho 3 cái cọc được gán nhãn A, B, C và tập các đĩa có kích cỡ
khác nhau;
− Đĩa được bố trí đĩa theo thứ tự dưới to trên nhỏ (1 đến n đĩa) Số
đĩa này được đặt trên cọc A;
− Mục đích: xếp được tất cả đĩa lên cọc C theo đúng thứ tự dưới to trên nhỏ;
− Mỗi lần chuyển chỉ được chuyển một đĩa, mỗi đĩa có thể chuyển
từ cọc này sang cọc khác;
− Mỗi cọc luôn được sắp xếp theo thứ tự dưới to trên nhỏ (dưới
cùng là đĩa lớn nhất cho đến đĩa bé nhất ở trên cùng);
Ví dụ 2.2.3: Tháp Hà nội (tower of Hanoi)
Trang 65MINH HỌA NGHIỆM
Vị trí bắt đầu trên tháp Hà Nội
Vị trí trung gian trên tháp Hà Nội
Trang 66MINH HỌA NGHIỆM
Trang 67Do đó, số lần di chuyển định nghĩa bởi:
Trang 68Tìm hệ thức truy hồi và cho các điều kiện đầu để tính xâu bit độ dài n không chứa hai bit 0 liên tiếp Có bao nhiêu xâu bit như thế có độ dài bằng 6?
Gọi an số các xâu bit độ dài n không có hai bit 0 liên tiếp, thì;
=
+
Từ đó
Với điều kiện đầu;
a1 = 2, cả hai xâu bít có độ dài 1 không có hai bit 0 liên tiêp (0 và 1)
Ví dụ 2.2.4: Xâu bít (bit strings)
Số xâu bít có độ dài n-1 không
có hai bít 0 liên tiếp và có một bít 1 được thêm vào cuối
Số xâu bít có độ dài n-2 không
có hai bít 0 liên tiếp và có hai bít 10 được thêm vào cuối
Trang 692.3 Giải hệ thức truy hồi
Trang 70• Giải hệ thức truy hồi là tìm công thức cho số hạng (an
) mà công thức không biểu diễn qua các số hạng trước nó
• Phương pháp lặp giải hệ thức truy hồi bậc 1 gồm hai
bước:
Bước 1 : dùng công thức truy hồi lặp lại nhiều lần và tìm dạng dự đoán cho số hạng (an).
+ Tiến(Forward): bắt đầu từ (a0) đến (an);
+ Lùi(Backward): bắt đầu từ (an) đến (a0);
Bước 2 : dùng quy nạp toán học để khẳng định tính đúng đắn của công thức.
Phương pháp lặp (iterative method)
Trang 71Dùng phương pháp lặp, dự đoán lời giải của hệ thức truy hồi sau
với điều kiện đầu
2 3
3
0
2 2 2
n n
S S
Trang 72Mục đích: Chứng minh công thức P(n) đúng đối với mọi
giá trị nguyên n ≥ n0
Bước:
1 Chứng minh công thức đúng với n = n0
2 Giả sử công thức đúng với n = k.
3 Chứng minh công thức đúng với n = k + 1.
4 Kết luận: Vì vậy, công thức đúng đối với mọi
Nhắc lại: Quy nạp toán học
Trang 75Số lần chuyển đĩa cho bởi công thức:
Trang 76Một hệ HTTH tuyến tính thuần nhất bậc k hệ số hằng có dạng:
Tuyến tính(linear) : vế phải là tổng của các tích của các số hạng
đứng trước nhân với một hằng số
Thuần nhất(homogeneous): mọi số hạng đều có dạng aj s.
Bậc k (degree k) : an được biểu diễn theo k số hạng đứng
trước của dãy
Hệ số hằng(constant coefficients) : c1, c2,…, ck tất cả đều là
Trang 77Hệ thức truy hồi tuyến tính thuần nhất có hệ số hằng
2 Có thể giải một cách có hệ thống
Ví dụ 2.3.4: Hệ thức truy hồi tuyến
tính thuần nhất
Không thuần nhất Không có hệ sô hằng
Trang 782.3 Giải hệ thức truy hồi
82
• Giải hệ thức truy hồi tuyến tính thuần nhất với hệ số hằng bằng phương trình đặc trưng
Trang 79 Phương pháp cơ bản – tìm nghiệm dạng , trong đó r là
a r
n n
Trang 80Giải HTTH tuyến tính thuần nhất hệ số hằng
A Trường hợp k=1:
(*) trở thành r= c 1 khi đó (1) có nghiệm:
n n
Phương trình đặc trưng là r -1,11 =0 có nghiệm là r =1,11
Nên hệ thức truy hồi có nghiệm là:
Từ điều kiện a0= 10 000 ta có = 10 000 Vậy nghiệm của hệ thức
truy hồi tuyến tính là
Trang 81Giải hệ thức truy hồi tuyến tính thuần nhất hệ
số hằng
B Trường hợp k=2:
(*) trở thành
Người ta chứng minh đươc kết quả sau:
• nếu (*) có hai nghiệm thực phân biệt r1 ,r 2 , thì (1) có nghiệmtổng quát sau:
• nếu (*) có hai nghiệm kép r 0 , thì (1) có nghiệm tổng quát sau:
Trang 82Ví dụ 2.3.4 HTTHTTTN bậc 2
Giải hệ thức truy hồi an = an-1 + an-2 , a0= 0, a1= 1.
1) Tìm nghiệm tổng quát cảu hệ thức truy hồi
Trang 83Ví dụ 2.3.5 HTTHTTTN bậc 2
Giải hệ thức truy hồi: an = 6an-1 - 9an-2 , a0= 1, a1= 6.
1) Tìm nghiệm tổng quát cảu hệ thức truy hồi