Tải bản đầy đủ (.doc) (47 trang)

Tìm hiểu về lý thuyết đồ thị

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 (253.34 KB, 47 trang )

Lời cảm ơn
Em xin chân thành cảm ơn cô: Hồ Thị Huyền Thơng. Ngời cô trực tiếp hớng dẫn em, cô đã tận tình giúp đỡ em trong từng bớc đi của từng cách giải
quyết vấn đề. Cô đã chỉ ra phơng hớng để em hoàn thành tốt khoá luận này.
Em hoàn thành đợc khoá luận này là nhờ rất nhiều vào sự giúp đỡ của cô, lần
nữa em xin đợc bày tỏ lòng biết ơn sâu sắc đến cô.
Em xin chân thành cảm ơn đến toàn thể thầy cô trong khoa CNTT- Trờng
đại học Vinh đã nhiệt tình truyền đạt cho em nhũng kiến thức, những kinh
nghiệm quí báu. Nó chính làm nền tảng cho em có ngày hôm nay để hoàn
thành bài khoá luận này.
Cuối cùng em xin chân thành cảm ơn đến tất cả những ngời thân bạn bè
xung quanh em, họ là những ngời động viên, đóng góp ý kiến và giúp đỡ em
trong suốt quá trình làm khoá luận này.
Em chân thành biết ơn!
Vinh, ngày 15 tháng 5 năm 2005
Sinh viên thực hiện

Ngô Thị Thu Huyền


lời nói đầu
Trong giai đoạn hiện nay, công nghệ thông tin đang là một trong những
ngành mũi nhọn, nó không chỉ bó hẹp trong phạm vi nhà trờng, viện nghiên
cứu, các trung trâm máy tính mà còn mở rộng ra các cơ quan, xí nghiệp và
nhà máy. Chính vì điều đó cho nên việc ra đời các ngôn ngữ lập trình đóng
một vai trò quan trọng đáng kể. Một trong những ngôn ngữ đang phổ dụng
hiện nay là ngôn ngữ lập trình Visual Basic. Có thể nói đây là một ngôn ngữ
có cấu trúc chặt chẽ, hỗ trợ nhiều trong lập trình. Với mục đích vừa làm công
cụ giảng dạy cho sinh viên, học sinh vừa giải quyết các bài toán trong thực
tiễn. Dựa vào ngôn ngữ lập trình này chúng ta có thể giải quyết đợc hàng loạt
các vấn đề trong thực tế, điều đó chứng tỏ đợc tầm quan trọng và sức sống
mãnh liệt của các ngôn ngữ lập trình nói chung và Visual Basic nói riêng.


Trong thực tế ngời ta thờng sử dụng mạng lới điện thoại, giao thông đặc
(biệt là mạng lới hàng không), mạng máy tính....Chúng giữ một vị trí rất
quan trọng,việc nghiên cứu và phát triển kỹ thuật luôn đợc chú trọng, nhằm
giải quyết các công việc trong những lĩnh vực này một cách linh hoạt, ví dụ
nh giảm chi phí, ít tốn kém thời gian và còn nhiều hiệu quả khác. Để giải
quyết những tổn hao đó, việc nghiên cứu phải dựa trên nghành toán học đó là
lí thuyết đồ thị (Graph Thoery) hay nói một cách chung lí thuyết đồ thị
là một công cụ toán học xây dựng mô hình cho các vấn đề trên.
Nh ta đã biết một mạng điện thoại, mạng máy tính hay một mạng
thông tin nói chung thờng có cấu trúc chung đó là các điểm liên hệ với nhau.
Để mô hình sự liên hệ này, trong toán học lí thuyết đồ thị sẽ biểu diễn bởi
một đồ thị, trong đó đỉnh của đồ thị là điểm thông tin, số đợc gán trên cạch
của đồ thị là biểu diễn khoảng cách hay chi phí các nút thông tin.
Cùng với những thực tiễn nh trên, dới sự hớng dẫn của cô Hồ Thị
Huyền Thơng và với những hiểu biết của mình hôm nay, em làm đề tài với


