Chương 9: Các Bài Tốn Tối Ứu Tơ Hợp Khá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 121 - 125)

Von Laszewski mã hĩa việc phân hoạch bằng việc mà hĩa số —

nhĩm , nghĩa là các việc phân hoạch được biểu điễn làm ø chuỗi các số nguyên:

Ơn... c.ốnh

trong đĩ, số nguyên thứ ƒ, ¿; e I1,..., ÈÌ biểu thị số nhĩm được gán cho đối tượng j. Nhưng, biểu diễn này được hỗ trợ “các tốn tử cấu trúc thơng mỉnh”: lai cấu trúc và đột biến cấu trúc.

Lai tạo cấu trúc. Cơ chế của lai cấu trúc được trình bày qua thí dụ sau.

Giả sử cĩ hai cha-mẹ được chọn (các chuỗi ~12)

p¡ = (112311233233) và p; = (112123122833)

Các chuỗi này được giải mã thành các phân hoạch sau:

p:: 11, 9, 5, 61, 18, 7, 9, 10], 14.8,11,12] và p;: 11, 2, 4, 7| {3, 5, 8, 91,16, 10, 11, 12].

“Trước tiên, chọn ngẫu nhiên một phân hoạch: ví dụ phân boạch ị #2. Phân hoạch này được sao chép từ p; thành p;:

Đz»= (1121232222338)

Tiến trình sao chép này như đã thấy trong thí dụ trước thường ¡ làm hỏng yêu câu vẻ kích thước phân hoạch đều, vì vậy ta áp dụng một thuật giải sửa chữa. Chú ý rằng trong p; gốc cĩ những phần tử š

được gán cho phân hoạch #2, mà khơng là các phần tử của phân š hoạch được sao chép: đĩ là các phần tử 5 và 8. Những phần tử này bị ' xĩa,

240

Tối Ưu Tổ Hợp L1

pz”= (1121*%82*2233),

và được thay thế (ngẫu nhiên) bằng các số của những phân hoạch

khác, chúng được viết chồng lên trong bước sao chép. Như vậy con

cuối cùng sẽ là:

pz”= (11913321233),

Như đã nĩi trước đây, trong phần mã hĩa nhĩm - số, hai phân hoạch giống nhau cĩ thể được biểu diễn bới các chuỗi khác nhau do việc đánh số phân hoạch khác nhau. Để xử lý điểu này, trước khi thực hiện phép lai, việc mã hĩa được thay đổi phù hợp để giám thiểu

những khác biệt giữa hai cha-me.

Đột biến cấu trúc. Tiêu biểu, một đột biến cĩ thể thay thế một thành phần của một chuỗi bằng một số ngẫu nhiên nào đĩ; nhưng, điều này cĩ thể làm hỏng yêu cầu về kích thước phân hoạch đêu. Đột biến cấu trúc được định nghĩa là hốn vị của hai số trong

chuỗi. Như vậy, một cha-mẹ: p= (112133212233)

cĩ thể tạo ra con sau đây (các số ở vị trí 4 và 6 được hốn vị):

