Tải bản đầy đủ (.pdf) (45 trang)

Một số bài toán đếm trong lý thuyết đồ thị (Luận văn thạc sĩ)

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (325.34 KB, 45 trang )

ĐẠI HỌC THÁI NGUYÊN
TRƯỜNG ĐẠI HỌC KHOA HỌC

NINH THỊ NỤ

MỘT SỐ BÀI TOÁN ĐẾM
TRONG LÝ THUYẾT ĐỒ THỊ

LUẬN VĂN THẠC SĨ TOÁN HỌC

THÁI NGUYÊN - 2019


ĐẠI HỌC THÁI NGUYÊN
TRƯỜNG ĐẠI HỌC KHOA HỌC

NINH THỊ NỤ

MỘT SỐ BÀI TOÁN ĐẾM
TRONG LÝ THUYẾT ĐỒ THỊ
Chuyên ngành: Phương pháp Toán sơ cấp
Mã số: 8 46 01 13

LUẬN VĂN THẠC SĨ TOÁN HỌC

NGƯỜI HƯỚNG DẪN KHOA HỌC
TS. TRẦN NGUYÊN AN

THÁI NGUYÊN - 2019



Mục lục
Mở đầu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1

Chương 1. Mở đầu đại số tổ hợp và lý thuyết đồ thị . . . . . . . . .

3

1.1. Đại số tổ hợp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3

1.2. Công thức đa thức . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

12

1.3. Mở đầu lý thuyết đồ thị . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

14

Chương 2. Bài toán đếm trên đồ thị . . . . . . . . . . . . . . . . . . . . . . . .

23

2.1. Cây và các bài toán đếm cây . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

23

2.2. Công thức tính số cây khung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


29

2.3. Đánh giá số cạnh của một đồ thị phẳng. . . . . . . . . . . . . . . . . . . . . . . . .

34

2.4. Số tam giác trong đồ thị . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

38

Kết luận . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

41

Tài liệu tham khảo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

41

i


Mở đầu
Cùng với sự phát triển với tốc độ nhanh của công nghệ thông tin, lý
thuyết tổ hợp và đồ thị đã trờ thành các lĩnh vực toán học quan trọng và
cần thiết cho nhiều lĩnh vực khoa học và ứng dụng. Lý thuyết tổ hợp là chiếc
cầu nối giữa các bài toán cần được giải quyết với công cụ tính toán, còn đồ
thị là mô hình trực quan để mô tả các quan hệ hai ngôi.
Trong những thập kỷ gần đâỵ, người ta đã quan tâm nhiều tới đồ thị
và các ứng dụng của nó. Đó là do đồ thị đã chứng tỏ được là một mô hình

hữu hiệu cho tính toán và tối ưu. Ngày nay khái niệm đồ thị đã xâm nhập
không chỉ vào các lĩnh vực khoa học tự nhiên truyền thống như toán học,
vật lý học hay hoá học, mà còn vào nhiều lĩnh vực khoa học tự nhiên và xã
hội khác.
Có nhiều bài toán toán về lý thuyết đồ thị cần được tìm hiểu như bài
toán tối ưu trên đồ thị, bài toán tô màu đồ thị, cấu trúc đồ thị, ... Các bài
toán về đồ thị cũng thường xuất hiện trong các đề thi học sinh giỏi các cấp.
Luận văn tìm hiểu về một số bài toán đếm trên lý thuyết đồ thị như bài toán
đếm cây; tính số cây khung; tìm mối liên hệ giữa một số yếu tố trong đồ thị
như cạnh, đỉnh; đếm số tam giác trên đồ thị.
Luận văn được chia làm hai chương. Chương 1 trình bày một số kiến
thức chuẩn bị về đại số tổ hợp, công thức đa thức và mở đầu về lý thuyết đồ
thị. Tuy là kiến thức chuẩn bị cho Chương 2 nhưng đối với tác giả nhiều kiến
thức của chương là kiến thức mới và có nhiều ứng dụng trong giải toán phổ
thông. Chương này chủ yếu tham khảo theo các tài liệu [1, 2, 4]. Chương 2
trình bày về một số bài toán đếm cơ bản trong lý thuyết đồ thị. Bắt đầu là
bài toán đếm về cây. Việc đếm số đỉnh, số cảnh của cây cũng cho ta một số
đặc trưng của cây (Định lý móc xích kiểu hoa cúc). Tiếp theo luận văn tìm
hiểu về số cây trên tập đỉnh cho trước, số cây có n đỉnh cho trước, với n là
1


một số nguyên dương. Luận văn cũng tìm hiểu cách tính số cây khung bằng
ma trận Laplacian. Việc đánh giá số đỉnh, số cạnh của đồ thị phẳng cũng
được xem là bài toán đếm. Cuối cùng luận văn trình bày một số đánh giá
về việc đếm số tam giác trong đồ thị, bài toán này cũng thường xuất hiện
trong các đề thi học sinh giỏi. Chương 2 tham khảo chính theo các tài liệu
[4, 6, 7, 8, 9]].
Trong quá trình làm luận văn, tôi nhận được sự hướng dẫn và giúp đỡ
tận tình của TS. Trần Nguyên An - Trường Đại học Sư phạm - Đại học Thái

Nguyên. Tôi xin được bày tỏ lòng biết ơn sâu sắc đến thầy.
Tôi xin gửi lời cảm ơn chân thành đến quý thầy cô giảng dạy lớp Cao
học khóa Cao học Toán khóa 11E (2017-2019) - trường Đại học Khoa học
- Đại học Thái Nguyên, đã truyền thụ đến cho tôi nhiều kiến thức và kinh
nghiệm nghiên cứu khoa học.
Lời cuối cùng, tác giả muốn dành để tri ân bố mẹ và gia đình vì đã
chia sẻ những khó khăn để tác giả hoàn thành công việc học tập của mình.
Thái Nguyên, ngày 30 tháng 01 năm 2019
Tác giả

Ninh Thị Nụ

2


Chương 1

Mở đầu đại số tổ hợp và lý thuyết đồ
thị
1.1. Đại số tổ hợp
Mục này nhắc lại một số kiến thức chuẩn bị về Đại số tổ hợp như các
quy tắc đếm cơ bản, các công thức tổ hợp. Tài liệu tham khảo chính của mục

