talk combinatorics counting

28
TS. Trần Văn Hoài 2008-2009 Tổ hợp & Phép đếm (Combinatorics & Counting) Tổ hợp & Phép đếm (Combinatorics & Counting) Page 1

Upload: nguyen-trung-kien

Post on 22-Oct-2015

23 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Talk Combinatorics Counting

TS. Trần Văn Hoài 2008-2009

Tổ hợp & Phép đếm(Combinatorics & Counting)

Tổ hợp & Phép đếm (Combinatorics & Counting) Page 1

Page 2: Talk Combinatorics Counting

TS. Trần Văn Hoài 2008-2009

Lý thuyết tổ hợpCombinatorics là một ngành toán học nghiên cứusự liệt kê, tổ hợp, và hoán vị của tập những phầntử những mối quan hệ toán học.(Concise Encyclopedia of Mathematics)

Combinatorics bao gồm đếm

• Đếm các đối tượng thỏa điều kiện (enumerative combina-torics)

• Quyết định khi nào điều kiện thỏa, xây dựng và phân tíchcác đối tượng thỏa điều kiện (combinatorial designs andmatroid theory)

• Tìm lớn nhất, nhỏ nhất, tối ưu (combinatorial optimiza-tion)

(en.wikipedia.org)

Tổ hợp & Phép đếm (Combinatorics & Counting) Page 2

Page 3: Talk Combinatorics Counting

TS. Trần Văn Hoài 2008-2009

Ứng dụng của lý thuyết tổ hợp

➳ Lý thuyết độ phức tạp của thuật toán

➳ Lý thuyết tối ưu rời rạc

➳ Lý thuyết xác suất

➳ Vật lý thống kê

➳ Hình học

Tổ hợp & Phép đếm (Combinatorics & Counting) Page 3

Page 4: Talk Combinatorics Counting

TS. Trần Văn Hoài 2008-2009

Những quy tắc đếm cơ bản

Rất nhiều bài toán đếm có thể thực hiện chỉ dùng2 quy tắc cơ bản: cộng (sum) và nhân (product).Có những quy tắc đếm nâng cao khác

➠ Liệt kê các khả năng thối một lượng tiền với một tập các loại tiềnxác định

➠ Đếm bao nhiêu mật khẩu (password) có thể có với một chiều dài chotrước

➠ Đếm có bao nhiêu địa chỉ Internet

Tổ hợp & Phép đếm (Combinatorics & Counting) Page 4

Page 5: Talk Combinatorics Counting

TS. Trần Văn Hoài 2008-2009

Bao nhiêu cách chọn ?

Hấp dẫn

Đảm đang

