Thuật toán ACO-CSP

Một phần của tài liệu Bài toán xâu gần nhất và phương pháp ACO (Trang 28)

Thuật toán này thực hiện theo lược đồ được đặc tả trong hình 2.6 với đồ thị cấu trúc, thủ tục tìm kiếm lời giải và quy tắc cập nhật mùi [1,8] như sau:

Đồ thị cấu trúc

Xét tập chuỗi S={s1,…,sn}, gồm n chuỗi độ dài m, trong đó si= với thuộc bộ chữ cái ∑. Ký hiệu Vi = {a ∑: =a}, khi tập chữ cái nhỏ và số chuỗi lớn thì Vi thường trùng với ∑. Khi đó các đỉnh của đồ thị cấu trúc được xếp trên m cột, trên mỗi cột chỉ có các đỉnh gồm m cột nhưng có khác là cột thứ i chỉ chứa các đỉnh có

nhãn thuộc tập Vi (xem hình 3.1). Tập cạnh E nối các đỉnh thuộc hai cột liền kề. Thông tin heuristic cho đỉnh (i,j) ở cột i hàng j là , được tính theo công thức 3.1:

(3.1)

Với các đại lượng cho trước, ban đầu khởi tạo vết mùi cho mọi đỉnh (i,j) đều bằng |∑| =0.25.

Hình 3.1 Đồ thị cấu trúc

Thủ tục bước ngẫu nhiên để tìm lời giải

Một lời giải t được xác định bởi đường đi từ cột đầu đến cột cuối (xem hình 3.2) được mỗi kiến xác định như sau: Kiến chọn ngẫu nhiên một đỉnh thuộc cột thứ nhất với xác suất là tích của vết mùi và thông tin heuristic tương ứng được chuẩn hóa, sau đó mở rộng tuần tự như sau. Giả sử kiến đang ở đỉnh a Vi, nó sẽ chọn tiếp đỉnh b

Vi+1 cho vị trí tiếp theo của chuỗi với xác suất được tính theo công thức 3.2:

∑ (3.2)

Trong đó, là hằng số dương, khi thì ứng với không dùng thông tin heuristic.

Quy tắc cập nhật mùi

Sau khi các con kiến trong bước lặp đã tìm được lời giải, vết mùi được cập nhật theo quy tắc SMMAS (Smooth Max-Min Ant System - Hệ kiến Max Min trơn) [1,8] như công thức 3.3:

(3.3)

Trong đó: {

(3.4)

Lời giải tốt nhất là lời giải gần S nhất tìm được cho tới lúc đó.

Thông thường để tăng chất lượng lời giải, người ta kết hợp với tìm kiếm địa phương với hai chiến lược:

1) Chỉ áp dụng cho lời giải tốt nhất 2) Áp dụng cho mọi lời giải tìm được

Áp dụng theo cách thứ nhất thường lời giải tốt nhất hay bị lặp lại, còn áp dụng theo cách thứ hai thì mất nhiều thời gian chạy.

Thuật toán hai giai đoạn ACOM-CSP kết hợp hai thuật toán ACO và Memetic. Giai đoạn thứ nhất là sử dụng thuật toán ACO với quy tắc cập nhật mùi SMMAS áp dụng cho 6 % bước lặp đầu. Giai đoạn thứ hai là thuật toán memetic áp dụng cho 40% bước lặp cuối. Trong giai đoạn thứ hai, phương pháp ACO được dùng để xây dựng quần thể trong mỗi bước lặp, kỹ thuật tìm kiếm địa phương chỉ áp dụng cho hai lời giải tốt nhất trong bước lặp.

Một phần của tài liệu Bài toán xâu gần nhất và phương pháp ACO (Trang 28)