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

Tiểu luận Lý thuyết đồ thị Bài toán tô màu đồ thị và ứ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 (967.9 KB, 27 trang )

Bài toán tô màu đồ thị và ứng dụng
MỤC LỤC
Trang 1
Bài toán tô màu đồ thị và ứng dụng
MỞ ĐẦU
Lý thuyết đồ thị là một lĩnh vực khoa học đã có từ lâu và có nhiều ứng dụng
hiện đại. Những ý tưởng cơ bản của lý thuyết đồ thị được đề xuất vào những năm
đầu của thế kỷ 18 bởi nhà toán học lỗi lạc người Thụy Sĩ Leonhard Euler. Chính
ông là người đã sử dụng đồ thị để giải bài toán nổi tiếng về những cái cầu ở
thành phố Konigsberg.
Đồ thị là một cấu trúc rời rạc gồm các đỉnh và các cạnh nối các đỉnh đó, nó
được sử dụng để giải các bài toán trong nhiều lĩnh vực khác nhau như xác định
các mạch vòng trong vấn đề mạch điện, phân biệt các hợp chất hữu cơ khác nhau
có cùng công thức phân tử nhưng khác nhau về cấu trúc phân tử nhờ đồ thị…
Ngoài ra, đồ thị được sử dụng để giải các bài toán thực tế về lập lịch, lập thời
khóa biểu, phân bố tần số cho các trạm phát thanh và truyền hình…
Cùng với sự phát triển khoa học kỹ thuật và công nghệ thông tin như hiện nay
thì ngành lý thuyết đồ thị ngày càng có nhiều ứng dụng trong cuộc sống.
Trên cơ sở đã học môn Lý thuyết đồ thị, chúng tôi đã nghiên cứu, và muốn
tìm hiểu hơn nữa về những ứng dụng hữu ích, thực tế của bài toán tô màu đồ thị.
Do đó, nhóm đã chọn đề tài: “Bài toán tô mầu đồ thị và ứng dụng”.
Nội dung đề tài gồm 3 chương:
Chương 1: Đại cương về đồ thị
Chương 2: Bài toán tô mầu đồ thị
Chương 3: Một số bài toán ứng dụng
Do thời gian có hạn và trình độ còn hạn chế nên chúng tôi chỉ đi vào nghiên
cứu tìm hiểu thuật toán và giới thiệu một số ứng dụng của bài toán tô màu đồ thị.
Trang 2
Bài toán tô màu đồ thị và ứng dụng
ĐỀ TÀI: BÀI TOÁN TÔ MÀU VÀ ỨNG DỤNG
PHÂN CÔNG CÔNG VIỆC NHÓM 3


STT Họ tên
Công việc
(theo mục lục)
Chữ

Nhận xét của
giáo viên
1 Bùi Thị Anh Đào Chương 1
2 Xa Thị Thu Hà
Chương 2, mục 2.1
Chương 3, mục 3.1.1,
3.1.2
3 Lê Đức Lộc
Chương 2, mục 2.3
Chương 3, mục 3.1.3
4 Nguyễn Hồng Minh
Chương 2, mục 2.2
Chương 3, mục 3.1.4,
3.1.5
5 Nguyễn Ngọc Tiến
Chương 2, mục 2.4
Chương 3, mục 3.2
Trang 3
Bài toán tô màu đồ thị và ứng dụng
Chương 1: ĐẠI CƯƠNG VỀ ĐỒ THỊ
1.1 Các khái niệm cơ bản
1.1.1 Đồ thị vô hướng và đồ thị có hướng
Định nghĩa 1: Đồ thị vô hướng G = (V, E) gồm một tập V các đỉnh và tập E các
cạnh. Mỗi cạnh e


E được liên kết với một cặp đỉnh v, w (không kể thứ tự).
e
v
w
Ví dụ 1:
(a) (b)
Hình (a) là đồ thị 4 đỉnh và 7 cạnh.
Hình (b) là đồ thị 5 đỉnh và 5 cạnh.
Định nghĩa 2: Đồ thị có hướng G = (V, E) gồm một tập V các đỉnh và tập E các
cạnh có hướng gọi là cung.
Mỗi cung e

E được liên kết với một cặp đỉnh v, w (có thứ tự).
e
v
w
Ví dụ 2:
Đồ thị có hướng gồm 6 đỉnh và 8 cung.
Ghi chú: Đồ thị vô hướng có thể coi là đồ thị có hướng trong đó mỗi cạnh
e=(v,w) tương ứng với hai cung (v,w) và (w,v).
Cho đồ thị (có hướng hoặc vô hướng) G = (V, E).
Trang 4
Bài toán tô màu đồ thị và ứng dụng
Nếu cạnh e liên kết đỉnh v, w thì ta nói cạnh e liên thuộc đỉnh v, w, các đỉnh
v, w liên thuộc cạnh e, các đỉnh v, w là các đỉnh biên của cạnh e và đỉnh v kề
đỉnh w.
Nếu chỉ có duy nhất một cạnh e liên kết với cặp đỉnh v, w ta viết e = (v,w).
Nếu e là cung thì v gọi là đỉnh đầu và w gọi là đỉnh cuối của cung e. Nếu có
nhiều cạnh liên kết với cùng một cặp đỉnh thì ta nói đó là các cạnh song song.
Cạnh có hai đỉnh liên kết trùng nhau gọi là khuyên. Đỉnh không kề với đỉnh