Chọn ai đây?!?! Mà chỉ được 1 mà thôi :-(

Tổ hợp & Phép đếm (Combinatorics & Counting) Page 5

Page 6: Talk Combinatorics Counting

TS. Trần Văn Hoài 2008-2009

Quy tắc cộng

Ví dụ: Hoặc là 1 giảng viên của khoa KH&KT MT, hoặc là 1 sinhviên của khoa KH&KT MT sẽ là đại diện của trường. Như vậy nếucó 24 giảng viên, 310 sinh viên thì có bao nhiêu cách chọn lựa đạidiện ?Lời giải: Chọn đại diện từ giảng viên thì có 24 cách, chọn đại diện từsinh viên thì có 310 cách. Như vậy ta có 24+310=334 cách chọn đạidiện.

Tổ hợp & Phép đếm (Combinatorics & Counting) Page 6

Page 7: Talk Combinatorics Counting

TS. Trần Văn Hoài 2008-2009

Quy tắc cộng

Ví dụ: Hoặc là 1 giảng viên của khoa KH&KT MT, hoặc là 1 sinhviên của khoa KH&KT MT sẽ là đại diện của trường. Như vậy nếucó 24 giảng viên, 310 sinh viên thì có bao nhiêu cách chọn lựa đạidiện ?Lời giải: Chọn đại diện từ giảng viên thì có 24 cách, chọn đại diện từsinh viên thì có 310 cách. Như vậy ta có 24+310=334 cách chọn đạidiện.

Giả thiết công việc 1 có thể làm bằng n1 cách, côngviệc 2 có thể làm bằng n2 cách. Nếu 2 công việckhông thể làm đồng thời thì có n1 + n2 cách làmmột trong 2 công việc.

Tổ hợp & Phép đếm (Combinatorics & Counting) Page 7

Page 8: Talk Combinatorics Counting

TS. Trần Văn Hoài 2008-2009

Tổng quát hóa quy tắc cộng

Tổng quát lên m công việc không thể làm đồng thờivà số cách làm chúng tương ứng là n1, n2, . . . , nm.Số cách làm một trong m công việc là

∑mi=1 ni.

Ví dụ: Một sinh viên chọn đồ án môn học trong 5 nhóm: khoa họcmáy tính, cơ sở dữ liệu, công nghệ phần mềm, hệ thống & mạng máytính, kỹ thuật máy tính. Mỗi nhóm có số lượng đề tài tương ứng là:10, 15, 14, 16, 11. Có bao nhiêu cách chọn ?Lời giải: 10+15+14+16+11 = 66 cách

Tổ hợp & Phép đếm (Combinatorics & Counting) Page 8

Page 9: Talk Combinatorics Counting

TS. Trần Văn Hoài 2008-2009

Góc nhìn tập hợp

Giả thiết A1, A2, . . . , Am là các tập hợp rời nhau (dis-

joint). Khi đó số cách để chọn một phần tử từ một

trong các tập chính là

|A1 ∪ A2 ∪ . . . ∪ Am| = |A1| + |A2| + . . . + |Am|

Tổ hợp & Phép đếm (Combinatorics & Counting) Page 9

Page 10: Talk Combinatorics Counting

TS. Trần Văn Hoài 2008-2009

Chọn nhà nào đây ?

Mục tiêu

Chọn nhà nào đây ?!?! Mà chỉ 1 nhà thôi :-(

Tổ hợp & Phép đếm (Combinatorics & Counting) Page 10

Page 11: Talk Combinatorics Counting

TS. Trần Văn Hoài 2008-2009

Quy tắc nhân

Ví dụ: Một trung tâm máy tính có 32 máy vi tính. Một máy có 12

cổng. Như vậy trung tâm có bao nhiêu cổng ?Lời giải: Quá trình gồm 2 bước

1. Chọn máy

2. Chọn cổng của máy được chọn

Dễ thấy, số cách là 32 × 12 = 384 cổng.

Giả sử một nhiệm vụ được tách làm 2 việc: việc 1làm bằng n1 cách, việc 2 làm n2 cách khi việc 1 đãđược làm. Khi đó sẽ có n1×n2 cách thực hiện nhiệmvụ này.

Tổ hợp & Phép đếm (Combinatorics & Counting) Page 11

Page 12: Talk Combinatorics Counting

TS. Trần Văn Hoài 2008-2009

Tổng quát quy tắc nhân

Giả thiết một nhiệm vụ có m công việc phải thựchiện T1, . . . , Tm. Nếu việc Ti có ni cách thực hiện.Khi đó ta có n1 × . . . × nm cách thực hiện nhiệmvụ.

Ví dụ: Có bao nhiêu xâu nhị phân có độ dài 7 ?Lời giải: Mỗi bit có thể chọn 1 trong 2 cách: 0 và 1. Quy tắc nhâncho số lượng xâu là 27 = 128.

Ví dụ: Có bao nhiêu hàm đơn ánh xác định trên tập hữu hạn A có m

phần tử và nhận giá trị trên tập B có n phần tử ?

Tổ hợp & Phép đếm (Combinatorics & Counting) Page 12

Page 13: Talk Combinatorics Counting

TS. Trần Văn Hoài 2008-2009

Phối hợp 2 quy tắc

Ví dụ: Mật khẩu máy tính dài từ 6 → 8 ký tự. Mỗi ký tự có thể làsố hoặc chữ hoa. Mỗi mật khẩu phải có ít nhất một chữ số. Có baonhiêu mật khẩu ?Lời giải: Gọi P1, P2, P3 là tổng số mật khẩu có chiều dài tương ứng là

6, 7, 8. Dùng quy tắc nhân để tính Pi ta có

P6 = (10 + 26)6 − 266

P7 = (10 + 26)7 − 267

P8 = (10 + 26)8 − 268

Dùng quy tắc cộng ta có tổng số mật khẩu

P = P6 + P7 + P8 = 366 + 367 + 368 − (266 + 267 + 268)

Tổ hợp & Phép đếm (Combinatorics & Counting) Page 13

Page 14: Talk Combinatorics Counting

TS. Trần Văn Hoài 2008-2009

Quy tắc bù trừ

Ví dụ: Có bao nhiêu chuỗi bit có độ dài 8 bit hoặc được bắt đầu bằng1 hoặc kết thúc bằng 2 bit 00 ?Lời giải:

• Số lượng chuỗi bit bắt đầu bằng 1 là 27 = 128

• Số lượng chuỗi bit kết thúc bằng 00 là 26 = 64

• Số lượng chuỗi bit bắt đầu bằng 1 và kết thúc bằng 00 là 25 = 32

Số lượng chuỗi bit thỏa đề bài là 128 + 64 − 32 = 160.

Ví dụ: Có bao nhiêu chuỗi bit có độ dài 8 bit hoặc được bắt đầu bằng01 hoặc được bắt đầu bằng 10 ?

Tổ hợp & Phép đếm (Combinatorics & Counting) Page 14

Page 15: Talk Combinatorics Counting

TS. Trần Văn Hoài 2008-2009

Góc nhìn tập hợp

Cho A1 và A2 là các tập hợp. T1 là công việc chọn

1 phần tử từ A1, T2 là công việc chọn 1 phần tử từ

A2.

☞ |A1| cách làm T1, |A2| cách làm T2

☞ Số cách làm T1 hoặc T2 là

|A1 ∪ A2| = |A1| + |A2| − |A1 ∩ A2|

T1 và T2 có thể làm đồng thời

Tổ hợp & Phép đếm (Combinatorics & Counting) Page 15

Page 16: Talk Combinatorics Counting

TS. Trần Văn Hoài 2008-2009

Giản đồ cây

Giản đồ cây để giải bài

toán đếm:

☞ Nhánh: đại diện những

khả năng có thể có

☞ Lá: là những kết quả

có thể có

Ví dụ: Có bao nhiêu chuỗi nhị phândài 4 bit không có 2 số 1 liên tiếp ?

Bit 4

0

0

1

0

1

0

1

0

00

11

00 0

1

0

1

Bit 1 Bit 2 Bit 3

Tổ hợp & Phép đếm (Combinatorics & Counting) Page 16

Page 17: Talk Combinatorics Counting

TS. Trần Văn Hoài 2008-2009

Nguyên lý lồng chim bồ câu(Pigeonhole principle)

Nếu có k + 1 hoặc nhiều hơn đồ vật được đặt vàotrong k hộp thì có ít nhất một hộp chứa 2 hoặcnhiều hơn 2 đồ vật

Ví dụ: Có 109 sinh viên và thangđiểm có 110 bậc thì có ít nhất 2sinh viên cùng điểm thi.

Tổ hợp & Phép đếm (Combinatorics & Counting) Page 17

Page 18: Talk Combinatorics Counting

TS. Trần Văn Hoài 2008-2009

Nguyên lý Dirichlet tổng quát

Nếu có N đồ vật được đặt vào trong k hộp, sẽ tồntại một hộp chứa ít nhất dN/ke vật.

Ví dụ: Trong 100 người có ít nhất d100/12e = 9 người cùng thángsinh.

Ví dụ: Xét 1 tháng 30 ngày. Một đội bóng chơi ít nhất 1 ngày 1 trận,nhưng cả tháng không quá 45 trận. Hãy chỉ ra rằng có những ngàyliên tiếp đội bóng chơi tất cả 14 trận.

Tổ hợp & Phép đếm (Combinatorics & Counting) Page 18

Page 19: Talk Combinatorics Counting

TS. Trần Văn Hoài 2008-2009

Hoán vị và chỉnh hợpVí dụ: Bao nhiêu cách chọn 22 cầu thủ để tham dự đội tuyển bóngđá Việt Nam từ danh sách 30 cầu thủ đề cử ? Bao nhiêu cách chọnra một danh sách có thứ tự 11 cầu thủ để thi đấu ?

☞ Hoán vị của 1 tập các đối tượng = 1 cách sắp

xếp các đối tượng

☞ Một cách sắp xếp có thứ tự r phần tử của tập n

phần tử được gọi là chỉnh hợp chập r của tập n

phần tử

P (n, r) = n(n − 1)(n − 2) . . . (n − r + 1) =n!

(n − r)!

Tổ hợp & Phép đếm (Combinatorics & Counting) Page 19

Page 20: Talk Combinatorics Counting

TS. Trần Văn Hoài 2008-2009

Ví dụ hoán vị và chỉnh hợp

Ví dụ: Bao nhiêu cách chọn 22 cầu thủ để tham dự đội tuyển bóngđá Việt Nam từ danh sách 30 cầu thủ đề cử ? Bao nhiêu cách chọnra một danh sách có thứ tự 11 cầu thủ để thi đấu ?Lời giải: Có P (22, 11) cách chọn danh sách có thứ tự 11 cầu thủ từ22 cầu thủ trong đội.

Ví dụ: Một thương nhân đi qua 6 tỉnh để buôn bán và chỉ qua mộttỉnh một và chỉ một lần duy nhất mà thôi. Sau đó thương nhân quayvề tỉnh xuất phát. Hỏi có bao nhiêu lộ trình ?

Tổ hợp & Phép đếm (Combinatorics & Counting) Page 20

Page 21: Talk Combinatorics Counting

TS. Trần Văn Hoài 2008-2009

Tổ hợpMột tổ hợp chập r của một tập hợp với bản số n là

một cách chọn không có thứ tự r phần tử của tập

đã cho

C(n, r) =n!

r!(n − r)!

Hệ quả dễ thấy

C(n, r) = C(n, n − r)

Ví dụ: Có C(30, 22) cách chọn ra 22 cầu thủ từ danh sách đề cử 30cầu thủ.

Tổ hợp & Phép đếm (Combinatorics & Counting) Page 21

Page 22: Talk Combinatorics Counting

TS. Trần Văn Hoài 2008-2009

Một số định lýHằng đẳng thức Pascal

C(n + 1, k) = C(n, k − 1) + C(n, k)

Hằng đẳng thức Vandermonde

C(m + n, r) =

r∑

k=0

C(m, r − l)C(n, k)

Định lý nhị thức

(x + y)n =

n∑

j=0

C(n, j)xn−jyj

Tổ hợp & Phép đếm (Combinatorics & Counting) Page 22

Page 23: Talk Combinatorics Counting

TS. Trần Văn Hoài 2008-2009

Hoán vị có lặp

Ví dụ: Từ bảng chữ cái tiếng Anh có thể tạo ra bao nhiêu chuỗi cóđộ dài n ?Lời giải: 26n (dùng quy tắc nhân)

Có sự tương tự như chỉnh hợp (có thứ tự), nhưngcho phép sự lặp lại của các chữ cái.

Số các chỉnh hợp lặp chập r từ tập n phần tử bằngnr

Tổ hợp & Phép đếm (Combinatorics & Counting) Page 23

Page 24: Talk Combinatorics Counting

TS. Trần Văn Hoài 2008-2009

Tổ hợp lặp

Ví dụ: Bao nhiêu cách bày mâm 5 quả nếu chỉ chọn các loại quả: dừa,đu đủ, xoài ?Lời giải: Liệt kê ra 21 trường hợp

Số tổ hợp lặp chập r của n phần tử bằng

C(n + r − 1, r)

Tổ hợp & Phép đếm (Combinatorics & Counting) Page 24

Page 25: Talk Combinatorics Counting

TS. Trần Văn Hoài 2008-2009

Ví dụ: Phương trình x1 + x2 + x3 = 11 có bao nhiêu nghiệm nguyênkhông âm ?Lời giải: Mỗi nghiệm tương ứng với một cách chọn 11 phần tử của 1

tập có 3 loại sao cho có x1 phần tử loại 1, x2 phần tử loại 2, x3 phầntử loại 3.Suy ra số nghiệm là tổ hợp lặp chập 11 từ tập 3 phần tử

C(3 + 11 − 1, 11) = C(13, 11) = 78

Tổ hợp & Phép đếm (Combinatorics & Counting) Page 25

Page 26: Talk Combinatorics Counting

TS. Trần Văn Hoài 2008-2009

Hoán vị có phần tử giống nhauVí dụ: Có bao nhiêu chuỗi khác nhau bằng cách sắp xếp lại các chữcái SUCCESS ?Lời giải: Không thể là hoán vị của 7 chữ cái vì có sự lặp lại.

➳ 3 chữ S, 2 chữ C, 1 chữ U, 1 chữ E

➳ Có C(7, 3) cách chọn chỗ cho 3 chữ cái S. Có C(4, 2) cách chọnchỗ cho 2 chữ cái C. Có C(2, 1) cách chọn chỗ cho 1 chữ U. CóC(1, 1) cách chọn chỗ cho 1 chữ E.

Theo quy tắc nhân ta có số chuỗi là:

C(7, 3)C(4, 2)C(2, 1)C(1, 1) =7!4!2!1!

3!4!2!2!1!1!1!0!

=7!

3!2!1!1!= 420

Tổ hợp & Phép đếm (Combinatorics & Counting) Page 26

Page 27: Talk Combinatorics Counting

TS. Trần Văn Hoài 2008-2009

Hoán vị có phần tử giống nhau

Tổng quát hóa n phần tử có n1 thuộc loại 1, ..., nk

phần tử thuộc loại k. Số hoán vị là

n!

n1! . . . nk!

Tổ hợp & Phép đếm (Combinatorics & Counting) Page 27

Page 28: Talk Combinatorics Counting

TS. Trần Văn Hoài 2008-2009

Phân bổ đồ vật vào hộp

n đồ vật khác nhau, bỏ vào trong k hộp sao cho có

n1 vật trong hộp 1, ..., nk vật trong hộp nk. Số cách

làn!

n1! . . . nk!

Tổ hợp & Phép đếm (Combinatorics & Counting) Page 28