MathLabs

Tổ hợp và Toán rời rạc

Tô màu đồ thị, định lý bốn màu

Gán màu cho đỉnh hoặc miền sao cho các phần lân cận khác màu; mọi bản đồ phẳng chỉ cần tối đa bốn màu.

Trực giácTrực giác hình ảnh: tô màu bản đồ

Hãy tưởng tượng tô màu các quốc gia trên một bản đồ chính trị sao cho hai quốc gia có chung biên giới luôn nhận hai màu khác nhau. Đó chính là bài toán tô màu đồ thị: biến mỗi vùng thành một đỉnh, và nối hai đỉnh bằng một cạnh mỗi khi hai vùng đó là láng giềng. Một cách tô màu hợp lệ gán cho mỗi đỉnh một màu sao cho hai đầu mút của mọi cạnh luôn có màu khác nhau. Số màu nhỏ nhất để làm được điều đó gọi là số tô màu, ký hiệu χ(G)\chi(G).

Widget mạng đồ thị hiển thị các đỉnh được tô bốn màu sao cho các đỉnh kề nhau khác màu.
Một đồ thị bản đồ phẳng với một cách tô 4 màu hợp lệ: không có hai vùng lân cận nào trùng màu.

Phổ thôngTô màu hợp lệ và số tô màu

Định nghĩa: Tô màu hợp lệ, số tô màu

Một cách tô màu hợp lệ bằng kk màu của đồ thị GG là một hàm gán cho mỗi đỉnh một trong kk màu sao cho không có hai đỉnh kề nhau nào nhận cùng một màu. Số tô màu χ(G)\chi(G) là giá trị kk nhỏ nhất mà tồn tại một cách tô màu hợp lệ bằng kk màu. Một cách tương đương, χ(G)\chi(G) là số nhỏ nhất các tập độc lập (tập các đỉnh đôi một không kề nhau) cần dùng để phân hoạch toàn bộ V(G)V(G).

χ(G)=min⁡{k∈N:G is properly k-colorable}\chi(G) = \min\{k \in \mathbb{N} : G \text{ is properly } k\text{-colorable}\}

Ở đây kk chạy trên tập số tự nhiên, GG là đồ thị cần tô, và χ(G)\chi(G) là giá trị nhỏ nhất thu được. Một chặn trên dễ và hữu ích đến từ thuật toán tham lam: sắp xếp các đỉnh theo thứ tự bất kỳ rồi tô mỗi đỉnh bằng màu đầu tiên chưa bị đỉnh kề nào trước đó dùng. Vì mỗi đỉnh có nhiều nhất Δ(G)\Delta(G) đỉnh kề, thuật toán này không bao giờ cần quá Δ(G)\Delta(G) + 1 màu, cho ta χ(G)≤Δ(G)+1\chi(G) \le \Delta(G) + 1.

χ(G)≤Δ(G)+1\chi(G) \le \Delta(G) + 1
Số tô màu và đa thức tô màu của các họ đồ thị thường gặp
Họ đồ thịSố tô màuĐa thức tô màu
Đồ thị đầy đủ KnK_nnnP(Kn,k)=k(k−1)(k−2)⋯(k−n+1)P(K_n,k) = k(k-1)(k-2)\cdots(k-n+1)
Cây TT có nn đỉnh22 (nếu n≥2n \ge 2)P(T,k)=k(k−1)n−1P(T,k) = k(k-1)^{n-1}
Chu trình CnC_n, nn lẻ33P(Cn,k)=(k−1)n+(−1)n(k−1)P(C_n,k) = (k-1)^n + (-1)^n(k-1)
Mọi đồ thị phẳngnhiều nhất 44 (định lý bốn màu)nói chung không có công thức đóng

Đại họcĐa thức tô màu

Không chỉ số tô màu, ta còn có thể đếm chính xác số cách tô màu hợp lệ bằng kk màu của GG: số này là một đa thức theo kk, gọi là đa thức tô màu P(G,k)P(G,k). Nó thỏa hệ thức truy hồi xóa-co cạnh: chọn một cạnh ee bất kỳ của GG, xóa nó để được G−eG-e, hoặc co nó (nhập hai đầu mút thành một đỉnh) để được G/eG/e; khi đó P(G,k)=P(G−e,k)−P(G/e,k)P(G,k) = P(G-e,k) - P(G/e,k). Với đồ thị đầy đủ KnK_n, mọi đỉnh phải nhận màu khác nhau, nên P(Kn,k)=k(k−1)(k−2)⋯(k−n+1)P(K_n,k) = k(k-1)(k-2)\cdots(k-n+1). Với cây TT có nn đỉnh, hệ thức truy hồi cho P(T,k)=k(k−1)n−1P(T,k) = k(k-1)^{n-1}, vì đỉnh đầu tiên có thể nhận bất kỳ trong kk màu và mỗi đỉnh tiếp theo (nối bằng một cạnh) có thể nhận màu bất kỳ khác màu của đỉnh cha.

