Giáo trình Toán rời rạc - Chương III: Đồ thị

CHƯƠNG III  
ĐỒ THỊ  
thuyết đồ thị một ngành khoa học được phát triển từ lâu nhưng lại nhiều  
ứng dụng hiện đại. Những ý tưởng cơ bản của được đưa ra từ thế kỷ 18 bởi nhà toán  
học Thụy Sĩ tên là Leonhard Euler. Ông đã dùng đồ thị để giải quyết bài toán 7 chiếc  
cầu Konigsberg nổi tiếng.  
Đồ thị cũng được dùng để giải các bài toán trong nhiều lĩnh vực khác nhau. Thí  
dụ, dùng đồ thị để xác định xem có thực hiện một mạch điện trên một bảng điện phẳng  
được không. Chúng ta cũng thể phân biệt hai hợp chất hóa học có cùng công thức  
phân tử nhưng cấu trúc khác nhau nhờ đồ thị. Chúng ta cũng thể xác định xem hai  
máy tính có được nối với nhau bằng một đường truyền thông hay không nếu dùng mô  
hình đồ thị mạng máy tính. Đồ thị với các trọng số được gán cho các cạnh của nó có thể  
dùng để giải các bài toán như bài toán tìm đường đi ngắn nhất giữa hai thành phố trong  
một mạng giao thông. Chúng ta cũng thể dùng đồ thị để lập lịch thi và phân chia  
kênh cho các đài truyền hình.  
3.1. ĐỊNH NGHĨA VÀ THÍ DỤ.  
Đồ thị một cấu trúc rời rạc gồm các đỉnh và các cạnh (vô hướng hoặc có  
hướng) nối các đỉnh đó. Người ta phân loại đồ thị tùy theo đặc tính và số các cạnh nối  
các cặp đỉnh của đồ thị. Nhiều bài toán thuộc những lĩnh vực rất khác nhau có thể giải  
được bằng mô hình đồ thị. Chẳng hạn người ta có thể dùng đồ thị để biểu diễn sự cạnh  
tranh các loài trong một môi trường sinh thái, dùng đồ thị để biểu diễn ai có ảnh hưởng  
lên ai trong một tổ chức nào đó, cũng thể dùng đồ thị để biểu diễn các kết cục của  
cuộc thi đấu thể thao. Chúng ta cũng thể dùng đồ thị để giải các bài toán như bài toán  
tính số các tổ hợp khác nhau của các chuyến bay giữa hai thành phố trong một mạng  
hàng không, hay để giải bài toán đi tham quan tất cả các đường phố của một thành phố  
sao cho mỗi đường phố đi qua đúng một lần, hoặc bài toán tìm số các màu cần thiết để  
tô các vùng khác nhau của một bản đồ.  
Trong đời sống, chúng ta thường gặp những sơ đồ, như sơ đồ tổ chức bộ máy, sơ  
đồ giao thông, sơ đồ hướng dẫn thứ tự đọc các chương trong một cuốn sách, ..., gồm  
những điểm biểu thcác đối tượng được xem xét (người, tổ chức, địa danh, chương mục  
sách, ...) và nối một số điểm với nhau bằng những đoạn thẳng (hoặc cong) hay những  
mũi tên, tượng trưng cho một quan hệ nào đó giữa các đối tượng. Đó những thí dụ về  
đồ thị.  
3.1.1. Định nghĩa: Một đơn đồ thị G = (V, E) gồm một tập khác rỗng V mà các phần  
tử của gọi là các đỉnh một tập E mà các phần tử của gọi là các cạnh, đó là các  
cặp không có thứ tự của các đỉnh phân biệt.  
37  
3.1.2. Định nghĩa: Một đa đồ thị G = (V, E) gồm một tập khác rỗng V mà các phần tử  
của gọi là các đỉnh một họ E mà các phần tử của gọi là các cạnh, đó là các cặp  
không có thứ tự của các đỉnh phân biệt. Hai cạnh được gọi cạnh bội hay song song  
nếu chúng cùng tương ứng với một cặp đỉnh.  
Rõ ràng mỗi đơn đồ thị đa đồ thị, nhưng không phải đa đồ thị nào cũng đơn  
đồ thị.  
3.1.3. Định nghĩa: Một giả đồ thị G = (V, E) gồm một tập khác rỗng V mà các phần tử  
của gọi là các đỉnh một họ E mà các phần tử của gọi là các cạnh, đó là các cặp  
không có thứ tự của các đỉnh (không nhất thiết là phân biệt).  
Với vV, nếu (v,v)E thì ta nói có một khuyên tại đỉnh v.  
Tóm lại, giả đồ thị loại đồ thị hướng tổng quát nhất vì nó có thể chứa các  
khuyên và các cạnh bội. Đa đồ thị loại đồ thị hướng thể chứa cạnh bội nhưng  
không thể có các khuyên, còn đơn đồ thị loại đồ thị hướng không chứa cạnh bội  
hoặc các khuyên.  
Thí dụ 1:  
v1  
v2  
v3  
v4  
v1  
v2  
v3  
v5  
v6  
v7  
v4  
v5  
v6  
Đơn đồ thị  
Giả đồ thị  
3.1.4. Định nghĩa: Một đồ thị hướng G = (V, E) gồm một tập khác rỗng V mà các  
phần tử của gọi là các đỉnh một tập E mà các phần tử của gọi là các cung, đó là  
các cặp thứ tự của các phần tử thuộc V.  
3.1.5. Định nghĩa: Một đa đồ thị hướng G = (V, E) gồm một tập khác rỗng V mà  
các phần tử của gọi là các đỉnh một họ E mà các phần tử của gọi là các cung,  
đó là các cặp thứ tự của các phần tử thuộc V.  
Đồ thị hướng nhận được từ đồ thị hướng G bằng cách xoá bỏ các chiều mũi  
tên trên các cung được gọi đồ thị hướng nền của G.  
Thí dụ 2:  
v1  
v2  
v3  
v3  
v5  
v1  
v2  
v5  
V5  
v6  
v7  
v4  
v6  
Đồ thị hướng  
Đa đồ thị hướng  
38  
Thí dụ 3: 1) Đồ thị “lấn tổ” trong sinh thái học. Đồ thị được dùng trong nhiều mô  
hình có tính đến sự tương tác của các loài vật. Chẳng hạn sự cạnh tranh của các loài  
trong một hệ sinh thái có thể mô hình hóa bằng đồ thị “lấn tổ”. Mỗi loài được biểu diễn  
bằng một đỉnh. Một cạnh hướng nối hai đỉnh nếu hai loài được biểu diễn bằng các  
đỉnh này là cạnh tranh với nhau.  
2) Đồ thị ảnh hưởng. Khi nghiên cứu tính cách của một nhóm nguời, ta thấy một số  
người thể ảnh hưởng lên suy nghĩ của những người khác. Đồ thị hướng được  
gọi đồ thị ảnh hưởng thể dùng để mô hình bài toán này. Mỗi người của nhóm được  
biểu diễn bằng một đỉnh. Khi một người được biểu diễn bằng đỉnh a có ảnh hưởng lên  
người được biểu diễn bằng đỉnh b thì có một cung nối từ đỉnh a đến đỉnh b.  
3) Thi đấu vòng tròn. Một cuộc thi đấu thể thao trong đó mỗi đội đấu với mỗi đội khác  
đúng một lần gọi đấu vòng tròn. Cuộc thi đấu như thế thể được mô hình bằng một  
đồ thị hướng trong đó mỗi đội một đỉnh. Một cung đi từ đỉnh a đến đỉnh b nếu đội  
a thắng đội b.  
4) Các chương trình máy tính có thể thi hành nhanh hơn bằng cách thi hành đồng thời  
một số câu lệnh nào đó. Điều quan trọng là không được thực hiện một câu lệnh đòi hỏi  
kết quả của câu lệnh khác chưa được thực hiện. Sự phụ thuộc của các câu lệnh vào các  
câu lệnh trước thể biểu diễn bằng một đồ thị hướng. Mỗi câu lệnh được biểu diễn  
bằng một đỉnh và có một cung từ một đỉnh tới một đỉnh khác nếu câu lệnh được biểu  
diễn bằng đỉnh thhai không thể thực hiện được trước khi câu lệnh được biểu diễn bằng  
đỉnh thứ nhất được thực hiện. Đồ thị này được gọi đồ thị ưu tiên trước sau.  
3.2. BẬC CỦA ĐỈNH.  
3.2.1. Định nghĩa: Hai đỉnh u và v trong đồ thị (vô hướng) G=(V,E) được gọi liền  
kề nếu (u,v)E. Nếu e = (u,v) thì e gọi cạnh liên thuộc với các đỉnh u và v. Cạnh e  
cũng được gọi cạnh nối các đỉnh u và v. Các đỉnh u và v gọi là các điểm đầu mút của  
cạnh e.  
3.2.2. Định nghĩa: Bậc của đỉnh v trong đồ thị G=(V,E), ký hiệu deg(v), là số các cạnh  
liên thuộc với nó, riêng khuyên tại một đỉnh được tính hai lần cho bậc của nó.  
Đỉnh v gọi đỉnh treo nếu deg(v)=1 và gọi đỉnh lập nếu deg(v)=0.  
Thí dụ 4:  
v1  
v2  
v3  
v4  
v6  
v5  
v7  
Ta có deg(v1)=7, deg(v2)=5, deg(v3)=3, deg(v4)=0, deg(v5)=4, deg(v6)=1, deg(v7)=2.  
Đỉnh v4 đỉnh lập đỉnh v6 đỉnh treo.  
39  
3.2.3. Mệnh đề: Cho đồ thị G = (V, E). Khi đó  
2|E| = deg(v)  
.
vV  
Chứng minh: Rõ ràng mỗi cạnh e = (u,v) được tính một lần trong deg(u) và một lần  
trong deg(v). Từ đó suy ra tổng tất cả các bậc của các đỉnh bằng hai lần số cạnh.  
3.2.4. Hệ quả: Số đỉnh bậc lẻ của một đồ thị một số chẵn.  
Chứng minh: Gọi V1 và V2 tương ứng tập các đỉnh bậc chẵn tập các đỉnh bậc lẻ  
của đồ thị G = (V, E). Khi đó  
2|E| =  
deg(v)  
vV1  
+
deg(v)  
vV2  
Vế trái là một số chẵn tổng thứ nhất cũng một số chẵn nên tổng thứ hai là một số  
chẵn. Vì deg(v) là lẻ với mọi v V2 nên |V2| là một số chẵn.  
3.2.5. Mệnh đề: Trong một đơn đồ thị, luôn tồn tại hai đỉnh có cùng bậc.  
Chứng minh: Xét đơn đồ thị G=(V,E) có |V|=n. Khi đó phát biểu trên được đưa về bài  
toán: trong một phòng họp có n người, bao giờ cũng tìm được 2 người số người quen  
trong số những người dự họp như nhau (xem Thí dụ 6 của 2.2.3).  
3.2.6. Định nghĩa: Đỉnh u được gọi nối tới v hay v được gọi được nối từ u trong  
đồ thị hướng G nếu (u,v) là một cung của G. Đỉnh u gọi đỉnh đầu đỉnh v gọi là  
đỉnh cuối của cung này.  
3.2.7. Định nghĩa: Bậc vào (t.ư. bậc ra) của đỉnh v trong đồ thị hướng G, ký hiệu  
degt(v) (t.ư. dego(v)), là số các cung có đỉnh cuối là v.  
Thí dụ 5:  
v2  
v5  
v3  
v6  
v1  
v4  
degt(v1) = 2, dego(v1) = 3,  
degt(v2) = 5, dego(v2) = 1,  
degt(v3) = 2, dego(v3) = 4,  
degt(v4) = 1, deg0(v4) = 3,  
degt(v5) = 1, dego(v5) = 0,  
degt(v6) = 0, dego(v6) = 0.  
Đỉnh bậc vào và bậc ra cùng bằng 0 gọi đỉnh lập. Đỉnh bậc vào bằng 1  
bậc ra bằng 0 gọi đỉnh treo, cung có đỉnh cuối đỉnh treo gọi là cung treo.  
3.2.8. Mệnh đề: Cho G =(V, E) là một đồ thị hướng. Khi đó  
40  
degt (v)   
dego (v) = |E|.  
vV  
vV  
Chứng minh: Kết quả có ngay là vì mỗi cung được tính một lần cho đỉnh đầu một  
lần cho đỉnh cuối.  
3.3. NHỮNG ĐƠN ĐỒ THỊ ĐẶC BIỆT.  
3.3.1. Đồ thị đầy đủ: Đồ thị đầy đủ n đỉnh, hiệu là Kn, là đơn đồ thị mà hai đỉnh  
n(n 1)  
phân biệt bất kỳ của nó luôn liền kề. Như vậy, Kn có  
cạnh mỗi đỉnh của Kn  
2
v1  
v2  
bậc là n1.  
v1  
v1  
Thí dụ 6:  
v5  
v1  
v2  
v4  
v3  
v2  
v1  
v3  
v2  
K1  
K2  
V4  
v3  
K3  
K4  
K5  
3.3.2. Đồ thị vòng: Đơn đồ thị n đỉnh v1, v2, ..., vn (n3) và n cạnh (v1,v2), (v2,v3), ...,  
(vn-1,vn), (vn,v1) được gọi đồ thị vòng, ký hiệu là Cn. Như vậy, mỗi đỉnh của Cn bậc  
v1  
v1  
là 2.  
Thí dụ 7:  
v1  
v1  
v4  
v2  
v3  
v6  
v5  
v2  
v3  
v5  
v2  
v3  
v2  
v4  
v3  
v4  
C3  
C4  
C5  
C6  
3.3.3. Đồ thị bánh xe:Từ đồ thị vòng Cn, thêm vào đỉnh vn+1 và các cạnh (vn+1,v1),  
(vn+1,v2), ..., (vn+1,vn), ta nhận được đơn đồ thị gọi đồ thị bánh xe, ký hiệu là Wn. Như  
vậy, đồ thị Wn có n+1 đỉnh, 2n cạnh, một đỉnh bậc n và n đỉnh bậc 3.  
v1  
v1  
Thí dụ 8:  
v1  
v4  
v2  
v3  
v6  
v5  
v2  
v3  
v1  
v4  
v5  
v2  
v7  
v6  
v5  
v3  
v2  
v4  
v3  
v4  
W3  
W4  
W5  
W6  
3.3.4. Đồ thị lập phương: Đơn đồ thị 2n đỉnh, tương ứng với 2n xâu nhị phân độ dài n  
và hai đỉnh kề nhau khi và chỉ khi 2 xâu nhị phân tương ứng với hai đỉnh này chỉ khác  
nhau đúng một bit được gọi đồ thị lập phương, ký hiệu là Qn. Như vậy, mỗi đỉnh của  
Qn bậc là n và số cạnh của Qn là n.2n-1 (từ công thức 2|E| =  
deg(v) ).  
vV  
41  
110  
010  
111  
011  
10  
00  
11  
01  
Thí dụ 9:  
0
1
100  
101  
001  
Q1  
Q2  
000  
Q3  
3.3.5. Đồ thị phân đôi (đồ thị hai phe): Đơn đồ thị G=(V,E) sao cho V=V1V2,  
V1V2=, V1, V2 mỗi cạnh của G được nối một đỉnh trong V1 một đỉnh  
trong V2 được gọi đồ thị phân đôi.  
Nếu đồ thị phân đôi G=(V1V2,E) sao cho với mọi v1V1, v2V2, (v1,v2)E thì  
G được gọi đồ thị phân đôi đầy đủ. Nếu |V1|=m, |V2|=n thì đồ thị phân đôi đầy đủ G  
hiệu là Km,n. Như vậy Km,n có m.n cạnh, các đỉnh của V1 bậc n và các đỉnh của V2  
bậc m.  
Thí dụ 10:  
v1  
v2  
v1  
v4  
v2  
v3  
v6  
v3  
v4  
v5  
v6  
v5  
K2,4  
K3,3  
3.3.6. Một vài ứng dụng của các đồ thị đặc biệt:  
1) Các mạng cục bộ (LAN): Một số mạng cục bộ dùng cấu trúc hình sao, trong đó tất  
cả các thiết bị được nối với thiết bị điều khiển trung tâm. Mạng cục bộ kiểu này có thể  
biểu diễn bằng một đồ thị phân đôi đầy đủ K1,n. Các thông báo gửi từ thiết bị này tới  
thiết bị khác đều phải qua thiết bị điều khiển trung tâm.  
Mạng cục bộ cũng thể cấu trúc vòng tròn, trong đó mỗi thiết bị nối với  
đúng hai thiết bị khác. Mạng cục bộ kiểu này có thể biểu diễn bằng một đồ thị vòng Cn.  
Thông báo gửi từ thiết bị này tới thiết bị khác được truyền đi theo vòng tròn cho tới khi  
đến nơi nhận.  
v2  
v5  
v7  
v3  
v1  
v8  
v4  
v6  
v9  
v1  
v2  
v2  
v3  
v8  
v7  
v3  
v4  
v9  
v8  
v4  
v5  
v1  
v6  
v5  
v7  
v6  
Cấu trúc hình sao  
Cấu trúc vòng tròn  
Cấu trúc hỗn hợp  
42  
Cuối cùng, một số mạng cục bộ dùng cấu trúc hỗn hợp của hai cấu trúc trên. Các  
thông báo được truyền vòng quanh theo vòng tròn hoặc thể qua thiết bị trung tâm. Sự  
dư thừa này có thể làm cho mạng đáng tin cậy hơn. Mạng cục bộ kiểu này có thể biểu  
diễn bằng một đồ thị bánh xe Wn.  
2) Xử lý song song: Các thuật toán để giải các bài toán được thiết kế để thực hiện một  
phép toán tại mỗi thời điểm thuật toán nối tiếp. Tuy nhiên, nhiều bài toán với số  
lượng tính toán rất lớn như bài toán mô phỏng thời tiết, tạo hình trong y học hay phân  
tích mật mã không thể giải được trong một khoảng thời gian hợp nếu dùng thuật toán  
nối tiếp ngay cả khi dùng các siêu máy tính. Ngoài ra, do những giới hạn về mặt vật lý  
đối với tốc độ thực hiện các phép toán cơ sở, nên thường gặp các bài toán không thể giải  
trong khoảng thời gian hợp bằng các thao tác nối tiếp. vậy, người ta phải nghĩ đến  
kiểu xử lý song song.  
Khi xử lý song song, người ta dùng các máy tính có nhiều bộ xử lý riêng biệt,  
mỗi bộ xử lý có bộ nhớ riêng, nhờ đó thể khắc phục được những hạn chế của các máy  
nối tiếp. Các thuật toán song song phân chia bài toán chính thành một số bài toán con  
sao cho có thể giải đồng thời được. Do vậy, bằng các thuật toán song song và nhờ việc  
sử dụng các máy tính có bộ đa xử lý, người ta hy vọng thể giải nhanh các bài toán  
phức tạp. Trong thuật toán song song có một dãy các chỉ thị theo dõi việc thực hiện  
thuật toán, gửi các bài toán con tới các bộ xử lý khác nhau, chuyển các thông tin vào,  
thông tin ra tới các bộ xử lý thích hợp.  
Khi dùng cách xử lý song song, mỗi bộ xử lý có thể cần các thông tin ra của các  
bộ xử lý khác. Do đó chúng cần phải được kết nối với nhau. Người ta có thể dùng loại  
đồ thị thích hợp để biểu diễn mạng kết nối các bộ xử lý trong một máy tính có nhiều bộ  
xử lý. Kiểu mạng kết nối dùng để thực hiện một thuật toán song song cụ thể phụ thuộc  
vào những yêu cầu với việc trao đổi dữ liệu giữa các bộ xử lý, phụ thuộc vào tốc độ  
mong muốn tất nhiên vào phần cứng hiện có.  
Mạng kết nối các bộ xử đơn giản nhất cũng đắt nhất là có các liên kết hai  
chiều giữa mỗi cặp bộ xử lý. Các mạng này có thể mô hình bằng đồ thị đầy đKn, trong  
đó n là số bộ xử lý. Tuy nhiên, các mạng liên kết kiểu này có số kết nối quá nhiều mà  
trong thực tế số kết nối cần phải giới hạn.  
Các bộ xử lý có thể kết nối đơn giản sắp xếp chúng theo một mảng một chiều.  
Ưu điểm của mảng một chiều mỗi bộ xử lý có nhiều nhất 2 đường nối trực tiếp với  
các bộ xử lý khác. Nhược điểm nhiều khi cần rất nhiều các kết nối trung gian để  
các bộ xử lý trao đổi thông tin với nhau.  
P1  
P2  
P3  
P4  
P5  
P6  
Mạng kiểu lưới (hoặc mảng hai chiều) rất hay được dùng cho các mạng liên kết.  
Trong một mạng như thế, số các bộ xử lý là một số chính phương, n=m2. Các bộ xử lý  
43  
được gán nhãn P(i,j), 0 i, j m1. Các kết nối hai chiều sẽ nối bộ xử lý P(i,j) với bốn  
bộ xử lý bên cạnh, tức với P(i,j1) và P(i1,j) chừng nào các bộ xử lý còn trong  
lưới.  
P(0,0)  
P(1,0)  
P(2,0)  
P(3,0)  
P(0,1)  
P(1,1)  
P(2,1)  
P(3,1)  
P(0,2)  
P(1,2)  
P(2,2)  
P(3,2)  
P(0,3)  
P(1,3)  
P(2,3)  
P(3,3)  
Mạng kết nối quan trọng nhất mạng kiểu siêu khối. Với các mạng loại này số  
các bộ xử lý là luỹ thừa của 2, n=2m. Các bộ xử được gán nhãn là P0, P1, ..., Pn-1. Mỗi  
bộ xử lý có liên kết hai chiều với m bộ xử lý khác. Bộ xử lý Pi nối với bộ xử lý có chỉ số  
biểu diễn bằng dãy nhị phân khác với dãy nhị phân biểu diễn i tại đúng một bit. Mạng  
kiểu siêu khối cân bằng số các kết nối trực tiếp của mỗi bộ xử lý và số các kết nối gián  
tiếp sao cho các bộ xử lý có thể truyền thông được. Nhiều máy tính đã chế tạo theo  
mạng kiểu siêu khối nhiều thuật toán đã được thiết kế để sử dụng mạng kiểu siêu  
khối. Đồ thị lập phương Qm biểu diễn mạng kiểu siêu khối có 2m bộ xử lý.  
P0  
P1  
P2  
P3  
P4  
P5  
P6  
P7  
3.4. BIỂU DIỄN ĐỒ THỊ BẰNG MA TRẬN SỰ ĐẲNG CẤU ĐỒ THỊ:  
3.4.1. Định nghĩa: Cho đồ thị G=(V,E) (vô hướng hoặc hướng), với V={v1,v2,..., vn}.  
Ma trận liền kề của G ứng với thứ tự các đỉnh v1,v2,..., vn là ma trận  
A=(aij )1i, jn M (n, Z)  
,
trong đó aij số cạnh hoặc cung nối từ vi tới vj.  
Như vậy, ma trận liền kề của một đồ thị hướng là ma trận đối xứng, nghĩa là  
aij a ji , trong khi ma trận liền kề của một đồ thị hướng không có tính đối xứng.  
Thí dụ 11: Ma trận liền kề với thứ tcác đỉnh v1, v2, v3, v4 là:  
v1  
v2  
0 3 0 2  
3 0 1 1  
0 1 1 2  
2 1 2 0  
v4  
v3  
44  
Ma trận liền kề với thứ tự các đỉnh v1, v2, v3, v4, v5 là:  
1 1 0 1 1  
0 1 2 1 0  
1 0 0 1 0  
0 0 2 0 1  
1 1 0 1 0  
v1  
v5  
v2  
v4  
v3  
3.4.2. Định nghĩa: Cho đồ thị hướng G=(V,E), v1, v2, ..., vn là các đỉnh và e1, e2, ...,  
em là các cạnh của G. Ma trận liên thuộc của G theo thứ tự trên của V và E là ma trận  
M=(mij )1in M (nm, Z) ,  
1jm  
mij bằng 1 nếu cạnh ej nối với đỉnh vi bằng 0 nếu cạnh ej không nối với đỉnh vi.  
Thí dụ 12: Ma trận liên thuộc theo thứ tự các đỉnh v1, v2, v3, v4, v5 và các cạnh e1, e2, e3,  
e4, e5, e6 là:  
e6  
v1  
v2  
v3  
e5  
1 1 0 0 0 0  
0 0 1 1 0 1  
0 0 0 0 1 1  
1 0 1 0 0 0  
0 1 0 1 1 0  
e3  
e4  
e1  
e2  
v4  
v5  
3.4.3. Định nghĩa: Các đơn đồ thị G1=(V1,E1) và G2=(V2,E2) được gọi đẳng cấu nếu  
tồn tại một song ánh f từ V1 lên V2 sao cho các đỉnh u và v là liền kề trong G1 khi và chỉ  
khi f(u) và f(v) là liền kề trong G2 với mọi u và v trong V1. Ánh xạ f như thế gọi một  
phép đẳng cấu.  
Thông thường, để chứng tỏ hai đơn đồ thị là không đẳng cấu, người ta chỉ ra  
chúng không có chung một tính chất mà các đơn đồ thị đẳng cấu cần phải có. Tính chất  
như thế gọi một bất biến đối với phép đẳng cấu của các đơn đồ thị.  
Thí dụ 13: 1) Hai đơn đồ thị G1 và G2 sau là đẳng cấu qua phép đẳng cấu f: a  
u, c z, d v, e y:  
x,  
b
a
u
z
v
b
c
e
y
x
d
G1  
G2  
45  
2) Hai đồ thị G1 và G2 sau đều có 5 đỉnh và 6 cạnh nhưng không đẳng cấu vì trong G1  
một đỉnh bậc 4 mà trong G2 không có đỉnh bậc 4 nào.  
3) Hai đồ thị G1 và G2 sau đều có 7 đỉnh, 10 cạnh, cùng có một đỉnh bậc 4, bốn đỉnh  
bậc 3 và hai đỉnh bậc 2. Tuy nhiên G1 và G2 là không đẳng cấu vì hai đỉnh bậc 2 của G1  
(a và d) là không kề nhau, trong khi hai đỉnh bậc 2 của G2 (y và z) là kề nhau.  
b
c
v
x
w
a
h
d
u
y
g
e
t
z
G1  
G2  
4) Hãy xác định xem hai đồ thị sau có đẳng cấu hay không?  
u1  
u2  
v1  
v3  
v2  
u5  
u6  
v6  
u4  
u3  
v5  
v4  
G1  
G2  
Hai đồ thị G1 và G2 đẳng cấu vì hai ma trận liền kề của G1 theo thứ tự các đỉnh  
u1, u2, u3, u4, u5, u6 của G2 theo thứ tự các đỉnh v6, v3, v4, v5, v1, v2 như nhau và  
bằng:  
0 1 0 1 0 0  
1 0 1 0 0 1  
0 1 0 1 0 0  
1 0 1 0 1 0  
0 0 0 1 0 1  
0 1 0 0 1 0  
3.5. CÁC ĐỒ THỊ MỚI TỪ ĐỒ THỊ CŨ.  
3.5.1. Định nghĩa: Cho hai đồ thị G1=(V1,E1) và G2=(V2,E2). Ta nói G2 đồ thị con  
của G1 nếu V2 V1 và E2 E1. Trong trường hợp V1=V2 thì G2 gọi là con bao trùm của  
G1.  
46  
Thí dụ 14:  
a
d
a
a
d
c
a
d
c
e
e
e
b
b
c
b
c
b
G
G1  
G2  
G3  
a
d
a
d
c
b
c
b
G4  
G5  
G1, G2, G3 và G4 là các đồ thị con của G, trong đó G2 và G4 đồ thị con bao  
trùm của G, còn G5 không phải đồ thị con của G.  
3.5.2. Định nghĩa: Hợp của hai đơn đồ thị G1=(V1,E1) và G2=(V2,E2) là một đơn đồ thị  
tập các đỉnh là V1 V2 tập các cạnh là E1 E2, ký hiệu là G1 G2.  
Thí dụ 15:  
x
y
z
x
y
z
x
y
z
u
v
u
w
u
v
w
G1  
G2  
G1G2  
3.5.3. Định nghĩa: Đơn đồ thị G’=(V,E’) được gọi đồ thị của đơn đồ thị G=(V,E)  
nếu G và G’ không có cạnh chung nào (E E’=) và G G’là đồ thị đầy đủ.  
Dễ thấy rằng nếu G’ là bù của G thì G cũng là bù của G’. Khi đó ta nói hai đồ thị  
là bù nhau.  
Thí dụ 16:  
x
x
x
y
v
x
u
y
v
v
y
v
y
u
u
z
u
z
G’  
G
G1’  
G1  
Hai đồ thị G’ và G là bù nhau và hai đồ thị G1 và G1’ là bù nhau.  
3.6. TÍNH LIÊN THÔNG.  
3.6.1. Định nghĩa: Đường đi độ dài n từ đỉnh u đến đỉnh v, với n là một số nguyên  
dương, trong đồ thị (giả đồ thị hướng hoặc đa đồ thị hướng) G=(V,E) là một dãy  
các cạnh (hoặc cung) e1, e2, ..., en của đồ thị sao cho e1=(x0,x1),e2=(x1,x2), ...,en=(xn-1,xn),  
với x0=u và xn=v. Khi đồ thị không có cạnh (hoặc cung) bội, ta ký hiệu đường đi này  
47  
bằng dãy các đỉnh x0, x1, ..., xn. Đường đi được gọi là chu trình nếu bắt đầu kết  
thúc tại cùng một đỉnh. Đường đi hoặc chu trình gọi đơn nếu nó không chứa cùng một  
cạnh (hoặc cung) quá một lần. Một đường đi hoặc chu trình không đi qua đỉnh nào quá  
một lần (trừ đỉnh đầu đỉnh cuối của chu trình là trùng nhau) được gọi đường đi  
hoặc chu trình sơ cấp. Rõ ràng rằng một đường đi (t.ư. chu trình) sơ cấp đường đi (t.ư.  
chu trình) đơn.  
Thí dụ 17:  
x
y
z
w
v
u
Trong đơn đồ thị trên, x, y, z, w, v, y là đường đi đơn (không sơ cấp) độ dài 5; x,  
w, v, z, y không là đường đi vì (v, z) không là cạnh; y, z, w, x, v, u, y là chu trình sơ cấp  
độ dài 6.  
3.6.2. Định nghĩa: Một đồ thị (vô hướng) được gọi là liên thông nếu đường đi giữa  
mọi cặp đỉnh phân biệt của đồ thị.  
Một đồ thị không liên thông là hợp của hai hay nhiều đồ thị con liên thông, mỗi  
cặp các đồ thị con này không có đỉnh chung. Các đồ thị con liên thông rời nhau như vậy  
được gọi là các thành phần liên thông của đồ thị đang xét. Như vậy, một đồ thị là liên  
thông khi và chỉ khi nó chỉ một thành phần liên thông.  
Thí dụ 18:  
b
c
a
x
y
v
g
h
k
l
z
u
w
d
i
t
G
G’  
Đồ thị G là liên thông, nhưng đồ thị G’ không liên thông và có 3 thành phần liên thông.  
3.6.3. Định nghĩa: Một đỉnh trong đồ thị G mà khi xoá đi nó và tất cả các cạnh liên  
thuộc với nó ta nhận được đồ thị con mới nhiều thành phần liên thông hơn đồ thị G  
được gọi đỉnh cắt hay điểm khớp. Việc xoá đỉnh cắt khỏi một đồ thị liên thông sẽ tạo  
ra một đồ thị con không liên thông. Hoàn toàn tương tự, một cạnh mà khi ta bỏ đi sẽ  
tạo ra một đồ thị nhiều thành phần liên thông hơn so với đồ thị xuất phát được gọi là  
cạnh cắt hay là cầu.  
Thí dụ 19:  
x
y
z
u
v
w
s
t
48  
Trong đồ thị trên, các đỉnh cắt là v, w, s và các cầu là (x,v), (w,s).  
3.6.4. Mệnh đề: Giữa mọi cặp đỉnh phân biệt của một đồ thị liên thông luôn có đường  
đi sơ cấp.  
Chứng minh: Giả sử u và v là hai đỉnh phân biệt của một đồ thị liên thông G. Vì G liên  
thông nên có ít nhất một đường đi giữa u và v. Gọi x0, x1, ..., xn, với x0=u và xn=v, là dãy  
các đỉnh của đường đi độ dài ngắn nhất. Đây chính là đường đi sơ cấp cần tìm. Thật  
vậy, giả sử nó không là đường đi đơn, khi đó xi=xj với 0 i < j. Điều này có nghĩa là  
giữa các đỉnh u và v có đường đi ngắn hơn qua các đỉnh x0, x1, ..., xi-1, xj, ..., xn nhận  
được bằng cách xoá đi các cạnh tương ứng với dãy các đỉnh xi, ..., xj-1.  
3.6.5. Mệnh đề: Mọi đơn đồ thị n đỉnh (n 2) có tổng bậc của hai đỉnh tuỳ ý không  
nhỏ hơn n đều đồ thị liên thông.  
Chứng minh: Cho đơn đồ thị G=(V,E) có n đỉnh (n 2) và thoả mãn yêu cầu của bài  
toán. Giả sử G không liên thông, tức tồn tại hai đỉnh u và v sao cho không có đường  
đi nào nối u và v. Khi đó trong đồ thị G tồn tại hai thành phần liên thông là G1 có n1  
đỉnh chứa u, G2 chứa đỉnh v và có n2 đỉnh. Vì G1, G2 là hai trong số các thành phần  
liên thông của G nên n1+n2 n. ta có:  
deg(u)+deg(v) (n1 1)+(n2 1) = n1+n22 n2 <n.  
Điều mâu thuẫn ở trên dẫn đến kết luận đồ thị G phải liên thông.  
3.6.6. Hệ quả: Đơn đồ thị bậc của mỗi đỉnh của nó không nhỏ hơn một nửa số đỉnh  
đồ thị liên thông.  
3.6.7. Mệnh đề: Nếu một đồ thị đúng hai đỉnh bậc lẻ thì hai đỉnh này phải liên  
thông, tức là có một đường đi nối chúng.  
Chứng minh: Cho G=(V,E) là đồ thị thị đúng hai đỉnh bậc lẻ là u và v. Giả sử u và v  
không liên thông với nhau. Khi đó chúng phải thuộc hai thành phần liên thông nào đó  
của đồ thị G, G1 chứa u và G2 chứa v.  
Bậc của đỉnh u trong G1 cũng chính là bậc của u trong G, nên trong G1 đỉnh u vẫn  
bậc lẻ và G1 có duy nhất một đỉnh bậc lẻ. Điều này mâu thuẫn. Vậy hai đỉnh u và v  
phải liên thông.  
3.6.8. Mệnh đề: Cho G=(V,E) là một đồ thị liên thông. Khi đó một đỉnh của G là điểm  
khớp khi và chỉ khi trong G tồn tại hai đỉnh u và v sao cho mỗi đường đi nối u và v đều  
phải đi qua đỉnh này.  
Chứng minh: Điều kiện cần: Giả sử đỉnh x là điểm khớp trong đồ thị G. Khi đó đồ thị  
con G1 của G nhận được bằng cách xoá x và các cạnh liên thuộc với nó là không liên  
thông. Giả sử G2, G3 là hai trong các thành phần liên thông của G1. Lấy u là đỉnh trong  
G2 và v là đỉnh trong G3. Do u, v thuộc hai thành phần liên thông khác nhau, nên trong  
G1 các đỉnh u, v không liên thông. Nhưng trong G các đỉnh u, v lại liên thông, nên mọi  
đường đi nối u, v đều phải đi qua đỉnh x.  
49  
Điều kiện đủ: Giả sử mọi đường đi nối u, v đều đi qua đỉnh x, nên nếu bỏ đỉnh x và các  
cạnh liên thuộc với x thì đồ thị con G1 nhận được từ G chứa hai đỉnh u, v không liên  
thông. Do đó G1 đồ thị không liên thông hay đỉnh x là điểm khớp của G.  
3.6.9. Định lý: Cho G là một đơn đồ thị có n đỉnh, m cạnh và k thành phần liên thông.  
Khi đó  
(n k)(n k 1)  
n k m   
.
2
Chứng minh: Bất đẳng thức n k m được chứng minh bằng quy nạp theo m. Nếu  
m=0 thì k=n nên bất đẳng thức đúng. Giả sử bất đẳng thức đúng đến m1, với m 1.  
Gọi G’ là đồ thị con bao trùm của G có số cạnh m0 nhỏ nhất sao cho nó có k thành  
phần liên thông. Do đó việc loại bỏ bất cứ cạnh nào trong G’ cũng tăng số thành phần  
liên thông lên 1 và khi đó đồ thị thu được sẽ có n đỉnh, k+1 thành phần liên thông và  
m01 cạnh. Theo giả thiết quy nạp, ta có m01 n(k+1) hay m0 nk. Vậy m n-k.  
Bổ sung cạnh vào G để nhận được đồ thị G’’ có m1 cạnh sao cho k thành phần  
liên thông là những đồ thị đầy đủ. Ta có m m1 nên chỉ cần chứng minh  
(n k)(n k 1)  
m1   
.
2
Giả sử Gi và Gj là hai thành phần liên thông của G’’ với ni và nj đỉnh và ni nj >1 (*).  
Nếu ta thay Gi và Gj bằng đồ thị đầy đủ với ni+1 và nj1 đỉnh thì tổng số đỉnh không  
thay đổi nhưng số cạnh tăng thêm một lượng là:  
n (n 1) (n 1)(n 2)  
(n 1)n  
n (n 1)  
j
j
j
j
i
i
i
i
n n 1.  
i j  
2
2
2
2
Thủ tục này được lặp lại khi hai thành phần nào đó số đỉnh thoả (*). Vì vậy m1 lớn  
nhất (n, k là cố định) khi đồ thị gồm k-1 đỉnh lập một đồ thị đầy đủ với n-k+1  
đỉnh. Từ đó suy ra bất đẳng thức cần tìm.  
3.6.10. Định nghĩa: Đồ thị hướng G được gọi là liên thông mạnh nếu với hai đỉnh  
phân biệt bất kỳ u và v của G đều đường đi từ u tới v và đường đi từ v tới u.  
Đồ thị hướng G được gọi là liên thông yếu nếu đồ thị hướng nền của nó là  
liên thông.  
Đồ thị hướng G được gọi là liên thông một chiều nếu với hai đỉnh phân biệt  
bất kỳ u và v của G đều đường đi từ u tới v hoặc đường đi từ v tới u.  
Thí dụ 20:  
u
v
w
u
v
w
x
x
y
s
t
y
s
t
G
G’  
50  
Đồ thị G là liên thông mạnh nhưng đồ thị G’ là liên thông yếu (không có đường  
đi từ u tới x cũng như từ x tới u).  
3.6.11. Mệnh đề: Cho G là một đồ thị (vô hướng hoặc hướng) với ma trận liền kề A  
theo thứ tự các đỉnh v1, v2, ..., vn. Khi đó số các đường đi khác nhau độ dài r từ vi tới vj  
trong đó r là một số nguyên dương, bằng giá trị của phần tử dòng i cột j của ma trận Ar.  
Chứng minh: Ta chứng minh mệnh đề bằng quy nạp theo r. Số các đường đi khác nhau  
độ dài 1 từ vi tới vj số các cạnh (hoặc cung) từ vi tới vj, đó chính là phần tử dòng i cột  
j của ma trận A; nghĩa là, mệnh đề đúng khi r=1.  
Giả sử mệnh đề đúng đến r; nghĩa là, phần tử dòng i cột j của Ar số các đường  
đi khác nhau độ dài r từ vi tới vj. Vì Ar+1=Ar.A nên phần tử dòng i cột j của Ar+1 bằng  
bi1a1j+bi2a2j+ ... +binanj,  
trong đó bik phần tử dòng i cột k của Ar. Theo giả thiết quy nạp bik số đường đi  
khác nhau độ dài r từ vi tới vk.  
Đường đi độ dài r+1 từ vi tới vj sẽ được tạo nên từ đường đi độ dài r từ vi tới đỉnh  
trung gian vk nào đó một cạnh (hoặc cung) từ vk tới vj. Theo quy tắc nhân số các  
đường đi như thế là tích của số đường đi độ dài r từ vi tới vk, tức là bik, và số các cạnh  
(hoặc cung) từ vk tới vj, tức là akj. Cộng các tích này lại theo tất cả các đỉnh trung gian vk  
ta có mệnh đề đúng đến r+1.  
BÀI TẬP CHƯƠNG III:  
1. Cho G là đồ thị có v đỉnh và e cạnh, còn M, m tương ứng bậc lớn nhất nhỏ nhất  
của các đỉnh của G. Chứng tỏ rằng  
2e  
m   
M.  
v
2. Chứng minh rằng nếu G là đơn đồ thị phân đôi có v đỉnh và e cạnh, khi đó  
e v2/4.  
3. Trongmột phương án mạng kiểu lưới kết nối n=m2 bộ xử lý song song, bộ xử lý P(i,j)  
được kết nối với 4 bộ xử lý (P(i1) mod m, j), P(i, (j1) mod m), sao cho các kết nối  
bao xung quanh các cạnh của lưới. Hãy vẽ mạng kiểu lưới có 16 bộ xử lý theo phương  
án này.  
4. Hãy vẽ các đồ thị hướng được biểu diễn bởi ma trận liền kề sau:  
0 1 3 0 4  
1 2 0 1  
1 2 3  
1 2 1 3 0  
2 0 3 0  
a) 2 0 4 , b)  
, c) 3 1 1 0 1  
.
0 3 1 1  
1 0 1 0  
3 4 0  
0 3 0 0 2  
4 0 1 2 3  
51  
5. Nêu ý nghĩa của tổng các phần tử trên một hàng (t.ư. cột) của một ma trận liền kề đối  
với một đồ thị hướng ? Đối với đồ thị hướng ?  
6. Tìm ma trận liền kề cho các đồ thị sau:  
a) Kn ,  
7. Có bao nhiêu đơn đồ thị không đẳng cấu với n đỉnh khi:  
a) n=2, b) n=3, c) n=4.  
8. Hai đơn đồ thị với ma trận liền kề sau đây có là đẳng cấu không?  
b) Cn,  
c) Wn ,  
d) Km,n  
,
e) Qn.  
0 1 0 1  
1 0 0 1  
0 0 0 1  
1 1 1 0  
0 1 1 1  
1 0 0 1  
1 0 0 1  
1 1 1 0  
,
.
9. Hai đơn đồ thị với ma trận liền kề sau đây có là đẳng cấu không?  
1 1 0 0 0  
1 0 1 0 1  
0 0 0 1 1  
0 1 1 1 0  
0 1 0 0 1  
0 1 1 1 0  
1 0 0 1 0  
1 0 1 0 1  
,
.
10. Các đồ thị G và G’ sau có đẳng cấu với nhau không?  
a)  
u1  
u2  
u3  
u4  
v1  
v2  
v5  
v6  
v4  
v3  
u6  
u5  
b)  
u3  
u6  
u1  
u2  
u5  
v1  
v5  
v2  
v4  
v6  
v3  
u4  
11. Cho V={2,3,4,5,6,7,8} và E là tập hợp các cặp phần tử (u,v) của V sao cho u<v và  
u,v nguyên tố cùng nhau. Hãy vẽ đồ thị hướng G=(V,E). Tìm số các đường đi phân  
biệt độ dài 3 từ đỉnh 2 tới đỉnh 8.  
12. Hãy tìm số đường đi độ dài n giữa hai đỉnh liền kề (t.ư. không liền kề) tùy ý trong  
K3,3 với mỗi giá trị của n sau:  
a) n=2,  
b) n=3,  
c) n=4,  
d) n=5.  
52  
14. Một cuộc họp có ít nhất ba đại biểu đến dự. Mỗi người quen ít nhất hai đại biểu  
khác. Chứng minh rằng thể xếp được một số đại biểu ngồi xung quanh một bàn tròn,  
để mỗi người ngồi giữa hai người đại biểu đó quen.  
15. Một lớp học có ít nhất 4 sinh viên. Mỗi sinh viên thân với ít nhất 3 sinh viên khác.  
Chứng minh rằng thể xếp một số chẵn sinh viên ngồi quanh một cái bàn tròn để mỗi  
sinh viên ngồi giữa hai sinh viên mà họ thân.  
16. Trong một cuộc họp đúng hai đại biểu không quen nhau và mỗi đại biểu này có  
một số lẻ người quen đến dự. Chứng minh rằng luôn luôn có thể xếp một số đại biểu  
ngồi chen giữa hai đại biểu nói trên, để mỗi người ngồi giữa hai người mà anh ta quen.  
17. Một thành phố có n (n 2) nút giao thông và hai nút giao thông bất kỳ đều số  
đầu mối đường ngầm tới một trong các nút giao thông này đều không nhỏ hơn n. Chứng  
minh rằng từ một nút giao thông tuỳ ý ta có thể đi đến một nút giao thông bất kỳ khác  
bằng đường ngầm.  
53  
doc 17 trang baolam 06/05/2022 5940
Bạn đang xem tài liệu "Giáo trình Toán rời rạc - Chương III: Đồ thị", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • docgiao_trinh_toan_roi_rac_chuong_iii_do_thi.doc