Tô màu đồ thị
Trong Lý thuyết đồ thị, tô màu đồ thị (tiếng Anh: graph coloring) là trường hợp đặc biệt của gán nhãn đồ thị, mà trong đó mỗi đỉnh hay mỗi cạnh hay mỗi miền của đồ thị có thể được gán bởi một màu hay một tập hợp các màu nào đó. Tô màu đồ thị có thể là:
- tô màu đỉnh (tiếng Anh: vertex coloring) là gán cho mỗi đỉnh của đồ thị một màu nào đó sao cho không có hai đỉnh nào liền kề lại trùng màu nhau;
- tô màu cạnh (tiếng Anh: edge coloring) là gán cho mỗi cạnh của đồ thị một màu nào đó sao cho sao cho không có 2 cạnh nào trùng màu;
- tô màu miền (tiếng Anh: face coloring) là gán cho mỗi miền của đồ thị phẳng một màu sao cho không có 2 miền có chung đường biên lại cùng màu.
Sắc số (tiếng Anh: chromatic number) của một đồ thị là số màu ít nhất để tô các đỉnh. Sắc số của đồ thị G được kí hiệu là χ(G).
Số màu cạnh (tiếng Anh: chromatic index) của một đồ thị là số màu ít nhất dùng để tô các cạnh. Số màu cạnh của đồ thị G được kí hiệu là χ'(G).
Số màu cạnh của đồ thị G bất kì bằng sắc số của đồ thị đường L((G)) của đồ thị đó:
- χ'(G) = χ(L(G)),
do đó việc nghiên cứu tô màu cạnh của G tương đương với nghiên cứu tô màu đỉnh của L(G).
Mục lục |
Các định lí và tính chất [sửa]
Các giá trị giới hạn của sắc số [sửa]
Rõ ràng sắc số của một đồ thị sẽ không vượt quá số đỉnh của nó (bậc của đồ thị):
.
Nếu G có clique kích thước k thì cần ít nhất k màu để tô màu đỉnh cho clique này (xem thêm bài về đồ thị đầy đủ), như vậy sắc số của một đồ thị sẽ không nhỏ hơn chỉ số clique của đồ thị đó:
Nếu đồ thị đơn G có bậc cực đại bằng Δ(G) thì sắc số của nó không vượt quá Δ(G)+1[1].
Tổng quát hơn là định lý Brook, định lý khẳng định rằng:
- Tất cả mọi đồ thị đơn và liên thông G, ngoại trừ đồ thị đầy đủ
và đồ thị chu trình bậc lẻ
, đều có sắc số nhỏ hơn hoặc bằng bậc cực đại:
Δ(G).
Nếu đồ thị G có m cạnh thì sắc số của nó thỏa mãn:
Một số định lý liên quan của sắc số [sửa]
Định lý 1 [sửa]
Bất cứ chu trình độ dài lẻ nào cũng đều có sắc số bằng 3
Chứng minh: Giả sử chu trình có độ dài là
ta chứng minh theo số 
chu trình gồm 3 đỉnh mà 2 đỉnh bất kì đều kề nhau
dùng đúng 3 màu để tô
Giả sử
là một chu trình có độ dài
với các dãy đỉnh là
,
,...,
,
,
.
Nối
với
ta được một chu trình
'có độ dài
.
Theo giả thuyết quy nạp chu trình
' có sắc số bằng 3.
Lấy màu của
tô cho
còn màu của
tô cho
.
Chu trình
được tô màu mà không thêm màu mới vào.
Vậy chu trình
có sắc số bằng 3
Định lý 2 [sửa]
Đồ thị đầy đủ n đỉnh Kn có sắc số bằng n
Một số tiêu chuẩn đơn giản để kiểm tra xem 1 đồ thị có hai sắc số hay không:
- Ta có định lý: Giả sử đồ thị G có ít nhất một cạnh. Đồ thị G có hai sắc số khi và chỉ khi G không có chu trình đơn vô hướng độ dài lẻ.
Chứng minh:
- Giả sử G là đồ thị có hai sắc số. Theo Định lý 1 thì G không thể có chu trình đơn vô hướng độ dài lẻ.
- Ngược lại giả sử G không có chu trình đơn vô hướng độ dài lẻ. Không mất tính tổng quát có thể xem G liên thông.
Chọn 1 đỉnh a nào đó bất kì trong đồ thị
Đặt
(m: số màu)
Với
Ta ký hiệu
là độ dài đường đi vô hướng ngắn nhất nối
với
Đặt
mod 2
Ta sẽ chứng minh m là hàm màu của G
Giả sử
kề nhau
- Lấy
là đường đi vô hướng ngắn nhất nối a với x có độ dài 
là đường đi vô hướng ngắn nhất nối
với
có độ dài 
Chu trình đơn
có độ dài
phải là một số chẵn
Vậy thì
là một số lẻ
khác nhau tính chẵn lẻ


