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

Cây bao trùm trong đồ thị và một số ứng dụng

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 (1.08 MB, 54 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC SƯ PHẠM HÀ NỘI 2

KHOA TOÁN

THÂN THỊ LAN ANH

CÂY BAO TRÙM TRONG ĐỒ THỊ
VÀ MỘT SỐ ỨNG DỤNG

KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC

Hà Nội – Năm 2017


BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC SƯ PHẠM HÀ NỘI 2

KHOA TOÁN

THÂN THỊ LAN ANH

CÂY BAO TRÙM TRONG ĐỒ THỊ
VÀ MỘT SỐ ỨNG DỤNG

KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC

NGƯỜI HƯỚNG DẪN KHOA HỌC:
PGS.TSKH. PHAN THỊ HÀ DƯƠNG

Hà Nội – Năm 2017




Lời cảm ơn
Trước khi trình bày nội dung chính của khóa luận, tôi xin bày tỏ lòng cảm ơn
tới các thầy cô khoa Toán, trường Đại Học Sư Phạm Hà Nội 2, các thầy cô trong
tổ bộ môn Toán ứng dụng, các thầy cô tham gia giảng dạy đã tận tình truyền đạt
những tri thức quý báu, luôn động viên, quan tâm, tạo điều kiện thuận lợi để tôi
hoàn thành tốt nhiệm vụ khóa học và khóa luận.
Bên cạnh đó, tôi cũng xin bày tỏ lòng cảm ơn tới các thầy cô trong Viện Toán
học đã tạo điều kiện cho tôi được học tập và làm việc, các anh chị trong nhóm
nghiên cứu đã giúp đỡ, trao đổi để tôi hiểu vấn đề. Đặc biệt, tôi xin bày tỏ sự
kính trọng và lòng biết ơn sâu sắc tới PGS. TS. Phan Thị Hà Dương, người đã
trực tiếp hướng dẫn, chỉ bảo tận tình giúp đỡ để tôi có thể hoàn thành khóa luận này.

Hà Nội, tháng 5 năm 2017
Sinh viên

Thân Thị Lan Anh


Lời cam đoan
Tôi xin cam đoan đề tài này là do tôi thực hiện. Đó là kết quả quá trình học tập
và nghiên cứu của tôi dưới sự hướng dẫn của PGS. TS. Phan Thị Hà Dương và
đề tài này không trùng với kết quả nghiên cứu khóa luận của tác giả khác.

Hà Nội, tháng 5 năm 2017
Sinh viên

Thân Thị Lan Anh



Mục lục

Lời mở đầu

1

1 KIẾN THỨC CHUẨN BỊ

4

1.1

1.2

Một số khái niệm cơ bản về đồ thị và cây . . . . . . . .

4

1.1.1

Các khái niệm cơ bản của đồ thị

. . . . . . . .

4

1.1.2

Một số ma trận định nghĩa trên đồ thị . . . . .


10

1.1.3

Cây và một số tính chất của cây . . . . . . . . .

13

Đếm số cây bao trùm trong đồ thị . . . . . . . . . . . .

15

1.2.1

Đếm số cây bao trùm trong đồ thị vô hướng . .

15

1.2.2

Đếm số cây bao trùm trong đồ thị có hướng . .

19

2 ĐẾM SỐ CÂY BAO TRÙM TRONG ĐỒ THỊ THÁP
HÀ NỘI

25


2.1

Bài toán tháp Hà Nội . . . . . . . . . . . . . . . . . . .

25

2.1.1

Bài toán tháp Hà Nội . . . . . . . . . . . . . . .

25

2.1.2

Thuật giải . . . . . . . . . . . . . . . . . . . . .

26

Đồ thị tháp Hà Nội . . . . . . . . . . . . . . . . . . . .

26

2.2.1

Định nghĩa đồ thị Tháp Hà Nội . . . . . . . . .

27

2.2.2


Số cây bao trùm trong Hn . . . . . . . . . . . .

32

2.2

i


Khóa luận tốt nghiệp Đại học

THÂN THỊ LAN ANH

Lời mở đầu
1. Lí do chọn đề tài
Trong chương trình đại học ở các trường sư phạm đối với chuyên
ngành Toán ứng dụng, do phân phối chương trình, sinh viên chỉ được
tìm hiểu sơ lược về cấu trúc cây và một số tính chất của nó, trong đó
có nội dung về cây bao trùm. Trong thực tế, bài toán tìm số cây bao
trùm của một đồ thị rất thu hút sự quan tâm của các nhà nghiên cứu
và cũng là một bài toán không đơn giản. Với lòng yêu thích và mong
muốn tìm hiểu sâu về nội dung này trong phạm vi của một khóa luận
tốt nghiệp, chúng tôi xin trình bày một số hiểu biết của mình về đề
tài "Cây bao trùm trong đồ thị và một số ứng dụng". Chúng
tôi cũng tin rằng những kiến thức và phương pháp này sẽ giúp ích cho
chúng tôi trong việc học tập và giảng dạy trong tương lai.

2. Nội dung nghiên cứu
Trong toán học hiện đại, lý thuyết đồ thị rất được quan tâm và
phát triển ngày càng sâu rộng. Đồ thị là một cấu trúc biểu diễn các

mối quan hệ hai ngôi, mô tả rất nhiều bài toán trong thực tế. Trong
đó, cấu trúc cây là một dạng đặc biệt của đồ thị thể hiện tính liên
thông giữa các đỉnh. Bài toán đếm cây thu hút được rất nhiều sự quan
tâm của các nhà nghiên cứu, đặc biệt là bài toán về đếm số cây bao
trùm. Cây là một đồ thị liên thông và không có chu trình. Cây bao
1


Khóa luận tốt nghiệp Đại học

THÂN THỊ LAN ANH

trùm của một đồ thị G là một đồ thị con của G có cấu trúc cây và
chứa tất cả các đỉnh của G. Vì chúng tôi chỉ nghiên cứu một số nội
dung về cây bao trùm nên trong khóa luận này, chúng tôi chỉ xét các
đồ thị không có khuyên.
Định lý về số cây bao trùm trong đồ thị vô hướng được Kirchhoff
chứng minh lần đầu tiên vào năm 1847 bằng việc sử dụng ma trận
Laplace của đồ thị để tính toán.
Năm 1948, Tutte đã giải quyết được bài toán đếm số cây bao trùm
của đồ thị có hướng cũng dựa trên ma trận Laplace bằng việc tính
định thức của ma trận này. Tuy nhiên, việc tính định thức của ma
trận Laplace không phải là công việc đơn giản.
Đối với một số đồ thị đặc biệt, để tìm số cây bao trùm của đồ thị
không nhất thiết phải sử dụng ma trận Laplace mà có thể dùng cấu
trúc đệ quy đặc biệt của nó. Cụ thể, trong Chương 2, chúng tôi sẽ
trình bày về số cây bao trùm của đồ thị tháp Hà Nội.
Bài toán tháp Hà Nội về bản chất khá quen thuộc với sinh viên
nhưng để đi sâu vào nghiên cứu nó thì cần phải trang bị các kiến thức
về toán cao cấp. Trong khóa luận này, chúng tôi vừa tìm hiểu về cấu

trúc đệ quy của đồ thị Hà Nội bằng cách phân tích đồ thị này thành
các thành phần, vừa thực hiện các tính toán phức tạp bằng phương
pháp quy nạp.
3. Mục đích nghiên cứu
- Nghiên cứu sâu hơn về đồ thị, cây, đặc biệt là cây bao trùm và
bài toán đếm số cây bao trùm trong một số đồ thị dạng đặc biệt.

2


Khóa luận tốt nghiệp Đại học

THÂN THỊ LAN ANH

- Làm quen và hiểu về cách phân tích đồ thị thành các thành phần,
chứng minh các công thức tính toán phức tạp trên cấu trúc đệ quy
bằng phương pháp quy nạp.
- Trang bị kiến thức để phục vụ việc học và dạy về đồ thị.
4. Phương pháp nghiên cứu
- Nghiên cứu tổng hợp tài liệu.
- Học tập các cấu trúc đệ quy, các phương pháp đếm bằng cách
quy nạp.
5. Cấu trúc khóa luận
Nội dung đề tài bao gồm các chương sau:
• Chương 1: Kiến thức chuẩn bị.
Chương này chúng tôi trình bày các khái niệm và tính chất cơ
bản về đồ thị, các ma trận trên đồ thị và cây.
• Chương 2: Đếm số cây bao trùm trong đồ thị Hà Nội.
Chương này chúng tôi trình bày về bài toán tháp Hà Nội, cách
xây dựng đồ thị Hà Nội và phương pháp tính cây bao trùm trong

đồ thị Hà Nội.

3


Chương 1
KIẾN THỨC CHUẨN BỊ
1.1

Một số khái niệm cơ bản về đồ thị và cây

Trong chương này, trước tiên chúng tôi trình bày một số khái niệm
cơ bản về đồ thị và cây, một số ma trận trên đồ thị, đặc biệt là ma
trận Laplace. Tiếp theo, chúng tôi sẽ trình bày hai định lý cơ bản để
tính số cây bao trùm trong đồ thị vô hướng và có hướng.
1.1.1

Các khái niệm cơ bản của đồ thị

Định nghĩa 1.1. [1] Một đơn đồ thị G = (V, E) gồm một tập V mà
các phần tử của nó gọi là các đỉnh và một tập E mà các phần tử của
nó gọi là các cạnh, đó là các cặp không sắp thứ tự của các đỉnh phân
biệt.

Định nghĩa 1.2. [1] Một đa đồ thị G = (V, E) là gồm một tập các
đỉnh V (G), một tập các cạnh E(G) và một hàm
f : E −→ {{u, v}|u, v ∈ V, u = v}.

4



Khóa luận tốt nghiệp Đại học

THÂN THỊ LAN ANH

Hình 1.1: Một đơn đồ thị vô hướng với các đỉnh là a, b, c, d, e và các cạnh là {a, b},
{a, c}, {a, d}, {b, d}, {b, e}, {c, d}, {d, e}.

Các cạnh e1 và e2 được gọi là các cạnh song song hay cạnh bội nếu
f (e1 ) = f (e2 ).

Hình 1.2: Một đa đồ thị vô hướng với các đỉnh là a, b, c, d và các cạnh là {a, b},
{a, c}, {a, c}, {b, d}, {c, d}, trong đó {a, c} là cạnh bội.

Định nghĩa 1.3. [1] Hai đỉnh u và v trong một đồ thị vô hướng G
được gọi là liền kề (hay láng giềng) nếu {u, v} là một cạnh của G. Nếu
e = {u, v} thì e được gọi là cạnh liên thuộc với các đỉnh u và v. Cạnh
e cũng được gọi là cạnh nối các đỉnh u và v. Các đỉnh u và v được gọi
là các điểm đầu mút của cạnh e.
Định nghĩa 1.4. [1] Một đồ thị có hướng G = (V, E) gồm tập các
đỉnh V và tập các cạnh E là các cặp có thứ tự của các phần tử thuộc
V.
5


Khóa luận tốt nghiệp Đại học

THÂN THỊ LAN ANH

Hình 1.3: Một đơn đồ thị có hướng với các đỉnh là a, b, c, d, e và các cạnh là (a, c),

(b, a), (b, c), (b, d), (c, d), (c, e).

Định nghĩa 1.5. [1] Một đa đồ thị có hướng G = (V, E) gồm tập các
đỉnh V , tập các cạnh E và một hàm
f : E −→ {(u, v)|u, v ∈ V }.
Các cạnh e1 và e2 được gọi là các cạnh bội nếu f (e1 ) = f (e2 ).

Hình 1.4: Một đa đồ thị có hướng với các đỉnh là a, b, c, d và các cạnh là a, b, c, d
và các cạnh là (a, b), (b, c), (c, d), (c, d), (d, a), trong đó (c, d) là cạnh bội.

Định nghĩa 1.6. [1] Khi (u, v) là cạnh của đồ thị có hướng G, thì u
được gọi là nối tới v và v được gọi là được nối từ u. Đỉnh u gọi là đỉnh
đầu, đỉnh v gọi là đỉnh cuối của cạnh (u, v).
6


Khóa luận tốt nghiệp Đại học

THÂN THỊ LAN ANH

Định nghĩa 1.7. [3] Một đường đi độ dài n, n ∈ Z+ từ đỉnh u tới
đỉnh v trong một đồ thị vô hướng là dãy các cạnh e1 , e2 , . . . , en của đồ
thị sao cho f (e1 ) = {u, x1 }, f (e2 ) = {x1 , x2 }, . . . , f (e1 ) = {xn−1 , v}.
Khi đó đồ thị là đơn ta ký hiệu đường đi này bằng dãy các đỉnh u,
x1 ,. . . , xn−1 , v.
Nếu một đường đi không đi qua cùng một cạnh quá một lần thì nó
được gọi là đường đi đơn.
Định nghĩa 1.8. [3] Một chu trình trong một đồ thị vô hướng là một
đường đi bắt đầu và kết thúc tại cùng một đỉnh. Một chu trình được
gọi là chu trình đơn nếu nó không đi qua cùng một cạnh quá một lần.

Định nghĩa 1.9. [3] Bậc của đỉnh v trong một đồ thị vô hướng là số
cạnh liên thuộc với đỉnh v, ký hiệu là deg(v).

Hình 1.5: Đồ thị vô hướng G.
.

Ví dụ 1.1.1. Cho G là một đồ thị vô hướng như trên Hình 1.5.
deg(a) = 3

deg(b) = 3

deg(c) = 3.

deg(d) = 4

deg(e) = 0

deg(f ) = 1.

Đỉnh treo: v được gọi là đỉnh treo nếu chỉ có duy nhất một cạnh liên
thuộc với nó, deg(v) = 1.
7


Khóa luận tốt nghiệp Đại học

THÂN THỊ LAN ANH

Đỉnh cô lập: v được gọi là đỉnh cô lập nếu không có cạnh nào liên
thuộc với nó, deg(v) = 0.

Định nghĩa 1.10. [3] Một đường đi độ dài n,n ∈ Z+ từ đỉnh u tới
đỉnh v trong một đồ thị có hướng là dãy các cạnh e1 , e2 ,. . . , en của đồ
thị sao cho f (e1 ) = {u, x1 }, f (e2 ) = {x1 , x2 }, . . . , f (e1 ) = {xn−1 , v}.
Khi không có các cạnh bội ta ký hiệu đường đi này bằng dãy các đỉnh
u, x1 , x2 ,. . . ,xn−1 , v.
Một đường đi được gọi là đường đi đơn nếu nó không đi qua cùng một
cạnh quá một lần.
Định nghĩa 1.11. [3] Một chu trình trong một đồ thị có hướng là một
đường đi bắt đầu và kết thúc tại cùng một đỉnh. Một chu trình được
gọi là chu trình đơn nếu nó không đi qua cùng một cạnh quá một lần.
Định nghĩa 1.12. [1] Trong một đồ thị có hướng, bậc ra của đỉnh v
là số cạnh có đỉnh đầu là v, ký hiệu là deg + (v), bậc vào của đỉnh v là
số cạnh có đỉnh cuối là v, ký hiệu là deg − (v).
Ví dụ 1.1.2. Cho G là một đồ thị có hướng như trên Hình 1.6.

Hình 1.6: Đồ thị có hướng G.
.

8


Khóa luận tốt nghiệp Đại học

THÂN THỊ LAN ANH

deg + (a) = 1

deg + (d) = 4.

deg − (a) = 2


deg − (d) = 1.

Định nghĩa 1.13. [2] Ta gọi đồ thị con của một đồ thị G = (V, E) là
đồ thị H = (W, F ) trong đó W ⊆ V và F ⊆ E. Ký hiệu là H ⊆ G.
Định nghĩa 1.14. [1] Một đồ thị vô hướng được gọi là liên thông nếu
có đường đi giữa mọi cặp đỉnh phân biệt của nó.
Định nghĩa 1.15. [1] Mọi thành phần liên thông của một đồ thị vô
hướng G là một đồ thị con của G mà nó liên thông và không chứa
trong bất kỳ đồ thị con liên thông nào khác của G.

Hình 1.7: G1 là đồ thị liên thông, G2 không là đồ thị liên thông, G3 và G4 là hai
thành phần liên thông của đồ thị G2 .

Định nghĩa 1.16. [3] Đồ thị vô hướng nền của một đồ thị có hướng
G là một đồ thị vô hướng H có V (H) = V (G), E(H) = E(G) và mọi
cạnh e trong E(G) với hai đỉnh sắp thứ tự đầu cuối được đưa thành
cạnh e trong E(H) với hai đỉnh đầu mút này không sắp thứ tự.
Định lý 1.1. [1] Giữa mọi cặp đỉnh phân biệt của một đồ thị vô hướng
liên thông luôn có đường đi đơn.

9


Khóa luận tốt nghiệp Đại học

THÂN THỊ LAN ANH

Hình 1.8: Đồ thị có hướng H là đồ thị liên thông nhưng thông liên thông mạnh vì
không có đường đi có hướng từ đỉnh a tới b trong đồ thị này.


Định nghĩa 1.17. [1] Đồ thị có hướng gọi là liên thông yếu nếu có
đường đi giữa hai đỉnh bất kì của đồ thị vô hướng nền.
Định nghĩa 1.18. [1] Đồ thị có hướng gọi là liên thông mạnh nếu có
đường đi từ u tới v và từ v tới u với mọi đỉnh u, v của đồ thị.
Định nghĩa 1.19. [3] Một thành phần liên thông mạnh của một đồ
thị có hướng G là một đồ thị con của G mà nó liên thông mạnh và
không chứa trong bất kỳ đồ thị con liên thông mạnh nào khác của G.
1.1.2

Một số ma trận định nghĩa trên đồ thị

Định nghĩa 1.20. [6] Ma trận kề A(G) của một đồ thị vô hướng G
với thứtự các đỉnh v1 , v2 , . . . , vn là ma trận [Aij ] vuông cấp n trong đó

0
nếu i = j
Aij =

số cạnh giữa hai đỉnh vi và vj nếu i = j.
Định nghĩa 1.21. [6] Ma trận bậc D(G) của một đồ thị vô hướng G
với thứ tự các đỉnh v1 , v2 , . . . , vn là ma trận [Dij ] vuông cấp n trong đó

10


Khóa luận tốt nghiệp Đại học

Dij =


THÂN THỊ LAN ANH



bậc của đỉnh vi

nếu i = j


0

nếu i = j.

Định nghĩa 1.22. [6] Ma trận Laplace của một đồ thị vô hướng G
với thứ tự các đỉnh v1 , v2 , . . . , vn là
L(G) = D(G) − A(G).
Ví dụ 1.1.3. G là một đồ thị vô hướng như trên Hình 1.9.

Hình 1.9: Đồ thị G.
.

Ma trận kề A(G), ma trận bậc D(G) và ma trận Laplace L(G) của
đồ thị vôhướng G với
 thứ tự các
đỉnh
0 1 2 1
4 0







1 0 0 1 
0 2
 , D(G) = 
A(G) = 



2 0 0 1 
0 0



1 1 1 0
0 0

a, b, c,
d là:
0
0
3
0




0
4 −1 −2 −1







−1 2 0 −1
0
 , L(G) = 
.



−2 0 3 −1
0



3
−1 −1 −1 3

Định nghĩa 1.23. [6] Ma trận kề A(G) của một đồ thị có hướng G
với thứtự các đỉnh v1 , v2 , . . . , vn là ma trận [Aij ] vuông cấp n trong đó

0
nếu i = j
Aij =

số cạnh có đỉnh đầu vi và đỉnh cuối vj nếu i = j.
11



Khóa luận tốt nghiệp Đại học

THÂN THỊ LAN ANH

Định nghĩa 1.24. [6] Ma trận bậc D(G) của một đồ thị có hướng G
với thứtự các đỉnh v1 , v2 , . . . , vn là ma trận [Dij ] vuông cấp n trong đó

bậc ra của đỉnh vi
nếu i = j
Dij =

0
nếu i = j.
Định nghĩa 1.25. [6] Ma trận Laplace của một đồ thị có hướng G
với thứ tự các đỉnh v1 , v2 , . . . , vn là
L(G) = D(G) − A(G).

Hình 1.10: Đồ thị G.
.

Ví dụ 1.1.4. G là một đồ thị có hướng như trên Hình 1.10
Ma trận kề A(G), ma trận bậc D(G) và ma trận Laplace L(G) của
đồ thị cóhướng G với
 thứ tự cácđỉnh
0 1 1 0
2 0







0 0 1 1
0 2
 , D(G) = 
A(G) = 



0 0 0 2
0 0



1 0 0 0
0 0

12

a, b, c,
d là:





2 −1 −1 0







 0 2 −1 −1
0 0
 , L(G) = 
.



 0 0 2 −2
2 0



0 0
−1 0 0 0
0 0


Khóa luận tốt nghiệp Đại học

1.1.3

THÂN THỊ LAN ANH

Cây và một số tính chất của cây


a) Cây
Định nghĩa 1.26. [1] Cây là một đồ thị vô hướng, liên thông và không
có chu trình đơn.
Chú ý rằng vì cây không thể có chu trình đơn nên cây không thể
có cạnh bội. Vậy mọi cây đều là đơn đồ thị.
Định lý 1.2. [1] Một đồ thị vô hướng là một cây nếu giữa mọi cặp
đỉnh của nó luôn tồn tại đường đi đơn duy nhất.
Định nghĩa 1.27. [1] Cây có gốc là cây có một đỉnh được gọi là gốc
và mọi cạnh có hướng từ gốc đi ra.
Định nghĩa 1.28. [3] Một lá của một cây là một đỉnh có bậc bằng 1.
Định nghĩa 1.29. [1] Cho G là một đơn đồ thị. Một cây được gọi là
cây khung (cây bao trùm) của G nếu nó là một đồ thị con của G và
chứa tất cả các đỉnh của G.