P(G,k)=P(G−e,k)−P(G/e,k)P(G,k) = P(G-e,k) - P(G/e,k)
P(Kn,k)=k(k−1)(k−2)⋯(k−n+1)P(K_n,k) = k(k-1)(k-2)\cdots(k-n+1)

Đại họcCác định lý chính

Mọi đồ thị phẳng GG thỏa mãn χ(G)≤5\chi(G) \le 5.

Vì sao đúng?

Đây là bước khởi động dễ hơn nhiều trước định lý bốn màu: nó chỉ dùng phép quy nạp sơ cấp và một mẹo hoán đổi cục bộ khéo léo (chuỗi Kempe), không cần máy tính hỗ trợ, nên người đọc có thể tự tay kiểm tra từng bước.

Chứng minh

Cơ sở quy nạp. Nếu GG có nhiều nhất 5 đỉnh, tô mỗi đỉnh một màu riêng; như vậy dùng nhiều nhất 5 màu, khẳng định đúng.

Bước quy nạp, thiết lập. Giả sử mọi đồ thị phẳng có ít hơn nn đỉnh đều tô được bằng 5 màu, và cho GG là đồ thị phẳng có nn đỉnh. Mọi đồ thị phẳng đơn thỏa E≤3V−6E \le 3V - 6 (chặn cạnh chứng minh nhờ công thức Euler), nên tổng bậc các đỉnh nhiều nhất 2(3n−6)=6n−122(3n-6) = 6n-12, nhỏ hơn 6n6n. Do đó bậc trung bình nhỏ hơn 6, nên tồn tại một đỉnh vv có bậc nhiều nhất 5.

Bỏ vv ta được đồ thị phẳng nhỏ hơn với n−1n-1 đỉnh; theo giả thiết quy nạp nó có một cách tô hợp lệ bằng 5 màu. Nếu vv có nhiều nhất 4 đỉnh kề, các đỉnh kề đó dùng nhiều nhất 4 màu, còn lại một màu tự do cho vv, xong.

Trường hợp còn lại là deg(v)=5(v) = 5 và cả 5 màu đều xuất hiện, mỗi màu đúng một lần, trong 5 đỉnh kề của vv. Liệt kê các đỉnh kề theo thứ tự vòng quanh vv trong hình vẽ phẳng là thứ nhất, thứ hai, thứ ba, thứ tư, thứ năm, được tô lần lượt màu 1, 2, 3, 4, 5. Xét đồ thị con H1,3H_{1,3} gồm mọi đỉnh tô màu 1 hoặc 3. Nếu đỉnh thứ nhất và đỉnh thứ ba nằm ở hai thành phần liên thông khác nhau của H1,3H_{1,3}, hoán đổi màu 1 và 3 trên toàn bộ thành phần chứa đỉnh thứ nhất; đây vẫn là tô màu hợp lệ (chỉ đụng tới các đỉnh màu 1 hoặc 3), và giờ đỉnh thứ nhất mang màu 3, nên màu 1 tự do cho vv.

Ngược lại đỉnh thứ nhất và đỉnh thứ ba nằm cùng một thành phần của H1,3H_{1,3}, nối nhau bằng một đường xen kẽ màu 1 và 3. Cùng với vv và hai cạnh tới đỉnh thứ nhất, thứ ba, đường này khép thành một chu trình trong mặt phẳng tách đỉnh thứ hai khỏi đỉnh thứ tư (theo định lý đường cong Jordan, vì thứ tự vòng quanh vv là thứ nhất, thứ hai, thứ ba, thứ tư, thứ năm). Do đó không có đường xen kẽ màu 2 và 4 nào nối được đỉnh thứ hai với đỉnh thứ tư, vì đường đó sẽ phải cắt chu trình 1-3. Vậy ta hoán đổi màu 2 và 4 trên toàn bộ thành phần của H2,4H_{2,4} chứa đỉnh thứ hai; điều này giải phóng màu 2 cho vv.

Trong mọi trường hợp vv nhận một trong 5 màu mà không xung đột với đỉnh kề nào, mở rộng cách tô của GG-v ra toàn bộ GG. Theo quy nạp, χ(G)≤5\chi(G) \le 5 với mọi đồ thị phẳng.

Mọi đồ thị phẳng GG thỏa mãn χ(G)≤4\chi(G) \le 4.

Vì sao đúng?