Hàm tô màu m có hai giá trị, vậy sắc số ≤ 2. G có ít nhất một cạnh nên sắc số của nó bằng 2
Từ định lý trên ta có hệ quả sau: Tất cả các chu trình độ dài chẵn đều có sắc số bằng 2.
Các giá trị giới hạn của số màu cạnh [sửa]
Định lí 1 [sửa]
- Số màu cạnh của đồ thị đơn G bất kì không vượt quá số đỉnh của nó.
Định lý König khẳng định rằng đối với đồ thị hai phía G, số màu cạnh của nó bằng bậc cực đại của nó:
.
Định lý Vizing khẳng định rằng, nếu đồ thị đơn G có bậc cực đại bằng
thì số màu cạnh của nó bằng
hoặc
.
Đa thức màu [sửa]
Xem bài đa thức màu.
Sắc số và số màu cạnh của một số đồ thị cơ bản [sửa]
Khái niệm sắc số liên quan đến bài toán tô màu như sau: Hãy tô màu các đỉnh của đồ thị đã cho, sao cho 2 đỉnh kề phải được tô bằng hai màu khác nhau
Đồ thị hai phía [sửa]
Đồ thị hai phía đầy đủ
có sắc số bằng 2: χ(
)=2. Mở rộng: một đồ thị hai phía bất kì có sắc số không vượt quá 2.
Ví dụ minh họa là các đỉnh của đồ thị
có thể được tô bởi hai màu xanh và đỏ.
Đồ thị chu trình [sửa]
Đồ thị chu trình
có sắc số bằng:
- χ(
)= 3, nếu n lẻ. - χ(
)= 2, nếu n chẵn.
Số màu cạnh:
- χ'(
)= 3, nếu n lẻ. - χ'(
)= 2, nếu n chẵn.
Đồ thị bánh xe [sửa]
Đồ thị bánh xe
(n≥4) có sắc số bằng:
- χ(
)= 4, nếu n chẵn; - χ(
)= 3, nếu n lẻ.
Số màu cạnh (n≥3):
- χ'(
)= n-1.
Đồ thị đầy đủ [sửa]
-
Đồ thị đầy đủ 7 đỉnh có sắc số bằng 7.
Đồ thị đầy đủ
có sắc số bằng:
- χ(
) = n.
Số màu cạnh:
- χ'(
) = n, nếu n lẻ. - χ'(
) = n-1, nếu n chẵn.
Đồ thị siêu khối [sửa]
Đồ thị siêu khối
có sắc số bằng 2, vì bản thân nó là đồ thị phân đôi.
Ứng dụng [sửa]
Tô màu bản đồ [sửa]
Trên các bản đồ, các miền khác nhau (miền ở đây được hiểu là các quốc gia trên bản đồ thế giới hay các tỉnh trong một bản đồ hành chính quốc gia) được tô màu sao cho 2 miền có chung biên giới không trùng màu nhau. Đối với bản đồ có nhiều miền, nếu ta dùng một số lượng lớn màu thì sẽ rất khó phân biệt các miền có màu gần giống nhau, vì thế người ta chỉ dùng một số lượng màu nhất định để tô màu bản đồ. Một bài toán được đặt ra là: có thể dùng ít nhất bao nhiêu màu để tô màu một bản đồ sao cho các miền kề nhau không cùng một màu[2] (tr.593).
Bài toán này dẫn đến định lý bốn màu nổi tiếng và định lý năm màu[3] .
Bài toán áp dụng vào thực tế: Tô màu bản đồ nước Mỹ [sửa]
Đề bài:
Tô màu bản đồ nước mỹ gồm 14 tiểu bang (tiêu biểu) sao cho hai tiểu bang giáp ranh không cùng chung một màu và sao cho số màu sử dụng là ít nhất. Xem hình
Bài làm:
Bước 1: Lập ma trận kề
Quy ước:
- Đỉnh: là các tiểu bang
Đỉnh 1 - California
Đỉnh 2 - Nevada
Đỉnh 3 - Alizona
Đỉnh 4 - Utah
Đỉnh 5 - Colorado
Đỉnh 6 - Nebraska
Đỉnh 7 - Kasas
Đỉnh 8 - Oklahoma
Đỉnh 9 - Texas
Đỉnh 10 - Arkansas
Đỉnh 11 - Louisiana
Đỉnh 12 - Mississippi
Đỉnh 13 - Alaboma
Đỉnh 14 - Florida
- Cạnh: thể hiện mối quan hệ giữa hai tiểu bang
Giá trị 0: hai đỉnh không có đường nối trực tiếp
Giá trị 1: hai đỉnh có đường nối trực tiếp
- Màu: màu
- Ma trận kề (xem hình)
Bước 2: Tính bậc của từng đỉnh
(xem hình)
Bước 3: Tô màu theo nguyên lý Greedy
(xem hình)
Bước 4: Kết luận
14 tiểu bang nước Mỹ tô ít nhất 3 màu
- Màu 1: California, Utah, Nebraka, Olklahoma, Louisiana, Florida
- Màu 2: Nevada, Colorado, Texas, Alabama
- Màu 3: Aiona, Kansas, Arkansas
Một số thuật toán tô màu và code mẫu [sửa]
Thuật toán tô màu FF [sửa]
Thuật toán FF (First Fit) là thuật toán tô màu các đỉnh theo thứ tự đơn giản nhất.
Tư tưởng của thuật toán [sửa]
Lần lượt tô màu cho các đỉnh theo thứ tự của đỉnh, với mỗi đỉnh x, ta tô cho màu x có số thứ tự nhỏ nhất còn hợp lý (chưa tô màu x cho bất kỳ đỉnh nào kề x).
Code mẫu [sửa]
Ngôn ngữ lập trình C
#include <stdio.h> #include <stdio.h> #include <conio.h> #include <stdlib.h> int *doc_tep(int *a,int *n); void in_matran(int *a,int n); int ktra_mau(int *a,int *b,int *c,int n,int x); void ToMau(int *a,int n); void main()
{
int n,*a; a=doc_tep(a,&n); in_matran(a,n); ToMau(a,n); getch();
}
int *doc_tep(int *a,int *n)
{
FILE *f;
f=fopen("Graph2.INP","r");
if(f==NULL)
{
printf("nLoi Mo Tep.");
getch();
exit(1);
}
fscanf(f,"%d",n);
a=(int *) malloc(*n**n*sizeof(int));
for(int i=0;i<*n;i++)
for(int j=0;j<*n;j++)
fscanf(f,"%d",(a+i**n+j));
fclose(f);
return a;
}
void in_matran(int *a,int n) {
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
printf("%5d",*(a+i*n+j));
printf("nn");
}
}
int ktra_mau(int *a,int *b,int *c,int n,int d,int x) //Dinh d,mau x {
for(int j=0;j<n;j++)
if(*(a+d*n+j)!=0 && j!=d && *(b+j)==x)
return 0;
return 1;
}
void ToMau(int *a,int n) {
int *b,*c;
b=(int *) calloc (n,sizeof(int));
c=(int *) calloc (n,sizeof(int));
*b=0; //To mau 0 cho dinh 1.
*c=1; //Danh dau dinh 1 da to mau.
for(int i=1; i<n;i++)
for(int j=0; j<n;j++)
if(ktra_mau(a,b,c,n,i,j)==1)
{
*(b+i)=j;
*(c+i)=1;
break;
}
printf("nTo Mau Cho Do Thi: n");
for(int i=0; i<n;i++)
printf("ntDinh %d ---> Mau %d",i+1,*(b+i));
}
Thuật toán tô màu Greedy [sửa]
Tư tưởng thuật toán [sửa]
Dùng màu thứ nhất tô cho một đỉnh tùy ý và các đỉnh khác có thể tô còn lại (không có cạnh nối nhau).
Sau đó dùng màu thứ hai tô tiếp cho các đỉnh có thể tô còn lại.
Và cứ như vậy…cho đến khi nào tô tất cả các đỉnh được tô màu hết.
Code mẫu [sửa]
Ngôn ngữ lập trình C
#include <stdio.h> #include <conio.h> #include <iostream.h> #include <stdlib.h> #include <dos.h> #define MAX 10 //khai bao bien
char *path = "D:\\dothi1.txt"; int n; int matrix[MAX][MAX]; int level[MAX]; int nocolor[MAX][MAX]; int color[MAX]; void ReadFile(char *path)
{
FILE *f;f=fopen(path,"r");
if(f==NULL){
cout<<"Unsucsess!";
exit(0);
}
else{
cout<<"Loading file is success!";
delay(800);
clrscr();
}
fscanf(f,"%d",&n);
for(int i=0;i<n;i++)
for(int j=0;j<n;j++)
fscanf(f,"%d",&matrix[i][j]);
//** Set 0 cho nocolor.
for(int x=0;x<n;x++)
for(int y=0;y<n;y++)
nocolor[x][y]=0;
}
void OutMat(int a[MAX][MAX])
{
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
cout<<a[i][j]<<" ";
}
cout<<"\n";
}
}
void SetLevel(int a[MAX][MAX])
{
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
if(a[i][j]==1)
level[i]++;
}
}
}
int EleMax(int l[MAX])
{
int eMax = 0,max=l[0];
for(int i=1;i<n;i++){
if(l[i]>max){
max=l[i];
eMax=i;
}
}
return eMax;
}
void ToMau(int a[MAX][MAX],int l[MAX],int nc[MAX][MAX])
{
int col;
int index,tmp ;
for(int x=0;x<10;x++){
//* Xet khi level deu =0;
tmp=0;
for(int y=0;y<n;y++)
tmp+=l[y];
if(tmp!=0){
index = EleMax(l);
//* Kiem tra mau.
col=1;
for(int i=0; i<n;i++){
if(nc[index][i]==col)
col++;
}
//* SET mau
color[index]=col;
l[index]=0;
//* Ha bac lien quan.
for(int j=0;j<n;j++)
if(a[index][j]==1 & l[j]!=0){
l[j]--;
}
//* Cam cac mau ko dc xai.
for(int h=0;h<n;h++)
if(a[index][h]==1)
nc[h][x]=col;
}
else{
for(int z=0;z<n;z++)if(color[z]==0){
col=1;
for(int i=0; i<n;i++){
if(nc[z][i]==col)
col++;
}
color[z]=col;
}
break;
}
}
}
void main()
{
ReadFile(path);
SetLevel(matrix);
OutMat(matrix);
ToMau(matrix,level,nocolor) ;
cout<<"\n";
cout<<"Dinh:\t";
for(int j=0;j<n;j++)
cout<<j+1<<" ";
cout<<"\n";
cout<<"Mau:\t";
for(int i=0;i<n;i++)
cout<<color[i]<<" ";
getch();
}
Xem thêm [sửa]
Chú thích [sửa]
Tham khảo [sửa]
- Barenboim, L.; Elkin, M. (2009), “Distributed (Δ + 1)-coloring in linear (in Δ) time”, Proceedings of the 41st Symposium on Theory of Computing, tr. 111–120, doi:10.1145/1536414.1536432, ISBN 978-1-60558-506-2
- Panconesi, A.; Srinivasan, A. (1996), “On the complexity of distributed network decomposition”, Journal of Algorithms 20
- Schneider, J. (2010), “A new technique for distributed symmetry breaking”, Proceedings of the Symposium on Principles of Distributed Computing
- Schneider, J. (2008), “A log-star distributed maximal independent set algorithm for growth-bounded graphs”, Proceedings of the Symposium on Principles of Distributed Computing
- Beigel, R.; Eppstein, D. (2005), “3-coloring in time O(1.3289n)”, Journal of Algorithms 54 (2)): 168–204, doi:10.1016/j.jalgor.2004.06.008
- Björklund, A.; Husfeldt, T.; Koivisto, M. (2009), “Set partitioning via inclusion–exclusion”, SIAM Journal on Computing 39 (2): 546–563, doi:10.1137/070683933
- Brèlaz, D. (1979), “New methods to color the vertices of a graph”, Communications of the ACM 22 (4): 251–256, doi:10.1145/359094.359101
- Brooks, R. L.; Tutte, W. T. (1941), “On colouring the nodes of a network”, Proceedings of the Cambridge Philosophical Society 37 (2): 194–197, doi:10.1017/S030500410002168X
- de Bruijn, N. G.; Erdős, P. (1951), “A colour problem for infinite graphs and a problem in the theory of relations”, Nederl. Akad. Wetensch. Proc. Ser. A 54: 371–373 (= Indag. Math. 13)
- Byskov, J.M. (2004), “Enumerating maximal independent sets with applications to graph colouring”, Operations Research Letters 32 (6): 547–556, doi:10.1016/j.orl.2004.03.002
- Chaitin, G. J. (1982), “Register allocation & spilling via graph colouring”, Proc. 1982 SIGPLAN Symposium on Compiler Construction, tr. 98–105, doi:10.1145/800230.806984, ISBN 0-89791-074-5
- Cole, R.; Vishkin, U. (1986), “Deterministic coin tossing with applications to optimal parallel list ranking”, Information and Control 70 (1): 32–53, doi:10.1016/S0019-9958(86)80023-7
- Cormen, T. H.; Leiserson, C. E.; Rivest, R. L. (1990), Introduction to Algorithms (ấn bản 1), The MIT Press
- Dailey, D. P. (1980), “Uniqueness of colorability and colorability of planar 4-regular graphs are NP-complete”, Discrete Mathematics 30 (3): 289–293, doi:10.1016/0012-365X(80)90236-8
- Duffy, K.; O'Connell, N.; Sapozhnikov, A. (2008), “Complexity analysis of a decentralised graph colouring algorithm”, Information Processing Letters 107 (2): 60–63, doi:10.1016/j.ipl.2008.01.002
- Fawcett, B. W. (1978), “On infinite full colourings of graphs”, Can. J. Math. XXX: 455–457
- Garey, M. R.; Johnson, D. S. (1979), Computers and Intractability: A Guide to the Theory of NP-Completeness, W.H. Freeman, ISBN 0-7167-1045-5
- Garey, M. R.; Johnson, D. S.; Stockmeyer, L. (1974), “Some simplified NP-complete problems”, Proceedings of the Sixth Annual ACM Symposium on Theory of Computing, tr. 47–63, doi:10.1145/800119.803884
- Goldberg, L. A.; Jerrum, M. (tháng 7 năm 2008), “Inapproximability of the Tutte polynomial”, Information and Computation 206 (7): 908–929, doi:10.1016/j.ic.2008.04.003
- Goldberg, A. V.; Plotkin, S. A.; Shannon, G. E. (1988), “Parallel symmetry-breaking in sparse graphs”, SIAM Journal on Discrete Mathematics 1 (4): 434–446, doi:10.1137/0401044
- Guruswami, V.; Khanna, S. (2000), “On the hardness of 4-coloring a 3-colorable graph”, Proceedings of the 15th Annual IEEE Conference on Computational Complexity, tr. 188–197, doi:10.1109/CCC.2000.856749, ISBN 0-7695-0674-7
- Halldórsson, M. M. (1993), “A still better performance guarantee for approximate graph coloring”, Information Processing Letters 45: 19–23, doi:10.1016/0020-0190(93)90246-6
- Holyer, I. (1981), “The NP-completeness of edge-coloring”, SIAM Journal on Computing 10 (4): 718–720, doi:10.1137/0210055
- Crescenzi, P.; Kann, V. (tháng 12 năm 1998), “How to find the best approximation results — a follow-up to Garey and Johnson”, ACM SIGACT News 29 (4): 90, doi:10.1145/306198.306210
- Jaeger, F.; Vertigan, D. L.; Welsh, D. J. A. (1990), “On the computational complexity of the Jones and Tutte polynomials”, Mathematical Proceedings of the Cambridge Philosophical Society 108: 35–53, doi:10.1017/S0305004100068936
- Jensen, T. R.; Toft, B. (1995), Graph Coloring Problems, Wiley-Interscience, New York, ISBN 0-471-02865-7
- Khot, S. (2001), “Improved inapproximability results for MaxClique, chromatic number and approximate graph coloring”, Proc. 42nd Annual Symposium on Foundations of Computer Science, tr. 600–609, doi:10.1109/SFCS.2001.959936, ISBN 0-7695-1116-3
- Kubale, M. (2004), Graph Colorings, American Mathematical Society, ISBN 0-8218-3458-4
- Kuhn, F. (2009), “Weak graph colorings: distributed algorithms and applications”, Proceedings of the 21st Symposium on Parallelism in Algorithms and Architectures, tr. 138–144, doi:10.1145/1583991.1584032, ISBN 978-1-60558-606-9
- Lawler, E.L. (1976), “A note on the complexity of the chromatic number problem”, Information Processing Letters 5 (3): 66–67, doi:10.1016/0020-0190(76)90065-X
- Leith, D.J.; Clifford, P. (2006), “A Self-Managed Distributed Channel Selection Algorithm for WLAN”, Proc. RAWNET 2006, Boston, MA
- Linial, N. (1992), “Locality in distributed graph algorithms”, SIAM Journal on Computing 21 (1): 193–201, doi:10.1137/0221015
- van Lint, J. H.; Wilson, R. M. (2001), A Course in Combinatorics (ấn bản 2), Cambridge University Press, ISBN 0-521-80340-3.
- Marx, Dániel (2004), “Graph colouring problems and their applications in scheduling”, Periodica Polytechnica, Electrical Engineering 48 (1–2), tr. 11–16, Bản mẫu:Citeseerx
- Mycielski, J. (1955), “Sur le coloriage des graphes”, Colloq. Math. 3: 161–162.
- Panconesi, Alessandro; Rizzi, Romeo (2001), “Some simple distributed algorithms for sparse networks”, Distributed Computing (Berlin, New York: Springer-Verlag) 14 (2): 97–100, doi:10.1007/PL00008932, ISSN 0178-2770
- Sekine, K.; Imai, H.; Tani, S. (1995), “Computing the Tutte polynomial of a graph of moderate size”, Proc. 6th International Symposium on Algorithms and Computation (ISAAC 1995), Lecture Notes in Computer Science 1004, Springer, tr. 224–233, doi:10.1007/BFb0015427, ISBN 3-540-60573-8
- Welsh, D. J. A.; Powell, M. B. (1967), “An upper bound for the chromatic number of a graph and its application to timetabling problems”, The Computer Journal 10 (1): 85–86, doi:10.1093/comjnl/10.1.85
- West, D. B. (1996), Introduction to Graph Theory, Prentice-Hall, ISBN 0-13-227828-6
- Wilf, H. S. (1986), Algorithms and Complexity, Prentice–Hall
- Zuckerman, D. (2007), “Linear degree extractors and the inapproximability of Max Clique and Chromatic Number”, Theory of Computing 3: 103–128, doi:10.4086/toc.2007.v003a006
- Zykov, A. A. (1949), “О некоторых свойствах линейных комплексов (On some properties of linear complexes)”, Math. Sbornik. (bằng Russian), 24(66) (2): 163–188
- Jensen, Tommy R.; Toft, Bjarne (1995), Graph Coloring Problems, John Wiley & Sons, ISBN 0-471-02865-7, 9780471028659 Kiểm tra giá trị
|isbn=(trợ giúp)
Liên kết ngoài [sửa]
- Graph Coloring Page by Joseph Culberson (graph coloring programs)
- CoLoRaTiOn by Jim Andrews and Mike Fellows is a graph coloring puzzle
- Links to Graph Coloring source codes
- Code for efficiently computing Tutte, Chromatic and Flow Polynomials by Gary Haggard, David J. Pearce and Gordon Royle
- Graph Coloring Web Application
.
Δ(G).
là số tự nhiên lớn nhất thỏa mãn:


,
.
, từ đó suy ra sắc số của G không vượt quá
chu trình gồm 3 đỉnh mà 2 đỉnh bất kì đều kề nhau
Giả sử
với các dãy đỉnh là
,...,
là đường đi vô hướng ngắn nhất nối
có độ dài
có hai đỉnh bất kì liền kề và
.
.
;
tô được bởi ít nhất 3 màu.
tô được bởi ít nhất 2 màu.
tô được bởi ít nhất 4 màu.
tô được bởi ít nhất 3 màu.
có số màu cạnh bằng 5.
có số màu cạnh bằng 3.
.

, trong đó
là các đầu mút đôi một phân biệt. Như vậy có 2k đỉnh có cạnh liên thuộc tô bởi màu M, mà n lẻ nên tồn tại ít nhất một đỉnh
nào đó không có cạnh liên thuộc tô bởi màu M. Như vậy các cạnh liên thuộc với đỉnh
(vô lí).
bằng 2.
bằng 2.