` = (112331212233).

Thuật giải được cài đặt thành một thuật giải di truyền song song bằng các chiến lược bố sung (như chọn lọc thay thế cha-me); trên một đề thị cĩ 900 nút với tối đa 4 cấp độ, chương trình tiến hĩa này thực hiện tốt đẹp hơn hẳn các thuật giải heuristic. Một phương

pháp tương tự đã được Muhlenberg thử nghiệm với cùng cách mã hĩa số ¬ nhĩm, và ơng cũng sử dụng lai “thơng minh”, chuyển tồn bộ các phân hoạch chứ khơng phải các đối tượng riêng biệt.

wM Chương 9 : Các Bài Tốn Tối Ưu Tổ Hợp Khác

Nhiều chương trình tiến hĩa đã được John và Beltramo xây dựng cho lớp bài tốn này. Những chương trình này sử dụng cách

biểu diễn khác nhau và nhiều tốn tử khác nhau để thao tác chúng.

Khá thú vị khi quan sát tác động của việc sử đụng trị thức bài tốn. đối với hiệu quả của các chương trình tiến hĩa được cài đặt. Hai bài tốn thử nghiệm được chọn:

«e - Để chia n số vào š nhĩm nhằm tối thiểu hĩa những khác biệt trong các tổng nhĩm và;

© Phân hoạch 48 tiểu bang của Mỹ thành 4 nhĩm màu để

tối thiểu hĩa số những cặp tiểu bang cùng biên giới vào cùng một nhĩm;

Nhĩm đầu tiên của các chương trình tiến hĩa mã hĩa các phân hoạch bằng n chuỗi các số nguyên:

tủ... Ea),

trong đĩ, số nguyên thứ j, ÿ; (1,..., &| biểu thị số nhĩm được gán cho đối tượng /; đây là việc mã hĩa số-nhĩm.

Việc mã hĩa số-nhĩm cho phép áp dụng các tốn tử chuẩn. Một đột biến cĩ thể thay thế một gen ¿, (chọn ngẫu nhiên) bằng một số (ngẫu nhiên) trong tập (1,..., š}. Các phép lai (1-điểm hay đều) luơn

tạo ra con hợp lệ. Nhưng, như đã nĩi trong một con (sau đột biến hay lai tạo) cĩ thể chứa ít hơn k nhĩm; hơn nữa, một con của hai

cha-mẹ cả hai biểu diễn cùng phân hoạch, cĩ thể biểu diễn một

phân hoạch hồn tồn khác, do việc đánh số các nhĩm khác nhau.

Những thuật giải sửa chữa đặc biệt (phương pháp thải hổi, đánh số lại các cha-me) đã được sử dụng để loại bổ những rắc rối này. Cũng

vậy, ta cĩ thể xét việc áp dụng lai trên cạnh (đi truyền định nghĩa trong chương 8). Ở đây ta giả sử rằng hai đối tượng nối nhau bởi một

cạnh nếu và chỉ nếu chúng trong cùng nhĩm. Lai trên cạnh tạo ra con mới bằng cách nối các cạnh của các cha—me.

242

Tối Ưu Tổ Hợp JÌ

Chú ý rằng, nhiều thử nghiệm trên hai bài tốn thử nghiệm này cho thấy ưu thế của tốn tử lai trên cạnh; nhưng biểu diễn được sử dụng khơng hỗ trợ tốn tử này. Thực nghiệm cho thấy nĩ cần gấp 2 đến 5 lần thời gian tính tốn máy mà các phương pháp lai tạo khác cần đến. Đĩ là do biểu diễn khơng thích hợp: thí dụ. hai cha—

mẹ:

Đị = (11222233)

p¿; = (12222333)

biểu diễn các cạnh sau đây:

các cạnh của p;: (12), (34), (35), (36), (45), (46), (56), (78),

các cạnh của p;: (23), (24), (25), (34), (35), (45), (67), (68), (78).

Một con phải chứa các cạnh cĩ trong một cha-me là ít nhất, như:

(11222333)

biểu điễn các cạnh sau đây:

(12), (34), (35), (45), (67), (68), (78).

Nhưng, tiến trình chọn các cạnh lại khơng dễ dàng: việc chọn

(ð 6) và (6 7) — cả hai cạnh này đã được biểu diễn ở trên — bao hàm

sự hiện điện của cạnh (ð 7), khơng cĩ ở đĩ.

Dường như, cĩ một số biểu điên khác thích hợp với bài tốn hơn. Nhĩm chương trình tiến bĩa thứ bai mã hĩa các phân hoạch thành các chuỗi—(:+k—1) các số nguyên phân biệt,

tấn... ba ý

L›) Chương 9 : Các Bài Tốn Tối Ưu Tổ Hợp Khác

các số nguyên trong khoảng I1,..., n] biểu diễn các đối tượng, các số nguyên trong khống {n+1,.... n+È—1| biểu điễn các dấu phân cách; đây là một cách mã hĩa hốn uị bằng các đấu phân cách. Thí dụ,

chuỗi—7:

(1122233)

được biểu diễn là một chuỗi~9

(128345967),

trong đĩ, 8 và 9 là các đấu phân cách.

Di nhiên, phải dùng tất cả È#-7 dấu phân cách; chúng cũng khơng thể xuất hiện tại vị trí đâu tiên hay cuối cùng, và cũng khơng

thể xuất hiện liển nhau, cái này kế cái kia (nếu khơng, một chuỗi sẽ giải mã ra ít hơn & nhĩm).

Như thường lệ, cần phải quan tâm đến các tốn tử. Điều này cĩ thể tương tự với một số tốn tử được đùng để giải bài tốn người du

lịch, mà TSP được biểu diễn là hốn vị của các thành phố. Một đột

biến hốn vị hai đối tượng (các đấu phân cách được bỏ đi). Hai phép lai được xét: lai thứ tự (OX) và lai phù hợp một phần (PMX) - đã

được nĩi trong chương 8. Một phép lai cĩ thể lặp lại thao tác của nĩ cho đến khi con giải mã thành một phân hoạch & nhĩm.

Nĩi chung, các kết quả của các chương trình tiến hĩa dựa trên hốn vị với các tốn tử mã bĩa sẽ tốt hơn đối với các chương trình dựa trên mã hĩa số-nhĩm. Nhưng, chẳng cĩ phương pháp mã hĩa nào tận dụng được nhiều tri thức bài tốn. Ta cĩ thể xây dựng một

họ thứ ba của các họ tiến hĩa, kết hợp tri thức vào hàm mục tiêu.

Điều này được thực hiện theo cách sau.

Biểu diễn được dùng là biểu diễn đơn giản nhất: mỗi chuỗi—n biểu diễn n đối tượng:

24

Tối Ưu Tổ Hợp _

te tà);

trong đĩ, í; e I1,..., &} biểu thị số đối tượng, í; # ¡„ với ƒ z p.

Thơng dịch của biểu diễn này dùng một heuristic tham lam: & đối tượng đầu tiên trong chuỗi được dùng để khởi tạo & nhĩm, nghĩa là, mỗi è đối tượng đầu tiên được đặt vào một nhĩm riêng. Những đối tượng cịn lại được thêm vào trên cơ sở đến-trước-đi-trước,

nghĩa là, chúng được thêm vào theo thứ tự mà chúng xuất hiện trong chuỗi; chúng được đặt vào nhĩm thu hoạch giá trị mục tiêu tốt nhất. Heuristic tham lam này cũng đơn giản hĩa các tốn tử: mỗi hốn vị

mã bĩa một phân hoạch hợp lệ, vì vậy ta cĩ thể dùng lại những tốn

tử như trong bài tốn người du lịch. Khơng cẩn phải nĩi, phương pháp “giải mã tham lam” cĩ hiệu quá tốt hơn các chương trình tiến hĩa dựa trên những cách giải mã khác nhiều: số-nhĩm và hốn vị

bằng các đấu phân cách.

Gần đây, Falkernauer để nghị Thuật giải Di Truyền Gom Nhĩm (GGA) để xử lý nhiều loại bài tốn gom nhĩm (phân hoạch) khác nhau; ơng cố gắng chú tâm vào biếu diễn nhiễm sắc thể thích hợp để nắm được cấu trúc của bài tốn. Trong phương pháp này, một nhiễm sắc thể gồm cĩ hai phần: một phẩn đối tượng và một phần nhĩm. Phân đối tượng dùng cách mã hĩa số-nhĩm: nĩ chứa một chuỗi-n các số nguyên:

te fm),

trong đĩ, số nguyên thứ ÿ, ¿ e (1,..., È} biểu thị số nhĩm được gán cho đối tượng /. phần nhĩm của nhiễm sắc thể cĩ chiều đài thay đổi được và chỉ biểu diễn các nhĩm. Thí dụ, nhiễm sắc thể sau đây:

(121333112:1283)

được thơng dịch là: Phần thứ hai của nhiễm sắc thể cho thấy rằng cĩ

3 nhĩm (1, 2, và 3 - được đặc tả). Phần thứ nhất của nhiễm sắc thể 245

mạ Chương 9 : Các Bài Tốn Tối Ưu Tổ Hợp Khác.

cho phép thơng dịch những cấp phát: nhĩm số 1 gồm các đối tượng

11, 3. 7, 8l; nhĩm số 2 gồm các đối tượng 12, 9] và nhĩm số 3 gồm các đối tượng 14, 5, 6l. Chú ý là ta cĩ thể thay số '3' băng số '5' trong biểu điễn trên tđi nhiên ở cả hai phần), và ý nghĩa của những cấp phát vẫn khơng đổi.

Ý niệm chính của biểu điễn đĩ là các tốn tử di truyền làm việc với phần nhĩm (nghĩa là, phần thứ hai) của các nhiễm sắc thể, trong khi phân thứ nhất của nhiễm sắc thể chỉ được sứ dụng trong việc nhận dạng các cấp phát,

Thí dụ, đối với bài tốn đĩng thùng (nghĩa là, đĩng thùng n đối tượng vào một số thùng tối thiểu cĩ sức chứa khơng đổi), tốn tử

BPCX (Bín Packing Crossover Operator - tốn tử lai tạo đĩng

thùng) hoạt động như sau. Giả sử hai nhiễm sắc thể cha—me là:

(121333112:1238)và (233514226:23456).

Hai vị trí giao nhau được chọn (ngẫu nhiên) cho mỗi phân nhĩm

của các nhiễm sắc thể là:

(1213331129:1|238l)và

(233514226:3]34|5 6).

Rồi nội dung của phần giao của cha-me đầu tiên được chèn vào phần giao đầu tiên của cha-me thứ hai (đối với con khác, vai trị của cha-me thứ nhất và thứ hai thay đổi lại):

`. tị 2i 3y 32 4; Bạ 6g)