Hình 1.11: G1 là cây, G2 và G3 không là cây, G4 là một cây bao trùm của G3 , G5 là
một cây nhưng không là cây bao trùm của G3 .

Định nghĩa 1.30. [5] Một cây đi vào (In-tree) đỉnh v của đồ thị G là
một đồ thị con không có chu trình của G có bậc ra của v bằng 0 được
gọi là gốc và mọi đỉnh khác có bậc ra bằng 1.
13


Khóa luận tốt nghiệp Đại học

THÂN THỊ LAN ANH

Hình 1.12: Cây đi vào đỉnh a.

Tính chất 1.1.1. Trong một cây đi vào (In-tree) một đỉnh v của đồ

thị G thì
i) Nếu xóa đi tất cả các định hướng thì nó là một cây;
ii) Từ mọi đỉnh của đồ thị luôn có một đường đi duy nhất tới v.
Định nghĩa 1.31. [3] Cho G là một đồ thị có hướng và v là một đỉnh
của G. Một cây đi vào v được gọi là cây bao trùm đi vào v của G nếu
nó là một đồ thị con của G và chứa tất cả các đỉnh của G.
b) Các tính chất của cây
Bổ đề 1.1. [3]
i) Nếu cây có ít nhất hai đỉnh thì có ít nhất hai lá;
ii) Xóa một lá từ một cây n đỉnh sẽ nhận được một cây n − 1 đỉnh.
Định lý 1.3. [1] Cây với n đỉnh có đúng n − 1 cạnh.
Định lý 1.4. [4] Giả sử T = (V, E) là đồ thị vô hướng, không có
khuyên. Khi đó các mệnh đề sau đây là tương đương:
i) T là cây;
ii) T không chứa chu trình và |E| = |V | − 1;
14