khác gọi là đỉnh cô lập. Số đỉnh của đồ thị gọi là bậc của đồ thị, số cạnh hoặc số
cung của đồ thị gọi là cỡ của đồ thị.
Đồ thị hữu hạn là đồ thị có bậc và cỡ hữu hạn.
Đồ thị đơn là đồ thị không có khuyên và không có cạnh song song.
Đồ thị vô hướng đủ là đồ thị mà mọi cặp đỉnh đều kề nhau.
Đồ thị có hướng đủ là đồ thị có đồ thị lót đủ.
1.1.2 Bậc, nửa bậc vào, nửa bậc ra
Định nghĩa 3: (Bậc)
Cho đồ thị G = (V, E), giả sử đỉnh v∈V có p khuyên và q cạnh liên thuộc
(không phải khuyên). Khi đó bậc của đỉnh v là 2p + q và ký hiệu là deg
G
(v) hay
deg(v).
Số bậc lớn nhất của G ký hiệu là ∆(G), số bậc nhỏ nhất của G ký hiệu là δ(G).
Từ định nghĩa suy ra đỉnh cô lập trong đồ thị đơn là đỉnh có bậc bằng 0.
Đỉnh có bậc bằng 1 gọi là đỉnh treo.
Định nghĩa 4: Cho G = (V, E) là đồ thị có hướng, v ∈ V. Nửa bậc ra của đỉnh v,
ký hiệu là deg
O
(v), là số cung đi ra từ đỉnh v (v là đỉnh đầu), và nửa bậc vào của
đỉnh v∈V, ký hiệu là deg
1
(v), là số cung đi tới đỉnh v (v là đỉnh cuối).
Định nghĩa 5: Đồ thị K
n
là đồ thị đơn, đủ n đỉnh (mỗi cặp đỉnh đều có duy nhất 1
cạnh liên kết).
Định nghĩa 6: Đồ thị lưỡng phân G = (V, E) là đồ thị mà tập các đỉnh được phân
làm 2 tập rời nhau V
1

, V
2
sao cho mỗi cạnh của nó liên kết với 1 đỉnh thuộc V
1

1 đỉnh thuộc V
2
, kí hiệu G = ({V
1
, V
2
}, E).
1.1.3 Đường đi, chu trình, tính liên thông
Định nghĩa 7: Cho đồ thị G = (V, E)
Trang 5
Bài toán tô màu đồ thị và ứng dụng
Dây µ từ đỉnh v đến đỉnh w là tập hợp các đỉnh và cạnh nối tiếp nhau bắt
đầu từ đỉnh v và kết thúc tại đỉnh w. Số cạnh trên dây µ gọi là độ dài của dây µ.
Dây µ từ đỉnh v đến đỉnh w, độ dài k được biểu diễn như sau:
µ = (v, e
,
1
v
1
, e
2
, v
2
, …, v
1

k

, e
k
, w ), trong đó v
i
(i=1, , k-1) là các đỉnh
trên đường đi và e
i
(i=1, , k-1) là các cạnh trên dây liên thuộc đỉnh kề trước và
sau nó. Các đỉnh và cạnh trên dây có thể lặp lại.
Đường đi từ đỉnh v đến đỉnh w là dây từ đỉnh v đến đỉnh w, trong đó các
cạnh không lặp lại.
Đường đi sơ cấp là đường đi không đi qua một đỉnh quá 1 lần.
Vòng là dây có đỉnh đầu và đỉnh cuối trùng nhau
Chu trình là đường đi có đỉnh đầu và đỉnh cuối trùng nhau và không đi quá
một lần.
Chu trình sơ cấp là chu trình không đi qua một đỉnh quá một lần.
Dây có hướng trong đồ thị có hướng là dãy các đỉnh và cung nối tiếp nhau (
k
eee , . . . ,,
21
) thoả mãn đỉnh cuối của cung e
i
là đỉnh đầu của cung e
i+1
, i=1, , k-1.
Đường đi có hướng trong đồ thị có hướng là dây có hướng trong đó các
cung không lặp lại.
Đường đi có hướng sơ cấp: đường đi có hướng không đi qua 1 đỉnh quá 1 lần.

Vòng có hướng là dây có hướng có đỉnh đầu và đỉnh cuối trùng nhau.
Chu trình có hướng là đường đi có hướng có đỉnh đầu và đỉnh cuối trùng nhau.
Chu trình có hướng sơ cấp là chu trình có hướng không đi qua 1 đỉnh quá 1 lần.
Đồ thị vô hướng liên thông là đồ thị mà mọi cặp đỉnh của nó đều có đường
đi nối chúng với nhau.
Đồ thị có hướng liên thông mạnh là đồ thị mà mọi cặp đỉnh của nó đều có
đường đi có hướng nối chúng với nhau.
Đồ thị có hướng liên thông yếu là đồ thị có đồ thị lót (vô hướng) của nó liên
thông.
Đồ thị có hướng bán liên thông là đồ thị mà với mọi cặp đỉnh (u, v) bao
giờ cũng tồn tại đường đi có hướng từ u đến v hoặc từ v đến u.
Định nghĩa 8: Trọng đồ (có hướng) là đồ thị (có hướng) mà mỗi cạnh (cung)
của nó được gán một số.
Trọng đồ được biểu diễn bằng G=(V, E, w) trong đó V là tập các đỉnh, E là
tập các cạnh và w: E → R là hàm số trên E, w(e) là trọng số cạnh e với mọi e

E.
Trong trọng đồ độ dài trọng số của đường đi µ là tổng các trọng số trên đường đi đó.
Định nghĩa 9: (Đồ thị con)
Trang 6
Bài toán tô màu đồ thị và ứng dụng
Cho đồ thị G = (V, E). Đồ thị G' = (V', E') gọi là đồ thị con của G nếu V' ⊂ V và
E' ⊂ E.
Nếu V’ = V, thì G’ gọi là đồ thị con phủ của G.
Nếu F ⊂ E, thì ký hiệu G-F là đồ thị con (V, E-F) của G gồm tập đỉnh V và
tập cạnh (cung) E - F.
Nếu U ⊂ V, thì ký hiệu G-U là đồ thị con của G thu được từ G sau khi loại
bỏ các đỉnh trong U và các cạnh liên thuộc chúng.
Cho U ⊂ V. Đồ thị con của G sinh bởi U, ký hiệu <U>, là đồ thị (U, E
U

)
với E
U
= {e ∈ E | e liên thuộc đỉnh trong U}.
1.2 Đồ thị đẳng cấu
Định nghĩa 10: (Đồ thị đẳng cấu) Hai đồ thị G
1
= (V
1
, E
1
) và G
2
= (V
2
, E
2
) gọi
là đẳng cấu với nhau nếu tồn tại song ánh f: V
1
→V
2
và g: E
1
→ E
2
thoả
mãn ∀e ∈ E
1
: e = (v, w) ⇔ g(e) = (f(v), f(w))

