ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN
------------------
Lê Thị Thanh Tâm
CÁC BÀI TOÁN CƠ BẢN CỦA
LÝ THUYẾT TỔ HỢP
Chuyên ngành: PHƯƠNG PHÁP TOÁN SƠ CẤP
Mã số: 60.46.0113
LUẬN VĂN THẠC SỸ TOÁN HỌC
Người hướng dẫn khoa học
TS. Phạm Văn Thạo
HÀ NỘI- 2014
1
Mục lục
Mở đầu
1
4
Bài toán tồn tại
1.1 Giới thiệu bài toán . . . . . . . . . . . . . .
1.2 Các phương pháp chứng minh sự tồn tại . . .
1.2.1 Phương pháp chứng minh phản chứng
1.2.2 Nguyên lý Diriclet . . . . . . . . . . .
2 Bài toán liệt kê
2.1 Giới thiệu bài toán . . . . . . . . . . .
2.2 Thuật toán và độ phức tạp tính toán . .
2.2.1 Khái niệm thuật toán . . . . . .
2.2.2 Mô tả thuật toán bằng ngôn ngữ
2.2.3 Độ phức tạp của thuật toán . .
2.3 Phương pháp sinh . . . . . . . . . . . .
2.4 Thuật toán quay lui . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
phỏng PASCAL
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
.
.
.
.
6
. 6
. 9
. 9
. 16
.
.
.
.
.
.
.
.
.
.
.
.
.
.
39
39
40
40
41
43
45
48
.
.
.
.
.
.
.
.
52
52
52
52
65
68
70
75
75
3 Bài toán đếm
3.1 Các bài toán đếm cơ bản . . . . . . . . . . . . . . . . . .
3.1.1 Giới thiệu bài toán . . . . . . . . . . . . . . . . .
3.1.2 Các quy tắc đếm cơ bản . . . . . . . . . . . . . . .
3.1.3 Tam giác Pascal và nhị thức Newton . . . . . . . .
3.1.4 Nguyên lý bù trừ . . . . . . . . . . . . . . . . . .
3.1.5 Hệ thức truy hồi . . . . . . . . . . . . . . . . . . .
3.2 Phân loại các bài toán đếm . . . . . . . . . . . . . . . . .
3.2.1 Bài toán đếm có sử dụng hai quy tắc đếm cơ bản .
3.2.2 Bài toán đếm các số tự nhiên thỏa mãn điều kiện
cho trước . . . . . . . . . . . . . . . . . . . . . . .
3.2.3 Phương trình, hệ phương trình, bất phương trình và
đẳng thức chứa công thức tổ hợp . . . . . . . . . .
3.2.4 Bài toán đếm các đối tượng hình học . . . . . . .
3.2.5 Bài toán phân chia (hoặc lấy ra) các đồ vật vào (hoặc
ra khỏi) các hộp . . . . . . . . . . . . . . . . . . .
. 77
. 80
. 83
. 84
2
3.2.6
3.2.7
3.2.8
3.2.9
Hệ số ak của xk trong khai triển Newton . . .
Bài tập nguyên lý bù trừ . . . . . . . . . . .
Bài tập hệ thức truy hồi . . . . . . . . . . .
Đẳng thức phương trình liên quan đến khai
Newton . . . . . . . . . . . . . . . . . . . . .
. . .
. . .
. . .
triển
. . .
4 Bài toán tối ưu
4.1 Giới thiệu bài toán . . . . . . . . . . . . . . . . . . . .
4.2 Bài toán tối ưu trong đồ thị . . . . . . . . . . . . . . .
4.2.1 Các khái niệm cơ bản của lý thuyết đồ thị . . . .
4.2.2 Biểu diễn đồ thị bằng ma trận . . . . . . . . . .
4.2.3 Bài toán tìm cây bao trùm có trọng số nhỏ nhất
4.2.4 Bài toán tìm đường đi có trọng số nhỏ nhất . . .
Kết luận . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Tài liệu tham khảo . . . . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
. 88
. 90
. 91
. 96
108
. 108
. 108
. 108
. 117
. 120
. 126
. 130
. 131
3
Lời cảm ơn
Tác giả xin chân thành cảm ơn tập thể cán bộ, giảng viên trường Đại
học Khoa học Tự nhiên - Đại học Quốc gia Hà Nội đã tạo mọi điều kiện
và giúp đỡ tác giả trong suốt quá trình học tập và hoàn thành luận văn
tốt nghiệp.
Tác giả xin được bày tỏ lòng kính trọng và biết ơn sâu sắc đến TS.
Phạm Văn Thạo. Thầy đã dành nhiều thời gian hướng dẫn cũng như
giải đáp các thắc mắc của tác giả trong suốt quá trình tôi thực hiện đề
tài.
Tác giả cũng xin chân thành cảm ơn Lãnh đạo và các đồng nghiệp trường
THPT Chuyên Ngoại Ngữ - Đại học Ngoại Ngữ - ĐHQGHN đã tạo điều
kiện thuận lợi và giúp đỡ tác giả trong suốt quá trình học tập và thực hiện
luận văn này.
Tác giả xin cảm ơn các bạn đồng khóa, gia đình và bạn bè đã quan tâm
giúp đỡ, động viên, tạo mọi điều kiện thuận lợi cho tác giả trong suốt quá
trình học tập và hoàn thành luận văn.
Mặc dù đã có rất nhiều cố gắng, song luận văn này không thể tránh
khỏi những thiếu sót, tác giả rất mong nhận được những ý kiến chỉ dẫn,
đóng góp của thầy cô và các bạn.
Trân trọng!
Hà Nội, tháng 08 năm 2014
Học viên
Lê Thị Thanh Tâm
4
Mở đầu
Các vấn đề liên quan đến lý thuyết tổ hợp là một bộ phận quan trọng,
hấp dẫn và lý thú của Toán học nói chung và Toán học rời rạc nói riêng.
Tư duy về tổ hợp đã xuất hiện từ rất sớm trong lịch sử phát triển của nhân
loại và đến thế kỉ thứ 17 nó được hình thành như một ngành toán học
bằng một loạt các công trình nổi tiếng của các nhà toán học như Pascal,
Fermat, Lenibniz, Euler,... Kể từ sau khi tin học ra đời, lý thuyết tổ hợp
phát triển ngày càng mạnh mẽ, có nội dung phong phú và được ứng dụng
nhiều trong thực tế đời sống.
Trong toán học sơ cấp, tổ hợp cũng xuất hiện với nhiều bài toán hay với
độ khó cao. Những ai mới bắt đầu làm quen với khái niệm tổ hợp thường
khó hình dung hết độ phức tạp về về cấu trúc trên các tập đặc biệt. Do
vậy tôi đã chọn đề tài "bài toán cơ bản của lý thuyết tổ hợp". Luận
văn đã trình bày bốn bài toán cơ bản của lý thuyết tổ hợp, xây dựng một
số bài toán áp dụng.
Luận văn gồm phần mở đầu, bốn chương, kết luận và danh mục tài liệu
tham khảo.
Chương 1: Bài toán tồn tại. Trong chương này tác giả đã giới thiệu
bài toán tồn tại bằng ba bài toán cổ nổi tiếng là bài toán về bẩy cây cầu
của Euler, bài toán bốn màu và bài toán chọn 2n điểm trên lưới n.n điểm.
Trong chương này tác giả cũng nêu được hai phương pháp chứng minh sự
tồn tại là phương pháp chứng minh bằng phản chứng và phương pháp sử
dụng nguyên lý Diriclet.
Chương 2: Bài toán liệt kê. Chương 2 được trình bày theo bốn mục
bao gồm: giới thiệu bài toán, thuật toán và độ phức tạp tính toán cùng
với phương pháp sinh và thuật toán quay lui.
Chương 3: Bài toán đếm. Đây là nội dung chính của luận văn. Trong
chương này tác giả đã nêu được các bài toán đếm cơ bản, phân loại các
5
bài toán đếm theo từng dạng bài tập cụ thể. Trong mỗi dạng tác giả đều
có ví dụ minh họa cũng như bài tập tự luyện.
Chương 4: Bài toán tối ưu. Trong chương này tác giả đã giới thiệu
bài toán, nhắc lại các khái niệm cơ bản của lý thuyết đồ thị, biểu diễn đồ
thị bằng ma trận và trình bày hai bài toán cơ bản là: Bài toán tìm cây
bao trùm có trọng số nhỏ nhất và bài toán tìm đường đi có trọng số nhỏ
nhất.
Mặc dù bản thân đã rất cố gắng và nghiêm túc trong học tập và nghiên
cứu khoa học nhưng do thời gian có hạn, kiến thức bản thân còn hạn chế
nên trong quá trình thực hiện luận văn không tránh khỏi những sơ suất.
Rất mong nhận được sự góp ý của thầy cô và các bạn.
Tôi xin chân thành cảm ơn.
6
Chương 1
Bài toán tồn tại
1.1
Giới thiệu bài toán
Trong rất nhiều bài toán tổ hợp, việc chỉ ra sự tồn tại của một cấu hình
thoả mãn các tính chất cho trước là hết sức khó khăn. Bài toán về bẩy cây
cầu của nhà toán học Euler vào thể kỉ XVIII đã khiến người dân thành
phố Konigsberg và các nhà toán học thời bấy giờ mất bao công tìm kiếm
lời giải. Hay đơn giản hơn, khi một kì thủ cần phải tính toán các nước đi
của mình để giải đáp xem liệu có khả năng thắng hay không, hoặc là một
người giải mật mã cần tìm chìa khoá giải cho một bức mật mã mà anh ta
không biết liệu đây có đúng là bức điện thật được mã hoá của đối phương
hay không, hay chỉ là bức mật mã giả của đối phương tung ra nhằm đảm
bảo an toàn cho bức điện thật... Như vậy, trong tổ hợp xuất hiện một vấn
đề rất quan trọng là xét sự tồn tại của các cấu hình tổ hợp với các tính
chất cho trước. Các bài toán thuộc dạng này được gọi là các bài toán tồn
tại tổ hợp.
Một bài toán tồn tại tổ hợp xem như giải xong nếu chỉ ra một cách xây
dựng cấu hình hoặc chứng minh rằng chúng không tồn tại. Tuy nhiên, cả
hai khả năng đều không phải dễ. Để thấy rõ được sự phức tạp của vấn đề,
dưới đây xin được xét một số bài toán tồn tại cổ điển nổi tiếng.
a, Bài toán về bẩy cây cầu của Euler
Thành phố Konigsberg thuộc Thổ (bây giờ gọi là Kaliningrad thuộc
cộng hoà Nga), được chia thành bốn vùng bằng các nhánh sông Pregel.
Các vùng này gồm hai vùng bên bờ sông, đảo Kneiphof và một miền nằm
giữa hai nhánh sông Pregel. Vào thế kỉ XVIII, người ta xây bẩy chiếc cầu
nối các vùng này với nhau. Hình 1, vẽ các vùng và các cầu qua sông của
7
thành phố.
Vào chủ nhật người dân ở đây thường đi bộ dọc theo các phố. Họ tự
hỏi không biết có thể xuất phát tại một điểm nào đó trong thành phố đi
qua tất cả các cầu, mỗi chiếc cầu đúng một lần, rồi trở về điểm xuất phát
được không. Nhà toán học Thụy Sĩ, Leonhard Euler, đã giải bài toán này.
Lời giải của ông công bố năm 1736 có thể là một ứng dụng đầu tiên của
lý thuyết đồ thị. Ông đã chứng minh được rằng không có được đường đi
nào thoả mãn yêu cầu bài toán (lời giải chi tiết của bài xin được trình bày
rõ ở chương IV)
b, Bài toán bốn màu
Có những bài toán mà nội dung của nó có thể giải thích cho bất kì ai,
tuy lời giải của nó thì ai cũng có thể tự tìm nhưng mà khó có thể tìm được.
Ngoài định lý Fermat thì bài toán bốn màu là một trong những bài toán
như vậy. Bài toán có thể phát biểu trực quan như sau: Chứng minh rằng
mọi bản đồ trên mặt phẳng đều có thể tô bằng bốn màu sao cho không
có hai nước láng giềng nào được tô bởi cùng một màu. Chú ý rằng ta xem
mỗi nước là một vùng liên thông và hai nước gọi là láng giềng nếu chúng
có chung biên giới là một đường liên tục.
Con số 4 không phải là ngẫu nhiên, người ta đã chứng minh được rằng
mọi bản đồ đều được tô với số màu lớn hơn 4, còn với số màu ít hơn 4 thì
không tô được, chẳng hạn bản đồ gồm bốn nước ở hình dưới đây không
thể tô được với số màu ít hơn 4.
8
Bài toán này xuất hiện vào khoảng những năm 1850 - 1852 từ một nhà
buôn người Anh là Gazri, khi tô bản đồ hành chính nước Anh đã cố gắng
chứng minh rằng có thể tô bằng 4 màu. Sau đó, năm 1952, ông đã viết thư
cho De Morgan để thông báo về giả thuyết này. Năm 1878, Keli trong một
bài báo đăng ở tuyển tập các công trình của Hội toán học Anh có hỏi rằng
bài toán này đã được giải quyết hay chưa? Từ đó bài toán này trở thành
nổi tiếng và trong hơn một thế kỉ, có rất nhiều người làm toán nghiệp
dư cũng như chuyên nghiệp đã cố gắng chứng minh giả thuyết này. Tuy
nhiên, mãi đến năm 1976 hai nhà toán học Mỹ là K.Appel và W.Haken
mới chứng minh được giả thuyết này bằng máy tính điện tử.
c, Bài toán chọn 2n điểm trên lưới n × n điểm
Chọn một lưới ô vuông gồm n × n điểm. Hỏi có thể chọn trong số chúng
2n điểm sao cho không có ba điểm được chọn nào thẳng hàng hay không?
hiện nay người ta biết lời giải của bài này khi n 15. Hình dưới đây cho
một lời giải bài toán với n = 12.
9
1.2
1.2.1
Các phương pháp chứng minh sự tồn tại
Phương pháp chứng minh phản chứng
Phương pháp chứng minh phản chứng có lẽ là một trong những phương
pháp chứng minh sớm nhất mà loài người đã biết đến, đặc biệt trong nghệ
thuật diễn thuyết và tranh luận. Trong toán học, phương pháp chứng minh
phản chứng thường được sử dụng, đặc biệt khi cần chứng minh tính duy
nhất của một đối tượng T nào đó thoả mãn điều kiện cho trước (mà sự tồn
tại của T đã được chứng minh trước đó) ta thường giả sử còn ∀T = T ; T
cũng thoả mãn điều kiện đó, từ đó suy ra một điều vô lý. Vậy điều giả sử
của chúng ta là sai, tức là T duy nhất.
a, Cơ sở lý thuyết
Giả sử ta phải chứng minh một mệnh đề có dạng P =⇒ Q với P là giả
thiết, Q là kết luận. Ta tiến hành như sau:
Bước 1: Giả sử Q sai.
Bước 2: Từ giả sử Q sai và từ P ta dùng các lập luận, suy diễn để dẫn
đến một điều vô lý.
Bước 3: Từ đó ta suy ra Q đúng.
Chú ý 1.1. Ta có thể dùng phương pháp chứng minh phản chứng để
chứng minh nguyên lý Diriclet. Do đó, với nhiều bài toán ta có thể chứng
minh bằng nguyên lý Diriclet hoặc phương pháp chứng minh phản chứng.
b, Phương pháp giải toán qua các ví dụ
131
Tài liệu tham khảo
[1] Nguyễn Văn Mậu (2008), Chuyên đề chọn lọc tổ hợp và toán rời rạc,
NXB Giáo Dục.
[2] Nguyễn Văn Mậu (4/2012), Các chuyên đề toán bồi dưỡng học sinh
giỏi , Kỷ yếu hội nghị khoa học, Hà Nội.
[3] Hoàng Chí Thành (2001), Giáo trình tổ hợp, NXB Đại học Quốc gia
Hà Nội.
[4] Hoàng Chí Thành (2011), Lý thuyết đồ thị , NXB Đại học Quốc gia
Hà Nội.
[5] Nguyễn Đức Nghĩa(2001), Toán học rời rạc, NXB Đại học Quốc gia
Hà Nội.
[6] Ngô Đắc Tân(2004), Lý thuyết tổ hợp và đồ thị, NXB Đại học Quốc
gia Hà Nội.
[7] Tạp chí toán học và tuổi trẻ, Tuyển tập 30 năm, NXB Giáo Dục, 1997.
[8] Kenneth H Rosen, Toán học rời rạc ứng dụng trong tin học, NXB khoa
học và kĩ thuật, 1998.
[9] Tài liệu từ Internet.