Một bài toán khác trong lý thuyết tổ hợp là việc tạo ra các cách sắp xếp theo một kiểu nào đó.. chơi, tổ hợp đã trở thành ngành toán học phát triển mạnh mẽ, có nhiều ứng dụng trong các l
Trang 1Stt Họ và Tên Công việc Chữ
ký Nhận xét của GV
2 Trương Thị Kim Ngọc Chương II
Trang 2MỤC LỤC Trang
đó là một phần quan trọng của lý thuyết tổ hợp
Một bài toán khác trong lý thuyết tổ hợp là việc tạo ra các cách sắp xếp theo một kiểu nào đó Vấn đề này rất quan trọng trong các mô phỏng máy tính Chúng
ta cũng sẽ đưa ra những thuật toán tạo các cách sắp xếp theo nhiều kiểu khác nhau
Các bài toán tổ hợp có đặc trưng bùng nổ tổ hợp với số cấu hình tổ hợp khổng lồ Việc giải chúng đòi hỏi một khối lượng tính toán khổng lồ (có trường hợp mất hàng chục năm) Vì vậy trong thời gian dài, khi mà các ngành toán học như phép tính vi phân, phép tính tích phân, phương trình vi phân…phát triển như
vũ bảo, thì nó như nằm ngoài sự phát triển và ứng dụng của toán học Tình thế thay đổi từ khi xuất hiện máy tính và sự phát triển của toán học hữu hạn Nhiều vấn đề tổ hợp đã được giải quyết trên máy tính Từ chỗ chỉ nghiên cứu các trò
Trang 3chơi, tổ hợp đã trở thành ngành toán học phát triển mạnh mẽ, có nhiều ứng dụng trong các lĩnh vực toán học phát triển mạnh mẽ, có nhiều ứng dụng trong lĩnh vực toán học, tin học…
Trong lý thuyết tổ hợp, cấu hình tổ hợp nâng cao là phương pháp giúp giải các bài toán đếm nhanh và hiệu quả hơn rất nhiều Nó có nhiều ứng dụng hay trong thực tế và trong tính toán
CHƯƠNG I ĐẠI CƯƠNG VỀ TỔ HỢP
I LỊCH SỬ PHÁT TRIỂN
Có thể nói tư duy tổ hợp ra đời từ rất sớm Vào thời nhà Chu Trung Quốc người ta đã biết tới những hình vuông bí ấn Thời cổ Hi-Lạp, thế kỷ 4 trước Công Nguyên, nhà triết học Kxenokrat đã biết cách tính số các từ khác nhau lập từ bảng chữ cái cho trước Nhà toán học Pitagor và học trò đã tìm ra nhiều số có
tính chất đặc biệt Chẳng hạn 36 không những là tổng 4 số chẵn và 4 số lẻ đầu
tiên, mà còn là tổng lập phương của 3 số tự nhiên đầu tiên
36 = 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 = 1 3 + 2 3 + 3 3
Từ định lý Pitagor người ta cũng đã tìm ra những số mà bình phương của nó
bằng tổng bình phương của 2 số khác Các bài toán như vậy đòi hỏi phải có nghệ
thuật tổ hợp nhất định
Một số bài toán nổi tiếng trong lịch sử:
1 Bài toán tháp Hà Nội
Bài toán này do Edouard Lucas đưa ra vào cuối thế kỷ 19 Bài toán phát
biểu như sau: Có 3 cọc, cọc thứ nhất có n đĩa kích thước khác nhau xếp chồng
nhau, đĩa nhỏ nằm trên đĩa lớn Hãy chuyển các đĩa từ cọc thứ nhất sang cọc thứ
ba, sử dụng cọc trung gian thứ hai, sao cho luôn đảm bảo đĩa nhỏ trên đĩa lớn Hãy đếm số lần di chuyển đĩa Tìm phương án di chuyển đĩa tối ưu
Trang 4Ta có số lần di chuyển là: 2 n – 1 Khi n = 64, ta có số lần di chuyển là :
18 446 744 073 709 551 615
2 Bài toán xếp n cặp vợ chồng
Bài toán này cũng do Lucas đưa ra vào năm 1891 Bài toán phát biểu như
sau : Có n cặp vợ chồng cần xếp vào bàn tròn sao cho không có cặp nào ngồi gần
nhau Có bao nhiêu cách xếp như vậy ?
Từ yêu cầu của bài toán dẫn đến việc nghiên cứu một khái niệm quan
trọng là số phân bố và mãi đến năm 1934 mới có lời giải Số cách xếp là :
2.n ! U n
trong đó Un là số phân bố Ta có bảng giá trị sau nó nói lên sự bùng nổ tổ hợp
ghê gớm của số phân bố
3 Bài toán đường đi quân ngựa trên bàn cờ
Cho bàn cờ vua với kích thước 8 8 = 64 ô Tìm đường đi của quân ngựa qua tất cả các ô, mỗi ô chỉ 1 lần, và quay về ô xuất phát Người ta chứng minh
Trang 516 19 34 61 40 57 10 23
4 Hình vuông la tinh
Hình vuông la tinh cấp n là hình vuông gồm các số 1, 2, 3, … , n - 1, n
thỏa mãn tổng mỗi hàng và tổng mỗi cột đều bằng nhau và bằng:
(ln là số hình vuông la tinh chuẩn cấp n)
II SƠ LƯỢC VỀ TOÁN HỌC TỔ HỢP
Qua các bài toán trên ta thấy bài toán tổ hợp rất đa dạng, liên quan tới nhiều lĩnh vực khoa học và đời sống khác nhau Nói một cách tổng quát thì lý thuyết tổ hợp nghiên cứu việc phân bố, sắp xếp các phần tử của một hoặc nhiều tập hợp, thỏa mãn một số điều kiện nào đó Mỗi cách phân bố, sắp xếp như thế gọi là một cấu hình tổ hợp
1 Cấu hình tổ hợp
Cho các tập hợp A1 , …, A n Giả sử S là sơ đồ sắp xếp các phân tử của A 1 ,
…, A n được mô tả bằng các quy tắc sắp xếp và R1 , …, R m là các điều kiện ràng buộc lên mỗi sắp xếp theo sơ đồ S Khi đó mỗi sắp xếp các phần tử của A1 , …, A n
Trang 6thỏa mãn các điều kiện R1 , …, R m gọi là một cấu hình tổ hợp trên các tập A1 , …,
A n
2 Bài toán tổ hợp
2.1 Bài toán tồn tại
Mục tiêu của bài toán tồn tại là chứng minh sự tồn tại hoặc không tồn tại của cấu hình tổ hợp nào đó Có nhiều bài toán loại này rất khó và việc cố gắng giải chúng đã thúc đẩy nhiều hướng nghiên cứu toán học
Ví dụ Cho n là số nguyên dương
A là tập hợp n x n điểm: A = { [i, j] | i, j = 1, , n }
S là tập hợp 2n điểm trong A
R là điều kiện không có 3 điểm trong S thẳng hàng
Với 2 ≤ ≤n 15 cấu hình tổ hợp tồn tại Nhưng bài toán vẫn chưa có lời giải với
n>15.
2.2 Bài toán đếm
Nội dung bài toán đếm là trả lời câu hỏi “Có bao nhiêu cấu hình tổ hợp thuộc dạng đang xét” Phương pháp đếm cấu hình thường dựa vào một số quy tắc, nguyên lí đếm và phân rã đưa về các cấu hình tổ hợp đơn giản Khi việc xác định chính xác số cấu hình tổ hợp gặp khó khăn, có thể ước lượng cận trên và cận dưới của nó Bài toán đếm được áp dụng vào những công việc như tính xác suất hay tính độ phức tạp thuật toán
Ví dụ Đếm số nghiệm nguyên dương của phương trình: x + y +z = 10.
2.3 Bài toán liệt kê
Các bài toán loại này nghiên cứu những thuật toán hiệu quả để xây dựng tất
cả các cấu hình tổ hợp đã cho Nhiều vấn đề trong các lĩnh vực khác nhau thường được đưa về bài toán liệt kê và kiểm tra xem các cấu hình tổ hợp có thỏa mãn tính chất cho trước hay không ?
Ví dụ Liệt kê tất cả các hoán vị của n phần tử.
2.4 Bài toán tối ưu tổ hợp
Trang 7Trong nhiều vấn đề, một cấu hình tổ hợp được gán một giá trị bằng số (chẳng hạn như hiệu quả sử dụng hay chi phí thực hiện ) Khi đó bài toán tối ưu
tổ hợp nghiên cứu những thuật toán tìm cấu hình tổ hợp có giá trị tối ưu (lớn nhất hoặc nhỏ nhất)
3 Một số nguyên lí cơ bản
3.1 Nguyên lý nhân
Giả sử một cấu hình tổ hợp được xây dựng qua k bước, bước 1 có thể được thực hiện n1 cách, bước 2 có thể được thực hiện n2 cách, …, bước k có thể được thực hiện nk cách Khi đó số cấu hình tổ hợp là
Định nghĩa Một chỉnh hợp lặp chập k của n phần tử khác nhau là một bộ
có thứ tự gồm k thành phần lấy từ n phần tử đã cho Các thành phần có thể được
lặp lại
Một chỉnh hợp lặp chập k của n có thể xem như một phần tử của tích Đề - các X k,
với X là tập n phần tử Như vậy số tất cả các chỉnh hợp lặp chập k của n là:
AR(n,k) = n k
Ví dụ 1 Tính số các dãy nhị phân có độ dài n:
Mỗi dãy nhị phân có độ dài n là một bộ có thứ tự gồm n thành phần được chọn trong tập {0, 1} Do đó số dãy nhị phân có độ dài n là: 2 n
Ví dụ 2
Biển số ô tô có 6 chữ cái và 2 chứ cái đầu tiên trong 26 chữ cái (không dùng
chữ O và I) Hỏi số ô tô được đăng ký nhiều nhất là bao nhiêu?
Giải
Gọi X là tập hợp các chữ cái nằm trong bảng đăng ký., suy ra X có 24 phần tử (Vì không dùng chữ O và I) Vì vậy ta có AR(24, 2) = 24 2 cách chọn 2 chữ số đầu tiên Gọi Y là tập hợp các chữ số dùng tỏng bản đăng ký, suy ra Y có 10 phần tử
Trang 8Vì vậy có AR(10, 6)= 10 6 cách chọn 6 chữ số Do đó theo quy tắc nhân có tất cả
242 106 biển số ô tô
4.2 Chỉnh hợp không lặp
Định nghĩa Một chỉnh hợp không lặp chập k của n phần tử khác nhau là
một bộ có thứ tự gồm k thành phần lấy từ n phần tử đã cho Các thành phần không
được lặp lại
Một chỉnh hợp không lặp chập k của n có thể được xây dựng qua k bước kế
tiếp như sau:
Ví dụ 1 Có 10 vận động viên thi chạy Hỏi có bao nhiêu cách dự đoán các vận
động viên về nhất, nhì, ba Biết rằng các vận động viên đều có cùng khả năng
Giải.
Số cách dự đoán là số cách chọn có thứ tự 3 trong 10 vận động viên
A(10, 3) =10.9.8=720 cách dự đoán.
Ví dụ 2
Có bao nhiêu số có 4 chữ số được tạo thành từ các chữ số 0, 1, 2, 3,4, 5 thoả
mãn không chữ số nào được lặp lại?
Trang 9Định nghĩa Một tổ hợp chập k của n phần tử khác nhau là một bộ không
kể thứ tự gồm k thành phần khác nhau lấy từ n phần tử đã cho Nói cách khác ta
có thể coi một tổ hợp chập k của n phần tử khác nhau là một tập con có k phần tử
a Có n đội thi đấu vòng tròn Hỏi phải tổ chức bao nhiêu trận đấu?
b Có bao nhiêu xâu nhị phân độ dài 32 mà trong đó có đúng 6 số 1?
Trang 10CHƯƠNG II CẤU HÌNH TỔ HỢP NÂNG CAO
1 Hoán vị lặp
Định nghĩa Hoán vị lặp là hoán vị trong đó mỗi phần tử được ấn định số
lần lặp lại cho trước
Định lý Số hoán vị lặp của k phần tử khác nhau trong đó số phần tử thứ
Hệ quả Giả sử tập S có n phần tử khác nhau, trong đó có n1 phần tử kiểu 1, n2
phần tử kiểu 2, , nk phần tử kiểu k Khi đó số các hoán vị n phần tử của tập S là
1 n n k
n
n
Ví dụ Có thể nhận được bao nhiêu xâu khác nhau bằng cách sắp xếp lại các chữ
cái của từ SUCCESS?
Giải.
Vì một số chữ cái của từ SUCCESS là như nhau nên câu trả lời không
phải là số hoán vị của 7 chữ cái được Từ này chứa 3 chữ S, 2 chữ C, 1 chữ U và
1 chữ E Để xác định số xâu khác nhau có thể tạo ra được ta nhận thấy có C(7,3)
Trang 11cách chọn 3 chỗ cho 3 chữ S, còn lại 4 chỗ trống Có C(4,2) cách chọn 2 chỗ cho
Định nghĩa Tổ hợp lặp chập k từ n phần tử khác nhau là một nhóm không
phân biệt thứ tự gồm k phần tử trích từ n phần tử đã cho, trong đó các phần tử có
Ví dụ 1.
Giả sử ta có 3 quyển sách: Toán, Lí, Hóa và mỗi quyển có ít nhất có 6 bản photocopy Hỏi có bao nhiêu cách chọn ra 6 quyển?
Giải.
Bài toán đặt ra là chọn 6 phần tử, không kể thứ tự và cho phép lặp lại Mỗi
cách chọn sách được xác định duy nhất bởi số lượng của mỗi loại sách Ta có thể biểu diễn mỗi cách chọn sách như sau:
Toán Lí Hóa
Trang 12Trong đó 6 dấu x chỉ quyển sách chọn và hai dấu gạch đứng chỉ phân cách giữa giữa các loại sách Như vậy mỗi cách chọn sách tương ứng chọn 2 vị trí trong 8 vị trí để đặt 2 dấu gạch | tức là tổ hợp chập 2 từ 8 phần tử Suy ra số cách chọn sách là: C(8, 2) = 28
Ví dụ 2 Tìm số bộ nghiệm không âm của phương trình: x1 + x 2 + x 3 = 11.
Giải.
Mỗi bộ nghiệm nguyên không âm của phương trình tương ứng với một cách
chọn 1 phần tử của 1 tập có 3 loại sao cho có :
Định nghĩa Cho X là tập n phần tử khác nhau, r≤ n và S⊂ X có r phần
tử Một phân hoạch {S1 , S 2 , , S k} có thứ tự của S gọi là một phân hoạch thứ tự
tổ hợp chập r của X Nếu r = n, thì gọi là phân hoạch thứ tự của X.
Cho các số nguyên dương n1 , n 2 , , n k thoả n1+ + + =n2 n k r Số các phân hoạch thứ tự tổ hợp chập r của X dạng {S1 , S 2 , ., S k} có
S =n S =n S =n được ký hiệu là C(n; n1 , n 2 , , n k) Một cấu hình tổ
hợp kiểu này được xây dựng qua các bước như sau
Bước 1: Chọn n1 phần tử từ X cho S1, có C(n, n1) khả năng.
Bước 2: Chọn n2 phần tử từ X \S1 cho S2, có C(n− n 1 , n 2) khả năng.
1 n n n r n
n
k − = P(n; n1 , n 2 , , n k , n−r)
Trang 131 n n n r n
n
k − = P(n, n1 , n 2 , , n k , n−r) C(n; n1 , n 2 , , n k ) được gọi là hệ số đa thức.
Ví dụ.
Có 17 sinh viên đi dạ hội bằng 5 xe khác nhau theo thứ tự có số chỗ ngồi
tương ứng là 4, 3, 3, 4, 1 Hãy xác định số cách chở 17 sinh viên bằng 5 xe, trong
đó có 2 sinh viên phải đi bằng phương tiện khác?
= 8 576 568 000.
4 Phân hoạch không thứ tự
Định nghĩa Cho X là tập n phần tử khác nhau, các số nguyên dương n1 ,
n 2 , , n k và p1 , p 2 , , p k thoả
n 1 p 1 + n 2 p 2 + + n k p k = n Một hệ thống các tập con của X gồm p1 tập lực lượng n1, p2 tập lực lượng
n 2, , pk tập lực lượng nk gọi là phân hoạch không thứ tự của X.
;
2 1
2 2 1 1
k
k k p p p
n n n n n n n C
= ( ) ( ) ( )p k
k k p p
n p n
p n p
n
!
!
2 2 1 1
(trong tử số C n n( ; , , , , , , , , ,1 n n1 2 n2 n k n k), số n1 lặp lại p1 lần, số n2 lặp lại p2 lần, , số nk lặp lại pk lần).
Trang 14(i) Số cách chia 12 sinh viên vào 3 lớp học buổi sáng, buổi chiều và buổi tối,
mỗi lớp 4 sinh viên là
C(12; 4, 4, 4) = ( )3
!4
!12
(phân hoạch thứ tự)
(ii) Số cách chia 12 sinh viên thành 3 nhóm, mỗi nhóm 4 sinh viên là
!3
)4,4,4
;12(
C
= ( )4! 3!
!123(phân hoạch không thứ tự)
Trang 15CHƯƠNG III ỨNG DỤNG
I CẤU HÌNH TỔ HỢP CƠ BẢN
Bài toán 1 Bài toán đếm cách xếp chỗ
1 Một tổ sinh viên có 7 nam và 5 nữ xếp thành hàng dọc Hỏi có bao nhiêu
cách xếp hàng để không có hai sinh viên nữ đứng gần nhau?
Giải Mỗi cách xếp hàng tương ứng với một hoán vị của 7 (SV nam A1, A2, ,A7) và một chỉnh hợp chập 5 (SV nữ) của 8 (khoảng trống ký hiệu bằng
Giải Xếp m phần tử của tập A lên hàng ngang có : m! cách Để các phần
tử của tập B không đứng cạnh nhau ta xếp các phần tử của tập B vào khoảng giữa các phần tử của tập A và 2 đầu Có tổng cộng m + 1 vị trí nên số cách xếp là: A(m+1, n).
n > m+1: Không có cách sắp xếp
n < m+1 hoặc n = m+1 Theo quy tắc nhân ta có m! A(m+1,n)
Trang 162 Có bao nhiêu cách xếp k bit 0 và m bit 1 trên hàng ngang sao cho không
có 2 bit 0 kề nhau?
Giải Các bit 0 được xếp chen vào m +1 khoảng trống giữa các bit 1
Như vậy ta có số cách xếp là:
C(m +1,k).
Chú ý rằng để có lời giải phải thoả m ≥ k
3 Có bao nhiêu cách xếp k bit 0 và m bit 1 trên vòng tròn được đánh số từ
1 đến m +k (vị trí m+k kề với vị trí 1) sao cho không có 2 bit 0 kề nhau?
Giải
Cố định vị trí 1 Ta có 2 trường hợp.
• Trường hợp vị trí 1 là bit 0 Lúc này phải xếp bit 1 vào vị trí 2 và
vị trí m+k Ta còn m−2 bit 1 và k−1 bit 0 và quay lại bài toán trên Như vậy số
cách xếp trong trường hợp này là :
C m− k−
• Trường hợp vị trí 1 là bit 1 Ta còn m−1 bit 1 và k bit 0 và quay lại
bài toán trên Như vậy số cách xếp trong trường hợp này là:
Chú ý rằng để có lời giải phải thoả m ≥ k
Bài toán 2 Bài toán đếm số đường đi
Bài 1 Xét một bảng hình chữ nhật gồm m n ô vuông Hỏi có bao nhiêu đường đi khác nhau từ nút (0, 0), đến nút (n, m) nếu chỉ cho phép đi trên cạnh các
ô vuông theo chiều sang phải hoặc lên trên
Giải
Mỗi đường đi gồm m + n đoạn, trong đó có m đoạn lên trên, và n đoạn sang phải Tương ứng tổ hợp chập m (lên trên) từ m + n phần tử Hai đường đi khác
nhau bởi sự luân phiên của các đoạn đứng và đoạn ngang Vậy số đường đi là:
C(n+m, m) Sau đây là một đường đi từ nút (0, 0) đến nút (n, m):
Trang 17Bài 2 Cho lưới các ô
vuông kích thước n x n Các đường đi từ nút (0, 0) đến (n, n) gọi là tốt nếu nó không vượt lên trên đường chéo chính Các đường khác gọi là xấu Hãy đếm số
Trang 18Số Gn gọi là số Catalan (mang tên nhà toán học Bỉ Eugene
Catalan,1814−1894)
Bài toán 3 Bài toán phân phối
1 Có bao nhiêu cách phân phối n quả cầu giống nhau và m hộp phân biệt ?
Giải.
• TH1 Nếu hộp nào cũng có quả cầu, khi đó điều kiện n m≥
Ta biểu diễn n quả cầu A liên tiếp có n-1 vạch phân chia.
A A A− − − − −A A Mỗi cách phân phối là một cách chọn m-1 vạch từ n-1 vạch.
Giải Ta chứng minh bằng quy nạp.
Gọi L k n k( , ) là số cách chia k.n vật thành k nhóm, mỗi nhóm có n vật
Trang 19Rõ ràng số cách xếp nhóm đầu tiên là C k n n( , ).
Số vật còn lại là k.n – n được chia thành k -1 nhóm, mỗi nhóm có n vật Số
cách chia đó là: L k n n k( − , −1).
Vậy ta có công thức truy hồi: L k n k( , )=C k n n L k n n k( , ) ( − , −1).
Tiếp tục như vậy đến khi còn 2n vật, thì số cách chia 2n vật thành 2 nhóm, mỗi nhóm có n vật là C n n(2 , ) cách Cuối cùng, chỉ còn n vật để chia thành 1
Bài toán 4 Số cách phân chia n đồ vật khác nhau vào trong k hộp khác nhau sao
cho có ni vật được đặt vào trong hộp thứ i, với i = 1, 2, , k bằng
!5
!3
!
4
!18
= 514 594 080
Bài toán 5 Có bao nhiêu cách sắp xếp 7 người ngồi quanh một bàn tròn có 10
chiếc ghế?
Giải