Cặp ánh xạ (f; g) gọi là một đẳng cấu từ G
1
đến G
2
.
Mệnh đề: Hai đơn đồ thị G
1
= (V
1
, E
1
) và G
2
= (V
2
, E
2
) đẳng cấu với nhau nếu
tồn tại song ánh f: V
1
→V
2
thoả mãn ∀v, w ∈ V
1
: v kề w ⇔ f(v) kề f(w).
Trong trường hợp này, hàm f gọi là một đẳng cấu từ G
1
đến G
2
.

Định lý 1: Cho G
1
= (V
1
, E
1
) và G
2
= (V
2
, E
2
) là hai đơn đồ thị. Các mệnh đề sau
là tương đương:
(i) G
1
đẳng cấu với G
2
.
(ii) Hai ma trận kề tương ứng bằng nhau sau khi thay đổi thứ tự các hàng và cột
nếu cần thiết.
Định nghĩa 11: (Tính chất bất biến)
Một tính chất P gọi là bất biến nếu với mọi cặp đồ thị đẳng cấu G
1
và G
2
thỏa
mãn G
1
có tính chất P khi và chỉ khi G

2
có tính chất P.
Do đó để chứng minh hai đồ thị không đẳng cấu ta phải tìm ra tính chất bất biến
nào đó mà một đồ thị có, còn đồ thị kia không có.
Định lý 2: Cho G
1
= (V
1
, E
1
) và G
2
= (V
2
, E
2
) là 2 đồ thị đẳng cấu. Khi đó
(i) G
1
và G
2
có số cạnh và số đỉnh bằng nhau.
(ii) Với mọi số k tự nhiên, số đỉnh bậc k của G
1
và G
2
bằng nhau.
(iii) Với mọi số k tự nhiên, số chu trình sơ cấp chiều dài k của G
1
và G

2
bằng
nhau.
(iv) Các cặp đồ thị con tương ứng cũng đẳng cấu.
1.3 Đồ thị phẳng
Trang 7
Bài toán tô màu đồ thị và ứng dụng
1.3.1 Đồ thị phẳng
Định nghĩa 12:
Một đồ thị gọi là đồ thị hình học phẳng nếu nó được biểu diễn trên mặt
phẳng sao cho các cạnh không cắt nhau.
Một đồ thị gọi là đồ thị phẳng nếu nó đẳng cấu với đồ thị hình học phẳng.
Với một đồ thị hình học phẳng liên thông, mặt phẳng được chia làm các
miền con gọi là mặt. Mỗi mặt được giới hạn bởi chu trình gọi là biên của
mặt. Số cạnh trên biên của mặt f được gọi là bậc của mặt, kí hiệu deg(f).
Bậc nhỏ nhất gọi là đai của đồ thị.
Mệnh đề: Mọi chu trình đồ thị phẳng có độ dài chẵn khi và chỉ khi mọi mặt của
đồ thị có bậc chẵn.
Định nghĩa 13: Đồ thị G gọi là đồ thị tuyến tính phẳng nếu G là đồ thị hình
học phẳng có tất cả các cạnh là đoạn thẳng.
Định lý 3: Mỗi đơn đồ thị phẳng đẳng cấu với đồ thị tuyến tính phẳng.
1.3.2 Công thức Euler
Định lý 4: (Công thức Euler)
Cho G là đồ thị liên thông phẳng có e cạnh, v đỉnh và f mặt. Khi đó ta có công
thức Euler: f = e – v +2
Định lý 5 : (Bất đẳng thức cạnh – đỉnh). Cho G là đơn đồ thị phẳng liên thông
với e cạnh, v đỉnh và đai g (g

3), và không có đỉnh treo. Khi đó ta có :
( 2 )

2
≤ −

g
e ν
g
Hệ quả : Cho G là đơn đồ thị phẳng liên thông với e cạnh và v đỉnh (v 3), và
không có đỉnh treo. Khi đó ta có:
3 6
≤ −
e ν

e≤ 3v−6
Hệ quả : Cho G là đơn đồ thị phẳng liên thông với e cạnh và v đỉnh (v 3), không có
đỉnh treo và không có chu trình độ dài 3. Khi đó ta có :
e≤ 2v− 4
2 4
≤ −
e ν
.
Chương 2: BÀI TOÁN TÔ MÀU ĐỒ THỊ
2.1 Tô màu đỉnh
Trang 8
Bài toán tô màu đồ thị và ứng dụng
Định nghĩa 14: (Tô màu bản đồ)
Những bài toán liên quan đến tô màu bản đồ đã dẫn đến nhiều kết quả trong lý
thuyết đồ thị. Khi tô màu một bản đồ, hai miền có chung biên giới phải được tô
bằng hai màu khác nhau.
Để đảm bảo việc tô màu bản đồ sao cho hai miền có chung biên giới phải tô khác
màu, ta có thể sử dụng màu sắc riêng cho mỗi miền. Tuy nhiên bản đồ có quá

nhiều miền, sẽ rất khó phân biệt giữa các miền có màu sắc gần giống nhau. Do
đó ta nên sử dụng số màu ít nhất có thể được. Từ đó, bài toán đặt ra là xác định
số màu tối thiểu để tô bản đồ sao cho các miền kề nhau không được tô cùng màu.
B2
C3
D4
E2
A1
F3
G1
Ví dụ 3:
B
A
C
E
D

a) b)
Bản đồ a cần 3 màu Bản đồ b cần 4 màu
(2 màu là không đủ) (3 màu là không đủ)
Định nghĩa 15: (Đồ thị đối ngẫu)
Mỗi bản đồ trên mặt phẳng có thể biểu diễn bằng một đồ thị. Để lập sự tương
ứng đó, mỗi miền của bản đồ được biểu diễn bằng một đỉnh. Hai đỉnh kề nhau
nếu các miền tương ứng có biên giới chung. Hai miền chung nhau chỉ 1 điểm
không được coi là kề nhau. Đồ thị nhận được bằng cách như vậy gọi là đồ thị đối
Trang 9
Bài toán tô màu đồ thị và ứng dụng
ngẫu của bản đồ. Rõ ràng mọi bản đồ trên mặt phẳng đều có đồ thị đối ngẫu
phẳng.
Ví dụ 4: Hai bản đồ trên có các đồ thị đối ngẫu tương ứng sau:


A
B
C
D
E
B
C
A
D
G
E
F
G
1
G
2


* Bài toán tô màu các miền của bản đồ tương đương với bài toán tô màu các
đỉnh đồ thị đối ngẫu sao cho các đỉnh kề nhau có màu khác nhau.
Định nghĩa 16: (Tô màu đỉnh)
Tô màu đỉnh một đơn đồ thị là sự gán màu cho các đỉnh của nó sao cho khồn
có hai đỉnh kề được cùng gán một màu.
Một đồ thị có thể tô màu bằng các màu khác nhau cho mỗi đỉnh. Tuy nhiên,
trong phần lớn các đồ thị, ta có thể tô bằng số màu ít hơn số đỉnh. Vậy số màu tối
thiểu cần sử dụng là bao nhiêu?
Định nghĩa 17: (Sắc số của đồ thị)
Sắc số của đồ thị G, ký hiệu là
( )G

χ
, là số màu tối thiểu cần thiết để tô màu
đỉnh đồ thị.
Ví dụ 5: Sắc số của đồ thị G
1
và G
2
ở ví dụ trên tương ứng là 3 và 4.
Ví dụ 6: Tìm sắc số của đồ thị sau:
Trang 10
Bài toán tô màu đồ thị và ứng dụng
E
A
B
C
D
F
Đồ thị chứa K
3
, vậy sắc số của đồ thị ≥ 3. Đồ thị chứa chu trình độ dài lẻ
(A, B, C, D, E, A)
nên ta phải dùng ít nhất 3 màu để tô các đỉnh A, B, C, D, E. Đỉnh F kề các đỉnh
đó nên ta cần thêm một màu nữa để tô F. Suy ra χ(G) = 4.
Ví dụ 7: Tìm sắc số của đồ thị G sau:

Đồ thị có chu trình lẻ nên theo định lý χ(G) ≥ 3. Ta dùng 3 màu 1, 2, 3 để tô
như sau: Tô A, D, G màu 1, B, F màu 2 và E, C màu 3. Như vậy χ(G) = 3.
Ví dụ 8: Tìm sắc số của đồ thị G sau:
B
A

D
C
E
F
G

Đồ thị con H với các đỉnh B, C, D, E, F có chu trình lẻ nên χ(H) ≥ 3. Không
mất tính tổng quát, ta dùng 3 màu 1, 2, 3 để tô các đỉnh như sau: Tô B, F màu 1,
Trang 11
Bài toán tô màu đồ thị và ứng dụng
E, C màu 2 và D màu 3. Để tô màu được hai đỉnh A và G, ta bắt buộc phải dùng
thêm ít nhất 1 màu nữa. Như vậy χ(G) = 4.
* Các định lý xác định sắc số của đồ thị G
Định lý 6: Nếu đồ thị G chứa đồ thị con đẳng cấu với K
n
, thì χ(G) ≥ n.
Chứng minh: Vì đồ thị
n
K
có n đỉnh mà giữa hai đỉnh bất kỳ luôn kề nhau nên
phải dùng n màu để tô màu cho n đỉnh của đồ thị. Vậy nên χ(G) = n. Mà G lại
chứa đồ thị con đẳng cấu với
n
K
nên χ(G) ≥ n.
Định lý 7: Một đơn đồ thị có thể tô bằng 2 màu khi và chỉ khi nó không có
chu trình độ dài lẻ.
Chứng minh:
(i) Điều kiện cần là hiển nhiên
(ii) Điều kiện đủ. Xét đơn đồ thị G không có chu trình lẻ. Không mất tính

tổng quát, ta có thể giả thiết G liên thông.
Chọn đỉnh v
0
∈ G. Ta tô màu các đỉnh của G bằng hai màu 0 và 1 như sau:
Với mỗi đỉnh x, có đường trong G nối v
0
với x. Nếu đường này có chiều dài
chẵn thì tô màu 0 cho x, ngược lại tô màu 1 cho x. Cách tô màu này hoàn toàn
xác định và hai đỉnh kề có màu khác nhau, vì không thể có một đường độ dài
chẵn và một đường độ dài lẻ nối v
0
với x (nếu có thì hai đường như thế sẽ tạo
thành chu trình độ dài lẻ).
Định lý 8: χ(G) ≤ ∆(G) + 1 với mọi đồ thị G, trong đó ∆(G) là bậc đỉnh lớn nhất
của G (đẳng thức xảy ra khi G = K
n
hoặc G là chu trình độ dài lẻ).
Chứng minh:
Định lý hiển nhiên đúng với đồ thị 1 đỉnh (χ(G) = 1).
Giả sử định lý đúng với mọi đồ thị (n-1) đỉnh. Cho đồ thị G có n đỉnh. Ký
hiệu G’ = G - {v}, trong đó v là đỉnh bất kỳ của G. Ta có ∆(G’) ≤ ∆(G).
Theo giả thiết quy nạp, χ(G’) ≤ ∆(G’) + 1 ≤ ∆(G) + 1. Giả sử G’ được tô bằng
k màu, χ(G’) ≤ k ≤ ∆(G) + 1.
Nếu k = ∆(G) + 1, thì ta có thể tô màu đỉnh v bằng 1 trong k màu đó (vì số
đỉnh kề v trong G không vượt quá ∆(G)).
Nếu k < ∆(G) + 1, thì ta có thể tô màu đỉnh v bằng một màu mới và số màu
tô G là k+1 ≤ ∆(G) + 1. Từ đó suy ra χ(G) ≤ ∆(G) + 1.
Trang 12
Bài toán tô màu đồ thị và ứng dụng
Định lý 9: (Brook): Cho G là đơn đồ thị n đỉnh liên thông khác K