1.1 và 1.2 là
1. Trần Nguyên An và Nguyễn Văn Hoàng (2016), Tập hợp và logic Toán,
NXB Đại học Thái Nguyên.
2. Ngô Đắc Tân (2003), Lý thuyết tổ hợp và đồ thị, NXB Đại học Quốc gia
Hà Nội.
Người ta thường phân biệt nhiều mức độ trong việc giải các bài toán
tổ hợp. Mức độ đầu tiên là tìm ít nhất một cách bố trí những đối tượng có

tính chất đã cho. Nếu bài toán tổ hợp có nhiều lời giải thì vẫn đề đặt ra là
đếm số lời giải, và mô tả tất cả các lời giải của các bài toán đã cho. Cuối
cùng, nếu các lời giải khác nhau được phân biệt với nhau bởi những tham số
nào đó, thì vấn đề đặt ra là tìm lời giải tối ưu của bài toán đã cho. Ở đây
chúng ta sẽ chỉ giới hạn vào việc đếm số lời giải của bài toán tổ hợp.
Để làm việc này, người ta thường áp dụng những công thức thiết lập
cho từng loại bài toán. Tất cả các công thức ấy, xét cho cùng, đều dựa trên
hai quy tắc đơn giản là quy tắc cộng và quy tắc nhân.
Định nghĩa 1.1.1 (Quy tắc cộng). Nếu một công việc nào đó có thể thực
hiện theo n phương án khác nhau, trong đó: phương án 1 có m1 cách thực
hiện, phương án 2 có m2 cách thực hiện, ..., phương án thứ n có mn cách
thực hiện. Khi đó, có: m1 + m2 + ... + mn cách để hoàn thành công việc đã
3


cho.
Ta phát biểu quy tắc cộng theo ngôn ngữ tập hợp: Gọi A1 là tập hợp
các đối tượng x1 , A2 là tập hợp các đối tượng x2 , ..., An là tập hợp các đối
tượng xn . Mỗi cách chọn đối tượng xi ứng với một phần tử của Ai và đảo
lại. Điều kiện "cách chọn đối tượng xi không trùng với bất kỳ đối tượng xj ,

(j = i)" được diễn tả theo ngôn ngữ tập hợp bằng điều kiện: Ai ∩ Aj = ∅,
(i = j); i, j = 1, 2, ..., n. Cách chọn "x1 hoặc x2 ... hoặc xn" được phiên
dịch thành cách chọn một phần tử của tập hợp A1 ∪ A2 ∪ ... ∪ An . Các số

m1 , m2, ..., mn theo thứ tự là số phần tử của tập hợp A1, A2, ..., An, tức là,
theo cách ký hiệu quen thuộc m1 = |A1 |, m2 = |A2 |, ..., mn = |An |.
Mệnh đề 1.1.2. Nếu A1 , ..., Am là các tập hợp hữu hạn đôi một rời nhau,
khi đó:


|A1 ∪ ... ∪ Am | = |A1 | + ... + |Am−1| + |Am |.
Quy tắc cộng có thể mở rộng cho công thức |A1 ∪ A2 ∪ ... ∪ An |, trong
đó A1 ,..., An là các tập hợp hữu hạn tùy ý (không nhất thiết đôi một rời
nhau). Công thức này được gọi là Nguyên lý bao hàm và loại trừ.
Định lý 1.1.3 (Nguyên lý bao hàm và loại trừ). Giả sử A1 , A2, ...An. Là các
tập hữu hạn bất kỳ. Khi đó:

|Ai1 | −

|A1 ∪ A2 ∪ ... ∪ An | =
1≤i1≤n

+ (−1)

k+1

+ (−1)

n+1

|Ai1 ∩ Ai2 | + ...
1≤i1 ≤i2 ≤n

|Ai1 ∩ Ai2 ∩ ... ∩ Aik | + ...
1≤i1 ≤i2 ≤...ik ≤n

|Ai1 ∩ Ai2 ∩ ... ∩ Ain |.

Định nghĩa 1.1.4 (Quy tắc nhân). Nếu một công việc nào đó phải hoàn
thành qua m giai đoạn liên tiếp, trong đó: giai đoạn 1 có m1 cách thực hiện,

giai đoạn 2 có m2 cách thực hiện, ..., giai đoạn n có mn cách thực hiện. Khi
đó, có: m1 .m2 ...mn cách để hoàn thành công việc đã cho.
Mệnh đề 1.1.5. Cho s tập hợp hữu hạn A1 , A2 , ..., An (n ≥ 2). Khi đó

|A1 × A2 × ... × An | = |A1 |.|A2|...|An|.
Định nghĩa 1.1.6. Cho X là một tập hợp có n phần tử và k > 0 là một số
tự nhiên. Một chỉnh hợp có lặp chập k của n phần tử là một bộ sắp thứ tự
4


k

gồm k phần tử của X . Ta kí hiệu An là số chỉnh hợp có lặp chập k của n
phần tử.
Ví dụ 1.1.7. Cho X = {a, b, c}. Khi đó (a, a, b, c) là một chỉnh hợp có lặp
chập 4 của 3 phần tử. Những bộ (b, a, a), (a, b, c) là những chỉnh hợp có lặp
chập 3 của 3 phần tử. Tất cả các chỉnh hợp có lặp chập 2 của 3 phần tử là

(a, a), (a, b), (a, c), (b, a), (b, b), (b, c), (c, a), (c, b), (c, c).
2

Do đó A3 = 9.
Mệnh đề 1.1.8. Chỉnh hợp có lặp chập k của n phần tử được cho bởi công
thức
k

An = nk .
Định nghĩa 1.1.9. Cho X là một tập hợp có n phần tử và 0 < k ≤ n là
một số tự nhiên. Một chỉnh hợp không lặp chập k của n phần tử là một bộ
sắp thứ tự gồm k phần tử phân biệt của X. Ta kí hiệu Akn là số chỉnh hợp

