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 đó.. Từ chỗ chỉ nghiên cứu các trò chơi, tổ hợp đã trở thành ngành toán học phát triển mạnh mẽ,
Trang 2đó 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
Trang 3Cá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ò 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ĩ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
Trang 4Bà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
Ta 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 đó U n 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 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:
Trang 5(l n 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 A 1 , …, 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à R 1 , …, 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 A 1 , …, A n thỏa mãn các điều kiện R 1 , …, R m gọi là một cấu hình tổ hợp trên các tập A 1 , …, A n
Ví dụ: Bài toán tháp Hà Nội
A là tập hợp n đĩa
S là sơ đồ sắp xếp các đĩa trên 3 cọc
R1 là điều kiện mỗi lần chuyển 1 đĩa từ một cọc sang cọc khác
R2 là điều kiện đĩa nằm dưới lớn hơn đĩa nằm trên
Cấu hình tổ hợp là một cách sắp xếp các đĩa trên 3 cọc thoả mãn điều kiện R1 và
R2
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
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
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
Trang 6đượ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 ?
2.4 Bài toán tối ưu tổ hợp
Trong 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 n 1 cách, bước 2 có thể được thực hiện n 2 cách, …, bước k có thể được thực hiện n k cách Khi đó số cấu hình tổ hợp là n 1 n 2 … n k
Ví dụ: Có 3 loại mặt đồng hồ (tròn, vuông, elip) và 4 loại dây (nhựa, da,
kim loại, đá) Hỏi có bao nhiêu cách chọn một đồng hồ gồm 1 mặt và 1 dây
Số cách chọn có thẻ được tính như sau:
Ví dụ: An muốn mua 1 áo sơ mi cỡ 39 hoặc 40 Trong cửa hàng có 5 cái
áo khác nhau cỡ 39 và 7 cái áo khác nhau cỡ 40 Hỏi An có bao nhiêu cách chọn
Đị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ụ: Có bao nhiêu số tự nhiên có 2 chữ số được lập từ các số 1, 2, 3, 4,
5, 6, 7
Trang 7Một số tự nhiên có 2 chữ số tương ứng với một bộ có thứ tự 2 thành phần của 7 phần tử, các phần tử có thể lặp lại Vậy số các số tự nhiên có 2 chữ số là 72.
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:
Đị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ử
từ n phần tử đã cho.
Ký hiệu số tổ hợp chập k của n phần tử là C(n, k) Ta có A(n, k) = C(n, k).k!
Trang 8Suy ra C(n, k) = n!
k!(n k)!−
Ví dụ: Trong mặt phẳng cho một tập hợp P gồm 7 điểm, trong đó không
có 3 điểm nào thẳng hàng Hỏi có bao nhiêu tam giác có 3 đỉnh đều thuộc P?
Một tam giác có 3 đỉnh thuộc P chính là một tổ hợp chập 3 của tập P Vậy
số tam giác có 3 đỉnh thuộc P là: C (7,3) = 35
Trang 9CHƯƠ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ó n 1 phần tử kiểu 1,
n 2 phần tử kiểu 2, , n k phần tử kiểu k Khi đó số các hoán vị n phần tử của tập S
Chứng minh Để xác định số hoán vị trước tiên chúng ta nhận thấy có C(n, n 1)
cách giữ n 1 chỗ cho n 1 phần tử loại 1, còn lại n – n 1 chỗ trống Sau đó có
C(n- n 1 , n 2 ) cách đặt n 2 phần tử loại 2 vào hoán vị, còn lại n – n 1 – n 2 chỗ trống
Tiếp tục đặt các phần tử loại 3, 4,…, k – 1 vào chỗ trống hoán vị Cuối cùng có C(n – n 1 - … - n k-1 , n k ) cách đặt n k phần tử loại k vào hoán vị Theo quy tắc nhâ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) cá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
Trang 10Đị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ó thể
được lặp lại
Định lý Giả sử X có n phần tử khác nhau Khi đó số tổ hợp lặp chập k từ n phần
tử của X, ký hiệu CR(n, k) là CR(n, k) = C(k + n - 1, n - 1) = C(k + n - 1, k) Chứng minh Mỗi tổ hợp lặp chập k từ tập n phần tử có thể biểu diễn bằng một dãy n−1 thanh đứng và k ngôi sao Ta dùng n − 1 thanh đứng để phân cách các ngăn Ngăn thứ i chứa thêm một ngôi sao mỗi lần khi phần tử thứ i của tập xuất hiện trong tổ hợp Chẳng hạn, tổ hợp lặp chập 6 của 4 phần tử được biểu thị bởi:
Ví dụ 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
Trong đó 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
3 Phân hoạch thứ tự tổ hợp
Đị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 {S 1 , 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 n 1 , 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 {S 1 , S 2 , ., S k} có
Trang 111 1, 2 2, , k k
S =n S =n S =n được ký hiệu là C(n; n 1 , 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 n 1 phần tử từ X cho S 1 , có C(n, n 1) khả năng
Bước 2: Chọn n 2 phần tử từ X \S 1 cho S 2 , có C(n− n 1 , n 2) khả năng
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?
Giải Mỗi cách chở là một phân hoạch thứ tự tổ hợp chập 15 của 17 với số phần tử trong mỗi tập con tương ứng là 4, 3, 3, 4, 1 Vì vậy số cách chở là:
C(17; 4, 3, 3, 4, 1) =
!2
= 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 n 1 ,
n 2 , , n k và p 1 , 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 p 1 tập lực lượng n 1 , p 2 tập lực lượng
n 2 , , p k tập lực lượng n k gọi là phân hoạch không thứ tự của X.
Định lý Số phân hoạch không thứ tự của X với p 1 tập lực lượng n 1 , p 2 tập
;
2 1
2 2 1 1
k
k k
p p p
n n n n n n n C
k k p
n p
n
!
!
2 2 1 1
(trong tử số C n n( ; , , , , , , , , ,1 n n1 2 n2 n k n k), số n 1 lặp lại p 1 lần, số n 2 lặp lại p 2
lần, , số n k lặp lại p k lần)
Trang 12Chứng minh Mỗi phân hoạch không thứ tự của X với p 1 tập lực lượng n 1,
p 2 tập lực lượng n 2 , , p k tập lực lượng n k sẽ sinh ra p 1 !p 2 ! p k ! phân hoạch có thứ tự của X với p 1 tập lực lượng n 1 , p 2 tập lực lượng n 2 , , p k tập lực lượng n k Mặt khác C n n( ; , , , , , , , , ,1 n n1 2 n2 n k n k) chính là số phân hoạch có thứ tự của X với p 1 tập lực lượng n 1 , p 2 tập lực lượng n 2 , , p k tập lực lượng n k
Từ đó suy ra điều phải chứng minh
Ví dụ
(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!
!12
3 (phân hoạch không thứ tự)
Trang 13CHƯƠ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ỗ
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
dấu gạch ngang): _A1_A2_A3_A4_A5_A6_A7_
Như vậy ta có tất cả 7! A(8,5) = 5040 6720 = 33 868 800 cách xếp hàng.
Tổng quát.
Ta có thể đưa ra và giải bài toán tổng quát hơn cho bài trên: Cho tập A có m
phần tử khác nhau và tập B có n phần tử khác nhau Hỏi có bao nhiêu cách xếp
m + n phần tử trên thành hàng ngang sao cho không có hai phần tử nào của B
đứng cạnh nhau
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)
Bài toán 2 Bài toán đếm số đường đi
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 14Bài toán 3 Bài toán phân phối
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.
Bài toán 3 Số cách phân chia n đồ vật khác nhau vào trong k hộp khác nhau
sao cho có n i vật được đặt vào trong hộp thứ i, với i = 1, 2, , k bằng
Trang 15P(18;4;3;5;6)=
!6
!5
!3
!
4
!18
Giải Viết thêm vào tập A hai chữ số 5 và một chữ số 3
Khi đó số các số có 9 chữ số là: 9! Trong 9! số này, khi ta hoán vị hai chữ
Bài toán 7 Xếp n vật giống nhau vào m hộp khác nhau
1 Giả sử có n viên bi giống nhau và m cái hộp, ta xếp bi vào các hộp Gọi
xi với i = 1, 2, 3, , m là số bi ở hộp i Chứng minh rằng
a) Số cách xếp khác nhau n viên bi vào m cái hộp là C(m+n-1, n).
b) Trong C(m+n-1, n) cách xếp đó có C(n-1, m-1) cách xếp cho tất cả các
hộp đều có bi
Giải a) Ta biểu diễn m cái hộp từ m + 1 vạch thẳng đứng, còn các viên bi biểu
diễn bằng các ngôi sao (*) Chẳng hạn như