tên đề tài là " Tìm hiểu về lí thuyết đồ thị ". Cụ thể em mô phỏng một số
giải thuật tìm đờng đi ngắn nhất trên ngôn ngữ visual basic. Mục đích là đa
ra đờng đi ngắn nhất giữa đỉnh xuất phát X, đến đỉnh đích Y nào đó trên một
đồ thị qua hai giải thuật trên đồ thị có trọng số và đồ thị không có trọng số.
Nội dung của đề tài này em chia ra thành 3 phần cơ bản:
+ Phần 1: Lý thuyết đồ thị.
+ Phần 2: Giải thuật tìm đờng đi ngắn nhất trên đồ thị.
+ Phần 3: Một số ứng dụng của đồ thị.
Tuy đã cố gắng hết sức song vì thời gian cũng nh điều kiện có hạn nên
không tránh khỏi những thiếu sót. Rất mong đợc sự đóng góp chân thành của
thầy cô giáo cùng toàn thể các bạn sinh viên để đề tài ngày càng hoàn thiện
hơn.
Cuối cùng, em xin đợc bày tỏ lòng biết ơn sâu sắc đến cô Hồ Thị

Huyền Thơng, các thầy cô giáo trong khoa cùng toàn thể các bạn sinh viên
đã giúp đỡ nhiệt tình và tạo điều kiện tốt để em hoàn thành luận văn này. Em
xin chân thành cảm ơn!
Sinh viên: Ngô Thị Thu Huyền


Phần I
Lý thuyết đồ thị
I. Định nghĩa và phân loại đồ thị.
A. Định nghĩa đồ thị
1. Định nghĩa 1:
Một đơn đồ thị vô hớng G = (V, E) gồm một tập không rỗng 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 thứ tự của các đỉnh phân biệt.
2. Định nghĩa 2:
Một đa đồ thị vô hớng G = (V, E) gồm một tập các đỉnh V, một tập các
cạnh E và một hàm f từ E tới {{u, v} / u, v V, u v}. Các cạnh e1 và e2
đợc gọi là song song hay cạnh bội nếu f(e1) = f(e2).
3. Định nghĩa 3:
Giả đồ thị vô hớng G=(V,E) gồm tập các đỉnh V và E là họ các cặp không
có thứ tự gồm hai phần tử (không nhất thiết phải là khác nhau) của V gọi
là các cạnh, cạnh e đợc gọi là khuyên nếu nó có dạng e=(u,u).
4. Định nghĩa 4:
Đơn đồ thị có hớng G=(V,E) bao 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. Định nghĩa 5.
Đa đồ thị có hớng G=(V,E) bao gồm V là tập các đỉnh và E là họ các
cặp có thứ tự gồm hai phần tử khac nhau của V gọi là các cung. Hai cung
e1 và e2 tơng ứng với cùng một cặp đỉnh đợc gọi là cung lặp.
B. Phân loại đồ thị:

a/ Đồ thị vô hớng và đồ thị có hớng:


• §å thÞ v« híng : Lµ ®å thÞ kh«ng ph©n biÖt c¹nh nèi tõ ®Ønh A ®Õn
®Ønh B vµ ngîc l¹i.
VÝ dô nh h×nh vÏ:
B
e

g
h

A

C

f
D
m
E

A
D

F

B

l


C

H

10

1

k

G

12

A
F
B

3
2

9

11

4
5
8
7


D

C


Đồ thị có hớng: Phân biệt cạnh nối từ đỉnh A đến đỉnh B và từ đỉnh B
đến đỉnh A là khác nhau.
Ví dụ nh hình vẽ:

B
g

e
A

C
h

f

D
1

2
a

3

c


4

b

b/. Đồ thị có trọng số:Là đồ thị mỗi cạnh đợc gán một giá trị.Ví
d dụ nh hình
vẽ:
1

4
7

4

3

2
5

a
5

5

4

6
4

7


c
5

b

4
3

2
d


d/. Đồ thị không có trọng số:
Ví dụ nh hình vẽ:

II.Các thuật
a ngữ về
đồ thị:
c

II.1

Những

thuật

ngữ cơ sở
A. Các định nghĩa:
1.Định nghĩa

d 1.
Hai đỉnh u và v
trong một đồ thị vô

hớng G đợc gọi là liền kề 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 đuợ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 đỉnh đầu mút của
cạnh (u,v).
2. Định nghĩa 2.
Bậc của một đỉnh trong đồ thị vô hớng là số các cạnh liên thuộc với
nó, riêng khuyên tại một đỉnh đựoc tính hai lần cho bậc của nó. Ngợc lại
ký hiệu bậc của đỉnh v là deg(v).
3.Định nghĩa 3.
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à nối tới u. Đỉnh u gọi là đỉnh đầu, đỉnh v gọi là đỉnh cuối của cạnh
(u,v). Đỉnh đầu và đỉnh cuối có khuyên là trùng nhau.
4.Định nghĩa 4.