không lặp chập k của n phần tử.
Ví dụ 1.1.10. Cho X = {a, b, c}. Khi đó (a, b, c) là một chỉnh hợp không lặp
chập 3 của 3 phần tử; (b, a, a) không là chỉnh hợp không lặp chập 3 của 3 phần
tử. Các chỉnh hợp không lặp chập 2 của 3 phần tử là (a, b), (a, c), (b, a), (b, c),

(c, a), (c, b). Do đó A23 = 6.
Mệnh đề 1.1.11. Số các chỉnh hợp không lặp chập k của n phần tử được
cho bởi công thức

Akn =

n!
,
(n − k)!

trong đó ta quy ước 0! = 1.
Cho thuận tiện, ta quy ước rằng có đúng một chỉnh hợp không lặp
chập 0 của n phần tử.
Định nghĩa 1.1.12. Cho X là một tập hợp có n phần tử. Một hoán vị của

n phần tử là một bộ sắp thứ tự gồm n phần tử phân biệt của X. Ta kí hiệu
Pn là số hoán vị của n phần tử.
Ví dụ 1.1.13. Cho X = {a, b, c}. Khi đó các hoán vị của 3 phần tử là

(a, b, c), (b, c, a), (c, a, b), (a, c, b), (c, b, a)(b, a, c).
5


Do đó P3 = 6.
Mệnh đề 1.1.14. Số các hoán vị của n phần tử được cho bởi công thức


Pn = n!.
Định nghĩa 1.1.15. Cho n, k là các số tự nhiên sao cho 0 ≤ k ≤ n. Cho X
là một tập gồm n phần tử. Một tổ hợp chập k của n phần tử là một tập con
của X gồm k phần tử. Ta kí hiệu Cnk là số tổ hợp chập k của n phần tử.
Ví dụ 1.1.16. Cho k = 2 và n = 4. Cho X = {a, b, c, d}. Khi đó các tổ hợp
chập 2 của 4 phần tử trong tập X là

{a, b}, {a, c}, {a, d}, {b, c}, {b, d}, {c, d}.
Do đó C42 = 6.
Mệnh đề 1.1.17. Công thức tính số các tổ hợp chập k của n phần tử được
cho bởi công thức

Cnk =

n!
,
k!(n − k)!

trong đó ta quy ước 0! = 1.
Mệnh đề 1.1.18. Cho k, n là các số tự nhiên sao cho 0 ≤ k ≤ n. Khi đó ta

(i) Cnk = Cnn−k .
k−1
k
(ii) Cnk = Cn−1
+ Cn−1
.

(iii) Với n và k là các số nguyên dương ta có

k−1
k−1
k−1
k−1
Cnk = Cn−1
+ Cn−2
+ . . . + Ck+1
+ Ckk−1 + Ck−1
.

Mệnh đề 1.1.19. Cho số tự nhiên n > 1 và cho a, b là hai số thực. Khi đó
ta có

(a + b)n = Cn0an + Cn1an−1b + Cn2an−2 b2 + . . . + Cnn−1abn−1 + Cnnbn .
Hệ quả 1.1.20. Với mỗi số tự nhiên n ta có
(i) Cn0 + Cn1 + . . . + Cnn = 2n. Do đó, có 2n các tập con của một tập gồm n
phần tử.
(ii) Cn0 − Cn1 + Cn2 + . . . + (−1)k Cnk + . . . + (−1)nCnn = 0.
6


(iii) Cn1 − 2Cn2 + 3Cn3 − 4Cn4 + . . . + (−1)k−1kCnk + . . . + (−1)n−1nCnn = 0 với
mọi n ≥ 2.
(iv) Cn1 + 2Cn2 + . . . + kCnk + . . . + nCnn = n2n−1 với mọi n ≥ 1.
Kết quả sau đây cho ta cách đếm số phân hoạch một tập hợp có m
phần tử cho trước thỏa mãn một số yêu cầu.
Định lý 1.1.21. Cho các số tự nhiên k1 , k2 , . . . , ks sao cho k1 + k2 + . . . +

ks = m. Khi đó số phân hoạch một tập hợp A gồm m phần tử khác nhau
thành hợp rời rạc của s tập con B1 , B2 , . . . , Bs, với số phần tử theo thứ tự là


k1, k2, . . . , ks, bằng

m!
.
k1 !.k2! . . . ks !

Chứng minh. Ta có thể thực hiện các phân hoạch đã mô tả trên đây của tập