246

Tối Ưu Tổ Hợp m"

Đây giờ ta cĩ thể loại những mâu thuẫn; chú ý là nội dung của các thùng nêu trên là như sau:

thùng 2; - các đối tượng 1.7 và 8 thùng 2y - các đối tượng 2 và 9 thùng 3) — các đối tượng 4, 5 và 6 thùng 3; — các đối tượng 2 và 3 thùng 4; — các đối tượng 6 thùng ð; — các đối tượng 4 thùng 6; — các đối tượng 9.

Do cĩ những đối tượng trùng lặp trong các thùng “mới” (từ cha— mẹ thứ nhất) và trong những thùng “cũ” — từ cha~me thứ hai, nên ta

bỏ đi những thùng “cũ” này (bạo ra những mâu thuẩn) khỏi phần thứ hai của nhiễm sắc thể, bây giờ là:

(..:2: 2¡ 3)

Chú ý là ta bỏ đi thùng 6; (do đối tượng 9 đã cĩ trong 2: ),

thùng ð; (do đối tượng 4 đã cĩ trong 3¡), thùng 3; (do đối tượng 2 đã cĩ trong 2¡ ). Ở giai đoạn này, nhiễm sắc thể con cĩ dạng sau:

(2; 24? 3ị 3ì 3ì 2: 2; 2L: 2; 2i 3).

Sau khi đặt lại tên các số thùng 2;, 2; và 3¡ lần lượt thành 1, 2, và 3 , nhiễm sắc thể là:

(12?7333112:128).

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 121 - 125)