b


Trong đồ thị có hớng bậc vào của đỉnh v đợc kí hiệu là deg-(v) là số
các cạnh có đỉnh cuối là v. Bậc ra của đỉnh v, ký hiệu là deg+(v) là số
cạnh có đỉnh đầu là v.
B.Các định lí:
1) Định lí 1: Định lí bắt tay: Cho G = (V,E) là một đồ thị vô hớng có e
deg(v) .
cạnh. Khi đó: 2 e =
vV


( Định lí 1 chỉ ra rằng tổng các bậc của tất cả các đỉnh của một
đò thị vô hớng là một số chẵn.)

2) Định lí 2: Một đồ thị vô hớng có đỉnh một số chẵn bậc lẻ.
Chứng minh :
Giả sử V1 và V2 tơng ứng là tập các đỉnh bậc chẵn và tập
các đỉnh bậc lẻ G = (V, E). Khi đó:
deg(v) = deg(v) + deg(v)
2e =
vV
vV
vV
1

2

Vì v là chẵn với mọi v V1, nên tổng đầu tiên trong vế phải
là một số chẵn. Mặt khác do vế trái (bằng 2e) là số chẵn
nên tổng còn lại trong vế phải cũng là số chẵn. Vì tất cả
các số hạng của tổng này là các số lẻ, nên từ đó suy ra các
số hạng này là chẵn. Hay số các đỉnh bậc lẻ là chẵn.
II.2 Những đồ thị đơn đặc biệt:
1. Đồ thị đầy đủ:
Đồ thị đầy đủ n đỉnh, kí hiệu là Kn, là một đơn đồ thị chứa đúng một
cạnh nối giữa mỗi cặp đỉnh phân biệt. Các đồ thị Kn, với n= 1, 2, 3, 4, 5
đợc biểu diễn nh hình sau:


K1


K2

K3

K4

K5

2. Chu tr×nh (vßng).
Chu tr×nh Cn, n>=3 lµ mét ®å thÞ cã n ®Ønh, v1, v2,...,vn vµ c¸c c¹nh { v1,
v2},{ v2, v3},.....{ vn-1, vn}vµ { vn, v1}. C¸c chu tr×nh C3, C4, C5 ®îc biÓu
diÔn nh sau:

C3

C4
C5

3. Ngoµi ra cßn mét sè ®å thÞ kh¸c nh : ®å thÞ b¸nh xe, c¸c khèi n
chiÒu.
II.3 §å thÞ ph©n ®«i:


Định nghĩa: Một đồ thị đơn G đợc gọi là đồ thị phân đôi nếu tập các
đỉnh V có thể phân làm hai tập con không rỗng rời nhau V 1 và V2 sao cho
mỗi cạnh của đồ thị nối một đỉnh của V1 với một đỉnh của V2.
Ví dụ:
a

b


g
c

f
e

d

III/ Đờng đi, chu trình, đồ thị liên thông, Sự đẳng cấu.
1. Định nghĩa 1.
Đờng đi độ dài n từ đỉnh u đến đỉnh v, trong đó n là số nguyên dơng,
trên đồ thị vô hớng G=(V,E) là dãy:
x0,x1,,xn-1,xn.
Trong đó u=x0, v=xn, (xi,xi+1) thuộc E, i=0,1,,n-1.
Đờng đi nói trên còn đợc biểu diễn dới dạng cạnh :
(x0,x1),(x1,x2),,(xn-1,xn).
Đỉnh u đợc gọi là đỉnh đầu , còn đỉnh v đợc gọi là đỉnh cuối của đờng đi. Đờng đi có đỉnh đầu trùng với đỉnh cuối (tức là u trùng với v ) đợc gọi là chu
trình. Đờng đi hay chu trình đợc gọi là đơn nếu không có cạnh nào bị lặp lại.

2. Định nghĩa 2.
Đờng đi có độ dài n từ đỉnh u đến đỉnh v, trong đó n là số nguyên dơng,
trên đồ thị có hớng G=(V,A) là dãy:
x0,x1,,xn-1,xn.


Trong đó u=x0, v=xn, (xi,xi+1) thuộcA, i=0,1,,n-1.
Đờng đi nói trên còn có thể biễu biễn dới dạng các cung:
(x0,x1),(x1,x2),,(xn-1,xn).
Đỉnh u đợc gọi là đỉnh đầu , còn đỉnh v đợc gọi là đỉnh cuối của đờng đi. Đờng đi có đỉnh đầu trùng với đỉnh cuối (tức là u trùng với v ) đợc gọi là chu