Khóa luận tốt nghiệp Đại học

THÂN THỊ LAN ANH

iii) T liên thông và |E| = |V | − 1;
iv) T là đồ thị liên thông, nhưng nếu xóa đi một cạnh bất kỳ thì đồ thị
nhận được là không liên thông;
v) Hai đỉnh khác nhau bất kỳ của T được nối với nhau bởi đúng một
đường;
vi) T không chứa chu trình, nhưng nếu thêm vào một cạnh nối hai
đỉnh không kề nhau trong T thì đồ thị nhận được có đúng một chu
trình.

Tính chất 1.1.2. T là một cây bao trùm có hướng tới a của G khi và
chỉ khi:
i) Nếu bỏ đi các định hướng thì T là một cây bao trùm của G;
ii) Mọi đỉnh khác a có bậc ra bằng 1, đỉnh a có bậc đi ra bằng 0.

1.2

Đếm số cây bao trùm trong đồ thị

Trong phần này, trên cơ sở nghiên cứu tài liệu số [6], chúng tôi
trình bày về hai bài toán đếm cây: đếm số cây bao trùm của một đồ
thị vô hướng và số cây bao trùm có hướng của một đồ thị có hướng.
1.2.1

Đếm số cây bao trùm trong đồ thị vô hướng

Bài toán 1. Tính số cây bao trùm của một đồ thị vô hướng.
Kết quả của bài toán này được nêu trong định lý cây ma trận
(matrix tree theorem), hay còn gọi là định lý Kirchhoff được nhà vật
lý người Đức Gustav Kirchhoff chứng minh lần đầu tiên năm 1847.
Có rất nhiều cách để chứng minh cho định lý này, một trong số đó là