n
và không phải
chu trình độ dài lẻ. Khi đó χ(G) ≤ ∆(G).
2.2 Thuật toán tuần tự ưu tiên đỉnh bậc lớn nhất
Cho đồ thị G = (V, E). Thuật toán sau sẽ tô màu các đỉnh đồ thị với số màu k
gần với sắc số χ(G).
(i) Lập danh sách các đỉnh đồ thị
E' := [v
1
, v
2
, . . . , v
n
]
theo thứ tự bậc giảm dần: deg(v
1
) ≥ deg(v
2
) ≥ . . . ≥ deg(v
n
)
Đặt i = 1
(ii) Tô màu i cho đỉnh đầu tiên trong danh sách. Duyệt lần lượt các đỉnh tiếp
theo và tô màu i cho đỉnh không kề đỉnh đã được tô màu i.
(iii) Nếu tất cả các đỉnh đã được tô màu thì kết thúc: Đồ thị đã được tô màu
bằng i màu. Ngược lại sang bước (iv).
(iv) Loại khỏi E' các đỉnh đã tô màu, đặt i = i+1 ,và quay lại bước (ii).
Ghi chú: (i) Mỗi đỉnh v ∈ G được tô bằng màu có số hiệu thấp nhất chưa tô cho
đỉnh kề v, và số đỉnh kề v không vượt quá ∆(G), cho nên số màu dùng để tô màu
trong thuật toán không vượt qua ∆(G)+1.

(ii) Có thể hiệu chỉnh E' ở bước (iv) như sau: Loại khỏi E' các đỉnh đã
tô màu. Sắp xếp lại các đỉnh trong E' theo thứ tự giảm dần của bậc các đỉnh trong
đồ thị con của G, có được bằng cách loại bỏ các đỉnh đã tô màu và các cạnh liên
thuộc chúng.
* Số màu đã dùng chính là sắc số của đồ thị.
Ví dụ 9: Tô màu đồ thị sau

Ta có :
d(a) = 4, d(b) = 4, d(c) = 4, d(d) = 2, d(e) = 6
d(f) = 4, d(g) = 2, d(h) = 4, d(i) = 4, d(j) = 2
Ta xếp các đỉnh theo thứ tự bậc giảm dần: E' = [e, a, b, c, f, h, i, d, g, j]
Tô màu 1 cho các đỉnh e, f, d
Trang 13
d(1)
f (1)
e(1)
i(2)
h(3)
a(2)
b(3)
c(2)
g(2)
j(3)
d(1)
f (1)
e(1)
i
h
a
b

c
g
j
Bài toán tô màu đồ thị và ứng dụng
Các đỉnh còn lại là: E' = [a, b, c, h, i, g, j]
Tô màu 2 cho các đỉnh a, c, i, g.
Các đỉnh còn lại là: E' = [b, h, j]
Tô màu 3 cho các đỉnh b, h, j, ta nhận được đồ thị:
2.3 Tô màu đồ thị phẳng
Định lý 10: Mọi đồ thị tạo bởi các đường thẳng trên mặt phẳng có thể tô bằng hai
màu.
Chứng minh:
Quy nạp theo số đường thẳng n.
Nếu n=1 thì chỉ cần hai màu để tô bản đồ có hai nước.
Giả sử mọi bản đồ tạo bởi n-1 đường thẳng được tô bằng hai màu.
Ta chứng minh mọi bản đồ tạo bởi n đường thẳng được tô bởi hai màu.
Thậy vậy, gọi G là bản đồ được tạo bởi n đường thẳng và G’ là bản đồ thu
được từ bản đồ G bằng cách bỏ đi một đường thẳng bất kì d. Ta tô màu G’ bằng
hai màu 1 và 2. Sau đó thêm đường thẳng d vào bản đồ G’ để nhận được bản đồ G.
Hoán chuyển màu 1 thành màu 2 và ngược lại các nước ở một phía của đường
thẳng d. Lúc đó bản đồ G sẽ được tô bằng hai màu.
Trang 14
d(1)
f (1)
e(1)
i(2)
h
a(2)
b
c(2)

g(2)
j
d(1)
f (1)
e(1)
i(2)
h(3)
a(2)
b(3)
c(2)
g(2)
j(3)
Bài toán tô màu đồ thị và ứng dụng
Định lý 11: Điều kiện cần và đủ để bản đồ có thể tô bằng hai màu là mọi đỉnh
của đồ thị phẳng tương ứng có bậc chẵn lớn hơn hoặc bằng 2.
Chứng minh:
Các mặt của đồ thị phẳng được tô bằng hai màu khi và chỉ khi các đỉnh của
đồ thị đối ngẫu tô được bằng hai màu. Suy ra mọi chu trình của đồ thị đối ngẫu
đều có độ dài chẵn. Do đó mọi đỉnh của đồ thị ban đầu có bậc chẵn lớn hơn hoặc
bằng 2.
Định lý 12: (Kemper-Heawood): Mọi đồ thị phẳng đều có sắc số

5.
Chứng minh:
Quy nạp theo số đỉnh n của đồ thị.
n=1: mệnh đề luôn đúng.
Giả sử mọi đồ thị phẳng n đỉnh đều tô được bằng 5 màu. Xét đồ thị G có n+1
đỉnh. Không mất tính tổng quát có thể giả sử G là đơn đồ thị. Vì G phẳng nên tồn
tại đỉnh X có bậc nhỏ hơn hoặc bằng 5. Loại đỉnh này cùng các cạnh liên thuộc
khỏi G ta nhận được đơn đồ thị phẳng H có n đỉnh. Suy ra H có thể tô bằng 5

màu. Do đó xảy ra một trong hai trường hợp sau:
Trường hợp 1: Các đỉnh kề X tô bằng 4 màu. Khi đó ta có thể tô X bằng màu
thứ 5.
Trường hợp 2: Các đỉnh kề X tô bằng 5 màu. Khi đó X kề 5 đỉnh A, B, C, D,
E được tô bởi 5 màu như hình vẽ.
E(5)
A(1)
B(2)
C(3)
D(4)
Xét tất cả các đường trong G bắt đầu từ A và đi qua các đỉnh chỉ tô màu 1 và 3.
Trang 15
Bài toán tô màu đồ thị và ứng dụng
Nếu không có đường đi nào qua C thì có thể hoán đổi màu các đỉnh trên các
đường đi đó như sau: đỉnh màu 1 tô bằng màu 3, đỉnh màu 3 tô bằng màu 1. Sau
đó tô đỉnh X bằng màu 1.
Ngược lại giả sử tồn tại đường đi sơ cấp từ A đến C gồm toàn các đỉnh màu 1
và màu 3. Nối thêm các cạnh CX và AX ta được chu trình sơ cấp. Hai đỉnh B và
D chỉ gồm các đỉnh màu 2 và màu 4.
Lập luận tương tự như trên ta có thể hoán đổi các đỉnh trên các đường đi xuất
phát từ B chỉ gồm các đỉnh màu 2 và màu 4 như sau: đỉnh màu 2 tô bằng màu 4,
đỉnh màu 4 tô bằng màu 2. Sau đó tô đỉnh X bằng màu 2.
Cuối cùng ta tô được G bằng 5 màu.
Vậy mọi đồ thị phẳng đều có sắc số nhỏ hơn hoặc bằng 5.
Định lý 13: (Định lý 4 màu Appel-Haken): Mọi đồ thị phẳng đều có sắc số nhỏ
hơn hoặc bằng 4.
2.4 Tô màu cạnh
Định nghĩa 17:
Tô màu cạnh một đơn đồ thị là sự gán màu cho các cạnh của nó sao cho
không có hai cạnh kề được gán cùng một màu.

