Phát biểu bài toán
Cho đồ thị GV E, có n đỉnh. Hãy tìm cách để tô các đỉnh của đồ thị sao cho hai đỉnh bất kỳ kề nhau có màu tô khác nhau.
Để tô màu một đồ thị G, ta có thể sử dụng thuật toán Welsh-Powell
Thuật toán Welsh-Powell về tô màu đồ thị:
Bƣớc 1. Tìm bậc của đồ thị;
Bƣớc 2. Sắp xếp các đỉnh G theo bậc giảm dần;
Bƣớc 3. Dùng một màu để tô màu cho đỉnh đầu tiên có bậc cao nhất; Bƣớc 4. Tiếp tục duyệt các đỉnh của danh sách theo thứ tự đƣợc sắp, tô màu tất cả các đỉnh không kề với các đỉnh đã đƣợc tô trƣớc đó cùng màu với các đỉnh vừa đƣợc tô. Sau đó xóa tất cả các đỉnh vừa đƣợc tô khỏi danh sách;
Bƣớc 5. Lặp lại từ Bước 3. Việc tô các đỉnh trong danh sách sẽ thực hiện bằng màu khác với các màu đã đƣợc sử dụng trƣớc đó.
Bƣớc 6. Dừng lại quá trình khi danh sách rỗng.
Ví dụ: Dùng thuật toán Welsh–Powell để tô màu của đồ thị sau:
Hình 1.19 Đồ thị liên thông gồm 6 đỉnh chƣa tô màu
Bƣớc 1. Tìm bậc của các đỉnh Ta có đỉnh: V1 V2 V3 V4 V5 V6 Bậc 4 2 4 3 2 3 Bƣớc 2. Sắp xếp các đỉnh G theo bậc giảm dần Ta có đỉnh: V1 V3 V4 V6 V2 V5 Bậc 4 4 3 3 2 2
Bƣớc 3. Dùng một màu để tô màu cho đỉnh đầu tiên có bậc cao nhất
Bƣớc 4.
V3 không tô màu đỏ vì kề với V1
V4 không tô màu đỏ vì kề với V1
V6 không tô màu đỏ vì kề với V1
V2 không tô màu đỏ vì kề với V1
V5 tô màu đỏ.
Bỏ qua các đỉnh đã đƣợc tô màu, danh sách các đỉnh chƣa đƣợc tô màu theo thứ tự bậc giảm dần nhƣ sau:
V3V4 V6 V2
Bƣớc 5. Lặp lại quá trình trên với màu thứ hai
V3 tô màu vàng
V4 không tô màu vàng vì kề với V3
V6 tô màu vàng
V2 không tô màu vàng vì kề với V3
Bỏ qua các đỉnh đã đƣợc tô màu, danh sách các đỉnh chƣa đƣợc tô màu theo thứ tự bậc giảm dần nhƣ sau:
V4 V2
Lặp lại quá trình trên với màu thứ ba
V4 tô màu xanh
V2 tô màu xanh
Hình 1.20 Đồ thị liên thông 6 đỉnh sau khi đã đƣợc tô màu
Thuật toán Welsh-Powell trên chúng tôi đƣa về đoạn giả mã sau đây:
…
Mau:=1; i:=1; Mau(vi):=Mau; DaTo:={vi}; While (i<=n) do
Begin j:=i+1;
While (j<=n)& (vjDaTo) do Begin If vjKe(DaTo) then Begin Mau(vj):=Mau; DaTo:=DaTo{vj}; End; j:=j+1; End; i:=i+1; Mau:=Mau+1; …
Chƣơng 2. BIỂU DIỄN DỮ LIỆU VÀ THIẾT KẾ HỆ THỐNG