15


Khóa luận tốt nghiệp Đại học

THÂN THỊ LAN ANH

sử dụng hai khái niệm đồ thị xóa đi một cạnh, đồ thị co một cạnh và

mối quan hệ giữa số cây bao trùm của một đồ thị vô hướng với số cây
bao trùm của đồ thị này sau khi xóa đi một cạnh và co một cạnh. Mối
quan hệ này được nêu trong Mệnh đề 1.1 và chúng tôi sẽ không trình
bày chứng minh.
Định nghĩa 1.32. [6] Đồ thị G xóa đi một cạnh e, ký hiệu là G − e,
là một đồ thị con của G thỏa mãn V (G − e) = V (G) và E(G − e) =
E(G) \ {e}.
Định nghĩa 1.33. [6] Cho G là một đồ thị vô hướng và e là một cạnh
của đồ thị với hai đỉnh đầu mút u, v. Đồ thị G co cạnh e (G/e) là đồ
thị nhận được từ đồ thị G − e bằng cách đồng nhất hai đỉnh u, v thành
một đỉnh.
Mệnh đề 1.1. [6] Cho đồ thị G là một đồ thị vô hướng, liên thông và
không có khuyên. Gọi k(G) là số cây bao trùm của đồ thị G. Nếu e là
một cạnh của đồ thị G thì
k(G) = k(G − e) + k(G/e).
Định lý 1.5. [6] Cho G là một đồ thị vô hướng, liên thông, không có
khuyên và i là một đỉnh của G. Gọi Li (G) là ma trận con nhận được
bằng cách xóa đi hàng i và cột i của ma trận L(G). Khi đó, số cây bao
trùm của đồ thị G là
k(G) = det(Li (G)).
Chứng minh. Ta sử dụng phương pháp quy nạp trên |E(G)| .
16


