Kỹ ihuỊl ■‘lìm kiii'fn rải rác” cùa G lovcr duy trì m ội lộp các điểm ư a cứu và sinh ra cá thể con bảng các lổ hợp luyiin lính c ó irọny số.. Hàm đánh giá ihườnc dược cho săn - nổ k íl
Trang 2ĐẠI H Ọ C Q U Ố C GIA H À NỘI TRƯỜNG ĐẠI H Ọ C KHOA H Ọ C T i ; NHIÊN
Trang 3Z B I G N I E W I V I I C H A L E V I E Z
GENETIC ALGORITHMS + DATA STRUCTURES EVOLUTION PROGRAMS
S p r i n g e r 1 9 9 2
Trang 4u Chư«mg m ữ duu
Trong vòng 3 0 nãm trò lại đ iy , c ó một sự quan lim r.gày càng cao ;ới các chuơng irình giãi quyết cá c bài loán dựa ưôn các nguyồn lý vố tiến hoá và d ì truyén; các hệ này duv trì mỌL tạp hợp cá c lừi giài c ó ih i, và ihực hiỊrv chọn Lọc dựa irdn d ộ ihích nghi cùa lừns cá ih>i rổi áp dụng các Dhép b iín d ổ i gicn M ội trong cá c dạng của các hệ trốn là lóp J-c Chiến lược T iín hoá, lớp này g6m cá c Ihuật toán bấl chuứ c c i c n su y ẻn lý liín hoá irona lự nhiỗn để giàĩ cáo bài toán lối lAj hoá c ó ibam s ố [3 1 9 ,3 4 8 ] "Lập Irình Tlõ'n h o á ” cúa l-orgel là m ội phưưng pháp t'im kiốm ư ong không gian cá c m áy hữu hạn nhò Kỹ ihuỊl
■‘lìm kiii'fn rải rác” cùa G lovcr duy trì m ội lộp các điểm ư a cứu và sinh ra cá thể con bảng các lổ hợp luyiin lính c ó irọny số M ộl loại h Ị ú ín hoá k h á i là cá c Thuậl ỉoán Di ư u y in Hà Ian(lS8Ị N ăm 1990 K oiu [231] dã đtí xual m ộl loại hộ l ií n lioá, L4p trình Di L'uyón lím kicm chương innh mdy lính tồi n h íl cho viủc gidi một bài lodn nào dó.
♦
Ta dùng m ột ihuẠi naữ chung, Chương irình Ticn hoá (E P ), c h o m ọi hỏ tiín hoá k é cà các
hệ LỈã ùược liột kẻ ở trân ) N ội riung cùa EP dược irình bny irong hình O.I.
EP ỉ i một ihuẠl loán xác suủì duy ưi một q u ìn ihể cd ih ể, P(t) lại vòng lặp liiữ ĩ M ỗi cá
ihò Jiú diỌn m ỏl lừi giài c ó iliO’ cũ:i bài loán dã ch o T r o n g EP, cá ihể d ư ợc biẩu ihị bảiiíi
mộ: cấu irúc dữ !iỏu (cõ Ihô phứo lạp) s M ỗi lời ciải x \ đư ợc Jár.h giá '.heo đ ộ :hích nahi lỉiòi irưOrng cùa lừi £Ìài đó Sau Jó, n;ội quán ih i m ứi (v ò n g lập i + l ) được xáv dựna Dằng cách chạn các cá thể có độ thích nghi cao (bước chọn lọ c ) M ột sồ’ cá của quán ỉhii mứi
bị biốn đôi (bước biến J ô i) bầng cách áp dung các phéo b iến d ổ i g ien đỏ tạo ra cá c lòi iiâ i
m ói Có nhiổu phép biến đổi; m, íđột biến) tao ra m ột cá thể mới bầng m ộl sửa đổi r.hỏ irèn mỌl cấ Ihổ (m, ; s -> S), vù phiíp bii'n cJdi bậc uao hưn Cj (íja o JÒi c h iu ) lậO ra >;ác cá ihể
mới bang cách k íl hợp các phán cùa nhi>íu cá Ihô (lừ hai irờ lốn) (c^: S x x S —* S) Sau m ộl
sđ Ih.ồ' hộ, chương Irình sè hội lụ - với hy vọng rằng cá ihể lốt n h ít sẽ đại dtện cho một lời 2Ìài gán lối ưu.
p r o c e d u r e cvolution_proeram
b egin
t < - 0 khời lạo P(ỉ) dánh ciá P(t)
• •
w h ile (.noi dícu_kiiỊn_dừnc ) do bcyiri
I » - 1+1 chọn p (0 í ừ P ( t - l )
đánh giá P(t)
Trang 5H ìn h 0 ] C ẩ u in ic chươiiỊỉ iriiilt tiế n h o á
X ét VÍ dụ sau G iả sừ la cần tìm m ộl đ ổ ihị ihoà m ãn m ột số' điổu kiện (.chảng hạn tìm mộ: topo lối ưu cho m ội m ạng truyổr ih ỗn c ih co các tiôu c h í vổ chi phí truvổn tin, cíộ ùn
cặ y v v ) M ỏi cá thổ irong EP này biổu thị m ột lời g iả i c ó ih ể của bài toán, nghía là m ỏi
cá thổ đại diộn cho m ột đ ổ Ihị Tạp hạp ban đáu F(Q) cữa các đ ổ thị (được khời lạ o ncảu
nhiôn hoặc Ih k iì quà cùa m ội quá irình hcurisiic: nảo d ó ) là diẩm xuú’i phá; (/= 0 / của EH Hàm đánh giá ihườnc dược cho săn - nổ k íl hợp các yôu cáu cùa bài loán Hàm đánh ciá trà vé đ ộ thích nchi cùa m ỗi dổ ihị d ỉ phăn biột giữa cá c cá Ihể tôì và xấu M ộ i s ố phép (iộ: biỂn cổn được ihiÊi k ế đổ b iín đổi m ội đổ Ihị Các phép irao cỉổi chéo cũna cẩn thiối cho
v iệc kết hợp cấu irúc cùa hai (hoặc nhiổu hơn) đổ thị Ihinh m ộl đ ổ thị C ác phép biên dối này Ihườns phài phù hợp vái lừna bài loán cụ thể V í dụ, nếu la cán lìin cá c đíi ihị livi:
thỏng và khỏn c c ó chu irình (dố Ihị dạnc cay ), một phcp đột bicn cổ ihc xoá m ỏi cạnii của
đổ ihị và Ihỗm một cạnh m ói đc nối hai d ổ thị con ròi nhau Ta c ó Ihể dùnc m ội cách k h ij
là ihiết k ế m ộl phép đột biến khốn c phụ Ihuộc bài loán và đưa cá c điổu kiện cùa bài loáii vào Irons hàm dánh iiìá đò ino hàm dánh giá irà về £Ìá Irị ihẩp ch o các d ổ ihị k h ỏ n c phiìi cây.
Ta tháy, c ó thể xây dựng nhiốu EP cho một bài loán Các EP đ ó c ó Ihể khác nhíiu vé nhici: mật: cấu trúc dữ liệu để biểu d iỉn m ột cá thổ, các phép biến đổi gien, cách khừi lạo quấi ihé ban dẩu và các Iham sô' (kích thước quẩn Ihể, xác suâì áp dụnp các phcp bicn dối v.v ) Tuv nhiẾn, c h ú n s c ổ m ộ’ nguyÊn lý chunc: quần Ihổ trải qua một sô' bicn đổi \i-
ư o n e quá irinh liốn hoá đổ, các cá (hổ đấu iranh đi' sinh lổn.
N lìư clã nói ữ uủii EP kliOiiỊi phài lù ý lưõiií: m ới mil nó tỉũ dược tiùn*; dốn troni; vùnc nãm nav T ịonu k h oàiis lliòi uian đó, nliiồu lìiỊ licn hoá khúc nhnii đã được phá: b'iwi:
N hưnc ironc cuởn sách n jy , la chi bàn Vií sự tươnc ii6 iic giũu các khuỏn mfiu Ja óạni: cú;
cá c EP Ta s c t à n Vii cách xáy dựni; m ội EP ch o m ội lớp các bài loíin cụ Ihố các cấu Irt.v
dữ liộu ihích hợp (có lỉii plìứ: lạp) dùnc dc bicu d iĩn n h iỉm sác U k (NST), và m ội lập m j rộna các loán lữ cicn, ư o n g khi các G A c ổ óicii cJiinc các xảu nhị phân c ó d ộ d ji khùnc đổi (làm NST, cấu ưúc dữ liộu S.I cho các c í ihể và hai plicp bicn đổi: đội biốn nhị phãri vìi
ư a o c5ổi ch éo nhị phùn N ó i cácn kiiác c i’u irúc c ù u m ộ l G A cũng giônu cấu U'úc của mộ!
EP (hình 0 1 ), các dicm khác biột ẩn dưứi láng ihấp bon Trong các EP, NST khỏii!: nluVi ihiốl piiài dược b iiu d iỉn hòi x£iu nhi piiiin, và quá Iiình bicn dổi liicn ban t:6m c;j ưác lojii
lừ gicn khác pliù hợp với cấu irúc và bài toán dà clio.
Đ ó cũng khôn c hoàn loàn lù mftl hướ.ic m ới N àm 1985, Di; Jong v iíi [84j:
•
“ T a phài làm gì ncu biẩu'3iỉn lự nhiòn nhấi của cá c phán lử irone không gian
«
Trang 6lìm k iím lại là các c íu u ú c dữ liiỊu phức tạp hơn như màng, cây, dổ ihị có hướng, v.v T a c ó nỗn “ ỉu y ín lính hoá” chúng thành m ột biổu diỗn xâu, hay có những cách định nghĩa lại irao đổi ch éo và dột biốn m ột cách sáng tạo để c ó Ihii dùng trực tiiip cá c cấu trúc dó Tôi chưa ih íy m ột tiến bộ nào U'ong lĩnh vực
n à y ”
C ó lẽ b iiu diỏn lự n h iin của mộl lời giùi cộn g vứi mộl họ các loán lừ gicn khá hữu dụng trong v iệc ước lượng cá c lời giài cùa nhiiỉu bài loán Cách úếp cận dùng khuôn mả'j lự nhiồn này ( E P ) , nhìn chung, là m ộl hướng giãi toán hứa hẹn Bên cạn[\ các khuồn mảu úốn hoá khác (chiốn lược t iín hoá, EP lạp trình g icn ), các nhà nghitìn cứu vẻ G A dã líiTi hiiiu
cá c bìiiu diỏn gicn khác, chánn hạn danh sách Ihứ lự (clio bãi xếp ba lô), em bedded lisl (ch o bùi xếp lịch sàn xuấi) vajiablc-olem enl lisl (bài Ihiết k ế mạch bán uán) Mưừi nãm
UV iại đ a y dã ghi nhận i;hiổu biốn dạng ciia G A tuỳ Iheo dạng ứng đụng Các biến dạns
g ô m có: cá c dãy d ọ dài không cổ' dịnh (các phán lừ của dãy ià diổu kiỌn nhân ouã), các cấu
trúc phức tạp hơn XÃU nhị phản ( v í dụ m a ưủn), và cúc loán tử g ien đuợc ihay đ ổ i phù liijp với diổu kitỊn bài icán Trong [285] c ó miỏu ù m ội G A dùng b a c k - D r o p a g a t i o n (một
kỳ thuậi huả’n luvồii mạng nơ-ron) làm toán lừ c ù n s vói hai phương pháp ư ao đổi ch éo và dôt b iín dã dược cài liốii CỈIO phù hợp với m ạng nơ-ix>n Davis và Ccom bs [65,761 c'il giói iliiiỊu m ộ i G A dàm nhiửm niỏl gia i đoạn trong quá irình ihiốt k ỉ mạng c h u y in mạch (p ack et-sw itch in g network); biểu diễn nhị phân khôna được dùng, GA r.ày dùng 5 loán tử
g ien (số , ihống kẻ, cơ s ỏ ư i thức) Các loán tử này khác xa trao đổi chéo và đột biế:i nhị phân.
Phan lớn các nhà nghiỏn cứu d i cài Uốn G A bàng cách dùng các bi«ỉu điỗn khững lliuộc dạng x iu huv lliiốl k í các loũn lử gicn dục biỌ[ dá pliù hợp với bili loán cần giãi.
N h iéu ihử ngiùỌm da đạna đã dược x i y dựng cho cá c bài loán cụ thể, đơn giản là vì khó áp
dụng irực ìiốp G A chuán cho m ột bài toán và một s6 Ihay dổi ư o n s cẩu Lnic NST là c£r
ihiỏì Trong cuỏn sách này, lác sià dã c ố ý lách ra khòi G A chuẩn dùng xáu nhị phàn: cấc
lấc g iả dã tìm kiếm các cấu trúc dữ liệu tốt hơn và các loán từ gien thích hợp vói các cấu
trúc nàv đ ể áp d ụ n s c h o nhiổu dạng bìii Bằnc cách thừ nehiộm các c íu Uiíc và cá c phóp
b iín dổi đ ó , chúng lôi đã Ihành lỊp được các hệ ờ m ức cao hơn G A kinh điển M ội cảu hòi dược dặt ra: m ội chiến !ược tiến hoá c ó phải là mỌi Ihuật loán eien hay không Đ ể iránn viộc phàn loại cá c hộ liến hoíi, la gọì chúne m ội cáclì dơn eìàn là các “chương trình Liín hoá" (EP).
Tai sao c h ú n t u lại rời b ó G A d ì hưóna lới cá c chư one irình lìín hoá ir.ểm dèo hơn? Cho
dù dă được dưa vào lý ihuvởi một cách đẹp đc G A k hôn s đem lại ứng dụng ihànli côna trong nỶiiểu ỉĩnh vự c C ó lẽ sự i h íl bại và thành c ô n g của G A có cùng một nguyỏn nhủn chính: G A khỏnj; phụ Ihuộo vào bài loán.
Trang 7M ột irong những hộu quiì cùa sự ngăn nắp cùa G A (lính khơna phụ ihuộc) Ih sự bả't lực củ:i
G A khi x ử lý cá c ràng buộc khơng tẩm thường N hư dã nĩi ờ trồn, N ST irong hẩu hốt các
G A dểu là cá c xủu nhị phan M ột v ín để qưan trọng cán dược xét khi ih iíi k ế biổu d iẻn lC;i
s iả i của m ộ i bài lốn d ĩ lù cách xừ lý các rar.s buộc cùa bài tốn dởi vái các lời giải Như dược trình bày irong [74]:
"Các diịu ki-Ịn ràng buộc cĩ ihể dược xử lý bảng cách phạt d iếm nặng cúc cá thỏ
k hơng Ihồ mãn, phạl điổm vừa phải, hoặc xây dựng cách giài mã biẩi' d iễn £Ìen sao cho Iiánh dưực vi(Ịc sinh ra các cá ihổ khơn e hợp liỊ M ỏi cách đổu cĩ ưu diCm và nhược d iìm N íu tích hợp viộc Dhạt diểm vào ihủ lục đánh aiá tronc khi
m iiin xác dịiih c ĩ nhiéu khà nânc sinh ra cá thị khống họp !Ọ rùi ro cùa ta l i G A
r ít c ĩ thii dùne píián lứn Ihời cian cho viộc dánh eìá các lời ciài khống hơp lộ Hơn nữa oịn c ĩ thè xdv ra trưừne hợp khi m ội cá Ih ì hợp lị được ùm th ív , nĩ
sẽ đẩy cá c cá Ih ì khác ra khịi quan the và cuẩn th i sẽ hội lụ lai J<5 x à khịnu liếp tục tìm cdc lời iid i lốt hcrr Bởi vì dư ờ ns dỉr d ín các lài giãi hợp lộ khác cán sinh ra cdc cá Iliõ k h ơ n s kợp lệ để làm các cấu ư úc chuyen tiốp Sự phại diiỉm vì vi pliam các đidu kiện làm cho cá c cấu ỉrúc iruna ciun khĩ c ĩ i!iỏ lái sình Nếu phại di(ỉm nỉiẹ, hộ cĩ the phái iriìn ciíc cá ihể khủri: ihcù mãn các ràng buộc nhưng lại úuợc cỉánh 2iá cao hơn các cá Lhể ihồ màn Nếu dùiig m ội
b ộ aìài m i ciio ihù lực dánh s!Ìá đồ irín h tạo ra các cá i\\á k iiõ n i iìCTp iộ lừ các
N ST m ội cách tUỏnii minh Ihuội [ốn ihư ờns địí iiịi khối lượng lính lốa I'ũ't lứn Hưn nữa piùi m ọi r a n i buộc CỈKI đổ bài J>iu Jỏ ih i ,\ừ 'iV úĩ JÙI1;Ị Uico cácli Iiiiy."
(M ục 4 5 sẽ i;iứi ilii^Li ví c!ụ Vi5 các brt uiài mã các Uián sử;i v.'i nu't vài Ii.'iiT phạt đ iểm áp clụnc cho bài loĩn xốp ba lơ).
IVone lẠp uììih tiín iiố ván xiá íhũà x ã n c i c r jn c buộc oĩ m ỏt sào :iú i ;<;úw D ĩ khõr
phài viộc lựa chọn một hàm dánh cid vĩi mội sỏ' cách phại Jien : mà l i vice ,*pon bicu uiồ:
N ST lố l n h ít cúa các lời íiiài cúa bài lốn c ù n s vái cá c lodn íứ cicn ilìó mãii m ọi ràiK buộc M ộ i kián lử cicn iliườns: iruvổn cau liTÌc đặc irưnc nào đ ĩ lừ ohu ir.j s a n s con Do vậy biổii dicn cấu UTÌC dĩne vai irị quan :rọnc Irant: v iệc định nchla các lốn lữ EÌcn Hiíỉ nữa, c á c cấu irúc biiiu di3n khác nhau thi'ch hợp vĩi biếu di-ỉn riinc buộc :hco các hướ:u khác nhau Đic-U nùy iìini vj'ii J(í pl-.úv lạp him n.ữa- B iiu diứr NST và tOvin lử liicn ànl hưỏne iản nliau; cĩ iõ m ọi bài lốn dcu cùn dược phủn lích kỳ ũùnc (ici c ĩ ;hừ’ lìm r.i bic' di>5n thích hợ]> và các tốn tử liicn phù h(ip vĩi cách biiíu diỗn đĩ.
G lover, trone niỉhiiỉn cứu vé mẠt bài tốn phức tạp v é cấu h\nh bàn phím [ l - l l ] dã viối;
#
Trang 8"M ặc Jù iiwh luCu quà cùa gíùi Uiuậl đi Uuvéiì r íl Ììú á ) hỢỊ) cho hùi luân cau lùiỉi^ bùn phím , biéu cliỗn xiiu nhị phiin vỉi cdc loán ỉù U*uv6n Ihrtng kh^ni: phù hiTp Vi*?;
cá c diẻu kiện của bùi loán V ỉ dụ, n i u bỉéu dí6n m ỏi thành phíin của m ội bàn
phím 4 0 phím bầng 3 bii, dẻ ihấv chĩ c ó m ột ư o n g s ổ ĨTÌỎÌ bộ cấu in íc 1 2 0
b il bấl kỳ là biSu d iỉn m ội cấu irúc hợp lộ.”
T rong [8 8 ], D e Jong dă vi6i v é bài loán nsư ời đưa ihư như sau:
'*Nốu (lùuị; cá c \ kú \ ì lử iìíio dổi chciỉ vò dột biCỉỉ kiiih ỏ\6i\ GA SC ù m kiòỉ)^ ir&ii
m ọ i lổ hựp cùa củt: llù n h phố, iroíìg khi dó, la chi củn quun lủm <Jốn lủp hiTp mọi
hoán vị M ộl ván đổ hiổn nhiôn là: khi N [số Ihành p h ố irong hành ưình] lãng,
k h ô n g gian cá c hoán vị lù m ột tập con càng ngày càng nhò ciia không gian các
lổ hợp Khi dó, phươnp pháp chọn lọ c hcurislic vốn hiộu quá cừũ G A trờ níT) bAì
lực vì cách biỏu diỏn
Trong những giai đoạn d ìu cùa A l, các chương Irình giải loán tổng quát (GPS) đă dược
ih iếl k ế như là các c ô n g cụ lổng quái đc liếp cộn các bài loán phức lạp N h ư nc ncười la đâ
rúi ra k ế i luồn rung d o d ộ phức lạp không ihổ đại dược cùa các h ị này, la cán k í i hợp các
Ihổng tin dậv llìù CÙJ bài loan, níiy j:iờ, lịch sừ dã iập l;ú: c h o dốn lộn uẩn dăy, C A vản
được c o i l i cỏnu cụ lổng quái c ó hiộu quà ỏá lối ưu nhiổu bài loán khó T uy nhicn, sự cẩn
Lhiíl cùa v iộ c kốl hợp các Ihòng lin đặc Ihừ cùa bài lo in VỈJ C A đă dược ihừa nhận trcng
m ộl s ố báo cáo khoa học [10, 128, 131, 170, 3 7 0 ] C ó Ic G A (cũng như G PS' quá lông
quái và khổnu phụ ihuộc bài loan đc cú Ihc c ó hiộu quủ cao iron^ nhiổu ù n z dụn s D o đỏ,
la cunj; khouịi nuạc nhỉcn khi Ihấy các chuong ừ inh u&u hoá hoỊU dCnm ỈŨI hưu nhỉóu với
cá c loan lừ uicn đặc hiỊl và sự kốl hợp cua Ihỏng lin đ;)c Ihù cùa bài ỉoán vào cảu irúc dữ liộu cùa cá c NST.
H ìn h 0.2 H uớỉìịị ỉiế p c ậ n c ủ a GA.
Sự k h á t nhau cơ bùn VC m ậl khái niệm ịỊÌỮa các G A chudn và cá c chương ưình liến hoá
Trang 9được irình bày trong liai hình 0 2 và 0 3 G A kinli cliiin dù n g biiSu diiỉn nhị phan và <Jòi hòi bài toán ban dẩu dược biiin dổi san g m ộ i dạng dặc bíọt phù hợp với G A : x ă y dự ng bicLi di3n nhị phan cùa các lời giải c ó thể cá c bộ giài m ã hoặc c á c thuẠl toán sừa chừa, V.V
C ông v iệ c này k h ôn g d ẻ dàng gì.
Trong khi đ ó , c á c chương irìnii liến hoá khồng biến đ ổ i bài toán m à chì biến đ ổ i biẩu diễn
N ST củ a m ộ t lời g iả i c ó ih é (dùng c á c c í u ư ú c dữ liộu “ lự n h iô n ”) , và áp d ụ n g c á c toán lữ
g ien ih ích hợp.
N ó i m ộ i cách khác, d ể dùnc m ột chương tnnh liến hoá giả i m ột bài toán khôni: iđm thường, ta c ó ihiì biến dôi bài tnán c h o phù hợp với G A (hình 0 2 ) hoặc biến đôi G A cho phù hạp với bài toán (hình 0 3 ) R ỗ ràng, G A kinh điổn ch ọ n h ư ớ rs đáu, c ò n EP chọn hưóng sau D o vẠv, ý tưiVnii dunu sau EP khá đơn íià n dựa vào phươnc chủm ;
“ NOu irừi khỏniỉ chịu dãì ihì ja'i phái chịu trời.”
H i n h 0 ? H ư ứ i ì Ị Ị ripp r ộ n r ù a E P
Ta uoi c J l incii i!;uiu cii;; lliuậl loúii cicn ià v.-;'ic liìiili liOii
K hó c ó ihii xũc dịnli raiili íiiứi uiữii G A vù EF cliươm i iriiih licn hoũ nhữm; Iicu
c h í 1:1 Jc c ó ll)c Jưí»c a>i là m ôl "ìài ilỉuậl Ji truviín? Duy irì quán llvJ các lời i:iỳi c ó thò? Bicu d iỉn nhị phùn c ja cd c lừi aiãi? Qud 'jình chọn ỉọ c dựa vào J ộ iliícli n ch i? Cúc iv^án lử '.úi k í l h(Tp? Sự tồn lại cùa Đ ịnh Iv Mủu ? G ià ihuvốt Viỉ cá c kl'o’i sỏ ? H jy lấi cá r.liữim Jitiu ircn'’ C lìư ơn s líìíah liốn hoá cho bài loán naưòi đưa Ihix với b iju didn v cc lo r sỏ’ tự tiiiiủn và ioún lừ P M X icliư ơ n s 10) c ó phài ỉà m ội eià i iliuật di iruycn h a v khỏnu'.’ C h ư ơn c trình licn
hoá ch o b i i loán 2 Ìao ihôna vứi biiìu dicn ma irận và phép trao đổi ch éo s ố h ọc c ó phái là
m ộ i aià i thuậi J i iruyổn hay không? T ro n c cuốn sách này chúnt; l ô i k hồna đưa ra CaU ưà tời cho cảu hỏi ircn mà chúnc lôi sò ciứ i ihiộu m ỏ r s ố kếi quà ihú vị ihu được khi áp ò ụ n Ị
cá c k ỹ ihuâl lẠp tiình ú ín hi;á ch o nhicu d ạ n c bài.
N h ư đà nổi ờ irón m ỏi sủ' nhù n c h iin wứu đã nhận ru licm nãniỉ cùa nhicu h ư ớ n c sửa đô, Trong [78] D avis vii'i;
“ K hi ỉhảo luân với nsười d ù n a tôi aiài Ihích rầna k ế hoạch cùa tôi là lai ghép
Trang 10giưa giả i ihuại gien và ưiuỊt loái' hiửn dùng bằng cách áp dụng các nguyỏn tắc sau:
• D ù n ^ C â ch M ã H o á H iện Hành', dùng cách m í h o á của ihuẠt toán hiện hành
c h o Ihuạt toán lai.
thuật toán lai.
• T h ic k ì^g lii H o á C á c T o á n T ừ C ie n : xây dụ n g các phép trao đổi ch é o và đột
biến cho kiểu mà hoá mối tương ứng với các phép trao đẩi cháo và d ộ t biến nhị phàn T ích hợp cá c heurisúc phụ ihuộc bài toán vào cá c toán tử.
{ ] Tữi dùng thuỊt ngữ th u ậ t toán g ien la i c h o các thuật toán được xây dựng theo
ba nguyốn tấc trôn."
Dường như thuẠt toán g isa lai và cá c chương trình iiến hoá c ố cùng một ý tường: sự tách khỏi G A idnh diển nhị phản d i hướng tới cá c hậ phức tạp hơn với các c íu UTlc dữ ỉiệu phù hợp (D ùng Cách M ã H oá Hiện Hành), và các toán từ gíen íhích hợp (Thích'K ghi Hũá Các Toán Từ G icn), D avis eiả Ihiết sự c ó mật cùa m ộ l hoặc nhiểu thuật toán hiộn hành và dựa
ư èn cá c ihuậỉ lodn đ ó đổ bàn vé sự xay dựng thuỊt toán gicn h ir Tror.c hướng tiếp cận lâp
t ìn h liến hoá cứa chúng ta, ta khồng dưa ra giả thiết nào thuộc clặng trỉr, m ọi chưcmg ứinh
liến hoá sẽ á'~ạc g iớ i thiệu ưong cuốn sách này dểu được xây dựng từ đáu '
-■fv.
LỊip irình tiến hoá c ó những thế mạnh và yếu đ iểm gì? C ó ìẽ'ưu''điổm chính của lâp trình tiến h o i là khá nãng ứng dụng rộng rãi Trong cuốn sách nàv,' chúng tôi c i'g a n g m ô là nhiầu bài toán da dạng và cách x â y dựng chương ii'inh ũến ỉìoá‘ cho m ỗi bài Uong s ố Jó
K íl quà ihưừric r ít k h i quan: nhiéu hộ c ó hiộu quà cao hơii nhiiSu so với cá c phẩn m ỉm Ihươiig mại c ó Iron thị ỉrường M ột thế mạnh khác c ó ỉiên quan đ ín EP là bản chấi song son g của ihuậl toán N hư đã được viết Irong [154.]:
“Trong m ột thẩ giúi m à các thuật toán chuỗi được làm cho son g song bàng vô số xảo ihuật và những sự bóp m éo, Ihật nực cười khi c á c giải thuẠt di ưuyổn (tính son g s o n c c a o ) bị biến ihành thuẠl toán chuỗi bằng c á c x à o thuật trái tự nhiẻn khững kcm "
T íl nhiẻn, diéu nàv dúng với m ọi E P.dùng quẩn : h ì dân số Thồm văo dó, ta củng phài thừa nhận nén m ó n e lý thuyết nghèo nàn cùa EP Thực nghiộrr; vói cá c cấu trúc dữ liỊu và
cá c biến thể của trao đ ổ i ch«ỉo và đột biến đồi hỏi m ột sự phân tích kỹ càng đẩ c 6 ihiì đàm bào hiệu q u i luơng đối lốt cho ihuàt toán Đ iổu này cho dốn nay vẫn chưa dược thực h íín
•
N hln chung, các kỹ Ihuật s i i i toán ư ong AI được ch ia thành hai loại ‘'m ạnh” và '‘y íu ”
‘ Một phương pháp vếu dưa ra lì s i i th iít vổ miổn xác dịnh củu bài toán và d o d ó nó cú thể
Trang 11được áp dụng rộng rãi Miil ,wiác, phương pháp này c 6 th(S phài chịu Jụng sự bùng IIÃ lổ hợp khi dem áp d ụ n e c h o các bài loán c ổ kích thưóc lớn han (90) Vấn đổn này c ó Ihá
iránh được bằnc cách đưa ra các già th iít mạnh vé m iển xác định cCia btii toán rổi ;Ịn dụtig
IritỊt dể cá c aià l liiíl này irona quá u ìiili giãi N h ư ns các phương pháp mạnh này có mộl nhược d iỏm là khả nãng áp dụng c ó hạn của chúng: chúng Ihưừng phải được Ihiốt k í lại
n g a v cd khi áp dụng ch o các bìii loán.gán siố n g
C ác chương irình liín hoá nằm ờ dâu đ ó ờ giữa cá c phưong pháp Vii'u và cá c phươns pháp
m ạnh MỘI s ố EF (như cá c G A ) khá yếu và không cíưa ra g ià Ihiếi gì VC m iổn xác định cùa bài toán M ột s ố chương trình khác (v í dụ GEis'OCOP hay G E N E T IC -2) phụ thuộc đ i bji Iihiiíu hơn và phụ Ihuộc với mức dỌi da dim e V í dụ, C E N O C O P (chuơng 7 ), như m ọi chic’n lưực ũốn hoú (chưưnu ổ), dược thiốl kõ’ dủ’ giãi các bùi lủp irlnii Uìum sỏ’ Hộ c ó ihổ xữ lý
m ọi hàm m ục tiủu vứi m ọi uìp tíuộc luvO'n lính Hò G E N T IC -2 (chươiit: 9) Jùni:
c h o c á c bài loún yiao Ihônu Các h<Ị khác ^xcm chương 10 và 11) thích hơD vói các bài quỵ hoạch lổ hợp (như các bài lũp lịch, người đưa diư, cá c bài Vii đ ó ihị) C iư ơ n a 12 giOi chiộu
m ộ t ứng dụng ihú vị cùa m ội EF c h o iiiJ u cilv e learning o f d ecisio n rules.
C ó m ột chút chflm biếm ờ đay: cá c G A dược c o i là cá c phương pháp yếu nhưng chúnc ahanh clió n a cliuycn ihùnh các pliương pliáp mạnh với sự c ó mậi cùa cúc ràng buộc khỏnt; lám thưừng C ho dù la xcl dốn hùin phạl diiìm, bô giả i mà, hay thuệl loán sừa ch.ữa, c h ú n ỉ dổu phdi dược Ilúoi kố dặc biộ: dò phù lìợp vói bài loán cụ thẩ Trona khi dó, cá c EP ^đươl: COI là cá c phươna pháp phụ iliuộc bài loán và là cá c phượng pháp mạnh hơn fihiỏu) bỏns'
ư ờ nổn c ó VC yốu hơn nhiéu (.la SC bàn vé v ín d ẻ này kỷ han irong chương 14) D icu này chi ra mỌl úiim Iiãiie lớn cùa hướng tiốp cộn dùng lạo tiình liiin hoá.
Cúc quan sút IrOii Jũ ihúc ilãv lỏi niiliiổii cửu các lúih c iiíl cùu các loáii lừ uicn kli.ic Iili.ui
x á c định iriin cá c cấu irúc dữ líỌu ciàu ihông ũn hơn xủu nhị phdn - xa ỉiơn nữa nchicn cứu này c ó ỉ h i dẫn lới sự hình ilùn ii của m ội phương pháp iập irình m ới ^ironiỉ [277] eọi lũ
E V A - v ic l tấi của “ E V o lu ù o n progrA m m ina’').' N ói m ội cách gần đúna ư o n s m ỏi Irơvini: lập irình kicu mới J ó , m ộl lặp idnh viiỉa không những SC iựa chọn cá c cấu irúc dữ liệu Viíi
cá c toán lử gien llu'ch hợp cho m ột bài loán cự lliẻ mà còn chọn hàm đánh §iá va khởi Lạo
q u á a ihc ban d âu \CÚC lliam s ố k l ú c d ư ợ c d ic u fh iiih b ô i m ột q uá i n n h di iruyổn khãc).
T u y nhiiỉn, m ộl khối iưựnỉi lứn nglúiin cứu phài dượa,hoàn thành irưức khi la c ó ihii dõ x u iì
c á c nén m ó n e x i y dựiig cho niộl mOi Ii'ưừng lập trình kiiiu m ới đó Cuón sách này clii aikh
thiỊu nhữag bước đáu úiiii hưóng lới m ục díciì này bầna cách nahiOn cửu cá c cau Irúc iiử
liỊu khác nhau v i các loán :ử iiicn xũv dựni: cá c EP c h o nhiéu bài loán.
C h ú n g í a s ẽ q u a y l ạ i V('ri ỹ l ư õ n g VC mi i i l r ư ( m g l: ì p í r i n h m<)ì n á y à cui i i s ã c h ( c h i i r m g 14)
8
Trang 121 T h u ậ t ío á n di truyOn iù gì?
C ó m ột lớp lổn các bài toán hay m à người la chua tìm ihuật loán iươne lối nhanh đ i giải chúng Nhiiìu bài toán trong Ik'ap này là các bài loán quy hoạch mà ihưìmg này sinh trong
cá c ứne d ụ n e Cho m ộl bài toán q u y hoạch ihuôc loại khó này ta thư ờnỉ c ó ihể tìm ra một Ihuài loán ch ạy nhanh và cho kốt quà gán tối ưu Đ ố i với m ột s ố bài loán quy hoạch khó, la củng có thể dùng các thuỊt toán xác suấi - những ihuật toán này khỏng đàm bào cho ra kct quà lối ưu nhưng bằng cách chọn ngầu nhiồn đù nhiéu “bang chứng", ta c ó thố giàm tuỳ thích xác s u it sai cùa kếi q u i
Các ihuẠl loan hi^u quà cao dũ Jược lìm ra cho rít nhiiíu bài loán quy hoạch Thí dụ, ta có
thử áp d ụ n e ■'mỏ phòng !uy<Ịn il-.Jp” cho bài toán thiốl k ỉ VLSI hoặc cho bài toán r.gười
dưa ihu Hơn nữa nhiiiu bài loán quy hoạch tổ hợp ihuộc aui m ô lớn (nhiéu bài trong số
dđ dã được chứng m inh thuộc vaò lớp NP-hard) c ó thể được giãi eản đúng trẻn m áy tính hiện dại bẳng phương pháp M ontc Carlo.
N'ói một cách ưừu íượne, viộc già i m ộ[ bài loán có ihể xem như việc lìm kiếm ư on g một khỏng gian c á c lời giả i có thẩ V ì cái dích cùa chúng ta là “lời 2Íài tổt nhấi”, ta có thế coi cỏng v iệc này là một quá uìna tối ưu hũá Đ ố i với những không gian nhỏ, phương pháp
"vét cạn” c ổ di-in là tiù dùng: còn những không gian lớn hơn dòi hỏi các phưcmg pháp trí tuỏ nhan tạo đặc biệt.'C ác ihuât toán di iruyền (G A ) nầm iron e s ố các phương pháp đặc biệi dó.
ThuẠt toán di tiuyiin là các Ihuậl loán ngầu nhiỏn mà phươns thức tìm k iím dựa irCn mộl
s ố hi«Ịn iưựng ihiủn nhiCn: sự Ihừa kố gien và thuyết đấu ti'anh sinh tổn cùa Darw in.[74] có đoạn:
cá c thuật loán gicn v ì sự liến hoá tự nhiẽn c ó cùng m ột nguyên lý, Trong sự lií n hoá lự nhiỏn mỗi loài sinh vỊt đểu phài tìm cách thích nghi tốt với m ội n;ỏi trưừna số n c phức tạp và luôn Ihav đổi “ K iến thức” m à m ỗi loàỉ đức kết được chi lại irong c íu trúc nhiỉm sắc Ihổ của các ihành viỏn ”
Tư iưòng dằnc sau ihuật loán di lcuvén là iàm ihco lự nhiõn Ta hàv lấy ihỏ n làm m ộỉ v{
dụ: XÓI m ộ t đ àn ih ỏ tại một Iliừi Jidm n à o d ó M ộ i s ố c o n th ò nhanh nhẹn và linh khôn hơn
các con kháo U'ong dàn Nhữnt: con Ihò nhanh hơn và klíôn hơn nàv ít khả nãnc bị cáo ãn hơn, do đó ciiúne sống SỔI nliiòu.liơn tlò đò Ihiim Ihỏ con T í l nhiiln, mỏt phđn ti-onc s ố lliò chỊm c h ạ tịh c n và niiừ ncỌch hưn cũng m av mán SỐIIC SÓI N liihig con ihò sonti sót bắi dáu sinh <ỉõ kối qud là m ội iự kci hợp thú vị cùa g ien thỏ: m ội sò' Ihò chặm k ít hợp với thò
Trang 13nhanh, nhanh với nhanh, khũn với ngu, V.V Trong đ ó , Ihinh thoàng lại này ra n iỏí con
“ ihỏ rừng” d o sự đ ộ t b iín gicn N hữ ng con Ihỏ non được sin h ra (lính UTjng bình) s ẽ chạv nhanh hờn và linh khổn hưn Uiil’ hộ thỏ ban đáu vì ihỏ cliạ y nhanh và liiìh khôn s ố n c sổt nhiổu hơn (M ay m ắn là nhữne co n c á o cũng dang trài q u a m ộ t quá ư ình tương tự - nếu
k h ô n g ih ỏ s ẽ ư ò nỏn quá khôn và quá nhanh đển nỗi k h ổn g con cáo nào đ u ổ i kịp).
Thuật toán di truyén bảc chước c â u chuvện nhũng con thò N h ư được v iế l trong [380]:
"Lý ih u y ế i c h o rằng ch ọ n lọ c tự nhiẻn là nguyẽn lý cơ bàn cùa sự tiến hoá dã được D arw in đề ra rấi lầu trước khi cơ -eh ế di truyển dư ọc tìm ra Chưa biếc đến
cá c nguyổn lý di ưuyổn c ơ b in , Darwin đưa ra e iả ihiiìl v é sự thừa k ế hoà trốn,
ô n c c h o rung cá c lính ch;Vi cùa cha mọ hoã [ủn vùo nhau như các chất iò n e trons
cơ chd c o n “
T h uậi loán di íTuyổn d ù n e nhiều ihuật rg ữ cùa ngành di iru ycn học Chúng ta sẽ nói v é các
■*cd ihé" ( hoặc genotype, structure) ư-ong m ội quán liiiỉ': ihưòn® thì cá c cá íhể này còn dược g ọ i l i xảu (sirin g) hơặc nhicm sắc ihể (N ST) M ỏi tẽ bùo irong c ơ t h i của m ột lo-i nào đ ó chứa m ột s ố r.h íl địr.h N S T ( v í dụ người c ó 4 6 N ST ); tuy nhiôn, iron? cu ố n s á c i này ta c h i nổi vé c á c cá ihc chi chúa dúne m ội NST M ỗi N S T bao gổm cá c đơn vị • a icn , hav lính trạng, mã ) - xốo liố.T liỏp; m ỏi g ien điểu khiển sự Ihừa k í của m ột hoặc vài lím trạng (h oặc đặc Irưng) G ien cùa cá c tính irạng nhấl định c ó vị trí x á c định trẻn N ST, vị ỉn' iló đư ợc g ọ i là !o c i (vị [n trCin xảu) M ội lính ư ạng b ít k ỳ (ih í dụ máu tóc) c ó thổ đư ợc ibd hiôn vứi nhiéu m ức đ ộ khdc nhau; la nóL rằng g ien đ ó Ci5 nhiéu trạng chái (g ọ i là allete).
M ỗ i kiíìu g ìcn (g cn o iy p c) (iic'nti cuũn sách này là m ội N ST ) sẽ b iìu Ihị m ội lời ciải c ó lie cùa m ột bài loáu (ý nuhTa cùa m ỗi NST cụ lh>5 nghia là kitìu g icn của n ó dược q u y ưi’c bừi người lộp Iiìiìh); m ội quá u ìn h tiốn hoá dưực ihực hiiỊn irCn m ộ l quiui Ih i NST líi tirui i; Jưưng vứi sự lìm kio'm u-oni: nu)i khỏng iiian cáo iừi giủ i c ó ihể Sự •.ìm kiếm này đ ò i h')i
sự cdii bàng giữa hai m ục đíoh; khai ihác Idi giải íôì nhất và khám phá khủng g ia n lìn
k iếm [4 6 ] Phương phúp “Ico núi" là một ví dụ vổ chiến lư ợc khai ihác lùi EÌùi tỐL nhất ilico
cá c hướnq cãi tiốn Tìm k iím ngáu nhiẻn là m ộ l v í dụ diẩn hình của sự kr4cn phá klìỏrg gian lìm kiốm khồng chú irọn e khai iháo cá c rniồn hứa hẹn Irong k h ô n s sia n lìm kiốn Thuủl toán di iruyổn là lớp cá c phương pháp lìm kiốm [ổng quái (không phụ ih u ộ c v;o
m icn xác dịnh) với sự oiiii bui:i: dúim kõ uiữa khai*fclúc và khám phá không ':;ian ùm kicrr.
G A đã được áp dụng khá ihành c ô n c cho m ột s ố bài toán q u y h oạch như routing Lip lỊi.h diồu khien đ ộn iì, irò chơi, c o íin iiiv c m odcllinq, cá c bài toán g iao Ihông, bài toán ngưùi dra
Ihư, c á c bài toiln diiìu k h i í n tứi ưu, lối ưu hoá Cilu h ỏ i c o s ỡ d ử liỊu V V ( x c m ihLHi
[1 5 3 4 ]) T uy nhiòn Jong khuyửh cáo về vi.Ịc c o i G A như là công cụ tối ưu hoá;
Trang 14” d o Nự q u an Iflm lứii vài) chức nâng lổi ưu hoá ứng dụng, la d ỉ đi đố n c h ỗ coi
G A là cá c ihuại toán lồi ưu hoá và sẽ ngạc nhitin và/lioặc thất v ọ n g khi chúng
k h ô n g tìm dược kết quà lối ưu hiổn nhiủn trong m ột không gian tìm kiếm nào
đ ó T ôi c h o rằng la chl nOn xom C A là m ộl sự g ià iạp (khá lý tường) của quá
u ìn h phát iricin lự nhiửn và GA chứa dựng d ích và ch ủ dịnh (nốu c ó ) cùa quá trình cự nhiòn đó Tôi không rỗ c ó ai m uốn dịnh n g h ĩa đích và ùhù đ ịn h của các
hệ tiến hoá hay không Nhưng Ifti cho rằng, c ô n g bàng m à nói, cá c hệ đ ó nói
ch u n g k h ô n g dược xem là cổn g cụ lối ưu hoá chứ c n á n g ”
M ăi k hác, lối ưu hoá lai là ứna Jụna chính của G A Tror.a ^ 4 8 1 Schw efel v iít:
T rong Ihập kỹ irư út, lim quuiỉ Iiọni: của lối iru hoá d ã dư ợc n iìín mạnh hơn - nhiổu bài toún q u y hoạch tổ hợp quv m ổ lớn oác bai loán ứnư d ụ n g với rinj- biiộc cao ohi c ó tlid dược ciâ i gán dúng irữii m av ;ínii lìiộn dại.
O A nhâm v a o c á c bài ioán phúc tạp Jó G A nàm iro n a !ớo cá c tlìuỊt to^n xác ỉuẩt niiưnc lại Nhác c á c ihuật loán níiủu nhiồn ỡ chỏ G A kò't h(jp c ú c iliành phiỉn c ồ hư.7ns vdri tìm
ki^m n g ẫ u nhiiri M ộ l ;ính vhất quan irạrE khác c ủ a c i c p h ư ơ n c phan ti:n k i í m dựa vào
2Ìcn này là chúnu duy ;rì một ựip hvTp cac lừi giãi c ó ihii - m ọi phươnỉ p lú p i;h;ic đốu ‘hi
xử iý J io m đưn Uoni: k h ỏ n e iii.n ù r ícicm.
PhưưnịỊ pháp Ico núi sứ d ụ n c kỹ ihuậl náiỉii cấp lập ( iio r a ú v e im p r o v e m en t); kv thuại r.ày
áp dụns: c h o míM J icm Jơn ( diiỉm r.iộa :ại ) iror.i k h ô n i: siiin lìm k ij;n Trvìns một lẩn nânc c íp , m ột diòm m ới dược chọn iror;: s ố cá c J icm làn củn cãa cJiom hiiin ha:ih i J o đó
kỹ ilíu Ịi uày uòn J ư ự t i;v* I'” * lũii cẠii lu y Um kiò':n cụ c bi' ; Nửu đic;n :nứi oh<in
ch o k íi q u à lứi hưn cùa hàm m ục iicu Jid.n mới sỏ trờ th in h tíiổm hiỊn hành N ốu khổne,
m ộ l Ji0rn laii Ci ‘111 kluít dược ciiọn va ^o sáiih vú; J icm hìvỊn hìinh Phưoiii: p h íp k ít Iliúc klii k h ô n g Ihó náiìt; c ip iliiim dược nữa.
R ò ràng, phươni: pháp Ico núi chi cho ;j kốt quà Ici ưu wỤu bộ, kốl quà này phụ thuộc vào
sự lựa ch ọ n cúa diiìm XUÍI phúi Hữn nữa la k h ồ n s c 6 d ư ợ c Ihòng tin võ sai sô’ của kò’t quà '.ím dược so với kừì quà lôi 'JU loàn cục.
Đ c tâng khà nãnii ihành cò n g , phươnc, pháp leo r.úi th ư ừ n g dược ihực iúện c h o m ột sỏ' lượng ló n c á c diiìm xuấi phái (khỏrii: cần phài chọn H iả u nhicn cá c J icm nil'/ - J icm xuấi phát ch o m ột lấn cnạy có íhẩ dược chộ*n luỳ ih co kj'i q u ả c ủ a cá c lin chạv irưứcj
phưong pháp giù lịlp lu y Ịn ihcp (sim iilatcd annciiiinc) lo ạ i b ỏ dược nhiiiu nhược đidm của phương pháp Ico núi; kiit quà khỏn c phụ ihuộc '•ao ú i im xuấ: phát và (thường; íián vói
diiim lối ưu Đ iốu này dạt dược bằng cách dưa rj <ác su ấ i chấn iihỊn p (khá náng ihay ihế diổm hiện hành bằng cỉiiim m ói): p = 1 n íu diồm r.-.ji o iio g iá uỊ tốc hơn cùa hàm m ục liêu; nếu k h ôn g, p > 0 Trong u-ường hiTp sau, xác xuất ;r.á'p nhận p !à m ột hàm phụ ih u ộc giá ;rị
i l
Trang 15hìim m ục liCu (ại dicm hiỊn hành vã lại ciícm m ới, và m 6i Iham s>! Jiiỉu khicn “ nhiựl đ v ’ T-
T càng n h ỏ ihì xác s u ii chap nrtộn dijH', m ới càng ihấp Trong irinn ch ạy Ihuậi loáii
n h iệ i đ ộ T của hệ giĩim dãn lừng bưóc, ihuỊii loán k i i ih ú t khi T Jại lứi m ộ i g iá trị nho nào đó.
N h ư đã n ó i ờ ư ê n , C A ihực hiện lìm kiii'm ih c o nhiéu hướng bang cách duy u ì m ộj táp hợp
cá c lờ i g ià i c ó ih ể và khuyến khích sự hình Ihành vã irao đ ổ i thõn|: lin giữa cá c hướng Tập hợp lời giả i irài qua sự liến hoá: lọi m òi ih ế hệ, các lời ^iài iươnc đối "tốV' đư ợc lái sinn,
ư o n g k h i c á c lời g ià i iươnc dối 'lổ i" bị loại bò Đ ổ phíin b iộl giữa các Itì già i khúc nhau, la
d ù n g m ộ t hum m ục liốu (dánh ^iá ) d ó n g vai irò của m ội m ô i ưường sốr.a.
Cấu Irúc cùa m ộ i G A dơn giàn cũ n g g iố n g như cấu irúc cùa m ội chuơnp ưìrih liốn hoá b it
k ỳ (x em hình 0 1 , chương M ờ dáu) Trong vòng lặp ĩ, m ột G A duy irì m ộ t lộp lời giùi (N S T , v ec io r ) H ự ) = Ia-*!, ^v'„j M ỏ i lờ; ciài -\^ được đánh giá '*độ ihích nghi” Sau đ ó m ội
lâp hợp m ới (v ò n g lặp dược x â y dựiig bang cách chọn cá c cá thể thích nghi hơn M ội sô’ cá Ihể ư o n g lập hợp này bị biến đòi bảng phương pháp lai và đột biến để ụ o Ihành các lời g iả i m ới P hư ơng pháp ư a o đổi ch é o kốì hợp cá c dặc lính ưõn N ST cùa bõ' và m ẹ đ ể tạo Lhành hai cá ll>c m ới bằng cách iráo c3ổi cá c doạn iương ứng ưôr N ST cùa b ố và m ẹ Thí
dụ, nốu b ố m ẹ được bidu d iỉn bằng các vcrior 5-ch iổ u {a ,b i,C ị,á .C ) và ihì trao d ổ i c h ỏ o cá c NST sau gicii thứ haỉ iO lạo ra hai con và '• Trực g iá c d ằ n c sau sự áp dụiìtt phép Irao dổi ch óo d ó là sự irao đổi Ihfinc lin ciữa cá c lòi
• M ột cú ch bicu diỗn tiico gicri cá c lời piài c ó Ihẩ cùa bùi toán.
• M ộ l cách xfiy dựng ựip hợp ban đáu ciiu cá c lừi giài.
• M ộl hàm dánn giá dóng vui Irò m ỏi irưừng số n g , xốp han^j tá c lùi giài Ihcc) d ỏ “ Uỉích
• C ác phép biến đổi gicn đổ Ihay đ ổ i cấu irúc cùa cá c cá Ihể con.
• G iá irị c h o c á c tham s 6 được ciùng ( kích ihưóc cùa tẠp lời g iã i, xác suất á p dụn g b iín
d ổ i g icn , v v ).
T a sè bàn vổ cá c đậc đ iim chính cùa cá c C A với ba v í dụ dư ói dây Trong ví dụ <hứ nhấi
ta dù n g G A đẩ ỉối ưu hoá m ỏi hàm đơn vứi mộ; b iín s ố ihực V i dụ tliứ hai m inli hoạ cácli
Trang 16dùng G A diỉ học c h iín lược cho m ộl irí) c!ioi dơn giùn (.;ho prisoner's dilem m a) V í dụ Ihử •
ba bàn vé một hưóng dùng C A dd liốp cíỊn một bùi loan lổ hựp N'P'hard, bài loán người đưa thư.
Jịxo) >ỉXx), với m ọi -t s [-1 2 Ị
ỉ Tinh ! l Đ ồ Ihị hàm số./ĩ.v)** X - sir.(lC;u:) - I.o
H im / iưưim J ố i dỗ kháo sái Các khỏii” tiiòm của diỊO hàm bủc nhũt f Jược xác dinh như
sau:
/ ’(.V) = MIÌI lO xvi - U); lv < Ỉ0~VJ = 0
oủim ihức Iiủn tưưníĩ dươim vứi
Trang 17v \ m iòn xác dịnh của bài loún !à V e [-1 2 ] , h à n / đ ạ i giá lạ lón nhất tại v,,> - 5 7 /2 0 T
£■,9- I.S 5 -r £•„ irong đóyt.Ti,) hơi lớn h ơ n /(l.S 5 ) = 1.85 X sin(18;: + z /2 ) f 1.0 = 2 S 5
G iả sừ ta m uốn x â y dự ng m ộl G.A đẻ giải bài toán ư-én Ta hãy Iđn lượt bàn v é c á c thànii phán ch m h cùa G A đó.
1 1 ỉ l ỉi c u dicn
T a d ù n g N S T dưới dạng m ột vector nhị phân để biểu diễn cá c giá irị thực của b iế n X Đ ộ
d à i c ù a v c c to r p hụ th u ộ c vào đ ộ c h ín h x á c m à la cầ n , ừ o n g irường hợp n à v là 6 c h ữ s ố Siiu
clđu phảy.
M ié n x á c định cùa X c ó d ộ ilùi 3; yCu cáu vổ đ ộ chính x á c đ ò i hỏi đoan [—1 2] đ ư ợ c chí.i ihìlnh ít nhííl 3 * 1 0 0 0 0 0 0 đoạn con d ộ dài bằng nhau N gh ĩa là m ỗi v cclo r nhị phi'^n (N.ST) oán 2 2 bii:
Trang 18Iron!: đó N ST V dcii diộn cho aiú irị Ihực X.
N hư dã nói dóV ờ ;icn hiim dúnh giá dóng vai irò cùa m ói irưònt;, n ó phán lo ạ i'c á c lời g ià i
có ihc dựa vào dộ ihích nghi cùa chún" V í dụ, ba NST;
Vi = ( i o o o i o i n ũ i i o i o i o o o i i u
V, = ( 00000011 lOOOOCOOOlOOOO),
V, = { 1 n 0 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 ] 01).
lull lưín iưưiìj^ ứiii; vứi các ui;j irị X = 0 6 3 7 1 9 7 , X- = - 0 9 5 8 9 7 3 và Xj = 1 6 2 7 8 8 b Hàm
dánh ẹiá s ệ lính diổm ch ú nc nhu sau:
c v a l ( V | ) = = 1 5 8 6 3 4 5
Trang 19ev al(vj) = f(x ,) = 0 0 7 8 8 7 8 ,
e v a l ( v j ) = f ( x ,) = 2 2 5 0 6 5 0
R õ ràng, trong ba XST Vj là tối nhất vì hùm d in h giá trả VC giá irỊ cao n h íl.
1 1 4 C á c p h c p biốn d o i gicn
Trong pha bic'n dổi cùa G A , ìa sẽ dùng hai phép biến đ ổ i c ổ điển: đ ộ t biến và ưao đổi chco
N h ư dã nói dốn ờ trồn, phóp dội biốn Ihay dổi m ội vài g icn ( vị in' irèa N ST ) vcri x á c su it bang ti lộ dột bicn G iả sử ihứ năm uồn N ST Vj dược chọn đột biốn G icn 5 của
N ST này là 0 d o dó nó SC bị sữa ihành 1 Sãũ d ộ t biến N ST V, irờ thành:
Vj- = ( 1 1 iOlCCHXOl n i l 10 0 0 1 0 1 ).
N S T n à y biiiu d ic n giá irị X]' = 1 7 2 1 6 3 8 và ù x / ) = - 0 0 8 2 2 5 7 T a :hà'y đ ộ i bicn n ì v Jã
a ià m đária kẩ củ a N S T V M ậi k l ú c , ncu 2 Ìen s ố 10 c ù a N S T V, d ư ợc ch ọ n d i d ộ t b iế n Ihi
Vj” = ( 1 1 1 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 1 0 1 )
T a c ó c iá trị iư an e ứna Xj” = Ì 6 3 0 8 Ị S và f ix j ”) = 2 3 4 3 5 5 5 kẻì quà này tốt hơn 2Ìá Irị ban
đ ẩu fiXj) = 2 2 5 0 6 5 0
Ta hãy m inh hoạ phép trao đổi ch é o ư>Jn cá c N ST V và Vj C ià sừ điòm cắl được chọa
ự i g i u n hiỏ n ; UII VỊ Iri sau c ic n s ố 5:
Trang 201 1 5 C á c th a m .sô'
Đ ố i v ớ i bài toán cụ liiiì Iiày, ta dã sử dụng cá c tham s ố sau ; kích íhước tạp lừi giài
p o p _ siz e = 5 0 xác suấí trao đổi chóo = 0 ,2 5 , xác suất đột biến p„ = 0 ,0 1 C ác m ục tiếp theo sẽ g iớ i ihiửu m ột s ố k í l quả ihực nghiệm hệ di truyền này.
1 1 6 K ế t q u â th ự c n g h iệm
Bàng l 1 g h i lại cá c Ih í hộ có sự nâng c íp của hàm đánh giá NST tốt n h ít sau 150 ih ế hệ là
v „ = (1111001 l o i o o o i o o o o o i o i )
g iá u ị lư ơ n g ứnu là * 1.Ổ50773.
N h ư dã m o n g dại, = 1.85 -i- e, và f ( x „ J hơi lớn hơn 2 8 5
Trang 21phiiii b ( i ih'i CÙ I'.ai dó u k lió iiu l i j j c U;ii va cln\ bi i;'u'nL n h J i nừa NÌLi k h 6 n i: cú ai p l ù i i bọ i
thi cà hai cùng Jược i h u u a j : c i i ú : íl V ậ \ dũnc V pr.jn bội s i luởn c ó U 71 hoặc ÍI hại J nưn
lù cộ n c lác với n cuờ i bạr lù ■ dù neư õ) ú kiú cú ỉurr, i;ì di nữa • nhưnc nếu cà hai cùns;
phân bội lình hình cũng chẵni’ lỊ hơn khi wã hai cùng cộng lác Tinh Ihẻ rắc rối cùa người
tù la quyốt dịnh xcm m ình c ó nSn phân bội hav khốnc.
Bài loán này c ó thổ dược chơi dưói dạng irồ choi kai ncười, ivong đó, lại m ỗi nước di m ỏi đáu ihù hoạc phàn bội hoậc cộn ẹ ưic v ó i ncư òi lù kia, Hai đau ihii sẽ được lính đ iểm ih e o bảng 1.2
Phản bội Phàn b()i 1 1 1 Trừng phạl d o cùng phản bội
Phản bội I Cộnị: lác: 5 0 Thườnp cho Ijn phàn i 'n
C ộng tác Ị Hhủn bội ị 0 5 ị Thường cho lòn phản bội
C ộng lá c ^ C ộng lac 3 3 T h ư ò n c d o cùng cộnp lá c i
Bàng 1.2 Banc Ihườn" phại c h o irò chơi ‘T h e prisoner’s dilem m a p )ã diom c h o dấu Ihũ i- B;ìy g iò lii sô xcm xci cách tlùig G A dế học chi^v lưựu ch o irò chơ; i;ù\ Cách tiốn CÍỈM dùiig C A ciuy irì inộl lộp t:ác "d.u Ihù” , m ỏi dấu llù c ó m ộ l c h iín lượ: Nác dịnii Ban duu, chiõi; lược ciia m ỏi dấu ihu dưạ' lự:i chọn ngẫu nhi-r Suu đ ó lại m ỏi cỉước các díiu 1I1L chơi vó^i n lu u clicm cùa clìúni; ( l ư ợ c chi lại M ội sỏ’ '.hũ (.lược chnii cho ihii’ hc- sa e n ộ i pháii Irung s ổ Iiùy choii uhóị) cíip Klìi hui tlấu ihủ ghiíp cộp Já\j Ihủ mứi được lạo
ra sẽ c 6 chiến lifí»c vh(íi xáv clựic dựa irỏn chiốn iư.u' cua cha mự c!i>: chcoj- Ml'S! dô:
b i'i' j I i h ư i l i u b i i L 1C., b ỏ x u : i L b ú i i Oị v u o l ư ọ c n ơ i n u n g (.‘ú c I h a \ J' > 1 n c a u n h i í n i r i i i i
biiiu cliỉn cũii ciic L-hiii'ii lược d>'
1 2 Ỉ l i i c u d i c n MIÓI c i Ú L t i i u i i
-Trước h^'i lừ c ìn m ội cách lu'i" d ó bicu diỏii mội chij':i lược (m ộ l lời <-iài c 6 ihc^ D c
đơn giàT la sii xé! các chicn ỉhuậl tấl dịnh (dclcrn'iriiilic;, dựa vào kcl aui của hii nưik' di irưức d t chọn nước di liếp iIk í M ỏi nưữc di cú bỏ ’11 kõì q u j c ỏ ihc\ do dó cứ 4 X 4 A 4 =
6 4 khã nàng c ó ihc' xày ra ciìoứ a nưức di.
MTỉi c h iín lược ihuộc dạng nà', c ó i h í dượt' xác dinh bủni: cách chi ra nưởc di liep Ihco dối
\ới m ỗi b ộ k íi quà cùa ba nuỏ; irước V Ị y m ội cl*.;j'n*lhu;)l c 6 ihò dưỌv b iìu dicn bời m ội
<âu 6 4 bi! (hoặc các k ý lự D vi C3 chì ra nước di call chọn dối vói m ỗi irưòng hợp iro n c số
6 4 khà nàng Đ Ì áp dụnc chiùi lược n ca y lừ đáu ván chơi, Ui còn phải đmli ra k ế l quà cùa
ba nước đi giả Ihiốt ưước nước di cỉáu liân cũa ván choi V iộc n à v đòi hỏi sáu g icn nữa, lạo nên tấi cả là 7 0 cien irôn NST.
Trang 22Xùu 7 0 bil này xác dịiih nước di cùa (Jủu thù U o n s m ọi irường hợp và d o vậy định nghĩa dầy dù m ột ghicn lược cụ thể Xàu nhị phan này còn là NST cùa đ íu thù và được dùng irong quá u ìn h lie’ll hoá.
1 2 2 P h á c th à o G A
G A của A xelrod dùng ch o bài toán này có bốn bước sau:
1 Chọn m ội tẠp khời d íu M ỗi d íu Ihù dược gán ngdu nhiỏn m ội xàu 7 0 bil đại diộn cho
m ộl c h iín lược như dă bàn đO’n ờ íriìn.
m ìn h dò ch iá Vi/i cíic J ốu Ikù khác Didin củ a m ó i dQu Ihù !à uunịị hình của Ji«im dấu ihủ đ ó J:ìI lIược iror 2 l í i vd cúc vdiỉ c.’.ji-
3 Chọn cá c ú íu ihù đế sinh sàn Một d íu ihù diiỉm j m ức irung bình được một !án ghép
cặp, đấu iliủ c ó dicm ^ao hơn ưur.s: bình iTiộl đ ộ lỊch liôu chuiin J j ạ c hai lần: còn đ íu ihù c ó điòrn Uiấp hưiì u'unn bình m ỏl s!>í' i«Ịch lic-a ciiuần k/.ónc Jưọc ’.un nào.
4 GhcD cdp các dấu Ihừ chơi iđl một cách nuảu nhiỏn d i ch o m ói cốo sính hai con Chiốn lược của m ỗi cá thể c o a dược xủv dựng dựa irOn chicii lược cùa bci m ọ bằng cách sừ i.lụng hai phóp biốn đối uicn : irao dđi ch é o và đột biốn.
Sau bũ'n bước, la dưcic m ộl lẠp m ới T:)p mới này Stì ih>i hiửn các dr;» tírh c iố a g cá c U íu :liù
ch o i lỞL ừ Ihii’ hô irước hưn là I^irttiíỉ cúc cliVu thù chơi lỏ i V ứ i m ó i ihil' h<> mAi oúc Jií t h i có
didm lương tỉứi c a o sỏ c ó nhiủu LU Kt'i tiuyiỉn nìi)í phán chiiin iư<rt: của r.iình ch o suu irong khi các cá ilií c ó Ji<im iưtíDg dối lói c 6 ít cơ hội hơn.
1 2.3 K c t q u à th ự c n g h iệ m
Chạy chương irìiih Iiày Axoli'oij dã Jạl J u v c k ít quá ú á n g chú V Vứi khời đẩu hoàn toàn ngảu nhiủn cá thế niửc irung bình JÙa o á t lạp hợp uUợc tiốn hoá iheo G A chcrt lốt không kém :huẠi lOiin iicuriỉiiit; tổi nhiVi Sau dáv ià m ội s<> dặc líuh ihu dược irOn phán iứn cá c cá ihể sau quá U‘inh iiốn lioú;
1 Đ ừ ng dứl Jãy d ộ n g r ừ n i: : lii'p lục cộ n g lác sau ba lán cùng cộng tác (n gh ĩa là c sau CCC)(CC)(CC)=).
2 N ó n g tính; p lù n [ại klii bị phàn bội* bai a g ờ (D sau (C Q (C C X C D )).
3 C h ip nhận lừi xin lỗi; úốp lục cộn g lác sau khi sự cộ n g tác được lẠp lại (C sau {C D )(D C )(C C ,J.
■ 3 nưóc tli.euồi (lutỊC biCu diỏri bời 3 c.Ịp (al.br)(a2.b2){u3,b3'i ưonu ti6, a là nưóc Ji cùa tlA’u Aủ lùỌii hàiíh
Trang 234 C iión g qucii: l:iii li.ii b jii J j liip Iji M/ U.W ;'JU in>): Inn li'in c 1 k : iu , I i ‘ - I, (DCK CC)CCCj;.
5 C hiu chơi: phiin sau lên cLr.c phun (D sau (’D D ifD D )iD O /.
1.3 B ă i t o â n ngưcri đ ư a th ư
Trong m ụ c n ă y ta SC băn VC câ c h d ù n g G A đ i liíp cẠn băi loân người đưa Ihư (TSP) Liru V rằng ờ đ a y c h ú n g la ch! x6i m()i c â c h liếp cận m ă Ihối Ta sẽ băn v ĩ câc ciich liế p cftn k h íc cho băi lo â n n ă y ư o n í; chuơng 10.
N ó i m ộ t c â c h dơii g iă n , ngưừi (Jư:j Ihư phăi đ ín m ọi Ikùnh p h ố ưopĩg dịa băn hoại d ộ n c cùa anh la đú n g m ộ i jân rổi U'ừ VC d iiím XỦI phâi Cho irước ỊỊÌâ di iụi g iia cúc Ihănh phi), iioi anh la phăi lìm luvòn đưĩJi)j; di Iiliư nêt) đổ lốn ÍI liín nhủi.
TSP ỉă m ộ i băi loân q u y hoạch 10 hạp nảy sinh ironc rấi Iihióu ửr.c ỨỊiiig Đũ c ó m ội sí' Ihuđi toân pliủn nhânh củn, Ihuội Kỉân cíin dúnịi thủụ ỉoâii lìm kicm h cu risiic dược ilũiit;
để g iả i q u y ố i băi loân năy T ron g nĩim uân cỉiy câc G A dê dưọc dùiig d i giải "ân cJui'.ị; TSP; m ộ i ư o n f s ố d ó iõ được u ió i ihiủu dưới dêv.
Trưỏc lìối, ỉu cíiii xúi inội vấii đ i quan irọiiỉ: liiii uuan v i Ị f hiou ú iủ i NST: lii nón
N ST lă m ộ l v c c io r c â j sii lự nhicr hay n in ch u vj; nổ ihăiih rní‘>i xiiu nh: p!'.ê:i'.“ n'rDni'
v í dụ ư ư ớ c, la biou dicn N ST b iiii; m ội xúu lihị fhim Đ iíu RÌiV cho phúp iíJ úp c!ụn"
bi6n nhị piiêii \'ă irao dối ch co đổ dược cj>.- cả ihC' COII I'.np !ệ r.giũa nâm iroiir, khinL gian tìm kiốm Cẫh năy kh«')ni: ihích hap bl; TSP Trv)r.Ị‘ W.CU j;,: nh' Ịỹiiâr
ih ù iiii p h ú U o j i ^ T S i* n ì6 i u ù iili pl-.c< J>hù'i r.-.l lìoủ bêni: iv.í-i -.siư C clui ìo : t'.
m ộl N S T lă m ộ i xđu dùi nxi loịi-n , bil KÍI quă cùa phjp JỎI bic'ii lă mộl ú2y cúc iliăiil' pl'." nhưng d ó kh^ iiịi lìi nìội iiăiiiì irinii hiíp lộ: Ui c ó tlio j:ạp inộ: Ihiinii jilii"' liiii !;lr .I\>n dăy Hưn nữa J ố i vói n iộl b ii TSI-* c ó 2 0 Ihănh piiỗ t, Ironu d ó 1;: cân 5 bi: ch o r.'ộl il'.êi;ii
phỏ' ), m ộ l s ố x đ u 5 bil { v í dụ 1 0 1 0 1 0 ) kliõnt: u o n i ; ứi.i; vói lUìiiih p h ỏ lũio rì\c :0:
lưư!iíỊ lự cũiii; phai khi úp phiíp U;iO c!oi ciicv) R ù rănc n íu líi dừiìc câc phó]) biiiu vă irao đ o i chứ o như dê dịuh tiuhlu ;j i ỉ cai n-.ộ; díinc ihb;H loân sử:i chữ_ ihiiẠl dạng đ ó sẽ “ sử a” m ộ i N ST dc dưa n ó u-ờ lại klìỏn^ cian tìm kicm
Biổu diỗn bằni: vector sC’ lự nhiiin c ổ VC ihuỊn liộr hon: ihay vì d ù n c Ihủil loân sửa lí có thể đua k iế n Ihức cùa băi loân v ù o iro n s câc phĩp bicn dổi; bầnc câch đ ổ chúni: c ó Ihi ưânh x đ y d ự n t câ c câ I h í khống h(Tp lọ Tm nt’, Cilỉỉi Iicp c(in r.ăy, la ch:Yp Iiliíin bicu tiiỏ: só
lự n h itn ; m ộ i v ecto r V = < biồu dicn m ội hăiih ư ình ( t o u r ) : từ i đốn i;, v v , lữ đến i„ r ổ i ư ờ v ổ ij ( v lă h o â n vị c ủ a <1 2 n>).
Trang 24i,-Khi khòi lạo, lu cú the tiÙM^ thuật toúr hcu ;isiic ( thí dụ, ta c ó Ihổ luv mộ: sỏ' kci quá cùa Ihu;.i: loãn ãr, chci TS!-' bắi dú’j lừ zả z liùr.h phỏ’ khác nhiiU;, hoặc Ui c ó ihil- khò; lạo
U)P hơp ban dÚL: bang m(iỉ số iioán vị ngáu n h iin cù;i <1 2 n>.
ViiỊc dánh ciú m ội NST khá dưii ỉiiãn: bii': i;hi phi Oi Uii uiữa hai ihL h phô’ bấi k)' la dc
dùni: lính lổ n g chi phí cùu củ hiinh C'iiih.
T ro n c bài TSP này la ùm ihứ lự lò; nhấ: vũa các ihành piiC iro n g hành trình C ó ihế dẫ dàng đưa ra m ội số loún iư dưii líỗ lim ir.iỉ tự lôi hơn iro n c XÍIU T u v r.h iin nếu chi dùng
loán loún lử dưn, lu c ó í; hy vọiìl; lim ÚJ<-S ÌH>án vỊ lởl (chưa k ề đ í n hoãn vị i6i nhủi) H í :i nữa ihó’ m ạnh cu;i G A r.jm iruiìi: sự li'ilo doi liu cú cii'u irúc bẳnii cá c pii»:p ưa<i di'ii
ch ứ o EÌữa c ổ t Cii l l i í c ỏ d ỏ Ihích I1” 1Ú cao D o 110, la cá n mỌil lOi'iii lừ ciạnu iraci drtí chiỉo mà
c 6 ihể lợi d ụ iic nhữnc dicm tương đ ổ n c auan irọng cùa c á c N ST Đ ồ đọi m ụ c đích đó la dùng m ột bicn lliò cùu loún lữ o x |7 1 j C ho liai cá ihc b ố m ẹ loán lữ n;iv SC tạo ra cá thô cor bàng cách whoii ini')! dãv COÍI ciiij hìiiih li'inh cùa b ố uiữ n s u v c n ihứ lự tuơnn đối g iũ j
các ihành phố cũu mọ \ ’í cii.i n íu lia: c í ihc bố m ẹ là
<1 2 3 4 5 6 7 8 9 iO 11 vi < 7 3 1 1 1 4 1 2 5 2 1 0 9 6 8>
và phá:: được chọr lũ ( - 5 6 7>.
Ihì cú Ihc" con sc Ui <1 11 12 4 5 6 7 2 lu V í 3>.
N’i*.ư VÍỊX, cấ u LÚC cá ih j co n c ó oúc clặs; đ - in g iò n c cù bỏ’ v i m ọ Bô' vá ir.c c ó :r.j tíôi vai
ti'ũ klii xíiy ùựiit; w.'» Ihc vOii [ini’ hui.
Dùiiị: tuúii lù IICII, G A ch.iy (Oi ium 1ÌIV> ki^iỉ' iigùu niiiCii rủ'i uiù ủ u Iihuiiị: IỈJ vảii c ò n ni- ou
hướiiị; cài Uốn llỉiiin Klii áp dụiig cho dữ iỊu nuảu niiiốn e ó m lùO liìành p h ố, sau 2 0 0 0 0
I h í hệ kố: q u j Jicii lùnh ( iruns; binh hơn 2 J lần chạy ) c ù a ilìUậi loán lá hành irình c ó lổng
chi phí lớn hơn hãnii irình ưíi ưu ỉà 9,4%
Cbưưnc 10 sẽ bàn kỹ hưr Vij cúch b ic c d iả i và các phóp lo á n EÌcn dư ọc dùns: c h o TSH.
1.4 C ác p h ư o iig phủp Ico núi, lu yện thóp, và G A
Troni; chương nùy lu áp dụni: ba thuội loán : ic o núi, lu y ệ n ihiíp và G A c h o m ộ i bài U)án
q u y hoạch đơn iỊÌàn V í dụ này nhấn m ạnh sự độc d á o cù a c á c h liốp c Ịn d ù n g C A
KhOng gian lìm kicm là tập hợp các \ủ u nhị phản V đ ộ dài 3 0 H im m ục ii£u f c ó cỏn c Uiức như sau:
f(v ) = 1 11 xon c(v ) - 150 L
Ironi: d ó o n c(v ) irà Vii s ố chữ số 1 iron c xủu V.
V í dụ, ba xău Síiii
Trang 25f ià mộL hàm luyốn lính, iối ưu hc-.á r !à viỌc chảng k h 6 khăn 21 Ta chi d ù n s dô m inli hoạ
c á c ý iườna của ba ihuậl loán \ĩủĩ\ T uy r.hicn, f c ó m ột đặc điểm ihú vi: nó đạt 'iiá u ị iớn
T h u Ịi toán luyện ihép có một vài dnng Các dạng này khác nhau ờ cách ch ọ n xau m ới dể
s o sánh vdã x i u hiiỊn hành Hìiih 1.2 là m ột dạna dan eiàn (c ó vòniỉ lập) của thuẠi iodn le o
n ú i (M A X v ò n g lập) Khởi dáu, l í t cà 3 0 đinh lân cận được xót xàu V, nào ma hàm í(v„;
Irả vổ g i á u ị iớn n h í i SC d ư ợ c c h ọ n (Jd s o sánh với x au hiCn h ãnh Vj N í u f ( v j < f(v„) thì
xủu inứi trO lliìmh xủu hiCii hiiiih Nốu kliOiii’, ta k h ỏiig iho’ cùi tiíri iiẠi hộ dưực nữa: ihu.Ịi loán dã đạl lới dỉiih lối ưu (nội b ổ hoặc loàn cục) (ỉo ca i= T R U E ) Khi dó, v ò n g lập liếp llico (t t + l ) của ihuậl toán trôn rr,ổt x iu hiộn hành m ới (ch ọ n ngảu nhiồn).
Lưu ý rằng ihành công hoặc ihấi bại cùa m ộl vòng lặp IrOn (u à v i lối LOi loàn cụ c hav cục
b ộ ) được q u v ếi dịnh bời xàu kliài dáu (ch ọn ngáu nhiân) R õ ràng, nếu x iu khởi đầu c ó Íí hơn hoặc bần° 13 chữ số 1 íhuậi loán luôn kcì thúc lại J ic m cực dại ^ ihui bại) Đ ó ià VI
hàm m ụ c tiiiu cùa xàư cổ 13 chữ sỏ' 1 trà v i giá u ị 7 , m ọi cà i tiốn m ột bước vé phía giá in
tố i ưu toìin c ụ c , nghĩa lù tãnc liiCm m ộl chừ s ố 1 điịu EÌâm giá trị hàm m ục liỏu x u ố n g 4
M ặt k hác, giàm bứi sỏ’ chữ sứ 1 lại làm làng ciú u ị h im m ục tiỏu: m ộ i xâu với 12 chữ sứ' i
c ó g iá trị hàm m ục liCu ỉà 18 m ộl xău c ó 1 ỉ chữ sỏ' 1 c h o g iá ưị ỉà 2 9 V.V Đ ặ c J iim này
s ẽ là m lạ c h ư ớ n u lìm kiốm - h u ú n s Vií lối ưu cục bộ
p r o c e d u r e lco_núi_Iập
b e g in
Trang 26cl.sc local < - TKUE until local
I * - 1+1
until ỉ = M A X
end
H ìn h 1 2 T h u ậ t to á n leo n íũ (lợ p ) d ơ n s ià n
D o c ó r í i ahiểu cực dại khã nủng lìm dirợc giá trị lớn n h íi (sau m ột vòng lăp) là rất r.hỏ
Thuât toán luyên ihép dư ợc cho trong hình 1.3.
if f(v ,) < f ( v j
tlicn clsc if ra n d o m (0 ,l) < cx p ((f(v „ ) - f(v J )/T Ị
u n lil (Jiiỉu_kiiỊn_kO'l_ỉliúc
T < -g C T ,l)
t <- t+l
Trang 27u n til tiilu_vhí_Jừiig
en d
H ìn h Ỉ J T h tià ỉ :o á n ịỊÌã lu vệ ii íhèp
H ảm r a n d o m [0 ,l) ưả v i m ội iô' nqảu nhiổn ư o n g khoàni: [0,1; ih u ầ ito á n kốt ihúc khi Jạt
d ư ợ c sự “ c i n b a n g n h iỊl" nghĩa ịầ khi x á c suát phản bò' củ a c á c x l u m ói c h ọ n ù cn uản d í n
phân b ố B oiizm ann [1] (BoUzmann distribution; Tuv nhiiin, tron s một i ố ihử n ch iệm cùa
thuật toán n a y (4 ] , v ò n g lập chi d ư ợc ihực h iệ n d ú n a k lán ' k là m ộ l :ham s ố b ố x u n ỉ củ a
Ihuật [oán).
N h iỏ i (Jộ T đưục iiiàm dàn lừiii: bưức (iỉ(.T,i) < T với m ọi I) ilìuẠi lOíin kốt Ihúc: khi T Jại
m ổ l giá Irị nhò Iiào đó: J icu kiỊn dừiii; kicm lr j xcm litỊ ilíống J ã lại" hav chư.i,
n eh ĩa là hử k h ỏ n s chííp nhãn ih«im m õi Ihuv nào nỮJ.
N h ư dã nói J ín ò irỏn, •.huủi loán luy^n ih.óp c ó the irár.h Jư ợ c cá c cực đại XÓI xảu c ó i2
chữ s ố m ột sau dăvị s
V, = í, 111000000100110111001010100000),
h à m m ụ c tiồu c ó giá irị là fiVjj = i 1 1 x 1 2 - 1 5 0 i = IS V ớ i xàu k h ỏ i đ áu là Vj , ihuật ìũãn
le o núi sẽ c h o ta cực đại dịa phương
V,= i0 0 0 0 0 0 0 0 0 0 0 0 0 t;:,0 0 0 0 0 0 0 0 0 ũ 0 0 0 0 0 ì,
vì mọi xftu 13 chữ sỏ' 1 ur.õi bưi'ri; vò pin'll ciã trị lớn Iihíi ) t!cu ũổ !à T I Iilu) ii.m
18) T r o n c khi J ổ ihuật loán íuyCn ih é p SC ^hấp nhdn xdu c ó 13 ch ử s 6 1 lùm xâu lìiỌn
hành vói x á c suúì
p = e x p t í f ( v J - r ( v j ) / T Ĩ = e x p i i , 7 - I S ì / T Ì ,
với nhiột d ộ T l ù o di5 chảna hạn T = 2 0 , vi có
p = = 0 5 7 6 9 5
n ch ĩa [j xác suãì chấp nhilii V.-JO hơn 50%.
G A như đã liiới ihiộu iro n s mục I l duy tà m ội lỊp cảc xủu 2 x ầ u có dic;n khã K'‘ii ( i6 )
V, = ( 1 1 1 1 1 0 0 0 0 0 0 0 1 i 0 1 i 1 0 0 1 1 101ŨOOOO)vù
Trang 28Rạn d ọ c c ổ thii llium khùo Ị4Ị dií d ọ c ll’.Om Vií c á c biốn I h ì của 3 lliuụl toán ư ủ n, ihừ
n g h iủ m irCn các liàm vứi c á c linh c h í i kíiác nhuu N g ư ừ i la c ò n c ó Ihii lạo ra c á c c o n ':ãì
bảnc cách kốt hợp nhióu kỹ ihuỊi (Irong dó c ó G A ) v í dụ phương pháp le o núi đ ộ n g [92]
Ta kết ihúc chương này bầnc một trích doạn m ột bài báo vui e ìn dav được dãna irẽn iniernec (com p.ai.ncurai-ncis [337] ); đoạn in ch này đưa ra m ột sự so sánh ihú vị silĩa 3
ih u Ị i toán: leo núi luVíỊn ihóp và GA;
"Lưu ý rầnii, irone niọi kỹ ihuật Ico núi đã bàn đ ín con kangaroo chì c ó thể hv vọng lìm Iliuy dinii núi iiln chỏ nó xuất phát nhất K hông thổ đàm bào rầna J ó ià đinh Evcresu ihạm c lií không thể dám chắc rằng dinh núi đó ihuỏc loại cao N ó
Jã ihừ dùna nhiìu cách khác dii lìm đình cao n h ít.
V ói phươna pnáp luyiỊn ilióp, con kancaroo sa y i-ưạu, nó nliày lunc lung một lúc
lau T u v nhiôn n ó lỉnh rượu dẩn riín và c ó x u h ư d n c n h à v l i n cao.
Trong G A , c ó inộl loạt kaimaroo nháy dù xuứ nc các vị iri ncdu nhiõn irOn dãy
H im alaya (mi'u phi cOnu khổn c bị lạc) Các con kancaroo này không biốl rảnc chúna c ó n iú ỉm vụ lìm dinh Evcrcsĩ Tuy nhiCn vài nãm niột l ír la bấn nhữna con kaniiaroo ờ r.íiừna vùnạ ihấp và hi v ọ n 2 rằnc nhữnc con còn lại sỗ sinh sản nhiiiu".
1.5 K é t l u ậ n
Ba v í dự cùa G A (lối ưu hàm prisoner’s diỉcm m a vù bài loún ncưừi duu Iliu) cho Ihấỵ ứns dụnu rộns rii cúu GA Tuv nhiOn ta củriii bát dầu ihủV n h ữ n ! Z khó khán c ó the T im cách biòu diỗn c h o bài TSP klíỏni: plùi chuyện hicn nhi<in Còn loún lũ trao dổi ch éo mới o x llù
k h ô n s dơn eidn chút nào V ói các bài loún (khó) khác, ia J0n c ó ihỏ eặp nhửnc khó khăn nào nửa? Troni: ví dụ ihứ nhát và ìhứ ba, líàm đánh ỉiiá dược Jịnh nqhla rõ rànc; iro n s ví
dụ ihứ hai mội quá irình íiiâ lẠp dơn iiiãn SC cho ta dicm cùa một NST Ta sẽ phài xử lý
Trang 29như thô' n i o nốu h im Jủnh j;ij khởiig dưực dịnh nghĩd I'õ ràng? V í ũụ, bài loứr KŨ nũii
B o o l (SA T ) c ó vè c ó cách biòư diiin dùng x iu s ố lự nhiỏn (bit thứ i biỏu điỏn giá ƯỊ thựk; cùa biến B ool ihứ i), nhưng viỌc chọn m ột hàm đánh iiiá ihì kliỏiig dơíi giàn chút nào [90Ị
V í dụ đẩu liiin vể tổi ưu m ội hàm khOng giá i hạn ch o phép dùng m ội biỏu diễn thuận tiện, trong đ ó m ọi xâu nhị phân d ìu lương ứng với một giá tri trong m ién xác định cùa bài toán
N g h ĩa là ư a o đổi ch éo và độl biốn luôn luôn tạo ra cá ihii con hợp lệ Đ iểm này cũng đúng
v ớ i v í dụ thứ hai: mọi lổ hợp cùa bit đáu bicu diỗn m ộl chiốn iu'ọc hợp lỊ Bài toán ;hú' ba
c ó m ột ràng buộc; m ỗi thành phô' phải xuất hi^n đúng m ộ i lần U'ong m ội hành trình hợp '.ị
Đ iể u kiỏn này eảy ra vài rấc rối: ía phài dùng dãy s ố lự nhi<Sn (thay c!io xâu nhị phân), và
la phải sữa phép irao ddi chỏo Nhưag la nôn c ó cách úii'p cận như l ìi ế nào d ố i với n’.ội bài toán c ó ràng buộc nói chung? Ta c ó nhữna khà nâng nào?
Củu irà lừi không đơn aiàn; la sõ lìm hiiỉu v ín dổ này Ifor.g các phán sau íù a cuởn sách.
Trang 30Trong chương này, la bàn vổ cơ củ'u hoại d ộ n e cùa G A ch o m ột bài toán quy hoạch tham
iố Ta bất dáu bầng một sô' nhận xéi chung, tiíp theo s3 l i cá c v í dụ cụ thể.
Trưức tíỏn ta lưu ý rầng, không m i’t lính lổng quái, ta chi x é l cá c bài quy hoạch lìm ciá trị lớn nhất mà ihôi B ii ỉoán qui' hoạch ydu cáu làm cực ùểu hàm f là tươnc đương với việc lãm cực đại hàm g với g = - f , nghĩa là
m in f(x) - m ax g (x ) = max ( - f { x ) ).
Mợn nữa, ta có thổ già ihio't rằng iiàm mục liiiư f c ó tniổn giá U'Ị ihuộc lẠp s ố dươnc; níu
khỏng, ta c ó ihò c ộ n g tliim mẠl hầiiỉi s ố Jươni; c IIÙO dó.
í i i y g ià , g ià sữ la cán làm eực dại m ộ l hàm k biến, f ( x ,, ,x j ; R- —> R MLổr; x á c đ ịn h của
X là D = [a„b,] s R và f ( x , ,x j > 0 vói m ọi X, g D Ta cán làm cực dại hàm f vói độ chinh xác cần ihiũ': cùa các biến ! i 6 chữ s ố sau d íu phày.
Ta th íy , đẻ đại được d ộ chính xác đó m ién xác dịnh D, phải được cKia thành ( b - a ) X10® doạn bằng nhau Ký hiệu m, là số lự nhiiỉn nhỏ nhất thoả m ãn (b,-a,) xlO®< Khi đó, mộl biổu diỏn vói mỏi X, dược mă hoá bỏi m ội xâu nlụ phàn đ ộ dài m, sẻ thoà măn v ẻu cáu
Viỉ đ ộ chính xác C ôag Ihức sau sẽ tính X, theo xàu nhị phàn đó:
X, = a, -r d ecitn a l(I0 0 1 0 0 1 j) X ( b , - a,) / ( 2"“ - 1),
trong đ é, dccim al(stringj) là gi;í irị thfip nhí\n cùn x;W nhị phAn.
Bay giờ m ỗi N ST (một lời piài c 6 ihổ) dược bi«ìu diỗn bằng một xủu nhị phàn đ ộ dài m =
m , m, bii d lu liCn iươnc ứng vói m ội giá trị tronii doạn (a ,,bị], nhóm m , bit liếp Ihco
lương ứng với m ột eiá u ị Q'ona doạn [aj.b.], v.v
Đ-Ì khời tạo m ột lập lời qiài, la c ó ihể eán các ĩ i á irị n s iu nhiẻn c h o pop_size NST Tuy Iiliiiin, nốu cổ chúi k iín thức v ì pliân bổ cùa các diòn' cực irỊ, la củng có thể dùnc các thông lin đ ó kiũ khởi tạo lập ban đẩu.
Phán còn lại của thuật loán kliông m ấy phức tạp: lại m ỗi Ih ế h ệ , ta đánh siá các NST (dùng him f ch o các b ộ biô'n số đã được EÌài m ã), chọn lạp lòri cià i mới theo xác suấi phăn b ố dựa li-ỏn đ ộ thích n sh i, và biến đổi một s ố N ST trong tủp m ới bằng cdch ư a o đổi c h é o và đột
b iín Sau một s ổ ihii' liỌ khi c liíi iượng của tập ngừ ns tánc, NST tốt n h íi SC là m ột kết quà lối ưu (c ó th i là lối ưu loàn cục) Tíi ihưừna dừng ihuẠi toán sau m ột số lãn lặp nhát định uiỳ ihco các diồu k.iỌn vd lố c di) và l ì i nciiviin máy.
Trang 31M ộ t.v ò n g rouicUe với các kiic c ó kích cO lương ứng v6i d ộ ihích nghi dược dùng cho I^uã Urình chọn lọ c ( chọn lẠp mới ih c o xác s u íl phủn b ố dựa v à o đ ộ thích n ghi) V ò n g ro u leilc
đ ó đư ợc x i y dựng như sau:
• Tính độ ihích nghi cval(v,) c h o m ỗi NST V, (ì = 1 p o p _ size).
• T ìm tổng đ ộ thích nghi của loàn bộ tậo họp
■■ f = y 7 - ™ í v a / c i ' )
• T ính xác s u it c h ọ a lọ c p, ch o m ỏi NST V, (i = l, ,p o p _ siz e ):
p = eval(v,)/F.
• Tính xác s u it lích luỹ q, cho m ỏi N ST V, (i = l, ,pop_sÌ7,e):
Sự ch ọ n lựa dược thực hiỏn bảng cách Quay vòng rouleite p op _ size lăn: m ỗi lăn la chọtì
m ột N S T ch o tạp hợp m ới Lheo cách sau:
• Sinh ngẫu nhiửn m ột số hửu tỳ r trong khoảng [0 l ]
• N ế u r <qi ihì ch ọ n NST sổ' m ột V|, nếu k h ôn g, chọn N ST thứ i V, (2 s i < p o p _ size) sao
c h o q,-, < I- < q, ,
D<5 thấy rằng c ó ihẩ c ó rnội sô' N ST dược chọn hơn m ột lần Đ ìéu này tuân [heo D ịnh lí vtS
M ảu ( xcm chương sau ); những N S T lối nhất được nhan ihảnh nhiểu bản cá c N S T loại trung bình thì ổn định, cồn cá c N*ÌT trii nhất thi c h ít dần.
Bủy g iờ là lức la ihực hiộn Cao dổi c h é o trôn cá c cá Ihể thuộc lạp hợp m ới N hư dã nổi dốti
ừ liíin , x á c s u í l Irao đ ổi ch iío pc i i m ộ l U iing cá c thum 5 ố cùii m ộ l hỌ di U'uyiin X i c su:»i
d ó c h o ta s ố c á c N ST iham gia U'ao đôi chóo iù p cx p o p _ sizc Ta liốn hành như sau:
Vứ' m ỏi NST Ironc lẠp (mứi'):
• Sinh n g ĩu nlúcn m ộl số hữu tỳ r trona khoáng [ 0 I ] ;
• N*íu r<p-, chọn N ST đ ó diì trao dổi chóo.
Bủy 2 ÌÒ ta ghóp cặp các NST dã chọn m ổt cách n g ìu nhiồn; với mỏi cập NST la sinh ngiiu nhiỏn m ột s ố ns;uyỗn p os U'Oiig đoạn (m là tông d ộ dài - s ố bit - của m ột NST) pos chi ra vị In' cùa d iim bắl chóo Hai NST
(b[b; bj^bpo„| bin) va (CjCj CpQ,Cp 3,,j c^ )
được ih a y bời hai c o n cùa chúng:
Trang 32V ớ i m ôi N ST Irong tạp híộn lại (sau khi áp d ụ n g irao đổi ch éo ), với m ỏi bii U'ôn N ST đó;
• Sinh n g ẫ u nhiCn m ội srt hữu lỷ r irong khoàn g f0 1 ] ;
• N ốu r<p„, sửa bii Uó.
Sau khi chọn lọ c , trao đổi chóo, đột b iến , lộp hợp m ó i đã sán sàng c h o lần dánh giá liếp Iheo Lần đánh giá này dược đùng đổ lính xác SUÍI phan bố (ch o lần chọn lọ c liíp Ihco), d i xây dựng v ò n g rouletic có kích c ô các khe tương ứng với độ ihich nghi hiện hành Phần còn lại cùa quá trình tiến hoá chi là sự lặp đi lặp lại cá c bước irén.
Toàn bộ quá irình được minh hoạ bầnc m ộ i v í dụ Ta chạy mộL ưình cià lộp cùa m ội G A
ch o bài loán i6'i ưu hàm sổ, Già sừ kích ihước cùa lộp ỉời íiìài pop_sÌ 2c = 2 0 các xác suất cùa cá c phép biốn đổi gicii là p ,= 0 ,2 5 và p„ = 0 ,0 1
H ình 2.1 Đ ổ thị hàm fCxj.Xj) = 2 1 5 + XjXsin(47tXj) +XjXsin(207iX;).
Trang 33f(X(,Xj) = 2 1 5 + XiXsin(4;rXi) + XiXsin(207iX2).
tron g đ ó , - 3 0 £ X| < 12.1 và 4.1 ắ Xj s 5 8 Đ ổ thị của hàm f được v è trong hình 2 1
T a g iả ihiếc ihSm ứ n g m ỗi b iín cẩn đ ộ chính x á c là 4 ch ừ s(5 sau dấu phày M iổn x á c định
c ủ a Xi c ó đ ộ dài 15.1; d o đ ó , đoạn [ - 3 0 , 12.1] cẩn ch ia (hành ít nhất 1 5 ,1 x 1 0 0 0 0 đoạn
b ầ n g nhau V ạ y doạii đầu cùa N ST cần 18 bii:
2 ‘’ < 1 5 1 0 0 0 £ 2 '*
M iổn x á c định cùa Xi c ó đ ộ dài 1.7; d o đ ó , đoạn [ - 4 1 , 5 8 ] cần ch ia thành ít nhát
1 7 x 1 0 0 0 0 doạii bầng nhau, v ạ y doạn dáu cùa N ST cẩn 15 bii:
2 '“ < 1 7 0 0 0 í 2 ‘^
T ổ n g đ ộ dùi cùa Tíộl N ST (vccior lừi g iã i) là m = 1 8 + 1 5 = 3 3 bii: 18 bii dầu m à hoá Xị vù 15
b ii c ò a Jại (1 9 —^■jS) m ả hoâ Xj XÓI m ộ t N ST v í dự:
D á du n g C a lãm cự c dại liàin r la x à y dựng m ộl ựip g ỏ m 2 0 NST Túi cá 3 3 hii cúa mói
N S T d iu được khữi u Ị O ni;úu n liiin ,
G iũ sử sau kiii khỏi lạo la dược uịp N S T sau:
Trang 34D ẻ ihấv V J là NST lối nhất và Vj là NST tổi n hiì.
T iếp ih eo ta xây dựng vòng roulctle cho quá ưình chọn lọ c Tông đ ộ ihích nghi của quân Ih<ì N ST là