trình. Đờng đi hay chu trình đợc gọi là đơn nếu không có cạnh nào bị lặp lại.
3.Định nghĩa :
Đồ thị vô hớng G=(V,E) đợc gọi là liên thông nếu luôn tìm đợc đờng đi
giữa hai đỉnh bất kỳ của nó.
4. Định nghĩa 4:
Ta gọi đồ thị con của đồ thị G = (V,E) là đồ thị H = (W,F), trong đó W
V và F E.
Trong trờng hợp là đồ thị không liên thông, nó sẽ rã ra thành một số đồ
thị con liên thông đôi một không có đồ đỉnh chung. Những đồ thị con liên
thông nh vậy ta sẽ gọi là các thành phần liên thông của đồ thị.
5. Định nghĩa 5:
Đỉnh v đợc gọi là đỉnh rẽ nhánh nếu việc loại bỏ v cùng với các cạnh liên
thuộc với nó khỏi đồ thị làm tăng số thành phần liên thông của đồ thị. Cạnh e
đợc gọi là cầu nếu việc loại bỏ nó ra khỏi đồ thị làm tăng số thành phần liên
thông của đồ thị.
6. Định nghĩa 6:
Đồ thị có hớng G = (V, A) đợc gọi là liên thông mạnh nếu luôn tìm đợc đờng đi giữa hai đỉnh bất kỳ của nó.
7. Định nghĩa 7:
Đồ thị có hớng G = (V, A) đợc gọi là liên thông yếu nếu đồ thị tơng ứng
với nó là đồ thị vô hớng liên thông.
8. Định nghĩa 8:


Các đồ thị đơn G = (V1, A1) và G = (V2, A2) là đắng cấu nếu có hàm song
ánh f từ V1 lên V2 sao cho các đỉnh a và b là liền kề trong G 1 nếu và chỉ nếu
f(a) và f(b) là liền kề trong G2 với mọi a và b trong V1. Hàm f nh thế đợc gọi
là một đẳng cấu.
IV/ Cách biểu diễn
Có nhiều cách biểu diễn đồ thị khác nhau, sau đây em xin giới thiệu một
số cách thông thờng hay dùng.

1. Ma trận kề, ma trận trọng số.
Xét đơn đồ thị vô hớng G=(V,E), với tập đỉnh V=(1,2,,n), tập cạnh
E=(e1,e2,,en). Ta gọi ma trận kề của đồ thị G là (0,1)-ma trân.
A=(aịj: i,j=1,2,..,n)
Và các phần tử đợc xác định theo quy tắc sau đây:
Aij=0, nếu (i,j) không thuộc E và aij=1, nếu (i,j) thuộc E.
i,j=1,2,3,..,n.

Ví dụ:
Ma trận kề của đồ thị vô hớng G cho trong hình là:
3

0 1 1 0 0 0

4

1 0 1 0 1 0
1 1 0 1 0 0
0 0 1 0 1 1

1

6

0 1 0 1 0 1
0 0 0 1 1 0

2

5



*Các tính chất của ma trận kề
1> Rõ ràng ma trận kề của đồ thị vô hớng là ma trận đới xứng , tức là:
A[i,j]=a[i,j], i,j=1,2,.,n.
Ngợc lại mỗi ô (0,1)-ma trận đối xứng cấp n sẽ tơng ứng, chính xác
đến cách đánh số đỉnh với một đơn đồ thị vô hớng n đỉnh.
2> Tổng các phần tử trên dòng i (cột j) của ma trận kề chính bằng bậc
của đỉnh i(đỉnh j).
3> Nếu kí hiệu
Aijp, i,j=1,2,..,n
Là các phần tử của ma trận
Ap=A.AA
P thừa số.
Khi đó apij, i,j=1,2,,n.
Cho ta số đờng đi khác nhau từ đỉnh i đến đỉnh j qua p-1 đỉnh trung gian.
Ma trận kề của đồ thị có hớng đợc định nghĩa một cách hoàn toàn tơng tự.
2. Danh sách cung.
Trong trờng hợp đồ thị tha(đồ thị có số cạnh m thoả mãn bất đẳng thức
m<6n) ngời ta thờng biẻu diễn đồ thị dới dạng danh sách cung. Cachd biểu
diễn đồ thị bằng danh sách cung nh sau:
Phơng pháp này ta sử dụng 3 mảng một chiều:
Mảng 1: chứa các đỉnh của đồ thị.
Mảng 2: chứa các đỉnh đầu của cung.