Khóa luận tốt nghiệp Đại học

THÂN THỊ LAN ANH

Với |E(G)| = 0 ta xét hai trường hợp.
Trường hợp |V (G)| = 1, đồ thị G chỉ gồm một đỉnh và có một cây

bao trùm. L1 (G) là ma trận cỡ 0 × 0 được quy ước định thức bằng 1.
Trường hợp |V (G)| > 1 đồ thị không có cây bao trùm và các mục
trong ma trận Li (G) gồm toàn số 0 nên det(Li (G)) = 0.
Với |E(G)| > 0, giả sử khẳng định đúng với |E(G)| − 1.
Với |E(G)|, lấy i = 1 và giả sử cạnh e nối v1 và v2 . Sử dụng Mệnh
đề 1.1 và giả thuyết quy nạp ta có:
k(G) = k(G − e) + k(G/e)
= det L1 (G − e) + det L1 (G/e)
D22 − 1 −A23 · · · −A2,n
=

−A32

D33

· · · −A3,n

···

···

···

−An,2

−An,3 · · ·

+

···

Dn,n

−A32

D33

· · · −A3,n

···

···

···

−An,2

+

−An,3 · · ·

D33

· · · −A3,n

···

···

−An,3 · · ·


· · · −A3,n

···

···

−An,3 · · ·

