Thuật toán tô màu tham lam
Trang Mô đun:Message box/ambox.css không có nội dung.
Bài viết này cần thêm chú thích nguồn gốc để kiểm chứng thông tin. |
Trong lý thuyết đồ thị và trí tuệ nhân tạo, Thuật toán tô màu tham lam (tiếng Anh: Greedy coloring) là một trong những phương pháp tô màu cho đồ thị áp dụng giải thuật tham lam (tiếng Anh: Greedy algorithm). Thuật toán tô màu Greedy chưa phải là một thuật toán tô màu hoàn toàn chính xác. Có hai trường hợp tiêu biểu thể hiện sự chưa chính xác của thuật toán.
- Đôi khi áp dụng thuật giải này ta sẽ nhận được kết quả với số màu được tô không phải là ít nhất.
- Trên cùng một đồ thị, khi áp dụng thuật toán có thể ra các kết quả khác nhau.
Thuật toán
Tư tưởng thuật toán
Thuật toán tô màu tham lam xem xét đồ thị với tập hợp các đỉnh và tập các đỉnh kề . Đầu tiên ta xét các đỉnh theo thứ tự và gán cho mỗi đỉnh một màu riêng theo nguyên tắc: các đỉnh không kề với đỉnh đang xét (không có cạnh nối trực tiếp) thì được phép tô cùng một màu, cấm tô màu đó cho các đỉnh có cạnh kề với đỉnh đang xét. Thuật toán lặp lại cho đến khi tất cả các đỉnh được tô màu.
Mã giả
SET .
SET .
FOR .
{ Tô màu k > 0 cho đỉnh vj khác với đỉnh kề nó
MIN AND
} Lặp lại đến tô màu xong.
Minh họa thuật giải
-
Tô màu đỉnh 1
-
Tô màu đỉnh 2
-
Tô màu đỉnh 3
-
Tô màu đỉnh 4
-
Tô màu đỉnh 5
Xem thêm
Tham khảo
- Lỗi Lua trong Mô_đun:Citation/CS1/Configuration tại dòng 2286: attempt to index field '?' (a nil value).. As cited by Lỗi Lua trong package.lua tại dòng 80: module 'Mô đun:Footnotes/anchor_id_list' not found..
- Lỗi Lua trong Mô_đun:Citation/CS1/Configuration tại dòng 2286: attempt to index field '?' (a nil value)..
- Lỗi Lua trong Mô_đun:Citation/CS1/Configuration tại dòng 2286: attempt to index field '?' (a nil value).. As cited by Lỗi Lua trong package.lua tại dòng 80: module 'Mô đun:Footnotes/anchor_id_list' not found..
- Lỗi Lua trong Mô_đun:Citation/CS1/Configuration tại dòng 2286: attempt to index field '?' (a nil value)..
- Lỗi Lua trong Mô_đun:Citation/CS1/Configuration tại dòng 2286: attempt to index field '?' (a nil value).. As cited by Lỗi Lua trong package.lua tại dòng 80: module 'Mô đun:Footnotes/anchor_id_list' not found..
- Lỗi Lua trong Mô_đun:Citation/CS1/Configuration tại dòng 2286: attempt to index field '?' (a nil value)..
- Lỗi Lua trong Mô_đun:Citation/CS1/Configuration tại dòng 2286: attempt to index field '?' (a nil value)..
- Lỗi Lua trong Mô_đun:Citation/CS1/Configuration tại dòng 2286: attempt to index field '?' (a nil value)..
- Lỗi Lua trong Mô_đun:Citation/CS1/Configuration tại dòng 2286: attempt to index field '?' (a nil value)..
- Lỗi Lua trong Mô_đun:Citation/CS1/Configuration tại dòng 2286: attempt to index field '?' (a nil value)..
- Lỗi Lua trong Mô_đun:Citation/CS1/Configuration tại dòng 2286: attempt to index field '?' (a nil value)..
- Lỗi Lua trong Mô_đun:Citation/CS1/Configuration tại dòng 2286: attempt to index field '?' (a nil value)..
- Lỗi Lua trong Mô_đun:Citation/CS1/Configuration tại dòng 2286: attempt to index field '?' (a nil value)..