Với hai điểm cất đánh đấu bởi ], được đổi thành: (12|6543|789).

Một phần của tài liệu Lập trình tiến hóa trí tuệ nhân tạo (Trang 99 - 101)

- Hàm #É)= czsinGx Te)+1)

với hai điểm cất đánh đấu bởi ], được đổi thành: (12|6543|789).

(12|6543|789).

Đảo đơn giản như thế bảo đảm rằng đứa con cĩ được là một hành trình hợp lệ; một số phát hiện về lý thuyết cho thấy rằng tốn tử phải cĩ ích trong việc tìm ra những cách sắp xếp chuỗi tốt. Cĩ người rằng trong một TSP cĩ 50 thành phố, một hệ thống cĩ đáo .

thực hiện trội hơn hệ thống cĩ tốn tử “giao và sửa”. Nhưng, việc

tăng số điểm cắt làm giảm hiệu quá của hệ thống. Cũng vậy, đảo

(giếng như đột biến) là một tốn tử một ngơi, chỉ cĩ thể bổ sung cho

những tốn tử tái kết hợp, tốn tử này khơng thể tự tái kết hợp

thơng tin. Nhiều phiên bản của tốn tử đảo đã được khám phá.

Holland cũng đã cung cấp một thay đổi về Định lý Lược đỗ để thêm

hiệu quả.

Ở điểm này ta cũng cĩ thể nhắc đến một số nỗ lực gần đây, dùng các chiến lược tiến hĩa để giải TSP. Một trong những cố gắng

này đã được thử nghiệm với 4 tốn tử đột biến khác nhau:

«Ẳ - Đảo — như mơ tả ở trên;

« Chèn — chọn một thành phố và chèn nĩ vào một vị trí

ngẫu nhiên; ,

196

Tối Ưu Tổ Hợp In

® - Đời chỗ — chọn một hành trình con rồi chèn nĩ-vào một

vị trí ngẫu nhiên;

©- Trao đối qua igi- hốn vị hai thành phố.

._ Một phiên bản của tốn tử lai-heuristic cũng được sử dụng,

Trong hiệu chỉnh này, nhiều cha-me gĩp sức trong việc tạo ra con.

Sau khi chọn thành phố đầu tiên trong hành trình của các con (ngẫu

nhiên), tất cả lân cận bên phải và trái của thành phố đĩ (từ tất cả

cha-me) đều được khảo sát. Thành phố cĩ khoảng cách ngắn nhất sẽ được chọn. Tiến trình tiếp tục cho đến khi hồn tất hành trình.

Một ứng dụng khác của chiến lược tiến hĩa là phát sinh một

vectơ (số chấm động) trên ø số (n tương ứng với số thành phố). Chiến lược tiến hĩa được áp dụng như cho bất kỳ miột bài tốn liên

tục nào. Kỹ xảo là ở việc mã hĩa. Các thành phần của vectơ được sắp

xếp và thứ tự của chúng quyết định hành trình. Thí dụ veetơ: ø = (9.34, —1.09, 1.91, 0.87, ~0.18, 0.99, 2.18, 1.33, 0:85) tương ứng với hành trình:

2-5-9—4-6-8-8~—7~1,

do số nhỗ nhất: —1.09 là thành phần thứ hai của vectơ ø, nên số nhỏ thứ hai: 0.12 là thành phần thứ năm của vectơ ou,...

Hầu hết các tốn tử được nĩi đến từ trước đến nay đều quan tâm đến các thành phố (nghĩa là, các vị trí và thứ tự của chúng) ngược lại với các cạnh ~ các cung nối giữa các thành phố. Vị trí cụ

thể của một thành phố trong hành trình khơng quan trọng, mà là

các nối giữa thành phố này với các thành phố khác.

Grefenstette đã phát triển một lớp các tốn tử heuristic chú

trọng đến các cạnh. Các tốn tử này làm việc như sau:

Chương 8 : Bài Tốn Người Du Lịch

1. Chọn ngẫu nhiên thành phố của các con làm thành phố c

hiện hành;