D22 − 1 −A23 · · · −A2,n
=

D33

1

···
Dn,n

−A23 · · · −A2,n

0

D33

· · · −A3,n

···

···


···

···

Dn,n

0

···
Dn,n

= det(L1 (G)).
Vậy ta có điều cần chứng minh.

17



−An,3 · · ·

···
Dn,n


Khóa luận tốt nghiệp Đại học

THÂN THỊ LAN ANH

Hình 1.13: Đồ thị G.


Ví dụ 1.2.1. Ma trận Laplace của G trên Hình 1.13 ứng với các đỉnh
a, b, c là:

Hình 1.14: Các cây bao trùm của đồ thị G.




3 −2 −1




L(G) = −2 3 −1 .


−1 −1 2

18


Khóa luận tốt nghiệp Đại học

THÂN THỊ LAN ANH

Suy ra

L1 (G) = 

3


−1

−1

2


.

Do đó, det(L1 (G)) = 5.
Vậy đồ thị G có tất cả 5 cây bao trùm như Hình 1.14.
Hệ quả 1.1. Trong một đồ thị vô hướng, số cây bao trùm với hai gốc
khác nhau là bằng nhau.
1.2.2

Đếm số cây bao trùm trong đồ thị có hướng

Bài toán 2. Tính số cây bao trùm đi vào một đỉnh bất kỳ của một
đồ thị có hướng.
Năm 1948, Tuttet đã giải quyết được bài toán này và đưa ra kết
quả của bài toán trong định lý cây ma trận có hướng ( directed matrix
tree theorem). Kết quả này được tính dựa vào ma trận Laplace của
đồ thị có hướng đó. Cũng giống như chứng minh của định lý ma trận,
chứng minh của định lý cây ma trận có hướng cũng có thể dựa vào
mối quan hệ giữa số cây bao trùm đi vào đỉnh s của đồ thị G − e và số
cây bao trùm đi vào đỉnh s của đồ thị G/e. Mối quan hệ này được nêu
trong Mệnh đề 1.2 và chúng tôi cũng không trình bày chứng minh.
Định nghĩa 1.34. [6] Cho G là một đồ thị có hướng và e là một cạnh
của đồ thị nối đỉnh u tới đỉnh v. Đồ thị G co một cạnh e (G/e) là đồ

