Nội dung được chia thành 2 phần: Phần đầu giới thiệu về những kiến thức cơ bản về đồ thị và phần sau đề cập tới bài toán tô màu đỉnh của đồ thị, các định lý quan trọng, ví dụ và ứng dụng
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC MỎ - ĐỊA CHẤT
BÁO CÁO HỌC THUẬT
BÀI TOÁN TÔ MÀU ĐỒ THỊ
VÀ ỨNG DỤNG
CN Hà Hữu Cao Trình
Hà Nội, 1/2021
Trang 2BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC MỎ - ĐỊA CHẤT
BÁO CÁO HỌC THUẬT
BÀI TOÁN TÔ MÀU ĐỒ THỊ
VÀ ỨNG DỤNG
Xác nhận của bộ môn
Hà Nội, 1/2021
Trang 3MỤC LỤC
1 Mở đầu……… 4
2 Cơ sở lý thuyết……… 5
2.1 Khái niệm đồ thị……… 5
2.2 Đường đi, chu trình, đồ thị liên thông……… 8
2.3 Đồ thị vô hướng liên thông……… 11
2.4 Đồ thị có hướng liên thông……… 12
3 Tô màu đồ thị và ứng dụng……… 14
3.1 Bài toán tô màu đỉnh……… 14
3.2 Tô màu bản đồ……… 18
4 Kết luận ……… 23
5 Tài liệu tham khảo……… 24
Trang 41 MỞ ĐẦU
Trong thực tế có nhiều bài toán được quy về bài toán đồ thị để giải quyết Trong đó bài toán tô màu đồ thị có nhiều ứng dụng thiết thực trong kinh tế, kỹ thuật và đời sống Chẳng hạn, bài toán tô màu bản đồ, bố trí kho chứa hóa chất, thiết kế các bảng vi mạch điện tử, sắp xếp lịch hỏi thi, bố trí các trạm truyền tin, xác lập các tuyến xe buýt thành phố, v.v
Có nhiều định lý nổi tiếng liên qua đến tô màu đồ thị như: Định lý Brooks, Minty về
tô màu đỉnh; Định lý König, Vizing, Shannon về tô màu cạnh, định lý 5 màu của Heawood (1890) và Định lý 4 màu của Appel và Haken (1976)
Báo cáo này cung cấp một phần kiến thức về tô màu đồ thị, cụ thể là tô màu đỉnh của
đồ thị và ứng dụng Nội dung được chia thành 2 phần: Phần đầu giới thiệu về những kiến thức cơ bản về đồ thị và phần sau đề cập tới bài toán tô màu đỉnh của đồ thị, các định lý quan trọng, ví dụ và ứng dụng trong một bài toán cụ thể là tô màu bản đồ
Trang 52 CƠ SỞ LÝ THUYẾT
2.1 Khái niệm đồ thị
Đồ thị là một cấu trúc rời rạc bao gồm các đỉnh và các cạnh nối các đỉnh này Chúng
ta phân biệt các loại đồ thị khác nhau bởi kiểu và số lượng cạnh nối hai đỉnh nào đó của đồ thị Để có thể hình dung được tại sao lại cần đến các loại đồ thị khác nhau, chúng ta sẽ nêu
ví dụ sử dụng chúng để mô tả một mạng máy tính Giả sử ta có một mạng gồm các máy tính
và các kênh điện thoại (gọi tắt là kênh thoại) nối các máy tính này Chúng ta có thể biểu diễn các vị trí đặt náy tính bởi các điểm và các kênh thoại nối chúng bởi các đoạn nối, xem hình
1
Hình 1 Sơ đồ mạng máy tính
Nhận thấy rằng trong mạng ở hình 1, giữa hai máy bất kỳ chỉ có nhiều nhất là một kênh thoại nối chúng, kênh thoại naỳ cho phép liên lạc cả hai chiều và không có máy tính nào lại được nối với chính nó Sơ đồ mạng máy cho trong hình 1 được gọi là đơn đồ thị vô hướng Ta đi đến định nghĩa sau:
Định nghĩa 1 Đơn đồ thị vô hướng G = (V, E) bao gồm V là tập các đỉnh, và E là tập các cặp không có thứ tự gồm hai phần tử khác nhau của V gọi là các cạnh
Trang 6Trong trường hợp giữa hai máy tính nào đó thường xuyên phải truyền tải nhiều thông tin người ta phải nối hai máy nàu bởi nhiều kênh thoại Mạng với đa kênh thoại giữa các máy được cho trong hình 2
Định nghĩa 2 Đa đồ thị vô hướng G = (V, E) bao gồm V là tập các đỉnh, và E là tập các cặp không có thứ tự gồm hai phần tử khác nhau của V gọi là các cạnh Hai cạnh e và 1
e 2 được gọi là cạnh lặp nếu chúng cùng tương ứng với một cặp đỉnh
Hình 2 Sơ đồ mạng máy tính với đa kênh thoại
Hình 3 Sơ đồ mạng máy tính với kênh thoại thông báo
Trang 7Rõ ràng mỗi đơn đồ thị đều là đa đồ thị, nhưng không phải đa đồ thị nào cũng là đơn
đồ thị, vì trong đa đồ thị có thể có hai (hoặc nhiều hơn) cạnh nối một cặp đỉnh nào đó Trong mạng máy tính có thể có những kênh thoại nối một náy nào đó với chính nó (chẳng hạn vời mục đính thông báo) Mạng như vậy được cho trong hình 3 Khi đó đa đồ thị không thể mô tả được mạng như vậy, bởi vì có những khuyên (cạnh nối một đỉnh với chính nó) Trong trường hợp nàychúng ta cần sử dụng đến khái niệm giả đồ thị vô hướng, được định nghĩa như sau:
Định nghĩa 3 Giả đồ thị vô hướng G = (V, E) bao gồm V là tập các đỉnh và E là tập các cặp không có thứ tự gồm hai phần tử (không nhất thiết phải khác nhau) của V gọi là cạnh Cạnh e được gọi là khuyên nếu nó có dạng e = (u, u)
Các kênh thoại trong mạng máy tính có thể chỉ cho phép truyền tin theo một chiều Chẳng hạn, trong hình 4 máy chủ ở Hà Nội chỉ có thể nhận tin từ các máy ở địa phương, có một số máy chỉ có thể gửi tin đi, còn các kênh thoại cho phép truyền tin theo cả hai chiều được thay thế bởi hai cạnh có hướng ngược chiều nhau
Hình 4 Mạng máy tính với kênh thoại một chiều
Định nghĩa 4 Đơn đồ thị có hướng G = (V, E) bao gồm V là tập các đỉnh và E là tập các cặp có thứ tự gồm hai phần tử khác nhau của V gọi là các cung
Trang 8Nếu trong mạng có thể có đa kênh thoại một chiều, ta sẽ phải sử dụng đến khái niệm đa đồ thị có hướng:
Đị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à tập các cặp
có thứ tự gồm hai phần tử khác nhau của V gọi là các cung Hai cung e1, e2 tương ứng với cùng một cặp đỉnh được gọi là cung lặp
Trong các phần tiếp theo chủ yếu chúng ta sẽ làm việc với đơn đồ thị vô hướng và đơn đồ thị có hướng Vì vậy, để cho ngắn gọn, ta sẽ bỏ qua tính từ đơn khi nhắc đến chúng
2.2 Đường đi, chu trình, đồ thị liên thông
Định nghĩa 6 Đườ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 x , x , … , x trong đó
u = , v = , x x (x , x ∈) E, i = 0, 1, 2,…, n-1
Đỉnh u gọi là đỉnh đầu, còn đỉnh v 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 = v) được gọi là chu trình Đường đi hay chu trình được gọi
là đơn nếu như không có cạnh nào bị lặp lại
Ví dụ 1 Trên đồ thị vô hướng cho trong hình 5: a, d, c, f, e là đường đi đơn độ dài 4 Còn d,
e, c, a không là đường đi, do (c,e) không phải là cạnh của đồ thị Dãy b, c, f, e, b là chu trình
độ dài 5 Đường đi a, b, e, d, a, b có độ dài là 5 không phải là đường đi đơn, do cạnh (a, b)
có mặt trong nó 2 lần
Hình 5 Đường đi trên đồ thị
Trang 9Khái niệm đường đi và chu trình trên đồ thị có hướng được định nghĩa hoàn toàn tương tự như trong trường hợp đồ thị vô hướng, chỉ khác là ta có chú ý đến hướng trên các cung
Định nghĩa 7 Đường đi độ 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 x , x , … , x trong đó
u = , v = , x x (x , x ∈) E, i = 0, 1, 2,…, n-1
Đỉnh u gọi là đỉnh đầu, còn đỉnh v 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 = v) được gọi là chu trình Đường đi hay chu trình được gọi
là đơn nếu như không có cạnh nào bị lặp lại
Ví dụ 2 Trên đồ thị có hướng cho trong hình 1.6: a, d, c, f, e là đường đi đơn độ dài 4 Còn
d, e, c, a không là đường đi, do (c,e) không phải là cạnh của đồ thị Dãy b, c, f, e, b là chu trình độ dài 4 Đường đi a, b, e, d, a, b có độ dài là 5 không phải là đường đi đơn, do cạnh (a, b) có mặt trong nó 2 lần
Xét một mạng máy tính Một câu hỏi đặt ra là hai máy tính bất kỳ trong mạng này có thể trao đổi thông tin được với nhau hoặc là trực tiếp qua kênh nối chúng hoặc thông qua một hoặc vài máy tính trung gian trong mạng? Nếu sử dụng đồ thị để biểu diễn mạng máy tính này (trong đó các đỉnh của đồ thị tương ứng với các máy tính, còn các cạnh tương ứng với các kênh nối) câu hỏi đó được phát biểu trong ngôn ngữ đồ thị như sau: Tồn tại hay không đường đi giữa mọi cặp đỉnh của đồ thị
Định nghĩa 8 Đồ 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ó
Như vậy hai máy tính bất kỳ trong mạng có thể trao đổi thông tin được với nhau khi
và chỉ khi đồ thị tương ứng với mạng này là đồ thị liên thông
Ví dụ 3 Trong hình 6: Đồ thị G là liên thông, còn đồ thị H là không liên thông
Trang 10Ví dụ 4 Đồ thị H trong hình 2 gồm 3 thành phần liên thông H1, H2, H3
Trong mạng máy tính có thể có những máy (Những kênh nối) mà sự hỏng hóc của nó
sẽ ảnh hưởng đến việc trao đổi thông tin trong mạng Các khái niệm tương ứng với tình huống này được đưa ra trong định nghĩa sau
Định nghĩa 10 Đỉ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ó khỏi đồ thị làm tăng số thành phần liên thông của đồ thị
Ví dụ 5 Trong đồ thị G ở hình 2, đỉnh d và e là đỉnh rẽ nhánh, còn các cạnh (d, g) và (e, f) là cầu
Đối với đồ thị có hướng có hai khái niệm liên thông phụ thuộc vào việc ta có xét đến hướng trên các cung hay không
Định nghĩa 11 Đồ 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ó
Trang 11Định nghĩa 12 Đồ thị có hướng G = (V, A) được gọi là liên thông yếu nếu đồ thị vô hướng tương ứng với nó là vô hướng liên thông
Rõ ràng nếu đồ thị là liên thông mạnh thì nó cũng là liên thông yếu, nhưng điều ngược lại là không luôn đúng, như chỉ ra trong ví dụn dưới đây
Ví dụ 6 Trong hình 7 đồ thị G là liên thông mạnh, còn H là liên thông yếu nhưng không là liên thông mạnh
Hình 8 Đồ thị liên thông mạnh G và đồ thị liên thông yếu H
Một câu hỏi đặt ra là khi nào có thể định hướng các cạnh của một đồ thị vô hướng liên thông để có thể thu được đồ thị có hướng liên thông mạnh? Ta sẽ gọi đồ thị như vậy là
đồ thị định hướng được Định lý dưới đây cho ta tiêu chuẩn nhận biết một đồ thị có là định hướng được hay không
Định lý 1 Đồ thị vô hướng liên thông là định hướng được khi và chỉ khi mỗi cạnh của nó nằm trên ít nhất một chu trình
2.3 Đồ thị vô hướng liên thông
Trong mục này chúng ta sẽ trình bày một số thuật ngữ cơ bản của lý thuyết đồ thị Trước tiên, ta xét các thuật ngữ mô tả các đỉnh và cạnh của đồ thị vô hướng
Định nghĩa 13 Hai đỉnh u và v của đồ thị vô hướng G được gọi là kề nhau nếu (u,v) là cạnh của đồ thị G Nếu e = (u, v) là cạnh của đồ thị ta nói cạnh này là liên thuộc với hai đỉnh u và
v, hoặc cũng nói là nối đỉnh u và đỉnh v, đồng thời các đỉnh u và v sẽ được gọi là các đỉnh đầu của cạnh (u, v)
Trang 12Định nghĩa 14 Ta gọi bậc của đỉnh v trong đồ thị vô hướng là số cạnh liên thuộc với nó và
g là đỉnh cô lập, a và d là các đỉnh treo Bậc của đỉnh có tính chất sau:
Định lý 2 Giả sử G = (V, E) là đồ thị vô hướng với m cạnh Khi đó tổng bậc của tất cả các đỉnh bằng hai lần số cung
Hệ quả 3 Trong đồ thị vô hướng, số đỉnh bậc lẻ (nghĩa là có bậc là số lẻ) là một số chẵn
2.4 Đồ thị có hướng liên thông
Định nghĩa 15 Nếu e = (u, v) là cung của đồ thị có hướng G thì ta nói hai đỉnh u và v là kề nhau, và nói cung (u, v) nối đỉnh u với đỉnh v hoặc cũng nói cung này là đi ra khỏi đỉnh u và vào đỉnh v Đỉnh u(v) sẽ được gị là đỉnh đầu (cuối) của cung (u,v)
Tương tự như khái niệm bậc, đối với đồ thị có hướng ta có khái niệm bán bậc ra và bán bậc vào của một đỉnh
Định nghĩa 16 Ta gọi bán bậc ra (bán bậc vào) của đỉnh v trong đồ thị có hướng là số cung của đồ thị đi ra khỏi nó (đi vào nó) và ký hiệu là deg+(v) (deg-(v))
Trang 13Hình 9 Đồ thị có hướng
Ví dụ 9 Xét đồ thị cho trong hình 9 Ta có
deg-(a)=1, deg-(b)=2, deg-(c)=2, deg-(d)=2, deg-(e) = 2
deg+(a)=3, deg+(b)=1, deg+(c)=1, deg+(d)=2, deg+(e)=2
Định lý 4 Giả sử G = (V, E) là đồ thị có hướng Khi đó tổng bán bậc ra của tất cả các đỉnh bằng tổng bán bậc vào của tất cả các đỉnh
Rất nhiều tính chất của đồ thị có hướng không phụ thuộc vào hướng trên các cung của nó Vì vậy, trong nhiều trường hợp sẽ thuận tiện hơn nếu ta bỏ qua hướng trên các cung của đồ thị Đồ thị vô hướng thu được bằng cách bỏ qua hướng trên các cung được gọi là đồ thị vô hướng tương ứng với đồ thị có hướng đã cho
Trang 143 TÔ MÀU ĐỒ THỊ VÀ ỨNG DỤNG
3.1 Bài toán tô màu đỉnh
Bài toán được đặt ra là: số màu tối thiểu cần thiết để tô cho các đỉnh của một đồ thị sao cho hai đỉnh kề nhau thì có màu khác nhau là bao nhiêu? Một cách tô màu thỏa mãn được gọi là một cách tô đúng
Định nghĩa 1 Ta nói một đồ thị là k - sắc tính nếu nó có thể tô đúng bằng k màu Số màu tối thiểu cần thiết để tô đúng được các đỉnh của G, gọi là số sắc tính hay sắc số của
đồ thị G và viết (G) = k
Rõ ràng, sắc số của đồ thị đầy đủ n đỉnh bằng n: χ(K ) = n Vì vậy có các đồ tn hị với sắc số lớn tùy ý Theo chiều ngược lại, χ(G) = 1 khi và chỉ khi G là đồ thị không, tức là đồ thị G có đỉnh nhưng không có cạnh, và χ(G) = 2 khi và chỉ khi G là một đồ thị hai phần khác không Chú ý rằng một cây bất kỳ, cũng như mọi chu trình độ dài chẵn bất
kỳ là 2 - sắc tính
Ta có thể dễ dàng lấy ví dụ về đồ thị là 3 – sắc tính Chẳng hạn, các chu trình độ dài
lẻ hay các đồ thị bánh xe với một số lẻ đỉnh và đồ thị Petersen là 3 - sắc tính Các đồ thị bánh xe với một số chẵn đỉnh là 4 - sắc tính Trong [1] đưa ra một lớp đồ thị phẳng 3 - sắc tính đáng chú ý, đó là các đồ thị với n ≥ 6 đỉnh và mọi đỉnh có bậc 3 (Hình 10)
Hình 10 Đồ thị phẳng đẳng cấp bậc 3 là 3 - sắc tính
Nếu đồ thị có n đỉnh thì sắc số của nó không vượt quá n, và nếu đồ thị chứa K (đồ r thị đầy đủ r đỉnh) như một đồ thị con thì sắc số của nó không ít hơn r Nhìn chung, các kết
Trang 15quả này không giúp ta biết chính xác sắc số của một đồ thị Tuy nhiên, nếu biết bậc của các đỉnh trong đồ thị thì ta có thể biết nhiều hơn
Định lý 1.Nếu đơn đồ thị có bậc lớn nhất của đỉnh bằng thì là G Δ G (Δ + 1) - sắc tính Chứng minh.Dùng phương pháp quy nạp toán học theo số đỉnh của G Giả sử G là một đơn đồ thị n đỉnh Nếu ta xoá một đỉnh bất kỳ v, cùng với các cạnh liên thuộc nó, thì
đồ thị còn lại là một đơn đồ thị (n - 1) đỉnh và bậc lớn nhất của đỉnh cùng lắm bằng Δ Theo giả thuyết quy nạp, đồ thị này là (Δ + 1) - sắc tính Giữ nguyên màu của các đỉnh trong đồ thị này, ta sẽ tô cho đỉnh v một màu, khác với những màu đã tô cho các đỉnh
kề v (số này nhiều nhất bằng ) Vậy là (Δ Δ + 1) - sắc tính
Hình 11
Bằng xử lý tinh tế hơn, có thể làm mạnh thêm Định lý và đi tới kết quả sau: Định lý 2(Brooks, 1941) Nếu G là một đơn đồ thị liên thông mà không phải là một
đồ thị đầy đủ và nếu bậc lớn nhất của đỉnh là ≥ 3 thì là – sắc tính Δ G Δ
Cả hai định lý trên đều rất hữu ích, đặc biệt khi bậc của các đỉnh xấp xỉ như nhau Chẳng hạn theo Định lý 1, mỗi đồ thị lập phương là 4 - sắc tính, và theo Định lý 2, mỗi
đồ thị lập phương liên thông, khác đồ thị đầy đủ K , là 3 - sắc tính Mặt khác, nếu đồ thị 4
có vài đỉnh với bậc lớn thì các định lý này cho ta rất ít thông tin Điều này được minh hoạ rõ bởi đồ thị hai phần đầy đủ K1,s Định lý Brooks cho thấy đồ thị này là s - sắc tính, nhưng thực tế chỉ cần dùng 2 màu là có thể tô đúng các đỉnh của đồ thị loại này, nghĩa
là K1,s là 2 - sắc tính với mọi s
Định lý 3.Mọi đơn đồ thị phẳng là 6 - sắc tính
Trang 16Chứng minh.Hiển nhiên định lý đúng đối với các đơn đồ thị phẳng không quá 6 đỉnh Giả sử G là một đơn đồ thị phẳng n đỉnh, và mọi đơn đồ thị phẳng (n - 1) đỉnh
là 6 - sắc tính Do đồ thị G phẳng nên G chứa một đỉnh v có bậc nhiều nhất là 5 Nếu xoá v và các cạnh liên thuộc v thì đồ thị còn lại có n - 1 đỉnh, và vì vậy nó là 6 -sắc tính Giữ nguyên màu của các đỉnh trong đồ thị này, ta tô cho đỉnh v bằng màu, khác với những màu đã tô cho các đỉnh kề v
Kết quả là G được tô bằng 6 màu, tức G là 6 - sắc tính
Hình 12
Có thể làm mạnh thêm Định lý 3 này bằng định lý sau:
Định lý 4.Một đơn đồ thị phẳng bao giờ cũng là 5 - sắc tính
Chứng minh.Ta chứng minh định lý bằng phương pháp quy nạp theo số đỉnh Hiển nhiên định lý đúng đối với đơn đồ thị phẳng ít hơn 6 đỉnh Giả sử G là một đơn đồ thị phẳng n đỉnh, và mọi đơn đồ thị phẳng n - 1 đỉnh là 5 - sắc tính Do đồ thị G phẳng nên G chứa một đỉnh v với bậc không quá 5 Sau khi xoá đỉnh v và các cạnh liên thuộc v, ta được một đơn đồ thị n - 1 đỉnh và đồ thị này là 5 - sắc tính Mục đích của ta bây giờ là tô đỉnh
v bằng một trong 5 màu này, và như vậy sẽ hoàn thành việc tô các đỉnh của G bằng 5 màu Nếu bậc của đỉnh v nhỏ hơn 5 thì v có thể được tô bằng màu bất kỳ, chưa dùng
để tô cho các (tối đa là 4) đỉnh kề v, và như vậy hoàn thành chứng minh định lý trong trường hợp này Giả sử bậc của v bằng 5 và 5 đỉnh kề v là v1, , v5 được