Sắc số cạnh của đồ thị G, ký hiệu là χ’(G), là số màu tối thiểu cần thiết để tô
màu cạnh đồ thị. (Với mọi đồ thị G ta có: χ’(G)

∆(G)).
Định lý 14: χ’(G) = χ(L(G)). ( L(G) là đồ thị đường)
Định lý 15: Nếu G là đồ thị lưỡng phân thì χ’(G) = ∆(G). Đặc biệt sắc số cạnh
của đồ thị lưỡng phân đủ K
m.n
là max{m,n}
Định lý 16: (i) Nếu n chẵn thì χ’(K
n
) = ∆(K
n
) = n - 1.
(ii) Nếu n lẻ thì χ’(K
n
) = ∆(K
n
) + 1 = n.
Định lý 17: (Định lý Vizing): Với mọi đơn đồ thị G, ∆(G) χ’(G) ∆(G) +
1
Định lý 18: Tô màu cách cạnh đồ thị K
n
bằng 2 màu xanh và đỏ. Gọi b là số tam
giác xanh, r là số tam giác đỏ. Khi đó:
Trang 16
Bài toán tô màu đồ thị và ứng dụng
( 1 ) ( 2 )
, 2
3

2 ( 1 ) ( 4 1 )
, 4 1
3
2 ( 1 ) ( 4 1 )
, 4 3
3
− −

=


− +

+ = = +


+ +

= +


s s s
n e u n s
s s s
b r n e u n s
s s s
n e u n s
Tồn tại cách tô màu để bất đẳng thức trở thành đẳng thức.
Trang 17
Bài toán tô màu đồ thị và ứng dụng

Chương 3: MỘT SỐ BÀI TOÁN ỨNG DỤNG
3.1 Ứng dụng bài toán tô màu đỉnh
3.1.1 Bài toán điều khiển đèn hiệu nút giao thông
Bài toán: Giả sử ta cần thiết lập một quy trình điều khiển đèn hiệu ở nút giao
thông phức tạp, nhiều giao lộ, sao cho trong một khoảng thời gian ấn định một số
tuyến được thông qua, trong khi một số tuyến khác bị cấm để tránh xảy ra đụng
độ.
Vấn đề đặt ra là phân hoạch các tuyến đường thành một số ít nhất các nhóm
sao cho các tuyến trong mỗi nhóm không đụng độ. Khi đó thời gian chờ đợi tối
đa để thông đường là ít nhất.
Giả sử nút giao thông có n tuyến:
1 2 3 , . . .
, , ,
n
T T T T
.
Những tuyến giao nhau có thể dẫn đến đụng độ gọi là các tuyến xung khắc.
Như vậy đèn hiệu phải báo sao cho những tuyến xung khắc không đồng thời lưu
thông và cho phép lưu thông những tuyến không xung khắc.
Ta mô hình hóa bài toán bằng đồ thị và đưa về bài toán tô màu đồ thị như sau:
Các đỉnh của đồ thị là các tuyến đường và hai tuyến kề nhau khi và chỉ khi chúng
xung khắc. Ta tô màu cho các đỉnh của đồ thị sao cho các đỉnh kề không cùng
màu. Và khi đó ta coi mỗi màu đại diện cho một pha điều khiển đèn báo các
tuyến cùng màu đó lưu thông. Như vậy bài toán ban đầu đưa về bài toán tô màu
đỉnh đồ thị với số màu ít nhất.
Ví dụ 9: Xét nút giao thông:

Giải
Ở đây C và E là đường một chiều các đường khác là đường hai chiều. Như
vậy sẽ có 13 tuyến thực hiện qua nút giao thông này là: AB, AC, AD, BA, BC,

Trang 18
Bài toán tô màu đồ thị và ứng dụng
BD, DC, DB, DA, EC, ED, EB, EA. Những tuyến AB và EC có thể lưu thông
đồng thời nhưng những tuyến AD và EB thì không thể lưu thông đồng thời được
vì chúng giao nhau dẫn tới đụng độ, đó là các tuyến xung khắc. Mô hình đồ thị
có dạng như sau:

Vì các đỉnh BA, DC, ED là các đỉnh cô lập không kề với bất cứ đỉnh nào
trong đồ thị nên ta các tuyến BA, DC, ED lúc nào cũng lưu thông.
Dùng thuật toán tô màu cho các đỉnh còn lại của đồ thị và được kết quả sau:
Đỉn
h
AC BD DA EB AB EC B
C
DB A
D
EA BA DC ED
Bậc 5 5 5 5 4 4 3 3 2 2 0 0 0
Màu 1 2 3 4 1 4 2 3 1 3 1 1 1
Như vậy ta cần 4 pha để điều khiển:
Pha 1: Cho phép lưu thông các tuyến AC, AB, EC.
Pha 2: Cho phép lưu thông các tuyến BD, BC, AD, EA
Pha 3: Cho phép lưu thông các tuyến DA, DB.
Pha 4: Cho phép lưu thông tuyến EB.
3.1.2 Bài toán lập lịch thi
Bài toán: Giả sử mỗi sinh viên phải thi một số môn trong n môn thi. Bài toán đặt
ra là hãy xếp lịch thi sao cho không có sinh viên nào có 2 môn thi cùng một lúc
và số đợt thi là ít nhất.
Để giải bài toán này ta lập đồ thị có các đỉnh là các môn thi và hai đỉnh kề
nhau nếu có một sinh viên thi cả hai môn này. Thời gian thi của mỗi môn được