Mảng 3: chứa đỉnh cuối của cung tơng ứng.
Ví dụ:

Dinh: [a b c]

Dau: [b a b]
Cuoi: [a c c]

Với cách này ta nhập đợc các cung của đồ thị.
Chú ý: Trong trờng hợp đồ thị có trọng số ta cần thêm m đơn vị vàop bộ nhớ
để lu trữ trọng số của các cạnh.
3. Dùng ma trận liên thuộc:
Giả sử G = (V, F) là một đồ thị vô hớng trong đố có các đỉnh là v1, v2,...,vn
còn e1,e2,...,em là tập các cạnh của nó.
Ma trận liên thuộc M[mij] của G là ma trận có:
mij =

1 nếu cạnh ej nối với đỉnh vi.
0 nếu cạnh ej không nối với cạnh vi.

Ví dụ:
v1

v2
e3

e1
v5

e6
e4

e2

v3

e5

v4

1
0
0
1
0

1
0
0
0
1

0 0 0
1 1 0
0 0 1
1 0 0
01 1

0
1
1
0
0


Với cách biểu diễn đồ thị bằng ma trận kề và ma trận liên thuộc ta thấy

có thể biểu diễn đồ thị bằng các ma trận và nhập nó dới dạng ma trận.
4. Dùng danh sách kề
Trong cách biểu diễn này, với mỗi đỉnh V của đồ thị chúng ta lu trữ danh
sách kề của nó. Kí hiệu: Ke(v), tức là:
Ke(v) = {u V : (v, u) E }
Ví dụ:

a

+ Đồ thị vô hớng:
b

d

c

Cách biểu diễn:

Đồ thị có hớng:

a

c

b

d

b


a

d

c

c

b

a

d

a

b

a

b

d
a

Cách biểu diễn:

c

b


b

d

c

b

d

c

d


5. Biểu diễn bằng ma trận liên kết
Cho đồ thị có hớng gồm n đỉnh (v1,v2,...,vn) và m cung (e1,e2,...,em). Ma
trận liên kết của đồ thị G ký hiệu là b[1...n,1...m] đợc xác định nh sau:
1 nếu v i là ỉnh ầu cung e j

b[i, j ] = - 1 nếu v i là ỉnh cuối cung e j

0 trong tất cả các trường hợp còn lại
Thí dụ. Đồ thị
2
e1
1

e3


e2

e5

3

e4

e6

4
có ma trận liên kết sau
e1
1
2
3
4
5

1
-1
0
0
0

e2 e3
-1
1
0

0
0

0
1
-1
0
0

e4
-1
0
1
0
0

e5

e6

1 0
0
0
0 -1
-1
1
0 0

e7


5

e7

e8

0
0
0
1
-1

0
0
0
1
0

Trờng hợp đồ thị G là vô hớng thì ma trận liên kết có dạng

e8


Ví dụ. Đồ thị

1 nếu i là dỉnh kề của ej
b[i, j ] =
0 nếu i không phả i là dỉnh kề của ej.
2
e1

1

e3

e2

e6
e7

3

e5

e4

e8

1
2
3
4
5
6

5

4

6


e1 e2

e3 e4

1
1
0
0
0
0

1
0
1
0
0
0

0
1
1
0
0
0

e5 e6

e7 e8

0 0 0 0

0 0 1 1
1 1 0 0
1 1 1 0
0 0 0 1
0 0 0 1

1
0
0
0
1
1

V. Đờng đi Euler và đờng đi Hamilton
1. Đờng đi và chu trình Euler
1.1. Định nghĩa:
Chu trình đơn chứa tất cả các cạnh của đồ thị G đợc gọi là chu trình
Euler.
Đờng đi Euler trong G là đờng đi đơn chứa mọi cạnh của G.
1.2 Ví dụ:
+).Ví dụ 1: ( Chu trình Euler)
a

a
e

d

f
c


b

a

c

g
e

d


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

(a, g, c, b, g, e, d, f, a)

+). Ví dụ 2: (Đờng đi Euler)
a
b

c

d

e

c

d


a

b