Đây là câu trả lời cho câu hỏi tô màu bản đồ nguyên gốc mà Francis Guthrie đặt ra năm 1852: bốn màu luôn đủ cho mọi bản đồ phẳng, và chặn này chặt, vì một số đồ thị phẳng (chẳng hạn bản đồ có bốn vùng đôi một tiếp giáp nhau) thực sự cần đủ cả bốn màu.

Chứng minh

Quy về phản ví dụ nhỏ nhất. Nếu định lý sai, lấy một đồ thị phẳng cần từ 5 màu trở lên với số đỉnh ít nhất có thể. Thêm cạnh vào một đồ thị phẳng mà vẫn giữ tính phẳng chỉ có thể làm tăng số màu cần dùng, nên phản ví dụ nhỏ nhất này có thể coi là một đồ thị phẳng cực đại (một phép tam giác hóa), trong đó mọi miền, kể cả miền ngoài, đều được giới hạn bởi đúng 3 cạnh.

Thiết lập phương pháp xả điện tích. Gán cho mỗi đỉnh vv một điện tích ban đầu 6−deg⁡(v)6 - \deg(v). Dùng V−E+F=2V - E + F = 2 cùng với 2E=∑vdeg⁡(v)2E = \sum_v \deg(v) và 3F≤2E3F \le 2E (mỗi miền có ít nhất 3 cạnh), tổng điện tích trên mọi đỉnh tính ra đúng bằng 1212, do đó dương ngặt. Phương pháp xả điện tích sau đó chuyển điện tích cục bộ giữa các đỉnh lân cận theo một tập quy tắc cố định, không làm thay đổi tổng này; phân tích xem điện tích dương còn sót ở đâu sau khi xả cho thấy phải tồn tại một đỉnh bậc thấp cùng một kiểu lân cận cụ thể nào đó xuất hiện đâu đó trong đồ thị. Hữu hạn các kiểu này gọi là các cấu hình không thể tránh, vì ít nhất một trong chúng luôn có mặt trong mọi phép tam giác hóa phẳng.

Tính khử được. Một cấu hình được gọi là khử được nếu, mỗi khi nó xuất hiện trong một phản ví dụ nhỏ nhất giả định, mọi cách tô 4 màu của đồ thị nhỏ hơn thu được bằng cách bỏ hoặc co cấu hình đó luôn có thể mở rộng lại thành một cách tô 4 màu của toàn đồ thị, mâu thuẫn với tính nhỏ nhất. Appel và Haken (1976) đã kiểm tra bằng máy tính rằng mọi cấu hình trong danh sách 1.936 cấu hình không thể tránh của họ (sau này được rút gọn còn 633 bởi Robertson, Sanders, Seymour và Thomas năm 1997) đều khử được, dùng hơn một nghìn giờ máy tính. Điều này khiến định lý bốn màu trở thành định lý lớn đầu tiên có chứng minh dựa cốt yếu vào tính toán máy móc, sau đó được kiểm chứng lại độc lập và, năm 2005, được kiểm tra hình thức từng dòng trong trợ lý chứng minh Coq bởi Gonthier.

Kết luận. Vì mọi cấu hình không thể tránh đều khử được, không thể tồn tại phản ví dụ nhỏ nhất: không đồ thị phẳng nào cần từ 5 màu trở lên, nên χ(G)≤4\chi(G) \le 4 với mọi đồ thị phẳng GG.

Đại họcỨng dụng thực tiễn và Ví dụ minh họa

Tô màu đồ thị xuất hiện bất cứ khi nào các công việc xung khắc cần tách biệt, còn các công việc không xung khắc có thể dùng chung tài nguyên. Trình biên dịch dùng nó để gán một số lượng hạn chế thanh ghi CPU cho các biến chương trình (cấp phát thanh ghi): hai biến cùng "sống" tại một thời điểm được nối một cạnh, và một cách gán thanh ghi hợp lệ chính là một cách tô màu hợp lệ. Các trường đại học dùng nó để xếp lịch thi cuối kỳ: hai môn có chung sinh viên được nối một cạnh, và số kíp thi tối thiểu chính là số tô màu của đồ thị xung đột đó. Mạng không dây dùng nó để gán tần số vô tuyến cho các trạm phát sao cho các trạm gần nhau (có thể gây nhiễu nhau) không bao giờ dùng chung một tần số.

Ví dụ: Cấp phát thanh ghi cho bốn biến tạm

Một trình biên dịch theo dõi bốn biến tạm a,b,c,da, b, c, d trong một vòng lặp. Khoảng sống của chúng chồng lấp như sau: aa chồng lấp với bb và cc; bb chồng lấp với aa, cc và dd; cc chồng lấp với aa, bb và dd; dd chỉ chồng lấp với bb và cc. Hãy dựng đồ thị xung đột và tìm số thanh ghi CPU tối thiểu cần dùng.