biểu thị bằng các màu khác nhau dùng để tô cho các đỉnh của đồ thị. Như vậy bài
toán xếp lịch thi được đưa về bài toán tô màu đồ thị.
Trang 19
Bài toán tô màu đồ thị và ứng dụng
Ví dụ 10:
Có 7 môn thi cần xếp lịch. Các môn học được đánh số từ 1 đến 7. Các cặp
môn thi sau có chung sinh viên: (1,2), (1,3), (1,4), (1,7), (2,3), (2,4), (2,5), (2,7),
(3,4), (3,6), (3,7), (4,5), (4,6), (5,6), (5,7), (6,7). Hãy xếp lịch thi sao cho số đợt
thi là ít nhất.
Giải
Ta xây dựng đồ thị với 7 đỉnh là bảy môn thi, hai đỉnh kề nhau nếu có sinh
viên thi cả hai môn thi đó. Như vậy ta có đồ thị như sau:
Dùng thuật toán tô màu cho các đỉnh của đồ thị và nhận được kết quả sau:
Đỉnh
2
3
4
7
1
5
6
Bậc
5
5
5
5
4
4
4
Màu

1
2
3
3
4
2
1
Vậy ta có lịch thi gồm 4 đợt:
Đợt I: thi môn 2, 6 Đợt II: thi môn 3, 5
Đợt III: thi môn 4, 7 Đợt IV: thi môn 1
3.1.3 Bài toán phân chia tần số
Bài toán: Có n đài phát. Hãy phân chia các kênh truyền hình cho các đài phát sao
cho hai đài cách nhau không quá k km không được trùng kênh và số kênh dùng là
ít nhất.
Để giải bài toán này ta lập đồ thị có các đỉnh là các đài phát và hai đài phát kề
nhau nếu khoảng cách giữa chúng không quá k km. Kênh truyền hình của mỗi
đài được biểu thị bằng các màu khác nhau. Như vậy bài toán phân chia tần số trở
thành bài toán tô màu đồ thị.
Trang 20
Bài toán tô màu đồ thị và ứng dụng
Ví dụ 11: 6 đài truyền hình ở cách nhau như đã cho ở bảng dưới đây. Mỗi đài sẽ
được cấp 1 kênh để phát sóng. Hãy tìm số kênh ít nhất cần phát, biết 2 đài cách
nhau không quá 150 km sẽ không được cấp phát chung 1 kênh.
1 2 3 4 5 6
1 85 175 200 20 100
2 85 125 175 100 160
3 175 125 100 200 150
4 200 175 100 110 250
5 20 100 200 110 220
6 100 160 150 250 220 100

Giải
4
1
6
2
3
5
Ta xây dựng đồ thị G với các đỉnh là các đài truyền hình. Hai đỉnh kề nhau
nếu hai đài truyền hình đặt cách nhau không quá 150 km. Đồ thị thu được có
dạng như sau:
Dùng thuật toán tô màu cho đồ thị G ta thu được kết quả như sau:
Đỉnh 1 2 3 5 4 6
Bậc 3 3 3 3 2 2
Màu 1 2 1 3 2 2
Vậy ta cần 3 kênh để chia cho các đài.
3.1.4 Bài toán thanh ghi trong bộ dịch
Bài toán: Trong các bộ dịch hiệu quả cao việc thực hiện các vòng lặp được tăng
tốc khi các biến dùng thường xuyên được lưu tạm thời trong các thanh ghi chỉ số
Trang 21
Bài toán tô màu đồ thị và ứng dụng
của CPU mà không phải ở trong bộ nhớ thông thường. Bài toán đặt ra là với một
vòng lặp cho trước cần bao nhiêu thanh ghi chỉ số?
Bài toán có thể giải quyết bằng mô hình tô màu đỉnh đồ thị. Ta xây dựng đồ
thị như sau, coi mỗi đỉnh của đồ thị là một biến trong vòng lặp. Giữa hai đỉnh có
một cạnh nếu các biến biểu thị bằng các đỉnh này phải được lưu trong các thanh
ghi chỉ số tại cùng thời điểm khi thực hiện vòng lặp. Như vậy số màu của đồ thị
chính là số thanh ghi cần có vì những thanh ghi khác nhau được phân cho các
biến khi các đỉnh biểu các biến này là liền kề trong đồ thị.
Ví dụ 12: Có bảy biến xuất hiện trong vòng lập 1 chương trình. Các biến và
các bước trong đó cần phải lưu ý là: t: các bước từ 1 đến 6; u: bước 2; v: các

bước 2, 4; w: các bước 1, 3, 5; x: các bước 1, 6; y: các bước từ 3 đến 6; z: bước
4, 5. Vậy cần bao nhiêu thanh ghi khác nhau để lưu các biến khi thực hiện vòng
lặp.
Giải
Ta xây dựng đồ thị như sau: coi mỗi đỉnh của đồ thị là một biến trong vòng
lặp. Hai đỉnh kề nhau nếu các biến biểu thị bằng các đỉnh này được lưu trong các
thanh ghi chỉ số tại cùng thời điểm khi thực hiện vòng lặp. Khi đó ta có đồ thị sau:
Dùng thuật toán tô màu cho các đỉnh của đồ thị và nhận được kết quả sau:
Đỉnh
t
y
v
w
z
x
u
Bậc
6
5
4
4
4
3
2
Màu
1
2
3
3
4

4
2
Vậy ta cần ít nhất 4 thanh ghi để lưu các biến.
3.1.5 Bài toán nữ sinh của Kirkman
Bài toán: Trong một ký túc xá có 15 nữ sinh. Mỗi sáng họ đi từng nhóm 3 người
đến trường. Có thể sắp xếp nhiều nhất bao nhiêu lần đi như vậy sao cho không có
2 nữ sinh đi cùng nhau quá 1 lần.
Trang 22
Bài toán tô màu đồ thị và ứng dụng
Giải:
Theo giả thiết ta lập được
3
1 5
4 5 5C
=
nhóm nữ sinh gồm 3 nữ sinh chọn từ 15
nữ sinh trong ký túc xá. Ta xây dựng đồ thị G với 455 đỉnh mà mỗi đỉnh là một
nhóm gồm 3 nữ sinh. Hai đỉnh được gọi là kề nhau nếu giữa hai đỉnh chung nhau
hai nữ sinh.
Ta gọi tập S là tập ổn định trong tối đại có lực lượng lớn nhất của đồ thị G.
Ta có
( ) 3 5S G
α
= =
. Thật vậy:
Ta gọi A là tập có 15 phần tử bao gồm a, b, c, d, e, f, g, h, i, j, k, l, m, n, o.
Tập
1 2
, , . . ,
n