thị nhận được từ đồ thị G − e bằng cách đồng nhất hai đỉnh u, v thành
một đỉnh.
Mệnh đề 1.2. [6] Cho G là một đồ thị có hướng, không có khuyên, s
là một đỉnh và e là một cạnh của G với đỉnh cuối s.Ký hiệu k(G, s)
19


Khóa luận tốt nghiệp Đại học

THÂN THỊ LAN ANH

là số cây bao trùm đi vào đỉnh s của đồ thị G. Khi đó
k(G, s) = k(G − e, s) + k(G/e, s).
Định lý 1.6. [6] (Directed matrix tree theorem) Cho G là một đồ thị
có hướng, không có khuyên và s là một đỉnh của G. Gọi Ls (G) là ma
trận con nhận được bằng cách xóa đi hàng s và cột s của ma trận L(G)
Khi đó, số cây bao trùm đi vào đỉnh s của đồ thị G là
k(G, s) = det(Ls (G)).
Chứng minh. Ta sử dụng phương pháp quy nạp theo m = |E(G)|.
Với m = 0 ta xét hai trường hợp.
Trường hợp |V (G)| = 1, đồ thị G chỉ gồm một đỉnh và có một cây
bao trùm. Ls (G) là ma trận cỡ 0 × 0 được quy ước định thức bằng 1.
Trường hợp |V (G)| > 1, đồ thị không có cây bao trùm và các mục
trong ma trận Ls (G) gồm toàn số 0 nên det(Li (G)) = 0.
Với m > 0, giả sử khẳng định đúng với m − 1.
Với m, lấy s = vn và giả sử cạnh e nối v1 tới vn . Sử dụng Mệnh đề
1.2 và giả thuyết quy nạp ta có:
k(G, s) = k(G − e, s) + k(G/e, s)
= det (Ls (G − e)) + det (Ls (G/e))


20


×