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 1DÔ ANH SON
THUÂT TOÂN TÔ MÀU DÔ THI
LUÂN VAN THAC SÏ TOAN HOC• • •
HÀ NÔI, NAM 2015
Trang 2LUẬN VĂN THẠC SĨ TOÁN HỌC
Ngưòi hướng dẫn khoa học: TS Trần Vĩnh Đức
HÀ NỘI, NĂM 2015
Trang 3Trầ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 ừong 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 ừong 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(m
Trang 4Tô 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 ừách nhiệm.
Xuân Hòa, tháng 12 năm 2015
TÁC GIẢ
Đỗ Anh Sơn
Trang 5CHƯƠ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 ừậ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 Kừkman 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 đồ t h ị 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 6LTĐT Lý thuyết đồ thị
Trang 72.1 Khoảng cách các đài phát thanh 30
3.1 Môn học và khối lượng tiết học trên tuần 33, 34
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.10 Tham chiếu màu tô của đỉnh với các siêu cạnh Ả,
B, c, , AA, AB, AE
55, 56, 57
Trang 82.3 Đồ thị mô phỏng pha điều khiển giao thông 27
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 Đen nay, LTĐT có nhiều ứng dụng sâu sắc trong nhiều lĩnh vực khác nhau như ừong 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 ttọng của LTĐT là bài toán tô màu Tô màu đồ thị là cách gán giá tri 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 lì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 ttong 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 vỉ 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 11CHƯƠNG 1 TỔNG QUAN VÈ ĐỒ THỊ
Trong 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
a
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 c z V và E 'czE Đồ 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[F’].
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 Neu w e V , thì G - W = G [ y \ 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
cho các đinh trong cùng Vị, i = 1,2,3,.,.,m ìầ không kề nhau Neu G là một đồ thị m-phần và tồn tại cạnh nối một đỉnh bất kỳ của Vị với một đinh bất kỳ của
Vj 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] và v 2 có \Vj\ = m, \v2\ = n được ký hiệu là Km
Định nghĩa 1.6 Xét đồ thị G = (V, E) và một đỉnh V e V Ta ký hiệu tập các
hàng xóm của V là
AfG(v) = {;x;eVIx ^ v và {x ,v}^ E } Trong trường hợp đồ thị G được hiểu ngầm, ta ký hiệu NG(v) đơn giản
Đí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 <p:V—>V', sao cho {a,b} ^ E ) khi và chỉ khi{ <p(a),<p(b)} e E Song ánh <p 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à G = ơ
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 đó G = ơ và ánh xạ <p:V —>v' với
1.2 Hành trình, chu trình và đường đi
Trong mục này chúng ta đề cập đến khái niệm hành trình, chu trình và đường đi trong đồ thị.
Đị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 Vo Vi v2 ,v„ thỏa mãn Vị và Vị+i kề nhau với với mọi i = 0,l, ,n -l Khi đó
n cũng được gọi là độ dài, đỉnh Vo được gọi là đỉnh đàu, v„ đượ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
là đường đ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ị
Đị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ị và Vj 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ị và đỉnh cuối là Vj. 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 ’ = GIV] 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
(b) T không chứa chu trình và \E\ = I v\ -1 ;
(c) Tliên thông và \E\ = \v\-1;
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 bat 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ẽ ừê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 ở ừê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 đủ K4 biểu diễn bên ừái không là đồ thị phẳng, còn biểu diễn ở là biểu diễn phẳng của K4 Đồ thị đầy đủ K5 và đồ thị 2-phần đày đủ K3 3 không là đồ thị phẳng.
KI 1 3 )#
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) Neu đồ 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ố m iền/ Với / = 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/ = 1.
Giả sử định lý đã được chứng minh cho mọi đồ thị phang liên thông có
c sao cho e là cạnh chung của S \ à T được biểu diễn ừong 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
số đỉnh bằng V và số cạnh bằng e - 1 Do F và T nhập một nên số miền bằng
f K f
Trang 19-Do đó V - (e -1 ) + (f - 1) = 2 tương đương V - e + f = 2 theo giả thiết
Với í rriiị = 1 nếu ei nằm trên biên của Tj.
m.ịj = 0 nếu eị không nằm ừên biên của Tý Xét ví dụ đồ thị phang G như Hình 1.6 ta có ma trận
Trang 20Tính số s phần tử 1 ừong M Nếu tính theo hàng ta có 5 < 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
ra chính là chu trình Do đó ta có g.l < s ©
Từ (D và © ta suy ra g.l < 2m
Áp dụng công thức Euler cho đồ thị phẳng, ta có:
\ v \ - m + l = 2 <^> 1 = 2 - IVI + m Với g l< 2 m ta có g.( 2 - \v\ + m) <2m m.ịg - 2) < g (\v \ - 2)
điều này mâu thuẫn Vậy K3 3 không là đồ thị phẳng □
Định nghĩa 1.25 Hai đồ thị G Ị và G2 được gọi là đẳng cấu với độ chính xác
tới các đinh 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 Ị và G2 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 21Chèn đỉnh bậc 2 Xóa đỉnh bậc 2
|=> <1 о [=>
Hình 1.7 Đồ thị đẳng cấu với độ chính xác tới đỉnh bậc 2
Định lý 1.27 (Kuratowski - Poutragin, 1930) Một đồ thị là đồ thị phẳng khi và chỉ khỉ nó không chứa một đồ thị con nào mà đẳng cẩu với độ chính xác tới các đỉnh bậc hai với đồ thị K ị hoặc đồ thị K ị 3.
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.
Ví dụ 1.28 Giả sử G = (V, E) với V = {vi, v2, v3, v4, v5, v6} và
E = {ei, e2, e8) là đồ thị được biểu diễn bởi sau:
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 = {v1,v2, ,vn} và E = {ej,e2, ,em} Khi đó ma trận liên thuộc của đồ thị G là ma trận
B = (bộn*m =
^21 ^ 2 2 ■ b 2m
b n2 ■•• K m ;
Trang 23ở đây
1, nêu Vịlà đỉnh đâu của ej,
0, nếu V, không liên thuộc với
Ma trận liên thuộc в cũng hoàn toàn xác định đồ thị G Vì vậy, в cũng được
coi là một biểu diễn của G.
Ví dụ 1.29 Giả sử G = (V, E) với V = {Vi, v2, v3, v4> v5> v6} và
E = {ej, e2, e8) là đồ thị được biểu diễn bởi Hình 1.8 Khi đó ma trận liên thuộc của G là ma trận
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à к-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 к-tô màu phân hoạch tập đỉnh của đồ thị thành к 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 к-tô màu.
Đồ thị G được gọi là đồ thị к-tô màu được nếu z (G ) < к và được gọi là к-sắc nếu z (G ) = k
Trang 25Mệnh đề 2.3 Neu đồ thị G chứa một đồ thị con đẳng cẩu với K n thì x(G) >n Chứng minh Vì mọi đỉnh trong đồ thị Kn đều kề nhau nên mọi cách tô màu
Định lý 2.4 (König, 1936) Giả sử G = (V,E) là một đồ thị bất kỳ Khỉ đó các khắng định sau đây là tương đương nhau:
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 z (G ) = 2 và G là đồ thị 2-sắc.
(b) => (с): Giả sử G = (V, E) là đồ thị 2-phần khác đồ thị rỗng với các
phần là V1 và v 2 Ta cũng giả sử rằng с = V]V2 V3.'VnV] là một chu trình bất kỳ
trong G Nếu Vj e v x, thì v2 eV2, У3 бУр v4 e V2 tức là những đỉnh với chỉ
số dưới lẻ là đinh thuộc V], còn những đỉnh với chỉ số dưới chẵn là đỉnh thuộc v2- Vì thế, độ dài của chu trình с 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ỳ V, eV Với mỗi đỉnh V eV , ta gọi khoảng cách từ đỉnh V tới đỉnh V] là độ dài của đường gắn nhất trong G từ V tới V]. Ký hiệu
bằng Vi tập tất cả các đỉnh của G, mà có khoảng cách tới Vi là chẵn.
Đặt v 2 = V\Vj Giả sử tồn tại cạnh trong G nối hai đỉnh u,ve V], gọi Pu
và Pv là các đường gắn nhất nối với V/ tương ứng bắt đàu từ u và V Gọi X là đỉnh chung của Pu và Py mà ta gặp đầu tiên Khi đó theo định nghĩa của Pu và
p v, các đoạn đường của p u và của p v từ X tới V i có độ dài bằng nhau Vì vậy
các đoạn đường P ’u v ầ P ’y tương ứng từ u tới X của p u và từ V tới X của Pv có
độ dài cùng tính chẵn lẻ vì độ dài của p u và Pv là chẵn theo cách xây dựng tập V; 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] 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 v2 Vậy G là đồ thị 2-phần với các phàn là V] và v 2.
Bây giờ ta xét trường hợp G là không liên thông Giả sử Gj,G2, ,Gk là
các thành phần liên thông của G Khi đó mỗi Gi cũng là đồ thị trong đó mọi chu trình đều có độ dài chẵn Theo chứng minh ở trên, mỗi Gi, mà không là
đồ thị rỗng, là đồ thị 2-phần Vì G là hợp của các Gi, trong đó có ít nhất một
k - 1 < Ổ{H) < max Ỏ(H ') < max Ỏ(G ')
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
Hệ quả 2.6 Với đồ thị G bất kỳ ta luôn có ỵ (G ) < 1 + A(G).
Chứng minh Vì max £ ( / / ) < A(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 ừong G là
a iG ).
Dễ thấy
1 < a (G) < n Định lý sau chỉ ra mối quan hệ giữa tập độc lập cực đại và sắc số của
đồ thị.
Định lý 2.9 Với mọi đồ thị G = (V, E) cấp n ta luôn có
- ^ — < Z ( G ) < n - a ( G ) + 1 a(G )
Trang 28Chứng minh Nếu ỵ{G ) = k , thì trong một z (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 Vi,V2, -,Vk- Hiển nhiên là mỗi
lóp Vị, i = 1,2, ,к, là một tập đỉnh độc lập của G Giả sử |Vịl = Uị Khi đó
ĩiị < a (G ) với mọi i = 1,2, ,к Do đó
n = Пу + n2 + + Из < ka(G ) о — < z ( G )
a (G )
Như vậy là bất đẳng thức thứ nhất đã được chứng minh.
Để chứng minh bất đẳng thức thứ hai ta xét tập đỉnh độc lập s gồm a{ G) đỉnh Rõ ràng là x ( G - S ) > — Vì G - s có n - a(G) đỉnh, nên
ỵ ( G - 5 ) < n - a (G ) Suy ra z ( G ) < z ( G - S ) + l < n - a ( G ) + l □
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 = {Vi v2 vn} và к là một số nguyên dương Ta cũng giả sử Nk = {l,2, ,k} Mỗi phàn tử của Nk 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 —>Nk
thỏa mãn điều kiện là f ( Vị ) Ф f ( V j ) nếu Vị và Vj kề nhau ừong G.
Như vậy, f ( Vị ) có vai trò là màu để tô cho đỉnh Vị (ỉ = 1 , 2 , 3 và
mỗi k-tô màu cũng là (fc+l)-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 £-tô màu/i và/2 được coi
là khác nhau nếu ỷỵiVị) Ф f 2 (vi ) cho một Vị G V 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 nhau của G.
Nếu k < z ( G ) , thì hiển hiên là P(G,k) = 0 số tự nhiên к nhỏ nhất để P(G,k) > 0 chính xác là ỵ { G )
Ví dụ 2.12 Ta có
P(Kn, k) = k(k - l)(k - 2) (k - n + 1)
vì đỉnh 1 có thể tô bằng một trong к màu bất kỳ; trừ màu dành cho đính 1,
đỉnh 2 có thể tô bằng một trong k-ỉ màu còn lại; cứ thế tiếp tục Đây chính là
số n-hoán vị từ tập k màu.
Ví dụ 2.13 Xét G là đồ thị gồm n đính và không có cạnh Ta có
P( G, k) = kn
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à к 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 к màu bất kỳ; đỉnh 2 có thể tô bằng к - 1 màu khác màu của đỉnh 1 ; Đỉnh 3 có thể tô bằng к - 1 màu khác màu của đỉnh 2 Vậy xét theo quy tắc nhân ta có
P(G, к) = k.(k - 1 f Nhận xét 1 Nếu ta có đa thức P(G, k), ta có thể dễ dàng tm hỵ(G ) bằng thuật
toán sau đây:
1 for i = 1, 2, n
2 if P(G,k) khác 0
3 return ỵ ( G ) = k
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 ° 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 Neu G là đồ thị cho ở Hình 2.1 (a) và e là cạnh của G được chỉ ra trên hình vẽ đó, thì đồ thị G ° là đồ thị cho ở Hình 2.1 (b)
f :V (G -e )^ > N k 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) /(Vj) ^ / 0 2), tức là Vi và v2 được tô khác màu;
(b) / ( v 1) = / ( v 2), tức là Vi và v2 được tô cùng màu.
Neu 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ị \ à 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
Trang 31VỊ và v2 được tô cùng màu, thì Pa n P b = 0 và p = Pa KjPb Theo quy tắc cộng
của tổ họp, ta có
P ( G - e ,k ) = \P\ = \Pa\ + \Pb\.
Hiển nhiên là mỗi / e -Pa 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 к-tô màu của
G Mặt khác nếu V ]2 là đỉnh của G ° nhận được từ sự đồng nhất của Vj với V 2
trong G, thì mỗi / G Pb ta tương ứng với một k-tồ màu f ’ của G ° như sau:
f ’(v) = f( v ) nếu V ^ v15v2 vàf ’(v12)=f(vi) 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 к- tô màu của G ° V ì vậy theo quy tắc tương ứng một-một của tổ hợp, ta có Ip 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, к) là một
đa thức bậc n và P (ơ о , к) là một đa thức bậc n - 1 Vậy
P(G, к) = P(G - e , k ) ~ P(G о
Do Định lý 2.18, nên P(G, к) đượ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 = {vi,v2, và tập các đỉnh
kề Av Đầ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 ],V 2, .,vn} của đồ thị theo thứ tự bậc giảm dần, tức là
d (y ^ > d (y 2)> '"
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 va chưa được tô màu Chọn
b > a là số nguyên nhỏ nhất sao cho Vb chưa được tô màu và không kề
với va Chọn с > Mà số nguyên nhỏ nhất sao cho vc không kề với va và
vb Tiếp tục theo cách này ta xác định được tập
a, b, c, , d
4 Tô màu va, Vb, vc, .,Vd 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 Neu 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 Vi và v5 để tô màu xanh Tiếp
Trang 33theo, thuật toán chọn tập đỉnh v2 và v4 để tô màu vàng Cuối cùng thuật toán
chọn được V3và 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 i, v2, v3 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 ừong 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.