1.3 Điều cần và đủ để đồ thị có chu trình, đờng đi euler
ở đây chúng ta giả sử chỉ xét các đồ thị hữu hạn, tức là các đồ thị có
một số hữu hạn các đỉnh và các cạnh.
+). Điều cần và đủ để đồ thị có chu trình Euler: Để có chu trình Euler
thì tại mỗi đỉnh số cung đi vào bằng số cung đi ra tại đỉnh đó (có nghĩa là
mỗi đỉnh của đồ thị đều có bậc chẵn ).
+).Điều kiện cần và đủ để G liên thông có đờng Euler là: Tại mỗi
đỉnh số cung đi vào bằng số cung đi ra, trừ hai đỉnh:
*. Tại một đỉnh số cung đi vào ít hơn số cung đi ra 1. Và tại đỉnh
kia số cung đi vào lớn hơn số cung đi ra 1.
2. Đờng đi và chu trình Hamilton
2.1. Định nghĩa: Đờng đi x0, x1,....xn-1, xn trong đồ thị G =(V, E) đợc gọi
là đờng đi Hamilton nếu V = { x0, x1,....xn-1, xn } và xi xj với 0 i < j n.
Chu trình x0, x1 ,....xn-1, xn, x0 ( n>1) trong đồ thị G =(V, E) đợc gọi là chu trình
Hamilton nếu x0, x1,....xn-1, xn là đờng đi Hamilton.
2.2 Ví dụ:
a

b

e

a

b


c
d
d

c


a).

b).

+).Hình (a) có chu trình Hamilton : a, b, c, d,e, a.
+) Hình (b) có đờng đi Hamilton : a, b, c, d.
VI. Đồ thị phẳng
1.Định nghĩa :
Một đồ thị đợc gọi là phẳng nếu nó có thể vẽ đợc trên một mặt phẳng mà
không có các cạnh nào cắt nhau (ở một điểm không phải là điểm mút của các
cạnh). Hình vẽ nh thế đợc gọi là một biểu diễn phẳng của đồ thị .
Một đồ thị có thể là phẳng ngay cả khi nó thờng đợc vẽ với những cạnh
cắt nhau, vì có thể vẽ nó bằng cách khác không có các cạnh cắt nhau.

Ví dụ :
hình a)

hình b)


Hình a) với hai cạnh cắt nhau nhng nó vẫn là đồ thị phẳng vì nó đợc vẽ lại
bởi các cạnh không cắt nhau, cụ thể ở hình b).

2. Công thức EULER:
2.1.Định lí: Công thức Euler.
Gọi G là một đồ thị đơn phẳng liên thông với e cạnh và v đỉnh. Gọi r là số
miền trong biểu diễn phẳng của G. Khi đó r = e - v + 2.
Chứng minh:
Trớc tiên ta xác định biểu diễn phẳng của G. Ta sẽ chứng minh định lí
bằng cách xây dựng một dãy các đồ thị con G1, G2, G3, .... Ge= G, mỗi bớc
ghép thêm một cạnh vào đồ thị ở bớc trớc. Để giải quyết vấn đề này ta sử
dụng định nghĩa đệ quy nh sau. Lấy tuỳ ý một cạnh của G để nhận đợc G1.
Để nhận đợc Gn từ Gn -1 ta thêm tuỳ ý một cạnh liên thuộc với một đỉnh của
Gn -1 và thêm một đỉnh khác liên thuộc với cạnh mới đó, nếu nó cha có trong
Gn -1. Điều này làm đợc vì G là liên thông. G sẽ nhận đợc sau khi e cạnh đợc
ghép thêm vào các đồ thị tạo ra trớc. Gọi rn, en và vn tơng ứng là số miền, số
cạnh, số đỉnh của biểu diễn phẳng của Gn do biểu diễn phẳng của G sinh ra.
Ta sẽ chứng minh bằng quy nạp.
Hệ thức r1= e1 - v1 + 2 là đúng với G1 vì e1 = 1, v1 = 2 và r1 = 1 điều này đợc thể hiện ở hình sau:

u1

R1

v1

Giả sử rằng rn = en - vn + 2. Gọi {an +1, bn +1}là cạnh gộp vào Gn để đợc Gn +1.
Có 2 khả năng xảy ra.
TH1: Cả 2 đỉnh an +1, bn +1 đã thuộc Gn. Khi đó chúng phải ở trên biên của
miền chung R nếu không thì không thể gộp cạnh {an +1, bn +1} vào Gn mà


không có các cạnh cắt nhau (Gn +1 là phẳng). Cạnh mới này sẽ chia miền R

