Các bài toán thực tế thường được chuyển một cách tự nhiên thành bài toán trên đồ thị, từ đó dễ dàng thiết kế thuật toán để giải bằng máy tính.. Nhiệm vụ nghiên cứu Nghiên cứu lý thuyết
Trang 3LỜI CẢM ƠN
Lời đầu tiên em xin trân trọng gửi lời cảm ơn sâu sắc nhất đến thầy
Trần Vĩnh Đức, thầy đã tận tình chỉ bảo và hướng dẫn em trong suốt quá
trình nghiên cứu đề tài để em hoàn thành tốt luận văn của mình!
Tiếp đến em xin chân thành gửi lời cảm ơn đến các thầy giáo, cô giáo
trong Phòng sau Đại học, các thầy giáo, cô giáo trong trường Đại học Sư
phạm Hà Nội 2 và các thầy giáo, cô giáo thỉnh giảng từ các trường Đại học trên địa bàn Thủ đô Hà Nội đã nhiệt tình truyền tải những kiến thức, kinh nghiệm cho em trong suốt 2 năm học tại trường
Em xin chân thành biết ơn gia đình, bạn bè và các đồng nghiệp đã hết sức tạo điều kiện, luôn giúp đỡ và động viên em trong suốt quá trình học tập, nghiên cứu và làm việc
Trân trọng cảm ơn!
Đại học Sư phạm Hà Nôi 2
Ngày tháng 12 năm 2015
Đỗ Anh Sơn
Trang 4LỜI CAM ĐOAN
Tô xin cam đoan:
a) Những nội dung trong luận văn này là do tôi thực hiện dưới sự hướng dẫn trược tiếp của Tiến sĩ Trần Vĩnh Đức
b) Mọi tham khảo dùng trong luận văn này đều được trích dẫn rõ ràng và trung thực tên tác giả, tên công trình, thời gian, địa điểm công bố
c) Mọi sao chép không hợp lệ, vi phạm quy tắc đào tạo, hay gian dối, tôi xin chịu hoàn toàn trách nhiệm
Xuân Hòa, tháng 12 năm 2015
TÁC GIẢ
Đỗ Anh Sơn
Trang 5MỤC LỤC
MỞ ĐẦU……… ………1
NỘI DUNG……… 3
CHƯƠNG 1: TỔNG QUAN VỀ ĐỒ THỊ………3
1.1 Một số khái niệm cơ bản ……… ……….3
1.2 Hành trình, chu trình và đường đi……….……… … …… 6
1.3 Cây ……… ……… ……… 7
1.4 Đồ thị phẳng…… ……….….… 9
1.5 Biểu diễn đồ thị bằng ma trận………13
1.5.1 Biểu diễn đồ thị bằng ma trận kề……….… ….13
1.5.2 Biểu diễn đồ thị bằng ma trận liên thuộc………… ………….14
CHƯƠNG 2: TÔ MÀU ĐỒ THỊ………16
2.1 Định nghĩa và một số kết quả cơ bản……… … 16
2.2 Đa thức tô màu……… ……… ……… 20
2.3 Thuật toán tham lam tô màu đồ thị………23
2.4 Một số bài toán……….… ………… ……….25
2.4.1 Bài toán điều khiển đèn hiệu nút giao thông ……… 25
2.4.2 Bài toán lập lịch thi……… 28
2.4.3 Bài toán phân chia tần số…… ……… 29
2.4.4 Bài nữ sinh của Kirkman……… 31
CHƯƠNG 3: ỨNG DỤNG… ……….……… 33
3.1 Bài toán lập thời khóa biểu……… …… 33
3.2 Mô hình bài toán bằng đồ thị……… …… 36
3.3 Siêu đồ thị……… ……….…… 41
3.3.1 Khái niệm siêu đồ thị ……….41
3.3.2 Tô màu siêu đồ thị ……….….43
3.4 Mô hình bài toán bằng siêu đồ thị……… ….… 46
3.5 Xếp thời khóa biểu……… ……… ….… 51
3.6 Kết luận chương 3.……… ……… ….… 57
KẾT LUẬN………… ……… 58
TÀI LIỆU THAM KHẢO……… …….59
Trang 7DANH MỤC CÁC BẢNG
3.1 Môn học và khối lượng tiết học trên tuần 33, 34 3.2 Phân công chuyên môn 30 giáo viên 34, 35
3.7 Số hóa tiết học của các môn trong tuần 47 3.8 Mã số tiết dạy của giáo viên và ký hiệu 48, 49 3.9 Đỉnh đồ thị H và màu tô tương ứng 53, 54
3.10 Tham chiếu màu tô của đỉnh với các siêu cạnh A,
B, C, , AA, AB, , AE
55, 56,
57
Trang 82.3 Đồ thị mô phỏng pha điều khiển giao thông 27
3.2 Tô màu đồ thị môn dạy của 5 giáo viên 40
Trang 9MỞ ĐẦU
Có thể nói, Leonhard Euler là người đầu tiên nghiên cứu về lý thuyết
đồ thị (LTĐT) Bài báo của ông về Bảy Cây Cầu ở thành phố Königsberg được xem như xuất bản đầu tiên của LTĐT Đến nay, LTĐT có nhiều ứng dụng sâu sắc trong nhiều lĩnh vực khác nhau như trong kinh tế tài chính, trong công nghiệp, trong công nghệ thông tin
LTĐT thực sự bắt đầu được nghiên cứu rộng rãi từ những năm 60 của thế kỷ trước do sự phát triển mạnh mẽ của máy tính điện tử Một cách không hình thức, đồ thị gồm hai loại đối tượng: tập đỉnh và một quan hệ trên tập đỉnh này Không bất ngờ, mô hình rất tự nhiên này cho phép mô hình hóa rất hiệu quả các bài toán thực tế Các bài toán thực tế thường được chuyển một cách tự nhiên thành bài toán trên đồ thị, từ đó dễ dàng thiết kế thuật toán để giải bằng máy tính Ngược lại, nhiều khái niệm trong đồ thị được lấy từ thực
tế Ví dụ, khái niệm đường đi, cây, rừng Quan hệ hai chiều này làm cho LTĐT trở thành một lĩnh vực hấp dẫn không chỉ cho các nhà lý thuyết mà còn cho cả những người làm thực hành
Một trong những bài toán quan trọng của LTĐT là bài toán tô màu Tô màu đồ thị là cách gán giá trị màu cho mỗi đỉnh sao cho hai đỉnh kề nhau có màu khác nhau Khái niệm tô màu đồ thị cho phép mô hình các bài toán lập lịch, phân công công việc, các bài toán thỏa mãn ràng buộc Tìm cách tô màu đồ thị bằng một số ít màu là bài toán khó, nhưng vô cùng quan trọng Lợi ích tương ứng của nó trong thực tế là lời giải cho vấn đề lập lịch công việc tối
ưu, phân công công việc hợp lý
Mục đích của luận văn “Thuật toán tô màu đồ thị và ứng dụng” là nghiên cứu các thuật toán tô màu đồ thị và ứng dụng nó vào trong bài toán xếp thời khóa biểu của Trường THCS Trưng Vương, Mê Linh, Hà Nội
Trang 10Mục đích nghiên cứu
Nghiên cứu lý thuyết đồ thị và tìm hiểu thuật toán tô màu đồ thị để giải quyết bài toán xếp thời khóa biểu
Nhiệm vụ nghiên cứu
Nghiên cứu lý thuyết đồ thị, chỉ ra các bài toán vận dụng thuật toán tô màu trên đồ thị và giải quyết bài toán thực tế lập thời khóa biểu cho giáo viên, học sinh trong các trường phổ thông
Đối tượng và phạm vi nghiên cứu
Đối tượng được nghiên cứu cụ thể là lý thuyết đồ thị, bài toán tô màu
đồ thị và ứng dụng thực tế lập thời khóa biểu Trong phạm vi giới hạn của đề tài, luận văn nghiên cứu các giải quyết một số bài toán thực tế và mô hình lập lịch thời khóa biểu ở trường Trung học cơ sở Trưng Vương huyện Mê Linh
Phương pháp nghiên cứu
Đọc, phân tích và tổng hợp tài liệu
Giả thuyết khoa học
Phần nghiên cứu lý thuyết sẽ cung cấp một cách nhìn tổng quát về lý thuyết đồ thị và các thuật toán đồ thị Kết quả nghiên cứu có thể áp dụng cho các trường học phổ thông
Cấu trúc luận văn: Ngoài chương mở đầu và kết luận, luận văn gồm 3
chương:
Chương 1 đưa ra một số khái niệm của lý thuyết đồ thị, cách biểu diễn
đồ thị và một số thuật toán liên quan đến đồ thị
Chương 2 đưa ra các khái niệm về tô màu đồ thị, đa thức tô màu và trình bày thuật toán tham lam tô màu đồ thị, và một vài ứng dụng đơn giản
Chương 3 trình bày ứng dụng tô màu đồ thị để giải quyết bài toán lập thời khóa biểu trường THCS Trưng Vương, Mê Linh, Hà Nội
Trang 11Trong chương này chúng ta trình bày một số khái niệm cơ bản về đồ thị, về cây, đường, liên thông, đẳng cấu,…, và biểu diễn đồ thị
1.1 Một số khái niệm cơ bản
Định nghĩa 1.1 Một đồ thị G là một cặp có thứ tự G = (V, E), ở đây V là một
tập, còn E là tập với các phần tử là các tập con hai phần tử của V
Các phần tử của V cũng được gọi là các đỉnh, còn các phần tử của E được gọi là các cạnh của đồ thị G Nếu e = {a,b} là một cạnh của G thì a và b được gọi là các đỉnh đầu mút của cạnh e hay các đỉnh liên thuộc với e, và ta nói đỉnh a kề với đỉnh b Ta cũng thường ký hiệu canh {a,b} ngắn gọn là ab
Đồ thị thường được biểu diễn trên mặt phẳng bằng các điểm và đường Mỗi điểm thể hiện một đỉnh của đồ thị, còn mỗi đường nối hai điểm thể hiện một cạch nối hai điểm đầu mút
Ví dụ 1.2 Xét đồ thị G = (V, E) với V = {a,b,c,d} và E = {{a,b}, {b,d}, {b,c},
{c,d}} Khi đó G được biển diễn trên mặt phẳng bằng Hình 1.1 dưới đây
Hình 1.1: Đồ thị G = (V,E)
Trang 12Định nghĩa 1.3 Đồ thị G’ = (V’, E’) được gọi là đồ thị con của đồ thị
G = (V, E) nếu V'V và E'E Đồ thị con G’ = (V’, E’) của đồ thị
G = (V, E) được gọi là đồ thị con bao trùm của G nếu V’ = V Nếu E’ chứa tất
cả các cung hay cạnh của G, mà cả hai đỉnh liên thuộc với nó đều thuộc V’, thì G’ = (V’,E’) được gọi là đồ thị con của G = (V, E) cảm sinh bởi tập đỉnh
V’ hay cũng được gọi là đồ thị con cảm sinh bởi G = (V, E) trên tập đỉnh V’
Khi đó G’ cũng được ký hiệu là G’ = G[V’]
Ta cũng có thể xây dựng đồ thị mới từ các đồ thị đã cho bằng cách xóa
hay thêm một số đỉnh hoặc cạnh Nếu W V , thì G W G V W \ , tức là đồ
thị con của G nhận được từ G bằng cách xóa đi các đỉnh thuộc W và mọi cung (hay cạch) liên thuộc với các đỉnh trong W
Hiển nhiên là nếu một đồ thị có cấp bằng n thì cỡ m của nó thỏa mãn
được gọi là n-đồ thị đầy đủ và thường được ký hiệu K n
Định nghĩa 1.4 Giả sử G = (V, E) là một đồ thị với V n Ta định nghĩa đồ
thị bù của G, ký hiệu G , là đồ thị với tập đỉnh cũng là V, còn cạnh là E(K n )\E
Định nghĩa 1.5 Một đồ thị G = (V, E) được gọi là đồ thị m-phần nếu ta có thể
phân loại V thành dạng V V1 V2 V m với V i , i = 1,2,3,…,m, sao
cho các đỉnh trong cùng V , i = 1,2,3,…,m là không kề nhau Nếu G là một đồ i
thị m-phần và tồn tại cạnh nối một đỉnh bất kỳ của V i với một đỉnh bất kỳ của
j
V cho mọi i j thì G được gọi là m-phần đầy đủ
Trang 13Đồ thị 2-phần đầy đủ, trong đó các phần V 1 và V 2 có |V 1 | = m, |V 2 | = n đƣợc ký hiệu là K m,n
thì mọi đỉnh của G đều có bậc bằng k và G đƣợc gọi là đồ
thị chính quy bậc k hay gắn gọn là k-chính quy Một đồ thị đƣợc gọi là chính
quy nếu nó là k-chính quy với một k nào đấy Đồ thị k-chính quy cũng đƣợc gọi là đồ thị bậc k
Đỉnh v đƣợc gọi là đỉnh treo nếu deg(v) = 1, đƣợc gọi là đỉnh cô lập nếu deg(v) = 0
Trang 14Định nghĩa 1.9 Đồ thị G = (V,E) và G’ = (V’, E’) đƣợc gọi là đẳng cấu với
nhau nếu tồn tại song ánh :V V, sao cho a b, E) khi và chỉ khi{ ( ), ( )} a b E Song ánh nhƣ trên đƣợc gọi là đẳng cấu của G và G’ Hai đồ thị đẳng cấu với nhau G và G’ đƣợc ký hiệu là GG
Ví dụ 1.10 Hai đồ thị G = (V, E) và G’ = (V’, E’) là các đồ thị biểu diễn nhƣ
trong Hình 1.2 Khi đó GG và ánh xạ :V V với
(1) a
, (5) b, (2) c, (6) d
Định nghĩa 1.11 Xét đồ thị G = (V, E) Một hành trình trong G là một dãy
đỉnh v 0, v 1, v 2,…, v n thỏa mãn v i và v i+1 kề nhau với với mọi i = 0,1,…,n-1 Khi đó
n cũng đƣợc gọi là độ dài, đỉnh v 0 đƣợc gọi là đỉnh đầu, v n đƣợc gọi là đỉnh cuối của hành trình Hành trình mà trong đó mọi đỉnh đều khác nhau đƣợc gọi
Trang 15Định nghĩa 1.12 Một hành trình được gọi là khép kín nếu đỉnh đầu và đỉnh
cuối của nó trùng nhau Một hành trình khép kín, mà khi xóa đỉnh cuối thì trở
thành một đường đi được gọi là một chu trình
Ví dụ 1.13 Cho đồ thị G = (V, E) như Hình 1.3 Đồ thị này được gọi là đồ thị
Petersen Khi đó,
a) abcde là một đường;
b) abcdea là một chu trình;
Hình 1.3: Đồ thị Petersen
Định nghĩa 1.14 Một đồ thị G = (V, E) được gọi là liên thông nếu với hai
đỉnh v i và v j khác nhau bất kỳ của G tồn tại một hành trình trong G với đỉnh đầu là v i và đỉnh cuối là v j Trong trường hợp ngược lại, đồ thị được gọi là không liên thông
Định nghĩa 1.15 Đồ thị con liên thông G’ = (V’, E’) của một đồ thị
G = (V, E) được gọi là một thành phần liên thông của G, nếu G’ = G[V’] và
với mọi V"V , mà thực sự chứa V’, đồ thị G[V’] là không liên thông
Trang 161.3 Cây
Trong mục này chúng ta đề cập đến khái niệm một lớp mô hình đồ thị không có chu trình và các điều kiện tương đương
Định nghĩa 1.16 Một đồ thị liên thông và không có chu trình được gọi là cây
Một đồ thị (không nhất thiết phải là liên thông) không có chu trình được gọi
Định lý 1.18 Giả sử T = (V, E) là đồ thị Khi đó các khẳng định sau đây là
tương đương với nhau:
(a) T là cây;
(b) T không chứa chu trình và |E| = |V| - 1;
(c) T liên thông và |E| = |V| - 1;
G 2
Trang 17(d) 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;
(e) Hai đỉnh khác nhau bất kỳ của T được nối với nhau bởi đúng một đường;
(f) T không chứa chu trình, nhưng nếu ta thêm 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
1.4 Đồ thị phẳng
Trong mục này chúng ta đề cập đến lớp đồ thị đặc biệt: Các đồ thị có thể vẽ trên mặt phẳng bởi các điểm và các đường không cắt nhau
Định nghĩa 1.19 Đồ thị G = (V, E) được gọi là đồ thị phẳng nếu như nó có
thể biểu diễn được ở trên mặt phẳng sao cho các đường cong biểu diễn các cạnh hoặc không giao nhau hoặc giao nhau ở các đỉnh chung Biểu diễn nói trên của đồ thị phẳng được gọi là biểu diễn phẳng
Ví dụ 1.20 Trên Hình 1.5 Đồ thị đầy đủ K 4 biểu diễn bên trái không là đồ thị
phẳng, còn biểu diễn ở là biểu diễn phẳng của K 4 Đồ thị đầy đủ K 5 và đồ thị
2-phần đầy đủ K 3,3 không là đồ thị phẳng
Hình 1.5: Đồ thị phẳng và đồ thị không phẳng
Trang 18Định nghĩa 1.21 Giả sử G = (V, E) là một đồ thị phẳng Khi đó, phần mặt
phẳng đƣợc giới hạn bởi các cạnh của G và không bị chia thành các phần nhỏ hơn bởi các cạnh khác đƣợc gọi là một miền (hay cũng gọi là một mặt) của G
Định lý 1.22 (Công thức Euler) Nếu đồ thị phẳng liên thông G = (V, E) có v
đỉnh, e cạnh và f miền, thì v - e + f = 2
Chứng minh Ta chứng minh định lý bằng quy nạp theo số miền f Với f = 1
khi đó G không có chu trình, nhƣng G liên thông suy ra G là cây
Vậy e = v - 1
Suy ra v - e + f = v - v + 1 + 1 = 2 vậy đúng với f = 1
Giả sử định lý đã đƣợc chứng minh cho mọi đồ thị phẳng liên thông có
C sao cho e là cạnh chung của S và T đƣợc biểu diễn trong hình vẽ sau đây
Xét đồ thị G’ có tập đỉnh là V và E’ G = (V, E) với E’ = E\{e} Khi đó
G’ là đồ thị con của đồ thị phẳng (vì G’ là đồ thị con của đồ thị phẳng G) với
Trang 19Do đó v - (e - 1) + (f - 1) = 2 tương đương v - e + f = 2 theo giả thiết
quy nạp suy ra điều phải chứng minh □
Với m ij = 1 nếu ei nằm trên biên của Tj
m ij = 0 nếu ei không nằm trên biên của Tj
e4
e6 e3
Trang 20Tính số s phần tử 1 trong M Nếu tính theo hàng ta có s ≤ 2m
Tính theo cột ta có số phần tử s chính là số cạnh nằm trên biên của miền suy
điều này mâu thuẫn Vậy K 3,3 không là đồ thị phẳng □
Định nghĩa 1.25 Hai đồ thị G 1 và G 2 đƣợc gọi là đẳng cấu với độ chính xác tới các đỉnh bậc 2, nếu chúng hoặc đẳng cấu với nhau hoặc có thể biến đổi thành các đồ thị đẳng cấu với nhau bằng cách chèn thêm hay xóa đi các đỉnh bậc 2
Ví dụ 1.26 Hai đồ thị G 1 và G 2 trên Hình 1.7 là các đồ thị đẳng cấu với độ chính xác tới đỉnh bậc 2
Trang 21Hình 1.7 Đồ thị đẳng cấu với độ chính xác tới đỉnh bậc 2
Chèn đỉnh bậc 2 Xóa đỉnh bậc 2
Trang 22Dễ thấy rằng ma trận kề A của đồ thị G hoàn toàn xác định G Vì vậy ma trận
kề A đƣợc coi là một biểu diễn của G
1.5.2 Biểu diễn đồ thị bằng ma trận liên thuộc
Giả sử G = (V, E) là đồ thị với V = {v 1 ,v 2 ,…,v n } và E = {e 1 ,e 2 ,…,e m}
Khi đó ma trận liên thuộc của đồ thị G là ma trận
11 12 1
21 22 2 ij
e6
e7
e8
v3 v2
v4
v6
v5
Trang 23nếu v i là đỉnh đầu của e j,
nếu v i không liên thuộc với
e j
Trang 24CHƯƠNG 2
TÔ MÀU ĐỒ THỊ
Trong chương này chúng ta sẽ trình bày một vài kết quả cơ bản về tô màu đỉnh của đồ thị Đầu tiên chúng ta sẽ xem xét mối liên hệ giữa số màu có thể tô một đồ thị và bậc của đỉnh, liên hệ giữa đa thức tô màu và sắc số Tiếp theo chúng ta sẽ trình bày một thuật toán tham lam cho phép tô màu với số màu hợp lý, và cuối cùng sử dụng thuật toán này để giải một vài bài toán đơn giản có thể mô hình bằng tô màu đồ thị
2.1 Định nghĩa và một số kết quả cơ bản
Trong mục này chúng ta xem xét định nghĩa về tô màu đỉnh đồ thị và một vài kết quả liên quan đến một số ước lượng của sắc số
Định nghĩa 2.1 Một tô màu đỉnh của một đồ thị, mà ta sẽ đơn giản gọi là một
tô màu, là một phép gán các màu cho các đỉnh sao cho hai đỉnh kề nhau có màu khác nhau
Nếu số màu khác nhau, mà ta dùng để tô trong một tô màu của đồ thị,
nhỏ hơn hoặc bằng k thì tô màu đó cũng được gọi là k-tô màu
Tập tất cả các đỉnh được tô bởi cùng một màu trong một tô màu của đồ
thị được gọi là lớp đỉnh đồng màu của tô màu đó Như vậy, một k-tô màu phân hoạch tập đỉnh của đồ thị thành k lớp đỉnh đồng màu
Định nghĩa 2.2 Sắc số của một đồ thị G, ký hiệu là ( ) G , là số tự nhiên k nhỏ nhất để G có một k-tô màu
Đồ thị G được gọi là đồ thị k-tô màu được nếu ( ) G k và được gọi là
k-sắc nếu ( ) G k
Trang 25Mệnh đề 2.3 Nếu đồ thị G chứa một đồ thị con đẳng cấu với K n thì (G) n
Chứng minh Vì mọi đỉnh trong đồ thị K n đều kề nhau nên mọi cách tô màu
đều phải dùng ít nhất n màu □
Định lý 2.4 (König, 1936) Giả sử G = (V,E) là một đồ thị bất kỳ Khi đó các
khẳng định sau đây là tương đương nhau:
(a) (b): Giả sử G là đồ thi 2-sắc Ta cũng giả sử rằng V 1 và V 2 là hai
lớp đỉnh đồng màu của G trong một 2-tô màu nào đó Khi đó dễ thấy rằng G
là đồ thị 2-phần với các phần là V 1 và V 2 Vì G là 2-sắc nên hiển nhiên nó
không là đồ thị rỗng
(b) (a): Giả sử G là đồ thị 2-phần khác đồ thị rỗng Ta cũng giả sử rằng V 1 và V 2 là các phần của G Ta tô các đỉnh của V 1 bằng một màu và tô
các đỉnh của V 2 bằng một màu khác Khi đó ta nhận được một 2-tô màu của G
vì G là đồ thị 2-phần Mặt khác, G không có 1-tô màu vì nó là đồ thị khác đồ
thị rỗng Vậy ( ) 2 G và G là đồ thị 2-sắc
(b) (c): Giả sử G = (V, E) là đồ thị 2-phần khác đồ thị rỗng với các phần là V 1 và V 2 Ta cũng giả sử rằng C = v 1 v 2 v 3… v n v 1 là một chu trình bất kỳ
trong G Nếu v1V1, thì v2V2, v3V1, v4V2,…, tức là những đỉnh với chỉ
số dưới lẻ là đỉnh thuộc V 1, còn những đỉnh với chỉ số dưới chẵn là đỉnh thuộc
V 2 Vì thế, độ dài của chu trình C phải là chẵn
(c) (b): Giả sử G = (V, E) là đồ thị khác đồ thị rỗng trong đó mọi chu trình đều có độ dài chẵn Trước hết ta xét trường hợp G là liên thông Ta
Trang 26cố định một đỉnh bất kỳ v1V Với mỗi đỉnh v V , ta gọi khoảng cách từ
đỉnh v tới đỉnh v 1 là độ dài của đường gắn nhất trong G từ v tới v 1 Ký hiệu
bằng V 1 tập tất cả các đỉnh của G, mà có khoảng cách tới v 1 là chẵn
Đặt V 2 = V\V 1 Giả sử tồn tại cạnh trong G nối hai đỉnh u,vV1 , gọi P u
và P v là các đường gắn nhất nối với v 1 tương ứng bắt đầu từ u và v Gọi x là đỉnh chung của P u và P v mà ta gặp đầu tiên Khi đó theo định nghĩa của P u và
P v , các đoạn đường của P u và của P v từ x tới v 1 có độ dài bằng nhau Vì vậy
các đoạn đường P’ u và P’ v tương ứng từ u tới x của P u và từ v tới x của P v có
độ dài cùng tính chẵn lẻ vì độ dài của P u và P v là chẵn theo cách xây dựng tập
V 1 Vì thế hợp của P’ u , P’ v và cạnh uv sẽ tạo thành một chu trình độ dài lẻ trong G Điều này mâu thuẫn với giả thiết về G Vậy không tồn tại cạnh nối hai đỉnh thuộc cùng tập V 1 Tương tự trong G cũng không tồn tại cạnh nối hai đỉnh cùng thuộc tập V 2 Vậy G là đồ thị 2-phần với các phần là V 1 và V 2
Bây giờ ta xét trường hợp G là không liên thông Giả sử G 1 ,G 2 ,…,G k là
các thành phần liên thông của G Khi đó mỗi G i cũng là đồ thị trong đó mọi
chu trình đều có độ dài chẵn Theo chứng minh ở trên, mỗi G i, mà không là
đồ thị rỗng, là đồ thị 2-phần Vì G là hợp của các G i, trong đó có ít nhất một
G i không là đồ thị rỗng, nên G cũng là đồ thị 2-phần □
Định lý 2.5 Với mọi đồ thị G ta luôn có ( ) 1 max ( ') G G , ở đây maximum được lấy theo mọi đồ thị con cảm sinh G’ của G
Chứng minh Khẳng định là hiển nhiên nếu đồ thị là rỗng Giả sử G là đồ thị
k-sắc bất kỳ với k2, còn H là đồ thị con cảm sinh bất kỳ có số đỉnh nhỏ
nhất thỏa mãn ( ) H k Như vậy ( H v) k 1 cho mọi đỉnh v của H
Suy ra, deg( )v k 1 cho mọi đỉnh v của H Do đó ( H) k 1 và vì thế
1 ( ) max ( ') max ( ')
Trang 27ở đây maximum thứ nhất được lấy theo tất cả các đồ thị con cảm sinh H’ của
H, còn maximum thứ hai được lấy theo tất cả các đồ thị con cảm sinh G’ của
G Khi đó ( ) G k 1 max ( ') G □
Hệ quả 2.6 Với đồ thị G bất kỳ ta luôn có ( ) 1 G ( )G
Chứng minh Vì max ( ) H ( )G với mọi đồ thị con H của G, nên theo
Tô màu đồ thị cũng liên quan đến khái niệm tập độc lập
Định nghĩa 2.8 Tập đỉnh S của đồ thị G gọi là độc lập nếu không có hai đỉnh
nào trong S kề nhau Ta ký hiệu kích thước của tập độc lập cực đại trong G là
Trang 28Chứng minh Nếu ( ) G k, thì trong một ( ) G -tô màu của G tập đỉnh V được phân hoạch thành k lớp đỉnh đồng màu V 1 ,V 2 ,…,V k Hiển nhiên là mỗi
lớp V i , i = 1,2,…,k, là một tập đỉnh độc lập của G Giả sử |V i | = n i Khi đó
Suy ra ( ) G (GS) 1 n ( ) 1G □
2.2 Đa thức tô màu
Trong mục này chúng ta sẽ xem xét một đa thức gắn với số cách tô màu của đồ thị Đa thức màu được đề xuất bởi Geogre David Birkhoff để tấn công bài toán bốn màu Đa thức này cho phép ta sử dụng các kỹ thuật của đại số để nghiên cứu về tô màu đồ thị
Định nghĩa 2.10 Giả sử G = (V,E) là một đồ thị với V = {v 1, v 2, …, v n } và k là một số nguyên dương Ta cũng giả sử N k = {1,2,…,k} Mỗi phần tử của N k có
thể coi là một màu Khi đó một k-tô màu của đồ thị G có thể coi là hàm
f V N
thỏa mãn điều kiện là ( )f v i f v( )j nếu v i và v j kề nhau trong G
Như vậy, ( )f v i có vai trò là màu để tô cho đỉnh v i (i = 1,2,3…,n) và mỗi k-tô màu cũng là (k+1)-tô màu của G Với các quan niệm như trên ta có thể phân biệt các k-tô màu khác nhau Cụ thể là, hai k-tô màu f 1 và f 2 được coi
là khác nhau nếu f v1( )i f v2( )i cho một v iV nào đó
Trang 29Định nghĩa 2.11 Xét đồ thị G Ta ký hiệu là P(G, k) là số các k-tô màu khác
vì mỗi đỉnh của đồ thị có thể tô bằng màu tùy ý
Ví dụ 2.14 Xét G là đồ thị nhƣ sau đây và k là số màu dùng để tô G
Số cách tô màu của G có thể tính nhƣ sau: Đỉnh 1 có thể tô bằng k màu bất kỳ; đỉnh 2 có thể tô bằng k - 1 màu khác màu của đỉnh 1; Đỉnh 3 có thể tô bằng k - 1 màu khác màu của đỉnh 2 Vậy xét theo quy tắc nhân ta có
Trang 304 endif
5 endfor
Định nghĩa 2.15 Giả sử G = (V, E) là một đồ thị và e là một cạnh của G Ta
định nghĩa đồ thị G e là đồ thị nhận được từ đồ thị G bằng cánh đồng nhất hai đỉnh đầu mút của e với nhau
Ví dụ 2.16 Nếu G là đồ thị cho ở Hình 2.1 (a) và e là cạnh của G được chỉ ra
f V G e N là một k-tô màu nào đó của đồ thị G - e Khi đó xảy ra một
trong hai trường hợp sau đây:
(a) f v( )1 f v( )2 , tức là v 1 và v 2 được tô khác màu;
(b) f v( )1 f v( )2 , tức là v 1 và v 2 được tô cùng màu
Nếu ta goi P là tập các k-tô màu của G - e, P a là tập các k-tô màu của
G - e với v 1 và v 2 được tô khác màu, còn Pb là tập các k-tô màu của G - e với
Ge (b)
e
G (a)
Trang 31v 1 và v 2 được tô cùng màu, thì P a P b và PP a P b Theo quy tắc cộng của tổ hợp, ta có
P Ge k P P P Hiển nhiên là mỗi f P a cũng là một k-tô màu của G và tương ứng tự nhiên này là tưng ứng môt-một giữa các phần tử của P a và các k-tô màu của
G Mặt khác nếu v 12 là đỉnh của G e nhận được từ sự đồng nhất của v 1 với v 2 trong G, thì mỗi f P b ta tương ứng với một k-tô màu f’ của G e như sau:
f’(v) = f(v) nếu vv v1, 2 và f’(v 12 )=f( v 1 ) Dễ thấy rằng tương ứng này cũng là
tương ứng một-một giữa các phần tử của P b và các k-tô màu của G e Vì vậy theo quy tắc tương ứng một-một của tổ hợp, ta có |P a | = P(G,k) và chuẩn của
Ngược lại, G có cạnh e nào đó, theo giả thiết quy nạp P(G-e, k) là một
đa thức bậc n và P(G e , k) là một đa thức bậc n - 1 Vậy
là một đa thức bậc n □
Do Định lý 2.18, nên P(G, k) được gọi là đa thức tô màu của đồ thị G
2.3 Thuật toán tham lam tô màu đồ thị
Phương pháp tham lam là phương pháp đưa ra quyết định nhanh mỗi bước dựa trên một tiêu chí nào đó Quyết định nhanh này làm thuật toán chạy rất nhanh nhưng thường không đưa ra lời giải chính xác Trong mục này
Trang 32chúng ta xem xét một thuật toán tham lam để tô màu đồ thị Phương pháp này không cho phép tô dùng ít màu nhất, nhưng nó cho một cách tô màu hợp lý
Xét đồ thị G = (V,E), với tập các đỉnh V = {v 1 ,v 2 ,…,v n} và tập các đỉnh
kề
j
v
A Đầu tiên ta xét các đỉnh theo thứ tự và gán cho mỗi đỉnh một màu
riêng theo nguyên tắc: các đỉnh không kề với đỉnh đang xét thì được phép tô cùng một màu, cấm tô màu đó cho các đỉnh có cạnh kề với đỉnh đang xét Thuật toán lặp lại cho đến khi tất cả các đỉnh được tô màu
Thuật toán Welsh-Powell
1 Sắp xếp các đỉnh V = {v 1 ,v 2 ,…,v n} của đồ thị theo thứ tự bậc giảm dần, tức là
d v d v d v
2 Nếu mọi đỉnh đã được tô màu, thuật toán dừng
3 Chọn a là số nguyên nhỏ nhất sao cho v a chưa được tô màu Chọn
b > a là số nguyên nhỏ nhất sao cho v b chưa được tô màu và không kề
với v a Chọn c > b là số nguyên nhỏ nhất sao cho v c không kề với v a và
v b Tiếp tục theo cách này ta xác định được tập
a, b, c,…, d
4 Tô màu v a , v b , v c , …, v d bằng một màu chưa được dùng
5 Quay lại bước 2
Nói chung, thuật toán Welsh-Powell không tô G bằng ít màu nhất có
thể Tuy nhiên nó cho ta có một cách tô màu hợp lý Định lý sau đây chỉ ra một ước lượng cận trên cho số màu sử dụng bởi thuật toán
Định lý 2.19 Nếu mọi đỉnh trong đồ thị G đều có bậc không vượt quá d thì
thuật toán Welsh-Powell dùng không quá d + 1 màu
Ví dụ 2.20 Thuật toán Welsh-Powell tô màu các đỉnh của đồ thị G = (V, E)
trong Hình 2.2 Đầu tiên, thuật toán chọn đỉnh v 1 và v 5 để tô màu xanh Tiếp
Trang 33theo, thuật toán chọn tập đỉnh v 2 và v 4 để tô màu vàng Cuối cùng thuật toán
chọn được v 3 và v 6 để tô màu đỏ
Hình 2.2: Tô màu đồ thị G
Ta có bảng thể hiện màu tô các đỉnh như sau:
Vì G chứa đồ thị con đẳng cấu với K3 bao gồm các đỉnh v 1 , v 2 , v 3
nên (G) 3 Vậy sắc số (G) = 3
2.4 Một số bài toán
2.4.1 Bài toán điều kiển đèn hiệu nút giao thông
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ản 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 va chạm Khi đó thời gian chờ đợi tối đa để được thông đường là ít nhất