9. Chọn 4 cạnh (chọn 2 cạnh từ từng cha-rme! gắn liển với thành phố hiện hành ‹,

3.. Xác định phân bố xác suất trên các cạnh được chọn, đựa trên chi phí của chúng. Xác suất của cạnh cĩ liên quan đến thành

phố được thăm trước đây là 0,

4. Chọn một cạnh. Nếu ít nhất một cạnh cĩ xác suất khác 0,

việc chọn được đựa vào phân bố ở trên; ngược lại, chọn ngẫu

nhiên (từ những thành phố chưa thăm),

5. Thành phố ở 'đầu kia' của cạnh được chọn trở thành thành

phố hiện hành c,

6. Nếu hành trình hồn tất, đừng; ngược lại trở về bước 2.

Tuy vậy, những tốn tử như thế chuyển khoảng 60% các cạnh từ các cha-me — điều này cĩ nghĩa là 40% các cạnh được chọn ngầu

nhiên.

Whitley, Starweather và Fuquay đã phát triển một tốn tử lai

tạo mới: lai tạo tái kết hợp cạnh (ER), chuyển hơn 95% các cạnh từ

các cha-me cho đứa con duy nhất. Tốn tử ER khai thác thơng tin

trên các cạnh trong một hành trình, như đối với hành trình:

(312874695),

các cạnh là (3 1), (1 2), (2 8), (8 7), (7 4), (4 6), (6 9), (9 5) và (5 3).

Cuối cùng, các cạnh ~ khơng phải các thành phố - mang các giá trị (các khoảng cách) trong TSP. Hàm mục tiêu cẩn cực tiểu hĩa là tổng các cảnh xây dựng một hành trình hợp lệ. Vị trí của một thành phố

trong hành trình khơng quan trọng: Các hành trình là khép kín. Hướng của một cạnh cũng khơng quan trọng: cả hai cạnh (3 1) và (1

8) đầu chỉ cho thấy rằng các thành phố 1 và 3 được nối trực tiếp.

198

Tối Ưu Tổ Hợp a8

Ý tưởng chính của lai SR là một con duy nhất được xây dựng từ các cạnh hiện diện trong cả hai cha-mẹ. Điều này được thực hiện

với sự trợ giúp của danh sách cạnh được tạo từ các hành trình của cả hai cha-me. Danh sách cạnh cưng cấp, cho mỗi thành phố e, tất cả

các thành phố khác nối với thành phố e trong ít nhất là một cha— mẹ. Rư ràng, cĩ ít nhất là hai và nhiều nhất là 4 thành phố trong danh sách cho mỗi thành phố c. Thí dụ, đối với hai cha-mẹ,

pị=(193456789) và p=(4128769388), p=(4128769388), danh sách cạnh là: thành phố 1: cĩ các cạnh đến các thành phố khác là: 9 2 4 thành phố 2: cĩ các cạnh đến các thành phố khác là: 1 3 8 thành phố 3: cĩ các cạnh đến các thành phố khác là: 2 4 9 5 thành phố 4: cĩ các cạnh đến các thành phố khác là: 3 5 1 thành phố 5: cĩ các cạnh đến các thành phố khác là: 4 6 3 thành phố 6: cĩ các cạnh đến các thành phố khác là: 5 7 9 thành phố 7: cĩ các cạnh đến các thành phố khác là: 6 8 thành phố 8: cĩ các cạnh đến các thành phố khác là: 7 9 2 thành phố 9: cĩ các cạnh đến các thành phố khác là: 8 1 6 3.

Việc xây dựng con bắt đầu bằng việc chọn một thành phố khởi

tạo từ một cha-mẹ. Các tác giả đã chọn một trong những thành phố khởi tạo (thí dụ 1 hoặc 4 trong thí dụ trên). Thành phố cĩ số cạnh

nhỏ nhất trong danh sách cạnh sẽ được chọn. Nếu những số này bằng nhau thì chọn ngẫu nhiên. Việc chọn như thế làm tăng cơ hội

hồn thành hành trình với tất cả các cạnh được chọn từ các cha- mnẹ.Với việc chọn ngẫu nhiên, cơ hội để xảy ra thất bại về cạnh,

nghĩa là, ở bên trái với một thành phố khơng cĩ cạnh đi tiếp, sẽ cao

mm Chương 8 : Bài Tốn Người Du Lịch

hơn nhiều. Giá sử ta đã chọn thành phố 1. Thành phố này được nối trực tiếp với 3 thành phố khác: 9, 3, và 4. Thành phố kế tiếp sẽ được chọn từ 3 thành phố này. Trong thí dụ của ta, các thành phố 4 và 2 cĩ 3 cạnh cịn thành phố 9 cĩ 4 cạnh. Cĩ một chọn lựa ngẫu nhiên được thực hiện giữa các thành phố 4 và 2; giá sử thành phố 4 được

chọn. Lẳn nữa, các ứng viên của thành phố kế tiếp trong hành trình

được xây dựng là 3 và ð, do chúng được nối trực tiếp với thành phố cuối cùng, 4. Thành phố 5 lại được chọn, do nĩ chỉ cĩ 3 cạnh trái với

thành phố 3 cĩ 4 cạnh. Cho đến giờ, con cĩ dạng sau đây:

(145xxxxxz)

'Tiếp tục thủ tục này, ta chấm dứt với con,

(145678239),

được tạo thành hồn tồn từ các cạnh lấy từ hai cha-me. Từ một loạt các thử nghiệm, thất bại cạnh xuất hiện với tỉ lệ rất thấp (1%-~1.5%).

Tốn tử ER được thử nghiệm trên 3 bài tốn TSP với 30, 50,

và7õ thành phố — trong tất cả các trường hợp nĩ trả về một lời giải tốt hơn kết quả “tốt nhất được biết đến” trước đây.

Hai năm sau đĩ, lai tái kết hợp cạnh được mở rộng. Ý tưởng là các chuỗi con thơng thường khơng được bảo tồn trong lai ER. Thí

dụ, nếu danh sách cạnh (ở trên) chứa hàng cĩ 3 cạnh:

Thành phố 4: cĩ các cạnh đến các thành phố khác là: 3 5 1,

một trong những cạnh này sẽ lặp lại. Nĩi về thí dụ ớ trên, đĩ là cạnh. (4 õ). Cạnh này cĩ trong cả hai cha-mẹ. Nhưng nĩ được liệt kê là các cạnh khác, như (4 3) và (4 1), chỉ cĩ trong một cha-me. Lời giải được để nghị hiệu chỉnh danh sách cạnh bằng cách lưu trữ các

Một phần của tài liệu Lập trình tiến hóa trí tuệ nhân tạo (Trang 99 - 101)