Bài toán cây phủ tối thiểu

Một phần của tài liệu KĨ THUẬT THIẾT KẾ GIẢI THUẬT (Trang 40)

Cho G = (V,E) là một đồ thị vô hướng liên thông, trong đó V là tập các đỉnh và E là tập các cạnh. Các cạnh của đồ thị G đều có trọng số. Cây T có tập hợp các nút là V được gọi là cây phủ (spaning tree) của đồ thị G.

Cây phủ tối thiểu là một cây phủ của G mà tổng độ dài (trọng số) các cạnh nhỏ nhất. Bài toán cây phủ tối thiểu thường được áp dụng trong việc thiết kế một mạng lưới giao thông giữa các thành phố hay thiết kế một mạng máy tính.

Kĩ thuật tìm kiếm địa phương áp dụng vào bài toán này như sau: • Phương án ban đầu là một cây phủ nào đó.

2 1) - n(n • Thành lập tập tất cả các cạnh theo thứ tăng dần của độ dài (có cạnh đối với đồ thị có n đỉnh).

• Phép biến đổi địa phương ở đây là: Chọn một cạnh có độ dài nhỏ nhất trong tập các cạnh chưa sử dụng để thêm vào cây. Trong cây sẽ có một chu trình, loại khỏi chu trình cạnh có độ dài lớn nhất trong chu trình đó. Ta được một cây phủ mới. Lặp lại bước này cho đến khi không còn cải thiện được phương án nữa.

Ví dụ 3-12: Cho đồ thị G bao gồm 5 đỉnh a, b, c, d,e và độ dài các cạnh được cho trong hình 3-15.

Tập hợp các cạnh để xét được thành lập theo thứ tự từ nhỏđến lớn là ad, ab, be, bc, ac, cd, bd, de, ae và ce.

c 2 8 6 4 3 7 6 5 4 3 e d a b

Hình 3-15: Bài toán cây phủ tối thiểu

Cây xuất phát với giá là 20 (Hình 3- 16). Thêm cạnh ad = 2, bỏ cạnh cd = 5 ta được cây mới có giá là 17 (Hình 3-17).

Lại thêm cạnh ab = 3, bỏ cạnh bc = 4 ta được cây có giá là16 (Hình 3-18). Thêm cạnh be = 3, bỏ cạnh ae = 7 ta được cây có giá là 12. (Hình 3-19). Việc áp dụng các phép biến đổi đến đây dừng lại vì nếu tiếp tục nữa thì cũng không cải thiện được phương án.

Một phần của tài liệu KĨ THUẬT THIẾT KẾ GIẢI THUẬT (Trang 40)