B B B
là các tập con của A gồm 3 phần tử sao cho:
1 , 1
i j
B B i j n
≤ ∀ ≤ < ≤
I
Với phần tử
x A

: x thuộc vào (k Z
+
) tập hợp trong số
1 2
, , . . ,
n
B B B
.
Giả sử
1
k
i
i
x B
=

I

1 , 1
i j

B B i j n
≤ ∀ ≤ < ≤
I
nên
1 , 1
i j
B B i j k
= ∀ ≤ < ≤
I

Khi đó, số phần tử khác nhau trong k tập hợp B
1
, B
2
, …, B
k
là 2k + 1.
2 1 7A k k
⇒ ≥ + ⇒ ≤
.
Vậy
x A
∀ ∈
thì x thuộc vào nhiều nhất 7 tập trong số các tập
1 2
, , . . . ,
n
B B B

3 7 . 1 5 3 5n n

⇒ ≤ ⇒ ≤
. Vậy
( ) 3 5S G
α
= ≤
.
Mặt khác, ta lại có tập S gồm 35 phần tử như sau: abe, aci, afk, alm, ahj, agn,
ado, bho, bgl, bcf, bmn, bdj, bik, cno, chm, cdg, cek, clj, dfl, dkm, din, deh, eln,
ejo, efi, egm, fgj, fmo, fhn, ghk, gio, hil, ijm, jkn, klo.
Ta tiếp tục xây dựng đồ thị G’ với tập đỉnh là tập S và hai đỉnh được gọi là kề
nhau nếu giữa chúng chung nhau một nữ sinh. Tô màu cho các đỉnh của đồ thị G’
thì mỗi màu sẽ đặc trưng cho một lần đi đến trường của các nữ sinh. Ta có
( ' ) 7G
χ
=
nên có thể sắp xếp nhiều nhất là 7 lần đi đến trường cho 15 nữ sinh
mà không có hai nữ sinh đi cùng nhau quá một lần.
3.2 Ứng dụng bài toán tô màu cạnh
3.2.1 Bài toán nữ sinh Lucas
Trang 23
Bài toán tô màu đồ thị và ứng dụng
Bài toán: Trong một ký túc xá có 2n nữ sinh. Mỗi sáng họ đi từng cặp đến
trường. Có thể sắp xếp nhiều nhất bao nhiêu lần đi như vậy sao cho không có hai
nữ sinh đi cùng nhau quá một lần?
Giải
Ta xây dựng một đồ thị gồm 2n đỉnh, mỗi đỉnh đại diện cho một nữ sinh. Vì
mỗi nữ sinh có thể ghép cặp với 2n-1 nữ sinh còn lại nên ta có đồ thị đủ
2 n
K
.

Tô màu cho các cạnh của đồ thị đủ
2 n
K
ta có
2
' ( ) 2 1
n
K n
χ
= −
.
Mỗi cạnh của đồ thị đủ
2 n
K
là sự ghép cặp của 2 nữ sinh. Trong cùng một
màu tô cho các cạnh của đồ thị không có hai cạnh nào chung đỉnh nghĩa là sẽ
không có hai cặp nữ sinh nào chung nhau 1 nữ sinh.
Đồ thị đủ
2 n
K
có n.(2n-1) cạnh. Do đó, mỗi màu sẽ tô cho n cạnh của đồ thị
đủ
2 n
K
.
Như vậy mỗi màu sẽ đặc trưng cho một lần đi đến trường của 2n nữ sinh. Vì
mỗi cạnh chỉ được tô bởi một màu nên sẽ không có hai nữ sinh nào đi cùng nhau
quá một lần.
Vậy ta có thể sắp xếp tối đa là 2n-1 lần đi đến trường của 2n nữ sinh sao cho
không có hai nữ sinh nào đi cùng nhau quá một lần.

3.2.2 Bài toán chia thời khóa biểu
Bài toán: Cho danh sách một số giáo viên và danh sách các lớp học được dạy bởi
các giáo viên này. Giả sử rằng có đủ phòng học để cho các giáo viên thực hiện
các tiết giảng của mình tại các lớp nhưng tại một thời điểm thì một giáo viên chỉ
có thể dạy tại một lớp và cùng một lúc tại một lớp không thể có nhiều hơn một
giáo viên dạy. Xác định thời gian tối thiểu cần thiết để bố trí cho các giáo viên
thực hiện các tiết giảng của mình tại các lớp. Biết rằng một tiết dạy có thời gian
là 45 phút.
Giải
Ta xây dựng đồ thị lưỡng phân G = (X, Y, E) với X là tập các giáo viên, Y là
tập các lớp học. Một đỉnh x trong tập X được nối với một đỉnh y trong tập Y nếu
và chỉ nếu giáo viên x có tiết giảng ở lớp y.
Trang 24
Bài toán tô màu đồ thị và ứng dụng
Như vậy việc xác định thời gian tối thiểu cần thiết để có thể bố trí cho tất cả
các giáo viên thực hiện các tiết giảng của mình tại các lớp trở thành xác định tích
số của 45 phút và số màu tối thiểu cần thiết để tô màu cho các cạnh của đồ thị G.
Mỗi màu sẽ đại diện cho một tiết mà các giáo viên thực hiện một tiết giảng của
mình tại các lớp.
Theo định lý 4.2 – Chương II thì sắc số của đồ thị G: χ’(G) = ∆(G).
Như vậy thời gian tối thiểu cần thiết để có thể bố trí cho tất cả các giáo viên
thực hiện tiết giảng của mình tại các lớp là
4 5 x ( )

G
phút.
Trang 25

×