A thành s tập con B1 , B2, . . . , Bs như sau: Ta lấy một tập con B1 bất kỳ
k1
cách),
chứa k1 phần tử của tập hợp A (điều này có thể thực hiện theo Cm

trong m − k1 phần tử còn lại, ta lấy một tập con B2 chứa k2 phần tử (điều
k2
cách). . . . Khi đó, theo quy tắc nhân, số tất
này có thể thực hiện theo Cm−k
1

cả các cách chọn các tập con B1 , B2 , . . . , Bs là
ks
k3
k2
k1
. . . × Cm−k
× Cm−k
×Cm−k
Cm
1 −k2 −...−ks−1

1 −k2
1
m!
(m − k1 )!
(m − k1 − k2 )!
=
×
×
k1!(m − k1)! k2 !(m − k1 − k2 )! k3!(m − k1 − k2 − k3 )!
(m − k1 − k2 − . . . − ks )!
×...×
ks !(m − k1 − k2 − . . . − ks )!
m!
.
=
k1!.k2! . . . ks !

Định nghĩa 1.1.22. Cho s phần tử khác nhau a1 , a2 , . . . , as . Một chỉnh hợp
có lặp chập m của s phần tử đã cho, trong đó có k1 phần tử thứ nhất a1 , có

k2 phần tử thứ hai a2 , . . ., và có ks phần tử as (với m = k1 + k2 + . . . + ks ),
được gọi là một hoán vị có lặp cấp m = k1 + k2 + . . . + ks kiểu (k1 , k2 , . . . , ks )
của s phần tử. Số các hoán vị có lặp cấp m kiểu (k1 , k2 , . . . , ks) của s phần
tử được kí hiệu là

Cm (k1, k2, . . . , ks).
7


Định lý sau đây cho ta công thức tính số các hoán vị có lặp.

Định lý 1.1.23. Số hoán vị có lặp cấp m = k1 + . . . + ks kiểu (k1 , k2 , . . . , ks )
của s phần tử, được xác định bằng công thức

Cm(k1, k2, . . . , ks ) =

m!
.
k1 !.k2! . . . ks !

Chứng minh định lý 1.1.23 cách 1. Gọi s phần tử phân biệt đã cho là a1 , a2 , . . . , as .
Ta đặt O = {O1 , O2 , . . . , Om } là tập gồm m ô chứa đánh số từ 1 đến m. Lấy

T là một hoán vị có lặp chập m kiểu (k1, k2, . . . , ks ) của s phần tử đã cho.
Nếu ta đưa T vào dãy các ô chứa từ O1 đến Om (theo đúng thứ tự từ trái
sang phải), khi đó mỗi Oi sẽ chứa một phần tử aj nào đó trong số s phần tử
Nếu e = {u, v} là một cạnh của Q, thì T − e sẽ là đồ thị liên thông.
Thật vậy, nếu hành trình H nào đó trong T nối hai đỉnh khác nhau x và y
không chứa cạnh e thì H cũng là hành trình trong T − e nối x và y ; còn nếu
H chứa e thì (H − e) ∪ (Q − e) sẽ là hành trình trong T − e nối x và y .
Điều vừa nhận được mâu thuẫn với (d). Vậy hai đỉnh khác nhau bất kỳ của
T được nối với nhau bởi đúng một đường.
5. (e) ⇒ (f ): Giả sử đồ thị vô hướng T = (V, E) thỏa mãn (e). Khi đó
T không chứa chu trình vì trong trường hợp ngược lại hai đỉnh khác nhau
26


bất kỳ của chu trình đó sẽ được nối với nhau bằng hai đường. Bây giờ nếu
thêm vào T một cạnh e nối hai đỉnh u và v không kề nhau nào đó trong
T, thì cạnh e đó cùng với đường nối u với v trong T sẽ tạo thành chu trình
trong đồ thị T + e. Nếu trong T + e có hai chu trình là C1 và C2 , thì dễ thấy

rằng cả C1 và C2 đều chứa e (vì T không chứa chu trình). Khi đó C1 − e và

C2 − e là hai đường khác nhau nối u với v . Điều này mâu thuẫn với (e). Vậy
T + e có đúng một chu trình.
6. (f ) ⇒ (a): Giả sử đồ thị vô hướng T = (V, E) thỏa mãn (f). Để
chứng minh T là cây ta chỉ còn phải chứng minh rằng T liên thông.
Giả sử T không liên thông. Khi đó T có ít nhất là hai thành phần liên
thông. Nếu ta thêm một cạnh nối hai đỉnh không kề nhau nhưng thuộc hai
thành phần liên hông khác nhau của T thì ta không nhận được một chu trình
nào trong đồ thị nhận được. Điều này mâu thuẫn với giả thiết (f). Vậy T liên
thông và cùng với khẳng định (f). T là cây
Mệnh đề 2.1.7. Giả sử cho trước các đỉnh v1 , . . . , vn và các số nguyên dương

d1, . . . , dn sao cho

n

di = 2n − 2,

di ≥ 1.

i=1

Khi đó số cây có tập đỉnh {v1 , . . . , vn} sao cho đỉnh vi có bậc di với i =

1, 2, . . . , n là

(n − 2)!
.
(d1 − 1)! . . . (dn − 1)!


Chứng minh. Ta chứng minh bằng quy nạp theo n. Với n = 1, 2, khẳng định
là hiển nhiên. Do

n

di = 2n − 2 < 2n
i=1

nên ta luôn tìm được một chỉ số i sao cho di = 1. Không mất tính tổng quát
ta giả sử dn = 1. Ta thực hiện xóa đỉnh vn. Ta nhận thấy rằng đỉnh vn sẽ được
nối với một đỉnh vj với 1 ≤ j ≤ n − 1 nào đó và khi ta thực hiện xóa đỉnh

vn thì cây thu được có tập đỉnh là {v1, v2, . . . , vn−1} với các bậc tương ứng là
d1, . . . , dj−1, dj − 1, dj+1, . . . , dn−1. Ngược lại, nếu cho trước một cây có tập
đỉnh là {v1 , v2, . . . , vn−1} với dãy bậc là d1 , . . . , dj−1, dj −1, dj+1, . . . , dn−1 thì
bằng cách nối đỉnh vj với đỉnh vn ta sẽ thu được một cây trên {v1 , v2 , . . . , vn}
27


với dãy bậc tương ứng là d1 , . . . , dn . Theo giả thiết quy nạp, số cây trên

{v1, v2, . . . , vn} có dãy bậc d1, . . . , dj−1, dj − 1, dj+1, . . . , dn−1 là
(n − 3)!
(d1 − 1)! . . . (dj−1 − 1)!(dj − 2)!(dj+1 − 1)! . . . (dn−1 − 1)!
(dj − 1)(n − 3)!
.
=
(d1 − 1)! . . . (dj−1 − 1)!(dj+1 − 1)! . . . (dn−1 − 1)!
Do đó, số cây trên {v1 , v2 , . . . , vn} với dãy bậc tương ứng d1 , . . . , dn là



n−1
n−1
(dj − 1)(n − 3)!
(n − 3)!
=  (dj − 1)
(d1 − 1)! . . . (dn−1 − 1)!
(d1 − 1)! . . . (dn−1 − 1)!
j=1
j=1

(n − 3)!
(d1 − 1)! . . . (dn−1 − 1)!
(n − 2)!
.
=
(d1 − 1)! . . . (dn−1 − 1)!

= (n − 2)

Mệnh đề 2.1.8. Kí hiệu Tn là số cây trên {v1 , v2 , . . . , vn}. Khi đó
n−1

Tn =

k
k=1

n−2

Tk Tn−k .
k−1

Chứng minh. Nếu T là một cây trên V = {v1 , v2 , . . . , vn} và e ∈ E(T ) thì

T − e chứa hai cây phân biệt T ′ , T ′′ , và chúng phủ V . Bằng cách này ta thu
được (n − 1)Tn cặp (T ′, T ′′). Giả sử, T ′ , T ′′ là hai cây phân biệt và chúng
phủ V ; đặt |V (T ′ )| = k , |V (T ′′)| = n − k . Khi đó ta có k(n − k) cách để bổ
sung thêm một cạnh nối T ′ với T ′′ để thu được một cây trên V . Do đó từ
một cặp (T ′, T ′′) này sinh ra k(n − k) cây T . Số các cặp (T ′, T ′′) thỏa mãn
như vậy là

n−2
k−1

Tk Tn−k . Do đó
n−1

(n − 1)Tn =
k=1

n−1
Tk Tn−k k(n − k).
k−1

Suy ra
n−1

Tn =


k
k=1

n−2
Tk Tn−k
k−1

do

n−1
k−1

=

n−1 n−2
.
n−k k−1

Định lý 2.1.9 (Công thức Cayley). Số cây có n đỉnh đúng bằng nn−2 .
28


Chứng minh. Theo kết quả của Bài toán 1.2.2, ta suy ra số cây có n chính là

d1 ,...,dn ≥1
d1 +...+dn =2n−2

(n − 2)!
=
(d1 − 1)! . . . (dn − 1)!


k1 ,...,kn ≥1
k1 +...+kn =2n−2

(n − 2)!
k1 ! . . . kn !

n

1+ ...+1
n

2.2. Công thức tính số cây khung
Mục này trình bày một cách tính toán số lượng cây khung cực đại
của một đồ thị cho trước. Trước hết ta nhắc lại một số khái niệm trong lý
thuyết đồ thị. Mục này tham khảo theo bài giảng Algebraic combinatorics
của Lionel Levine (Bài giảng 19).
Giả sử G = (V, E) là một đồ thị có hướng với V = {v1 , v2, v3 , . . . , vn}.
Khi đó ma trận kề của đồ thị G là ma trận


a11 a12 · · · a1n
a

 21 a22 · · · a2n 
A = (aij )n×n =  ..
..
..
.. 
 .

.
.
. 
an1 an2 · · · ann
Ở đây aij =

1, nếu (vi, vj ) ∈ E,

0, nếu (vi, vj ) ∈
/ E.
Dễ thấy rằng ma trận kề A của đồ thị có hướng G hoàn toàn xác định

G. Vì vậy, ma trận kề A được coi là một biểu diễn của G.
Ví dụ 2.2.1. Giả sử G = (V, E) với V = {v1 , v2 , v3 , v4, v5 , v6 } và E =

{e1 , e2 , . . . , e10} là đồ thị có hướng được biểu diễn bằng Hình 7.1. Khi đó, ma
trận kề của G là ma trận






A=




0
0

0
0
1
1

1
1
0
0
0
0

1
0
0
1
0
0

0
0
0
0
1
0

0
1
0
0

0
1

0
0
0
0
0
1











Già sử G = (V, E) là đồ thị có hướng với V = {v1 , v2, . . . , vn} và

29


E = {e1, e2 , . . . , em}. Khi đó ma trận liên thuộc của đồ thị G là ma trận


b11 b12 . . . b1m
b


 21 b22 . . . b2m 
B = (bij )n×m =  ..
..
..
..  ,
 .
.
.
. 
bn1 bn2 . . . bnm
v1

e1

e8

e4

v2

e7
e10 v6

e3
e2

e9

v3

e5

v5

e6

v4

Hình 7.1. Đồ thị có hướng G của ví dụ 7.1.
Ở đây



1,
bij = −1,


0,

nếu vi là đỉnh đầu của ej
nếu vi là đỉnh cuối nhưng không là đỉnh đầu của ej
nếu vi không liên thuộc với ej .

Ma trận liên thuộc B cũng hoàn toàn xác định đồ thị có hướng G. Vì

vậy, B cũng được coi là một biểu diễn của G.
Ví dụ 2.2.2. Giả sử G = (V, E) là đồ thị có hướng cho ở Ví dụ 7.1. Khi đó
ma trận liên thuộc G là ma

1 1 0

 −1 0 1


 0 −1 0

 0 0 0

 0 0 0
0 0 0

trận

0 0 0 0 −1 −1 0
1 0 0 0 0 0 0


0 −1 0 0 0 0 0 
,
0 1 −1 0 0 0 0 

−1 0 1 −1 1 0 0 
0 0 0 1 0 1 1

Định nghĩa 2.2.3. (i) Một đồ thị con H của đồ thị G = (V, E) có dạng

H = (V, A) với A ⊆ E , được gọi là đồ thị con khung của đồ thị G.
(ii) Cho trước một đồ thị hữu hạn G với n đỉnh. Đồ thị con T được gọi
là cây khung của đồ thị G nếu T là đồ thị con khung đồng thời là một cây
với số cạnh tối thiểu.
30



(iii) Ma trận Laplacian của đồ thị G được định nghĩa bởi hệ thức L =

D − A với
1 . A là ma trận kề của đồ thị G,
2 . D là ma trận chéo được xác định như sau

dv1

dv2

D=
...




dvn



,


trong đó dvi = deg(vi), là số lượng các đỉnh liên hợp với đỉnh vi.
Đặt κ(G) là lực lượng của số cây khung của đồ thị G.

Định lý 2.2.4 (Kirchhoff). Cho trước một đồ thị liên thông G = (V, E) với


|V | = n. Khi đó

1
λ1 λ2 . . . λn−1
n
trong đó λi là các giá trị riêng khác không của ma trận L.
κ(G) =

Thông thường để chứng minh Định lý Kirchhoff ta sẽ dựa trên công
thức Cauchy-Binet. Ở đây luận văn trình bày một cách chứng minh bằng
cách mở rộng đối tượng khảo sát cho các đồ thị định hướng và coi đồ thị vô
hướng như là một trường hợp đặc biệt. Trước hết ta có định nghĩa
Định nghĩa 2.2.5. (i) Cho trước một đồ thị định hướng Γ = (V, E). Đồ thị
con T = (V, A) được gọi là cây khung định hướng của đồ thị Γ với gốc tại

r ∈ V nếu ba điều kiện sau được thỏa mãn:
1 . Mọi đỉnh v = r đều có bậc ngoài bằng 1;
2 . Đỉnh r có bậc ngoài bằng 0;
3 . Đồ thị T không chứa chu trình định hướng.
(ii) Ma trận Laplacian của đồ thị Γ được định nghĩa bởi hệ thức L =

D − A với
1 . A là ma trận kề của đồ thị Γ;

31


2 . D là ma trận chéo được xác định như sau:



dv1


dv2


D=
,
.
..


dvn

trong đó dvi = outdeg(vi) = |{vj ∈ E : (vi, vj ) ∈ E}|.
Đặt κ(Γ, r) là khung định hướng của Γ có gốc tại r.

Định lý 2.2.6 (Kirchhoff). Cho trước đồ thị liên thông Γ = (V, E). Khi đó

κ(Γ, r) = det Lr
với Lr là ma trận nhận được từ L bằng cách xóa đi hàng r và cột r.
Chứng minh Định lí 2.2.6. Không giảm tính tổng quát của bài toán ta đánh
số lại các đỉnh của đồ thị Γ sao cho r là đỉnh thứ n. Áp dụng công thức khai
triển Leibniz cho định thức det Lr ta nhận được

det Lr =

sign(σ)L1,σ(1)L2,σ(2) . . . Ln−1,σ(n−1).
σ∈Sn−1


Đặt Fix(σ) = {i | σ(i) = i}. Khi đó,

det Lr =

sign(σ)
σ∈Sn−1

Li,σ(i) .

di
i∈Fix(σ)

i∈Fix(σ)
/

Phép chứng minh được kết thúc.
Nhận xét 2.2.7. Thừa số

Li,σ(i)
i∈Fix(σ)
/

chỉ khác không khi và chỉ khi

(i, σ(i)) ∈ E với mọi i ∈
/ Fix(σ). Do ma trận Lr có các số di nằm trên
đường chéo chính và các số −1 hoặc 0 nằm ở các vị trí còn lại nên ta nhận
được

Li,σ(i) = (−1)n−1−| Fix(σ)| .

i∈Fix(σ)
/

Nhận xét 2.2.8. Mọi hoán vị σ đều có thể được phân tích thành tập các
điểm bất động, và các chu trình và nếu gọi H = T ∪ C1 ∪ . . . Ck là đồ thị
con cảm sinh từ hoán vị σ sao cho T ⊆ Fix(σ) thì thừa số

i∈Fix(σ) di

đếm

số các đồ thị con H = T ∪ C1 ∪ . . . Ck sao cho mỗi đỉnh v ∈ Fix(σ) đều có
bậc ngoài bằng 1.
32


Từ nhận xét vừa nêu ở trên, ta nhận thấy bằng cách đặt

sign(σ)(−1)n−1−| Fix(σ)| .

CH =
{σ∈Sn−1 |T ⊆Fix(σ)}

ta có thể biểu diễn lại định thức dưới dạng

det Lr =

CH .
H là một đồ thị con của Γ


Để chứng minh khẳng định của bài toán ta cần chỉ ra rằng: CH bằng

1 nếu H là một cây khung định hướng và 0 trong trường hợp ngược lại.
Thật vậy, nếu H là một cây thì tất cả các đỉnh đều nằm trong Fix(σ)
và σ chính là hoán vị đồng nhất. Do dấu của hoán vị đồng nhất luôn bằng

1 và n − 1 điểm đều là các điểm bất động nên CH = 1.
Sau cùng, ta chỉ cần chỉ ra rằng CH = 0 nếu k ≥ 1, tức là khi H chứa
một chu trình. Giả sử Ci1 , . . . , Cil là các chu trình tương ứng với các chu
trình của hoán vị σ nên

sign(σ) = (−1)(|Ci1 |−1)+...+(|Cil |−1).
Khi đó

(−1)(|Ci1 |−1)+...+(|Cil |−1)(−1)|Ci1 |+...+|Cil |

CH =
{i1 ,...,il }∈[k]

(−1)|S|

=

S⊂[k]
k

=
l=0

k

(−1)l
l

= (1 − 1)k = 0,

nếu k ≥ 1.

Bây giờ ta sẽ sử dụng Định lí 2.2.6 để chứng minh tính đúng đắn của
Định lí 2.2.4 như sau:
Chứng minh Định lí 2.2.4. Cho trước đồ thị vô hướng G và gọi Γ là đồ thị
định hướng với các cạnh (i, j) và (j, i) được cảm sinh từ các cạnh của đồ thị

G.
Nhận xét rằng, tồn tại một tương ứng giữa tập các cây khung của Γ
có gốc tại r và tập các cây khung của G.
33


Thật vậy, ta chọn một cây khung định hướng của Γ có gốc tại r và
thu được một cây khung của G bằng cách xóa đi gốc và định hướng của các
cạnh. Ngược lại, với một cây khung T của G, ta thu được một cây khung
định hướng của Γ bằng cách định hướng lại các cạnh sao cho chỉ có một
đường đi duy nhất từ một đỉnh bất kì của đồ thị G đến đỉnh r, một đường
đi như thế luôn tồn tại do T là một đồ thị liên thông và T là một cây nên
đường đi này là duy nhất.
Khi đó,

n

nκ(G) =


κ(G, r).
r=1

Giả sử L là ma trận Laplacian của đồ thị Γ. Khi đó, đa thức đặc trưng
của ma trận L được định nghĩa bởi hệ thức

χ(t) = det(tI − L).
Áp dụng các kết quả đã biết từ lý thuyết đại số tuyến tính ta thu được
n

det Lr = (−1)n−1[t]χ(t),
r=1

trong đó [t]χ(t) là hệ số của t trong khai triển của đa thức χ(t).
Kết hợp các phân tích vừa nêu ta thu được
n

κ(G, r)

nκ(G) =
r=1
n

det Lr = (−1)n−1[t]χ(t)

=
r=1

n


= (−1)

n−1

= (−1)

n−1

(t − λi ) các giá trị riêng của ma trận L và λn = 0

[t]

i=1
n−1

(−1)

λ1 λ2 . . . λn−1.

Vậy

κ(G) =
Phép chứng minh được kết thúc.

1
λ1 λ2 . . . λn−1.
n

2.3. Đánh giá số cạnh của một đồ thị phẳng

Mục này thao khảo chính theo cuốn sách Lý thuyết tổ hợp và đồ thị
của Ngô Đắc Tân và cuốn Problem-solving methods in combinatorics, an
34


ap-proach to olympiad problems của P. Soberón.
Định nghĩa 2.3.1. đồ thị vô hướng G = (V, E) được gọi là đồ thị phẳng nếu
như nó có thể biểu diễn được ở trên mặt phẳng sao cho các đường cong biểu
diễn các cạnh hoặc không giao nhau hoặc giao nhau chỉ ở các đỉnh chung.
Biểu diễn nói trên của đồ thị phẳng được gọi là biểu diễn phẳng.
Ta sẽ đồng nhất đồ thị phẳng với một biểu diễn phẳng của nó.
K5
K4

K3,3

K4

Hình 2.2: Ví dụ đồ thị phẳng và đồ thị không phẳng

Ví dụ 2.3.2. Trên Hình 2.2 ta có hai biểu diễn của đồ thị đầy đủ K4 . Biểu
diễn ở bên trái không là biểu diễn phẳng, còn biểu diễn ở bên phải là biểu
diễn phẳng của K4 . Như vậy, đồ thị K4 là đồ thị phẳng.
Đồ thị đầy đủ K5 và đồ thị 2-phần đầy đủ K3,3 (Hình 2.2) không là
đồ thị thị phẳng.
Giả sử G = (V, E) là một đồ thị phẳng. Khi đó, phần mặt phẳng được
giới hạn bởi các cạnh của G và không bị chia thành các phần nhỏ hơn bởi
các cạnh khác được gọi là một miền (hay cũng gọi là một mặt) của G.
Định lý 2.3.3 (Công thức Euler cho đồ thị phẳng). Nếu đồ thị phẳng liên
thông G = (V, E) có v đỉnh, c cạnh và f miền, thì v − e + f = 2.

Chứng minh. Ta chứng minh định lý này bằng quy nạp theo f . Nếu f = 1,
thì G không chứa chu trình. Suy ra, G là cây vì nó liên thông. Từ Định lý
2.1.6 suy ra Định lý 2.3.3 đúng trong trường hợp này.
Bây giờ giả sử đồ thị phẳng liên thông G có số miền f > 1 và giả sử
Định lý 2.3.3 đã được chứng minh là đúng cho mọi đồ thị phẳng liên thông
có số miền nhỏ hơn f . Vì f > 1, nên G chứa chu trình. Giả sử {u, v} là một
cạnh của một chu trình của G. Vì mỗi chu trình tách mặt phẳng làm hai
35


phần rời nhau, nên cạnh {u, v} thuộc biên của hai miền, chẳng hạn S và T.
Nếu xóa cạnh {u, v}, thì ta nhận được một đồ thị phẳng liên thông G’ mới,
trong đó các miền S và T được nhập lại với nhau tạo thành một miền mới,
còn các miền khác giữ nguyên không đổi. Như vậy là G’ có v đỉnh, e − 1 cạnh
và f − 1 miền. Theo giả thiết qui nạp, v − (e − 1) + (f − 1) = 2. Nhưng
đẳng thức này hiển nhiên tương đương với v − e + f = 2.
Trước khi phát biểu và chứng minh một kết quả nữa về đồ thị phẳng
liên thông, ta đưa ra các khái niệm mới là chu vi nhỏ nhất và chu vi lớn nhất
của đồ thị.
Định nghĩa 2.3.4. Độ dài của chu trình ngắn nhất trong một đồ thị được
gọi là chu vi nhỏ nhất (girth) của đồ thị đó. Chu vi nhỏ nhất của đồ thị G
thường được ký hiệu là g(G) hay ngắn gọn là g nếu đồ thị G được hiểu rõ
từ ngữ cảnh.
Định nghĩa 2.3.5. Tương tự, độ dài của chu trình dài nhất trong một đồ
thị được gọi là chu vi lớn nhất (circumference) của đồ thị đó. Chu vi lớn nhất
của đồ thị G thường được ký hiệu là c(G) hay ngắn gọn là c nếu đồ thị G
được hiểu rõ từ ngữ cảnh.
Nếu như trong đồ thị vô hướng G không tồn tại chu trình, tức là khi G
là rừng, thì chu vi nhỏ nhất và chu vi lớn nhất của G được định nghĩa bằng


∞.
Định lý 2.3.6 (Bất đẳng thức cạnh đỉnh). Trong đồ thị phẳng liên thông

G = (V, E) bất kỳ với chu vi nhỏ nhất g thỏa mãn 3 ≤ g ≤ ∞ ta luôn có
|E| ≤

g
(|V | − 2).
g−2

Chứng minh. Giả sử G = (V, E) là đồ thị phẳng liên thông thỏa mãn điều
điện của Định lý 2.3.6. Ta cũng giả sử rằng G có E = {e1 , e2 , ...el } và các
miền f1 , f2 , ..., fl. Ta xác định ma trận X = (xij )t×l cỡ t × l như sau:

xij =

1 nếu ei là một cạnh trên biên của miền fj ,
0 trong trường hợp ngược lại.

(2.1)

Ma trận X xác định như trên gọi là ma trận cạnh-miền của đồ thị phẳng G.
36


Vì mỗi cạnh của G là một cạnh trên biên của nhiều nhất là hai miền,
nên trong mỗi hàng của ma trận X có nhiều nhất là hai số 1. Mặt khác, các
cạnh ở trên biên của mỗi miền tạo thành một chu trình trong G. Do đó,
mỗi cột của ma trận X có ít nhất g số 1, ở đây g là chu vi nhỏ nhất của
G. Vì vậy, nếu s là số các số 1 có trong X, thì ta có các bất đẳng thức sau đây:


gl ≤ s ≤ 2t.
Mặt khác, vì G liên thông theo Định lý 2.3.3, l = t − |V | + 2. Sau khi thay
thế vào các bất đẳng thức trên ta được

gl = gt − g|V | + 2g ≤ 2t
⇔ t(g − 2) ≤ g(|V | − 2)
g
(|V | − 2).
⇔ |E| ≤
g−2
Bất đẳng thức cạnh đỉnh ở định lý trên có thể áp dụng để chứng minh
nhiều đồ thị không là đồ thị phẳng.
Hệ quả 2.3.7. Đồ thị đầy đủ K5 và đồ thị 2-phần đầy đủ K3,3 không là đồ
thị phẳng.
Chứng minh. Đồ thị K5 có 5 đỉnh, 10 cạnh và chu vi nhỏ nhất g = 3. Nếu

K5 là đồ thị phẳng, thì theo bất đẳng thức cạnh đỉnh 10 ≤

3
(5
3−2

− 2) = 9.

Mâu thuẫn. Vậy K5 không là đồ thị phẳng.
Tương tự, đồ thị K3,3 có 6 đỉnh, 9 cạnh và chu vi nhỏ nhất g bằng 4. Nếu

K3,3 là đồ thị phẳng, thì theo bất đẳng thức cạnh đỉnh 9 ≤


4
4−2 (6

− 2) = 8.

Mâu thuẫn. Vậy K3,3 không là đồ thị phẳng.
Xét trường hợp đặc biệt, đánh giá số cạnh cho đồ thị không chứa chu
trình chẵn
Mệnh đề 2.3.8. Mọi đồ thị G = (V, E) không có chu trình độ dài chẵn thì

3
|E| ≤ (|V | − 1).
2
Để chứng minh bài toán này, ta cần bổ đề sau :
37


Bổ đề 2.3.9. Mọi đồ thị G không có chu trình độ dài chẵn thì không có hai
chu trình nào có cạnh chung.
Giả sử phản chứng, ta tìm được hai chu trình C1 và C2 có cạnh chung.
Gọi độ dài cạnh chung là x, độ dài của C1 không nằm trên phần chung là y
và độ dài của C2 không nằm trên phần chung là z . Ta có x + y và x + z là
các số lẻ nên ta suy ra y + z là số chẵn (do 2x + y + z là số chẵn). Điều này
mâu thuẫn với giả thiết đồ thị G không chứa chu trình độ dài chẵn. Phép
chứng minh bổ đề được kết thúc.
Chứng minh Mệnh đề 2.3.8. Từ Bổ đề 2.3.9 suy ra mỗi cạnh thuộc tối đa
một chu trình. Gọi c là số chu trình chứa trong đồ thị G thì ta có |E| ≥ 3c,
bởi vì một chu trình độ dài lẻ chứa ít nhất là 3 cạnh. Mặt khác nếu ta xóa
đi một cạnh từ mỗi chu trình thì ta được một rừng, hay |E| − c ≤ |V | − 1.
Kết hợp cả hai đánh giá trên ta suy ra


|E| ≤ c + |V | − 1 ≤

|E|
+ |V | − 1.
3

Vậy

3
|E| ≤ (|V | − 1).
2
Phép chứng minh bài toán được kết thúc.

2.4. Số tam giác trong đồ thị
Mục này đề cập một số bài toán đếm trên đồ thị gắn liền với các đề
thi học sinh giỏi ở phổ thông. Tài liệu tham khảo chính là cuốn Problemsolving methods in combinatorics, an ap-proach to olympiad problems của
P. Soberón (Bài tập 4.15, 4.16).
Mệnh đề 2.4.1. (i) Cho G là một đồ thị k -chính quy, có n đỉnh. Khi đó số
tam giác trong G bằng

Cn3 −

nk
(n − k − 1) .
2

(ii) Cho G là đồ thị có n đỉnh. Khi đó trong G có ít nhất
tam giác.


38

(9.2)

n (n − 1) (n − 5)
24


Chứng minh. (i) Với đỉnh x của G, kí hiệu d (x) chỉ số cạnh nối đến x. Số bộ
ba đỉnh (x, y, z) không tạo thành ba đỉnh của một tam giác là d (x) [n − 1 − d (x)]
suy ra số bộ ba đỉnh không tạo thành ba đỉnh của một tam giác là

d (x) [n − 1 − d (x)].
x∈X

Tuy nhiên trong tổng này bộ ba đỉnh (x, y, z) không tạo thành một
tam giác được lặp lại đúng hai lần nên số bộ ba đỉnh không tạo thành một
tam giác sẽ là

1
d (x) [n − 1 − d (x)].
2 x∈X

Vậy số tam giác tạo thành sẽ là

Cn3 −

1
nk (n − 1 − k)
d (x) [n − 1 − d (x)] = Cn3 −

.
2 x∈X
2

(ii) Sử dụng bất đẳng thức AM – GM ta có

Cn3

1
1 n−1

d (x) [n − 1 − d (x)] ≥ Cn3 −
2 x∈X
2
2

2

=

n (n − 1) (n − 5)
.
24

Mệnh đề 2.4.2. (APMO 1989) Chứng minh rằng một đồ thị n đỉnh, k cạnh
k 4k − n2
tam giác.
thì sẽ có ít nhất
3n
Giải. Giả sử G = (X, U ), trong đó |X| = n, |U | = k . Giả sử x, y là hai đỉnh

kề phân biệt của tập X ; Từ x có d(x) − 1 cạnh và từ y có d(y) − 1 cạnh,
khác với cạnh [x, y]. Vì có n − 2 đỉnh khác nên x, y là cạnh kề của ít nhất

d(x) − 1 + d(y) − 1 − (n − 2) = d(x) + d(y) − n
đỉnh chung Do đó, ta có số tam giác chứa cạnh [x; y] ít nhất là d (x)+d (y)−n.
Suy ra số tam giác trong đồ thị đã cho có ít nhất là

A=

1
3

[d (x) + d (y) − n].
[x;y]∈U

Mặt khác ta dễ thấy đẳng thức sau:

[d (x)]2 .

[d (x) + d (y) − n] =
x∈U

[x;y]∈U
39


Từ đó theo bất đẳng thức Cauchy – Schwartz ta có:


2

1
1
A≥ 
d (x) − nk  =
4k 2 − nk .
3
3
x∈X

40


×