Lời giải

Dựng đồ thị. Đỉnh a,b,c,da, b, c, d; cạnh ab,ac,bc,bd,cdab, ac, bc, bd, cd (từ các chồng lấp đã cho), không có cạnh adad vì aa và dd không bao giờ chồng lấp.

Tìm tam giác. Các đỉnh a,b,ca, b, c đôi một kề nhau (có đủ cả abab, acac, bcbc), nên đồ thị này chứa một tam giác, nghĩa là cần ít nhất 3 thanh ghi: 2 thanh ghi không bao giờ tô hợp lệ được một tam giác, vì mọi cách tô 2 màu đều buộc hai trong ba đỉnh đôi một kề nhau phải trùng màu.

Thử 3 màu (thanh ghi) 1,2,31, 2, 3. Đặt a=1a=1, b=2b=2, c=3c=3 (buộc phải khác nhau vì chúng tạo thành tam giác). Bây giờ xét dd: dd kề với bb (màu 2) và cc (màu 3) nhưng không kề aa, nên dd có thể nhận màu 1 một cách an toàn.

Kết luận. Cách tô a=1,b=2,c=3,d=1a=1, b=2, c=3, d=1 là hợp lệ, nên 3 thanh ghi là đủ, và 3 cũng là cần thiết vì có tam giác {a,b,c}\{a,b,c\}. Số thanh ghi tối thiểu là 3.

Ví dụ: Xếp lịch thi với số kíp thi ít nhất

Một trường đại học mở năm môn 1,2,3,4,51, 2, 3, 4, 5. Một số cặp môn có chung ít nhất một sinh viên đăng ký nên không thể thi cùng lúc: các cặp (1,2)(1,2), (1,3)(1,3), (2,3)(2,3), (2,4)(2,4), (3,4)(3,4), (4,5)(4,5) xung đột; mọi cặp còn lại không có sinh viên chung nào. Hãy tìm số kíp thi tối thiểu để không sinh viên nào phải thi hai môn cùng lúc.

Lời giải

Mô hình hóa thành đồ thị. Đỉnh 1,2,3,4,51,2,3,4,5 là các môn học; vẽ một cạnh cho mỗi cặp xung đột: 12,13,23,24,34,4512, 13, 23, 24, 34, 45. Số kíp thi tối thiểu chính bằng χ(G)\chi(G) của đồ thị xung đột này, vì hai môn có thể dùng chung một kíp đúng khi chúng không kề nhau.

Tìm chặn dưới. Các đỉnh 1,2,31, 2, 3 đôi một kề nhau (có đủ 12,13,2312, 13, 23), nên tạo thành một tam giác; như mọi tam giác, 2 màu là không đủ, nên cần ít nhất 3 kíp.

Thử 3 kíp. Gán môn 11 vào kíp A, môn 22 vào kíp B, môn 33 vào kíp C (buộc phải khác nhau vì tam giác). Môn 44 xung đột với 22 (kíp B) và 33 (kíp C) nhưng không xung đột với 11, nên môn 44 có thể vào kíp A. Môn 55 chỉ xung đột với 44 (kíp A), nên môn 55 có thể vào kíp B (hoặc C).

Kết luận. Kíp A ={1,4}= \{1, 4\}, kíp B ={2,5}= \{2, 5\}, kíp C ={3}= \{3\} là một lịch thi hợp lệ không xung đột, và 3 là tối ưu vì có tam giác {1,2,3}\{1,2,3\}. Vậy cần và đủ 3 kíp thi.

Số tô màu χ(G)\chi(G) của đồ thị đầy đủ K5K_5 với 5 đỉnh là bao nhiêu?

Một đồ thị GG có bậc lớn nhất Δ(G)\Delta(G) =4= 4. Chặn trên tốt nhất cho χ(G)\chi(G) mà chặn tô màu tham lam đảm bảo là bao nhiêu?

Appel và Haken công bố chứng minh đầu tiên của định lý bốn màu, dựa vào máy tính để kiểm tra hàng nghìn cấu hình không thể tránh, vào năm nào?

Một trường đại học mô hình hóa xung đột thi cử bằng đồ thị GG: mỗi môn học là một đỉnh, và hai môn được nối cạnh mỗi khi có sinh viên đăng ký cả hai. Số kíp thi tối thiểu có thể bằng gì?

Tài liệu tham khảo

  1. Kenneth Appel, Wolfgang Haken (1977). Every Planar Map Is Four Colorable, Part I: Discharging
  2. Neil Robertson, Daniel P. Sanders, Paul Seymour, Robin Thomas (1997). The Four-Colour Theorem
  3. Georges Gonthier (2008). Formal Proof—The Four-Color Theorem
  4. Reinhard Diestel (2017). Graph Theory