thành 2 miền con. Do đó rn +1 = rn+ 1 và vn +1= vn.
Do vậy ta có công thức rn +1= en + 1 - vn+1 + 2.
Trong trờng hợp này đợc minh hoạ nh sau:

an + 1

R

bn + 1
TH2: Một trong hai đỉnh, của cạnh mới cha thuộc Gn. Giả sử an +1 thuộc
Gn còn bn +1 thì không. Thêm cạnh này không sinh ra một miền mới nào vì bn
+1

phải ở trong miền an +1 ở trên biên của nó. Do đó, rn +1 = rn . Nhng en +1 = en

+1 và vn +1. Mỗi vế của công thức không đổi nên công thức vẫn đúng. Nói
cách khác rn +1 = en +1 - vn +1 + 2. trờng hợp này đợc minh hoạ bởi hình sau:

an + 1
bn + 1

R

Vậy với mọi n ta đều có rn = en - vn + 2. Vì đồ thị gốc là Ge nhận đợc sau
khi e cạnh.
2.2. Hệ quả:


* Hệ quả 1: Nếu G là một đơn đồ thị phẳng liên thông với e cạnh, v đỉnh
trong đó v 3, khi đó e 3v - 6.

Chứng minh:
Một đơn đồ thị phẳng liên thông khi vẽ trên một mặt phẳng sẽ chia mặt
phẳng thành r miền. Bậc của mỗi miền ít nhất bằng 3. (vì ta chỉ xét đồ thị
đơn nên không có cạnh bội để tạo ra miền bậc 2, và không có khuyên để tạo
ra miền bậc 1). Đặc biệt, bậc của miền vô hạn ít nhất bằng 3 vì có ít nhất 3
đỉnh trong đồ thị. Ta cũng nhận thấy là tổng số bậc của các miền bằng đúng
hai lần số cạnh của đồ thị, vì mỗi cạnh xuất hiện trên biên của các miền đúng
hai lần( hoặc trên biên của hai miền khác nhau, hoặc hai lần trên biên của
cùng một miền). Vì mỗi miền có bậc lớn hơn hoặc bằng 3 nên ta suy ra
2e =
Vì thế

deg( R) 3r
R

2e
r.
3

Theo công thức Euler ta có r = e - v + 2. Vậy e - v + 2

2e
3

Giải ra ta đợc:
e 3v - 6
Đó là điều cần chứng minh.
* Hệ quả 2: Nếu một đơn đồ thị phẳng liên thông có e cạnh, v đỉnh trong đó
v 3, và không có chu trình độ dài 3, thì e 2v - 4.
Việc chứng minh hệ quả hai tơng tự nh hệ quả 1, trừ một điều là trong trờng

hợp này do không có chu trình độ dài 3, nên bậc của một miền ít nhất phải là
4.
VII.Tô màu đồ thị:
+). Xây dựng bài toán:


Những bài toán liên quan đến tô màu bản đồ đã dẫn đến rất nhiều kết
quả trong lý thuyết đồ thị . Khi một bản đồ đợc tô màu, hai miền có chung
biên giới đợc tô bằng hai màu tuỳ ý miễn là khác nhau. Để đảm bảo chắc
chắn hai miền kề nhau không bao giờ có màu trùng nhau, chúng ta tô mỗi
miền bằng một màu khác nhau. Tuy nhiên điều đó là không thực tế . Nếu bản
đồ có nhiều miền thì sẽ rất khó phân biệt những màu gần giống nhau . Do
vậy ngời ta chỉ dùng một số màu cần thiết để tô bản đồ. Một bài toán đợc
đặt ra là: xác định số màu tối thiểu cần có để tô một bản đồ sao cho các
miền kề nhau không cùng một màu. Vì vậy, từ thực tế đó ta có bài toán tô
màu đồ thị.
*.Định nghĩa 1: Tô màu một đơn đồ thị là sự gán màu cho các đỉnh của nó
sao cho không có hai đỉnh liền kề đợc gán cùng một màu.
Một đồ thị có thể đợc tô màu bằng cách gán các màu khác nhau cho mỗi
đỉnh của nó. Tuy vậy, với hầu hết các đồ thị, ta có thể tô màu chúng với số
màu ít hơn số đỉnh.
* Định nghĩa 2: Số màu của một đồ thị là số tối thiểu các màu cần thiết để tô
màu đồ thị này.
Chúng ta thấy rằng câu hỏi về số màu lớn nhất của các đồ thị phẳng chính
là câu hỏi về số cực đại các màu cần thiết để tô các bản đồ phẳng sao cho
không có hai miền kề nhau đợc gán cùng một màu. Bài toán này đã đợc
nghiên cứu từ hơn 100 năm nay. Câu trả lời chính là một trong các định lí nổi
tiếng nhất trong toán học.
Định lí: Định lí bốn màu. Số màu của một dồ thị là không lớn hơn bốn.
Định lí bốn màu: Đầu tiên đợc ra nh một phỏng đoán vào năm 1850. Và

