Tải bản đầy đủ (.pptx) (13 trang)

Thuật toán tô màu đồ thị

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (187.15 KB, 13 trang )

THUẬT TOÁN TÔ MÀU ĐỒ
THỊ




Khái niện tô màu đồ 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 đó.


VÍ DỤ VỀ ĐỒ THỊ




Tô màu đồ thị có 3 loại:


Tô theo đỉnh **: 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ô theo cạnh: 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ô theo miền: 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.


Một số định lí liên quan:

Mọi chu trình độ dài lẻ
đều có sắc số là 3

Nếu G có chứa một đồ thị con
đẳng cấu với Kn thì x(G)>=n;

Một đơn đồ thị có thể tô
bằng 2 màu khi và chỉ khi nó
không có chu trình độ dài lẻ.

Mọi đồ thị phẳng đều có số sắc số
không lớn hơn 4


tô màu theo đỉnh.

Tô màu theo
bậc

Giải thuật Tham
lam(Greedy)

Giải thuật
Welch- Powell



Tô màu theo bậc

Ý tưởng:
While(tất cả các đỉnh đã được tô)
{
Bước 1: tô màu I cho đỉnh có bậc lớn nhất
Bước 2: + Bậc của đỉnh được tô màu thi hạ xuống 0
+ Bậc của đỉnh kề với đỉnh đã tô thị: bậc=bâc-1
Bước 3: cấm tô màu I cho các đỉnh vừa bị hạ bậc
}

Ưu khuyết của thuật toán:
Chương trình chạy khá tốt, độ phức tạp O(n^2) nhưng chưa chắc đã cho sắc số nhỏ nhất


Giải thuật tham lam (greedy)

Ý tưởng: Dùng màu thứ nhất tô cho tất cả các đỉnh của đồ thị có thể tô
được, sau đó dùng màu thứ hai tô tất cả các đỉnh của đồ thị còn lại có
thể và cứ như thế cho đến khi tô hết tất cả các đỉnh của đồ thị.
Ưu, khuyết điểm của thuật toán: Với thuật toán trên việc cài đặt dễ
dàng hơn nhưng hiệu quả không cao, thuật toán chỉ đáp ứng được yêu
cẩu bài toán đặt ra, nhưng không phải với số màu ít nhất có thể tô
được.


Ví dụ ta có hình dưới:


Vz

Với đồ thị này áp dụng giải thuật tham lam trên
ta cần phải dùng đến bốn màu trong khi chỉ cần ba mầu là đủ .


Thuật giải Welch Powell

Giải thuật:Về ý tưởng thuật giống như thuật giải vừa nêu, nhưng ta sẽ sắp
xếp các đỉnh theo thứ tự bậc đỉnh giảm dần,việc làm như thế sẽ hạn chế được
số màu cần tô cho đô thị, mã giải tương tự như thuật giải trên:
1. Sắp xếp các đỉnh của G theo bậc giảm dần
2. Dùng một màu để tô đỉnh đầu tiên và cũng dùng màu này
để tô màu các đỉnh liên tiếp trong danh sách mà không kề
với đỉnh đầu tiên
3. Bắt đầu trở lại danh sách, tô màu thứ hai cho đỉnh chưa
được tô và lập lại quá trình cho đến khi tất cả các đỉnh được
tô màu




Chú ý: Thuật toán Welch-Powell chưa cho ta sắc số của một đồ thị G,
nó chỉ giúp ta một cách tiếp cận để tìm sắc số của một đồ thị. Để tìm
sắc số của một đồ thị thì sau khi tô màu xong ta phải sử dụng các
định lý, các tính chất đã học của lý thuyết đồ thị để khẳng định số
màu được dùng là ít nhất và từ đó suy ra sắc số của đồ thị. Bài toán
tìm sắc số của một đồ thị là một bài toán khó và không phải đồ thị
nào cũng tìm được sắc số của nó một cách dễ dàng.



Ví dụ về giải thuật:

Ta có đỉnh                   v1       v3       v4      v6       v2       v5
bậc:                  4        4         3       3        2        2
màu                  a        b         c        b        c        a
Ta lại có G chứa đồ thị con đẳng cấu với K3 bao gồm các đỉnh v1, v2, v3     (G)  3.
  Do G có chứa đồ thị con là K3 nên theo định lý 2 ta có (G)  . Ta có thể dùng 3 màu để tô G là ít nhất 
 (G) = 3


Ứng Dụng



×