cuối cùng đã đợc hai nhà toán học Mỹ là Kenneth Appel và Wolfgang Haken
chứng minh năm 1976. Trớc năm 1976 cũng đã có nhiều chứng minh sai, mà
thông thờng rất khó tìm thấy chỗ sai, đã dợc công bố. Hơn thế nữa đã có


nhiều cố gắng một cách vô ích để tìm phản ví dụ bằng cách cố vẽ bản đồ cần
hơn bốn màu để tô nó.
Có lẽ một chứng minh sai nổi tiếng nhất trong toán học là chứng minh
sai bài toán bốn màu đợc công bố năm 1879 bởi luật s, nhà toán học nghiệp
d Luân - đôn tên là Alfred Kempe. Các nhà toán học chấp nhận cách chứng
minh của ông ta cho tới năm 1980, khi Percy Heawood phát hiện ra sai lầm
trong chứng của Kempe. Tuy nhiên, cách lập luận của Kempe lại là cơ sở
cho chứng minh của Appel và Haken. Chứng minh của họ dựa trên sự phân
tích từng trờng hợp một cách cẩn thận nhờ máy tính. Họ đã chỉ ra rằng nếu
bài toán bốn màu là sai thì sẽ có một phản ví dụ thuộc một trong gần 2000
loại khác nhau và đã chỉ ra không có loại nào dẫn tới phản ví dụ cả. Trong
chứng minh của mình họ đã dùng hơn 1000 giờ máy. Cách chứng minh này
đã gây ra nhiều cuộc tranh cãi vì máy tính đã đóng vai trò quan trọng biết
bao. Chẳng hạn, liệu có thể có sai lầm trong chơng trình và điều đó dẫn đến
kết quả sai không? lý luận của họ có thật sự là một chứng minh hay không,
nếu nó phụ thuộc vào thông tin ra từ một máy tính không đáng tin cậy?
Bài toán bốn màu áp dụng chỉ cho các đồ thị phẳng. Các đồ thị không
phẳng có thể có số màu lớn tuỳ ý nh sẽ đợc chỉ ra trong ví dụ1.
Cần phải làm hai điều khi chứng minh số màu của đồ thị là n. Trớc tiên
chúng ta phải chứng tỏ rằng đồ thị có thể đợc tô màu bằng n màu. Điều này
có thể thực hiện bằng cách tô màu đồ thị đó. Sau đó chúng ta phải chứng tỏ
rằng không thể tô màu đồ thị với số màu ít hơn.
Ví dụ1: Tìm số màu của đồ thị Kn.
a Đỏ


b Lam

c Lục
e
Nâu
d Vàng

Hình 1


Giải: Có thể xây dựng cách tô màu đồ thị Kn với n màu khác nhau. Liệu
có cách tô màu nào dùng ít màu hơn không? câu trả lời là không. Không có
hai đỉnh nào có thể gán cùng màu vì mọi cặp đỉnh của đồ thị này đều liên kề.
Vì thế số màu của Kn = n. (Nhớ lại rằng Kn là không phẳng nếu n 5, vì thế
kết quả này không mâu thuẫn với định lí bốn màu). Cách tô màu K5 bằng 5
màu đợc thể hiện trên hình.
Ví dụ2: Tìm số màu của đồ thị phân đôi, đầy đủ Km,n trong đó m và n là
các số nguyên dơng.

a Đỏ

d Lam

b Đỏ

e Lam

c Đỏ

f Lam


g Lam

Hình 2
Giải: Số màu cần thiết phụ thuộc vào m và n. Tuy nhiên, ta chỉ cần 2 màu.
Tô tập m đỉnh bằng một màu, và tập n đỉnh bằng màu khác. Vì mỗi cạnh chỉ
nối các đỉnh từ tập m đỉnh tới đỉnh thuộc tập n đỉnh nên không có 2 đỉnh liền
kề nào cùng màu. Hình 2 thể hiện cách tô màu đồ thị k3,4 .


×