B ên cạnh đó, luận văn sửdụng framework vào việc phát triển một giải thuật memetic giải quyết b ài toán phủtập, được xem là một trong những bài toán NP-đầy đủ, để chứng minh tính hữu ích
Trang 1Đại Học Quốc Gia Tp Hồ Chí Minh
TRƯỜNG ĐẠI HỌC BÁCH KHOA
-PHAN ANH TUẤN
XÂY DỰNG MỘT FRAMEWORK H ƯỚNG ĐỐI TƯỢNG CHO GIẢI THUẬT MEMETIC V À ỨNG DỤNG
VÀO VIỆC GIẢI BÀI TOÁN PHỦ TẬP
Chuyên ngành : Khoa Học Máy Tính
LUẬN VĂN THẠC SĨ
Trang 2CÔNG TRÌNH ĐƯỢC HOÀN THÀNH TẠI TRƯỜNG ĐẠI HỌC BÁCH KHOA ĐẠI HỌC QUỐC GIA TP.HỒ CHÍ MINH
Cán bộ hướng dẫn khoa học: Tiến sĩ DƯƠNG TUẤN ANH
Cán bộ chấm nhận xét 1: Tiến sĩ NGUYỄN VĂN HIỆ P
Cán bộ chấm nhận xét 2: Tiến sĩ NGUYỄN ĐÌNH THÚC
Luận văn thạc sĩ được bảo vệ tại
HỘI ĐỒNG CHẤM BẢO VỆ LUẬN VĂN THẠC SĨ
TRƯỜNG ĐẠI HỌC BÁCH KHOA
ngày 08 tháng 09 năm 2007
Trang 3LỜI CẢM ƠN
Tôi xin được gửi lời cảm ơn chân thành đến:
- Tiến sĩ Dương Tuấn Anh đã tận tình chỉ bảo, hướng dẫn tôi nghiên cứu và
thực hiện luận văn này Nếu không có sự theo d õi và động viên của thầy,tôi sẽ không thể hoàn thành luận văn đúng thời gian quy định
- Các thầy cô của Khoa Công Nghệ Thông Tin tr ường Đại học Bách Khoa
TP.Hồ Chí Minh đã tận tâm giảng dạy mở ra cho chúng tôi những conđường đến với những tri thức mới
- Gia đình, bạn bè thân thiết những người luôn bên tôi, động viên khuyến
khích tôi vào những thời điểm quan trọng của cuộc đời
Trang 4TÓM TẮT
Một trong những cách tiếp cận đ ược ưa thích để giải bài toán tối ưu tổ hợp thuộclớp bài toán NP-đầy đủ là dùng giải thuật memetic, sự kết hợp giữa giải thuật ditruyền và tìm kiếm cục bộ Luận văn n ày tìm hiểu những vấn đề cơ bản của giảithuật memetic, sau đó sẽ xây dựng một framework h ướng đối tượng cho giải thuậtmemetic trên nền tảng ngôn ngữ Java Bởi v ì việc phát triển một ứng dụng cụ thể,
có áp dụng giải thuật memetic, l à một công việc tốn nhiều thời gian v à công sức,
vì thế một framework như vậy rất có ích trong việc hổ trợ thiết kế v à hiện thựcnhanh một ứng dụng cụ thể giải bằng giải thuật memetic B ên cạnh đó, luận văn sửdụng framework vào việc phát triển một giải thuật memetic giải quyết b ài toán phủtập, được xem là một trong những bài toán NP-đầy đủ, để chứng minh tính hữu ích
và hiệu quả của việc sử dụng framework Quá tr ình thử nghiệm cho thấy: 1)framework này khá ti ện dụng cho việc phát triển v à hiện thực một giải thuậtmemetic để giải quyết một bài toán thực tế 2) Giải thuật memet ic hữu hiệu về thờigian thực thi hơn nhiều so với giải thuật di truyền thuần tuý
Trang 5Memetic algorithm is the one of existing, successful methods for solving NP complete combinatorial optimization problems Memetic algorithm is t hecombination of genetic algorithm and local search In this thesis, the fundamentals
-of memetic algorithms will be studied, then an object oriented framework formemetic algorithm is developed in Java It’s very useful to use such a framework
to design and implement a certain memetic algorithm rapidly, because building anapplication using memetic algorithm is complicated and time -comsuming Ourframework has been tested through an application : solving set covering problems(SCP), which has been proven t o be NP-complete Computational results showthat: 1) this framework is particularly useful for designing and implementing amemetic algorithm for some application 2) The run -time efficiency of thememetic algorithm for SCP is better than that of a pure g enetic algorithm for thesame problem
Trang 6MỤC LỤC
CHƯƠNG 1 GIỚI THIỆU 1
1.1 Giới thiệu đề tài 1
1.2 Nhiệm vụ của luận văn 1
1.3 Những kết quả đạt được của luận văn 2
1.4 Cấu trúc của luận văn 3
CHƯƠNG 2 TỔNG THUẬT VỀ CÁC CÔNG TR ÌNH ĐÃ CÓ TRÊN THẾ GIỚI LIÊN QUAN ĐẾN ĐỀ TÀI 4
CHƯƠNG 3 CƠ SỞ LÝ THUYẾT 7
3.1 Tìm kiếm cục bộ (Local Search) 7
3.2 Giải thuật di truyền (Genetic Algorithm) 14
3.3 Giải thuật memetic (Memetic Algorithm) 18
CHƯƠNG 4 FRAMEWORK HƯỚNG ĐỐI TƯỢNG CHO GIẢI THUẬT MEMETIC 32
4.1 Giới thiệu 32
4.2 Kiến trúc của Framework 33
4.2.A Sơ lược về những mẫu thiết kế được sử dụng trong framework 33
4.2.B Kiến trúc framework 34
4.3 Một số hiện thực chính của các th ành phần của framework 42
CHƯƠNG 5 MỘT ỨNG DỤNG - BÀI TOÁN PHỦ TẬP 72
5.1 Giới thiệu 72
5.2 Phương pháp giải quyết bài toán phủ tập 75
5.3 Những thành phần cơ bản và giải thuật memetic cho b ài toán phủ tập (SCP) 75
5.3.A Sự biễu diễn và hàm thích nghi 75
5.3.B Kỷ thuật lựa chọn cha mẹ (Parent selection techniques) 77
5.3.C Phép toán lai ghép (Crossover operator) 79
5.3.D Chiến lược thay thế quần thể 79
5.3.E Heuristic và tìm kiếm cục bộ 80
Trang 75.4 Phần hiện thực bài toán SCP 84
5.5 GUI của phần mềm dùng để giải bài toán SCP 98
5.6 Thử nghiệm và một số kết quả đạt được 102
CHƯƠNG 6 KẾT LUẬN 109
THƯ MỤC THAM KHẢO 112 PHỤ LỤC A : HIỆN THỰC CỤ THỂ CỦA NHỮNG PH ƯƠNG THỨC PHỤ
ĐƯỢC SỬ DỤNG TRONG LUẬN VĂN A1 PHỤ LỤC B : GIỚI THIỆU NHỮNG MẪU THIẾT KẾ CHÍNH Đ ƯỢC SỬ DỤNG TRONG LUẬN VĂN B1 PHỤ LỤC C : KẾT QUẢ CỦA NHỮNG B ÀI TOÁN MẪU ĐƯỢC THỬ NGHIỆM C1 PHỤ LỤC D: BẢNG THUẬT NGỮ ANH - VIỆT D1
Trang 8DANH MỤC HÌNH
Hình 3.1 Lược đồ tổng quát của giải thuật memetic 15
Hình 3.2 Dạng mở rộng thứ nhất của giải thuật memetic 16
Hình 3.3 Dạng mở rộng thứ hai của giải thuật memetic…… 17
Hình 3.4 Ví dụ minh họa con cháu không khả thi của hai cha mẹ khả thi 18
Hình 4.1 Kiến trúc của framework.… 27
Hình 4.2 Một thành phần trong framework sử dụng mẫu template method 28
Hình 4.3 Một thành phần trong framework sử dụng mẫu abstract factory 29
Hình 4.4 Những thành phần trong framework sử dụng mẫu strategy 31
Hình 4.5 Các thành ph ần khác của framework 32
Hình 4.6 Thành phần khác của framework 32
Trang 9Hình 5.1 Bản đồ thành phố A 54
Hình 5.2 Biểu diễn nhị phân cho một nhiễm sắc thể 56
Hình 5.3 Biểu diễn không nhị phân cho một nhiễm sắc thể 56
Hình 5.4 Heuristic làm cho các l ời giải trở nên khả thi 59
Hình 5.5 Giải thuật tìm kiếm cục bộ 59
Hình 5.6 Giải thuật memetic cho bài toán phủ tập (SCP) 60
Hình 5.7 Giải thuật tạo quần thể ban đầu cho b ài toán phủ tập 60
Hình 5.8 Giao diện chính của phần mềm 72
Hình 5.9 Cung cấp bài toán SCP cho phần mềm 72
Hình 5.10 Thiết lập thông số cho chiến l ược lựa chọn cha mẹ 73
Hình 5.11 Thiết lập các thông số c ho chiến lược thay thế quần thể 74
Trang 10Hình 5.12 Thiết lập thông số cho lịch biểu đột biến động 74
Hình 5.13 Biểu đồ biểu diễn sự tương quan giữa giá trị chi phí trung b ình và số thế
hệ con cháu cho hai bài toán scp41 và scp45 … 78
Hình 5.14 Biểu đồ biểu diễn sự tương quan giữa giá trị chi phí trung b ình và số thế
hệ con cháu cho hai bài toán scp61 và scp65 78
Trang 11DANH MỤC BẢNG
Bảng 5.1 Thông tin chi tiết của các b ài toán được dùng để thử nghiệm 75
Bảng 5.2 Các thông số cung cấp cho việc thử nghiệm 76
Bảng 5.3 Kết quả tính toán cụ thể 77
Trang 12CHƯƠNG 1 GIỚI THIỆU
1.1 Giới thiệu đề tài
Bài toán tối ưu là một trong những chủ đề chính của khoa học máy tính Trongngữ cảnh của đề tài này, tối ưu hoá là một quá trình xử lý cố gắng tìm ra lời giảitốt nhất có thể đối với b ài toán tối ưu cho trước trong một khoảng giới hạn về mặt
thời gian.Những bài toán tối ưu tổ hợp (combinatorial optimization problems) có
một số hữu hạn những lời giải tiềm năng V ì vậy rõ ràng một cách trực giác giảiquyết những vấn đề như vậy là liệt kê ra tất cả những lời giải đó, rồi sau đó sosánh từng lời giải một với nhau để t ìm ra lời giải tốt nhất Nhưng thật không may ,trên thực tế thì phương pháp này không khả thi vì số lời giải tiềm năng l à quánhiều, ví dụ có những vấn đề có h ơn 9259
10 lời giải tiềm năng (theo MemeticAlgorithms for Combinatorial Optimization Problems c ủa Bernhard Freisleben v àWolfgang Merzenich [18])
Bài toán tối ưu tổ hợp được xem là những bài toán khó [18] không nh ững trong
thực tế mà còn trong vấn đề khoa học Đối với những b ài toán khó thì không b ảođảm tìm ra được lời giải tối ưu trong một lượng thời gian hợp lý, không có mộtphương pháp toán học tổng quát nào có thể giải những vấn đề n ày Thông thường
thì số lời giải tiềm năng cho những bài toán tối ưu tổ hợp là hàm lũy thừa theo
kích thước của bài toán vì vậy những phương pháp liệt kê đơn giản là không khả
thi Một trong những cách giải quyết vấn đề trên là dùng giải thuật di truyền
(Genetic Algorithm) vi ết tắt là GA Giải thuật di truyền cũng đ ã chứng minh sự
hiệu quả của nó trong việc giải quyết những bài toán tối ưu tổ hợp Nhưng một
trong những nhược điểm lớn nhất của giải thuật di truyền l à thời gian chạy rất lâu,
vì nó không khai thác nh ững tri thức sẵn có của vấn đề v ào trong giải thuật
1.2 Nhiệm vụ của luận văn này bao gồm ba phần:
1 - Phần đầu tiên là sẽ nghiên cứu một giải thuật hiệu quả h ơn nhằm tăng tốc giải
thuật di truyền Đó chính là giải thuật memetic (memetic algorithm), là gi ải thuật
lai ghép giữa giải thuật di truyền và tìm kiếm cục bộ (local search) Giải thuật
memetic kết hợp tìm kiếm toàn cục (global search) và tìm kiếm cục bộ bằng cách
sử dụng giải thuật di truyền thực hiện việc khám phá đa dạng (exploration) và tìm
kiếm cục bộ để thực hiện việc khai thác tập trung (exploitation).
Trang 132 - Phần thứ hai là sẽ xây dựng một framework h ướng đối tượng cho giải thuật
memetic Mục đích của việc này là nhằm hổ trợ, giúp đỡ những ng ười phát triển
(developer) trong việc sử dụng giải thuật memetic để giải quyết bài toán tối ưu tổ
hợp trong một miền ứng dụng cụ thể n ào đó.
3 - Phần cuối cùng của luận văn này sẽ giới thiệu một ứng dụng (case study), đó chính là bài toán “phủ tập” (Set Covering Problem) Bài toán phủ tập (SCP) là một trong những bài toán điển hình của bài toán tối ưu tổ hợp SCP đã được chứng minh là bài toán NP-đầy đủ (NP-complete) [16] Nó có r ất nhiều ứng dụng trong
thực tế như: sắp xếp lịch cho các tổ lái, các chuyến bay trong l ĩnh vực hàng không,sắp xếp các vị trí cho các ph ương tiện được phục vụ trong những tr ường hợp khẩncấp Nhiệm vụ của phần n ày sẽ sử dụng Framework h ướng đối tượng đã đượcxây dựng cho giải thuật memetic ở tr ên để giải bài toán SCP
1.3 Những kết quả đạt được của luận văn
Luận văn này đã thực hiện được những công việc sau:
Nghiên cứu giải thuật memetic là giải thuật lai ghép giữa giải thuật di truyền
và giải thuật tìm kiếm cục bộ
Tìm hiểu những công trình nghiên cứu liên quan đến giải thuật memetic
Tìm hiểu những công trình nghiên cứu liên quan đến bài toán phủ tập.
Tìm hiểu một số mẫu thiết kế giúp ích trong việc xây dựng framework h ướngđối tượng
Xây dựng được framework hướng đối tượng cho giải thuật memetic
Sử dụng framework hướng đối tượng cho giải thuật memetic để xây dựng giải
pháp giải quyết bài toán phủ tập
Đã chạy thử nghiệm giải thuật memetic cho bài toán phủ tập với một số bộ dữ
Trang 141.4 Cấu trúc của luận văn
Luận văn được tổ chức thành 6 chương:
Chương 1: Giới thiệu về luận văn, lý do chọn luận văn cũng nh ư những kết quả
đạt được của luận văn
Chương 2: Tổng thuật về các công tr ình liên quan đến những vấn đề của luận văn.
Chương 3: Trình bày cơ sở lý thuyết dùng để giải quyết vần đề
Chương 4: Đưa ra kiến trúc của framework hướng đối tượng cho giải thuật
memetic Và hiện thực framework đó
Chương 5: Sử dụng framework được xây dựng ở chương IV xây dựng một phần
mềm giải quyết bài toán phủ tập.
Chương 6: Tổng kết và đề xuất những hướng phát triển của luận văn t rong tương
lai
Sau chương 6 là những tài liệu tham khảo và các phụ lục Bao gồm các nội dụng :
Phụ lục A : Hiện thực cụ thể của những ph ương thức phụ được sử dụng trong luận
văn
Phụ lục B : Giới thiệu những mẫu thiết kế chính đ ược sử dụng trong luận v ăn
Phụ lục C : Kết quả của những bài toán mẫu được thử nghiệm.
Phụ lục D : Các thuật ngữ Anh - Việt được sử dụng trong luận văn.
Trang 15CHƯƠNG 2 TỔNG THUẬT VỀ CÁC CÔNG TR ÌNH
ĐÃ CÓ TRÊN THẾ GIỚI LIÊN QUAN ĐẾN ĐỀ
TÀI
Tìm kiếm cục bộ và giải thuật di truyền là một trong những giải thuật hiệu quả
được dùng phổ biến trong việc giải quyết các bài toán tối ưu tổ hợp, được xem như là bài toán thuộc lớp NP-đầy đủ [16,18] Nhưng trong m ột số bài toán phức tạp thì tìm kiếm cục bộ cũng như giải thuật di truyền lại gặp phải một số vấn đề.
Tìm kiếm cục bộ là chiến lược tìm kiếm dựa trên cá thể nên nó có tốc độ nhanh
hơn giải thuật di truyền nhưng nếu sử dụng không khéo th ì nó lại thiếu tính ổn
định và kết quả phụ thuộc vào những lời giải khởi động ban đầu cũng nh ư các
thông số dùng để tinh chỉnh trong quá tr ình tìm kiếm Giải thuật di truyền là chiến lược tìm kiếm dựa trên quần thể nên nó có tính ổn định hơn giải thuật tìm kiếm cục
bộ và kết quả lại ít phụ thuộc v ào lời giải ban đầu, nhưng nó gặp phải vấn đề về
thời gian chạy Một trong những lý do làm cho giải thuật di truyền chạy tốn nhiều
thời gian là nó không khai thác nhi ều về tri thức của một vấn đề cụ thể đang đ ượcxem xét Mỗi giải thuật đều có những ưu và khuyết điểm riêng Chính vì thế, nhucầu lai ghép hai giải thuật lại với nhau hứa hẹn một giải thuật mới sẽ cải thiệnđược chất lượng cũng như thời gian chạy
Moscato & Norman (1992) [22] l ần đầu tiên đã đưa ra khái niệm “giải thuật
memetic” Trong bài báo này các tác gi ả đã mô tả một giải thuật di truyền (GA)
mà có sự tham gia của tìm kiếm cục bộ Trong đó tìm kiếm cục bộ đóng góp một vai trò quan trọng trong việc cải thiện tính hiệu quả của giải thuật Tìm kiếm cục
bộ có khả năng khai thác các đặc điểm của vấn đề để tăng tốc độ quá tr ình tìm
kiếm miền lân cận Moscato & N orman đã ứng dụng việc tích hợp tìm kiếm cục bộ vào trong giải thuật di truyền để giải bài toán “Người bán hàng rong” (Traveling
Salesman Problem) viết tắt là TSP, kết quả chứng minh rằng nó đ ã được cải thiệnđáng kể về mặt chất lượng cũng như về thời gian chạy
Những công trình nghiên cứu dựa trên ý tưởng của Moscato & Norman sau n àychủ yếu chia làm hai khuynh hướng:
- Khuynh hướng đầu tiên là tiếp tục nghiêng cứu một giải thuật memetic ở mức
độ tổng quát Điển hình là: Nicholas J.Radcliffe và Patrick D Surry (1994)
[25] đã hình thức hoá giải thuật memetic thành những hàm toán học, tạo ra
Trang 16xây dựng một framework cho giải thuật memetic nhằm hổ trợ cho những
người phát triển.
- Khuynh hướng thứ hai thì không đi vào thiết kế giải thuật memetic tổng quát
mà lại đi sâu vào việc thiết kế một giải thuật cụ thể cho một vấn đề nào đó.
Bài toán TSP thường là bài toán được lựa chọn nghiên cứu vì TSP là một
trong những bài toán kinh điển của lớp bài toán tối ưu tổ hợp và thuộc lớp bài toán NP-đầy đủ Điển hình là Peter Merz và Bern Freisleben (1997) [21] và
Natalio Krasnogor and Jim Smith (2000) [19,20] gi ới thiệu một giải thuậtmemetic được thiết kế dành riêng cho bài toán TSP Trong công trìn h nghiêncứu của mình Peter Merz và Bern Freisleben (1997) [21] đã đưa ra định nghĩa
khoảng cách giữa hai cá thể, v à phép toán lai ghép bảo toàn khoảng cách
(distance preserving crossover operator) Có ngh ĩa là con cháu sẽ có khoảngcách bằng nhau tới cả hai cha mẹ, và khoảng cách này cũng bằng với khoảngcách giữa cha mẹ của chúng Nếu Ia, Ib là hai cha mẹ và Ic là con cháu được
tạo từ phép toán lai ghép bảo toàn khoảng cách thì: D(Ic,Ia) = D(Ic,Ib) =D(Ia,Ib) Phép toán lai ghép bảo toàn khoảng cách này là một phép toán đặc
biệt chỉ thiết kế riêng cho bài toán TSP, ch ứ không đảm bảo là khả thi chonhững vấn đề khác Natalio Krasnogor and Jim Smith (2000) [21,22] lại giới
thiệu một giải thuật memetic cũng dành cho bài toán TSP, trong đó ph ần tìm
kiếm cục bộ lại được áp dụng lên cha mẹ trước khi thực hiện các phép toán
biến dị di truyền, và giải thuật thiết kế cho phần tìm kiếm cục bộ lại tương tự như giải thuật mô phỏng luyện kim (Simulated Annealing Algorithm) ngo ại trừ là cùng một nhiệt độ được sử dụng cho cả quần thể Giải thuật tìm kiếm
cục bộ này có hành vi tự thích nghi (self-adaptive), hoặc là khám phá đa dạng
hoặc là khai thác tập trung tuỳ theo thông số nhiệt độ.
Khuynh hướng hiện nay thường nghiêng về khuynh hướng thứ hai Tức là đưa ra
một giải thuật memetic cho một bài toán cụ thể nào đó Hiện nay giải thuật
memetic rất hiệu quả trong việc giải quyết những b ài toán, thường là những bài
Trang 17- Giải quyết bài toán tối thiểu hoá Makespan (Makespan MinimizationProblem) trong việc định thời máy song song (Parallel MachineScheduling) [5]
- Thiết kế mạng phân bố cấp n ước (Water Distribution Network Design ) [6]
- Dùng giải thuật Memetic để đối chiếu h ình dạng riêng phần (Partial ShapeMatching) [23]
- Dùng giải thuật memetic để giải quyết bài toán định tuyến cho xe cộ
(Vehicle Routing Problems) [24]
- Thiết kế mạng thông tin li ên lạc có xem xét đến mạng hiện tại(Communication Network Design Taking into Consideration an ExistingNetwork) [27]
- Tiên đoán cấu trúc của protein (Protein Structure Prediction ) [29]
-
Đề tài này cũng nghiên cứu giải thuật memetic Sau đó sẽ đưa ra một framework cho giải thuật memetic nhằm hổ trợ tốt hơn cho những người phát triển trong việc ứng dụng giải thuật memetic để giải quyết một vấn đề cụ thể n ào đó Và bài toán
phủ tập được chọn như là một ứng dụng Lý do cho việc lựa chọn này là: bài toán
này cũng là một trong những bài toán điển hình, được chứng minh là bài toán đầy đủ[16] Ứng dụng của b ài toán này có rất nhiều trong thực tiễn: sắp xếp các vịtrí cho các phương ti ện được phục vụ trong những tr ường hợp khẩn cấp[30,31],cân bằng tải của dây chuyền sản xuất[28], v à một trường hợp đặc biệt của b ài toánnày là bài toán “Phân chia t ập” (Set Partitioning Problem) đ ược ứng dụng trongviệc sắp xếp lịch cho các tổ lái, các chuyến bay trong lĩnh vực h àng không[26]
Trang 18NP-CHƯƠNG 3 CƠ SỞ LÝ THUYẾT
Trong chương này chúng ta xem xét ph ần lý thuyết liên quan đến giải thuậtmemetic Trước khi đi vào chi tiết giải thuật memetic chúng ta sẽ nhắc lại một số
điểm cơ bản của giải thuật tìm kiếm cục bộ và giải thuật di truyền Cụ thể phần 1 chúng ta sẽ đề cập tới giải thuật tìm kiếm cục bộ, và sẽ giới thiệu ba giải thuật tìm
kiếm cục bộ cụ thể : giải thuật leo đồi (hill climbing), giải thuật tìm kiếm tabu
(tabu search), giải thuật mô phỏng luyện kim (simulated annealing) Ph ần 2 đề cập đến giải thuật di truyền và những thành phần cơ bản của nó Phần 3 là đi vào giải
thuật memetic.
3.1 Tìm kiếm cục bộ (Local Search)
Tìm kiếm cục bộ là một giải thuật với mục đích tổng quát (general -purpose
techniques) cho những bài toán tối ưu và tìm kiếm Tìm kiếm cục bộ là giải thuật
không vét cạn (non-exhaustive) theo ý nghĩa nó là nó không đảm bảo tìm ra lờigiải tối ưu, mà nó sẽ tìm kiếm cho tới khi chuẩn dừng đ ược thỏa mãn Những ứng
dụng của tìm kiếm cục bộ đối với những bài toán tối ưu xuất hiện rất sớm vào
những năm 60, đặc biệt trong những lĩnh vực: vận tr ù học, khoa học máy tính andtrí tuệ nhân tạo
Giải thuật tìm kiếm cục bộ bắt đầu từ một lời giải khởi đầu s o S, và lặp dần để
khám phá không gian tìm ki ếm bằng cách sử dụng những b ước di chuyển Tại mỗi
lần lặp nó thực hiện một bước di chuyển (move) từ lời giải hiện tại s đến một lời giải thuộc miền lân cận của s Khi giải thuật thực hiện một bước di chuyển từ s đến
s’, chúng ta nói rằng một bước di chuyển m đã được chấp nhận, và chúng ta viết s’
tương đương với s m.
Sự lựa chọn những bước di chuyển dựa trên giá trị của hàm chi phí (cost function)
Lời giải khởi đầu s o có thể được xây dựng như một phần của giải thuật Đối với
một vài phương pháp, s o được xây dựng một cách t ùy ý bằng một giải thuật nào đóhoặc có thể được phát sinh ngẫu nhiên
Đối với điều kiện dừng hoặc chuẩn dừng (stop criterion) thì hoặc là nó dựa trên
chất lượng của lời giải đạt đ ược hoặc là đạt đến một số lần lặp n ào đó
Trang 19Sau đây là giải thuật tìm kiếm cục bộ ở dạng tổng quát [1]
procedure LocalSearch(MaxCost,MaxMoves)
begin
let s = {(vi,dij) | dij Di for all vi V} be the initial solution
while f(s) > MaxCost and TotalMoves < MaxMoves do
- V: tập biến của bài toán
- Di : là miền trị của biến v i V
- M là tập các bước di chuyển cục bộ (local moves) từ lời giải s M’ M.
- MaxCost là thông số của bài toán trong trường hợp cực tiểu hàm mục tiêu.
Trong trường hợp tối đa hàm mục tiêu, thay đổi bất đẳng thức f(s) > MaxCost thành f(s) < MinCost, MinCost là thông số của bài toán.
Thủ tục GeneraeLocalMoves trả về tập các bước di chuyển tốt nhất M’ (best moves) trong miền lân cận của s (neighborhood) v à thủ tục MakeLocalMoves sẽ
thực hiện bước di chuyển từ s đến s’ tương ứng với tập các bước di chuyển tốt
nhất M’
Những giải thuật điển h ình cho giải thuật tìm kiếm cục bộ: giải thuật leo đồi, tìm
kiếm tabu, mô phỏng luyện kim.
Trang 20Giải thuật leo đồi (Hill-Climbing)
Hill-Climbing (ở đây ta tạm dịch là “Leo Đồi”) là ý tưởng cơ bản nhất trong tất cả
các giải thuật tìm kiếm cục bộ Leo đồi xuất phát từ chiến lược cải tiến dần qua
các lần lặp : tại mỗi bước lặp trong việc tìm kiếm thì một bước di chuyển mà cải thiện
giá trị của hàm mục tiêu (objective function) sẽ được lựa chọn.
Hàm GenerateLocalMoves và MakeLocalMoves được hiện thực trong giải thuật
“Leo đồi” như sau [1]:
dcurr current domain value of vi
for each d Di | d dcurr do begin
end
if M’ =then TotalMoves MaxMoves
return M’
Trang 21Một vấn đề chính trong giải thuật leo đồi là nó tiến tới lời giải xấp xỉ với lời giải
có chi phí nhỏ nhất Nếu không còn bước di chuyển nào cải thiện được lời giải
hiện tại thì việc tìm kiếm sẽ bị kẹt (stuck), v à thậm chí là nó sẽ không tìm ra đượclời giải toàn cục
Tìm kiếm tabu (Tabu Search)
Tìm kiếm tabu là một kỹ thuật tối ưu được đề nghị đầu tiên bởi Glover trong
những năm đầu 80 Chiến l ược của tìm kiếm tabu là nó giữ một danh sách, gọi l à
danh sách tabu (tabu list), bao gồm những lời giải đã duyệt trước đó để đảm bảo
việc tìm kiếm không xét lại cùng một lời giải hai lần (những lời giải nằm trong
danh sách tabu sẽ bị cấm hay gọi là tabu) Khi bị rơi vào vùng cực tiểu cục bộ thì,
việc tìm kiếm sẽ thoát khỏi vùng cực tiểu cục bộ bằng cách lựa chọn một lời giảitốt khác
Hàm GenerateLocalMoves và MakeLocalMoves được hiện thực trong giải thuật
“Tìm kiếm Tabu” như sau [1]:
dcurr current domain value of vi
for each d Di | d dcurr do
Trang 23Giải thuật mô phỏng luyện kim (SIMULATED ANNEALING)
Có thể tham khảo thêm tại [1]
Giải thuật mô phỏng luyện kim l à gì?
Giải thuật mô phỏng luyện kim (SA) là một kỹ thuật tối ưu hoá đã được đề nghị
bởi S.Kirkpatrick et al năm 1983 Đó l à một biến thể của giải thuật tìm kiếm cục
bộ mà nó cho phép một bước di chuyển lên đồi (the uphill moves) đ ược chấp nhận
theo một cách có điều khiển
Giải thuật mô phỏng luyện kim mô phỏng tiến trình làm lạnh bằng cách hạ nhiệt độ
của hệ thống từ từ cho tới khi nó đạt đến một trạng thái ổn định (steady, frozenstate)
Tiêu chuẩn chấp nhận
Xác xuất để chấp nhận trạng thái xấu đ ược cho bởi phương trình sau:
P = exp(-c/t) > r
Trong đó :
c = sự thay đổi của hàm chi phí
t = nhiệt độ hiện thời
r = một số ngẫu nhiên từ 0 đến 1.
Sau đây là giải thuật tổng quát của Simulated Annealing
Select an initial solution so
Select an initial temperature to > 0
Select a temperature reduction function ;
Trang 24until iteration_count = nrep
t =(t)
until stopping condition = true.
Những bước di chuyển tiềm năng được lấy mẫu một cách ngẫu nhi ên và tất cả những bước di chuyển nào cải thiện được lời giải hiện tại th ì sẽ được chấp nhận.
Ngược lại sẽ được chấp nhận với một xác xuất exp(-/t), trong đó là sự thay đổi
của hàm chi phí và t là thông số điều khiển.
Chất lượng của lời giải nó phụ thuộc v ào cách mà thông số nhiệt độ được điều
khiển - gọi là lịch biểu làm nguội (the cooling schedule) Lịch biểu làm nguội
được định nghĩa bởi:
Nhiệt độ bắt đầu t o
Điều kiện dừng
Hàm thu giảm
Số lần lặp tại mỗi nhiệt độ, nrep
Những thông số này phụ thuộc vào từng vấn đề cụ thể cần giải quyết
Trang 25Kết luận
Ý tưởng của tìm kiếm cục bộ là tìm ra đường đi tắt để có thể đ ưa ra được câu trả
lời đối với một vấn đề n ào đó bằng cách nhanh chóng đi đến lời giải có chi phí xấp
xỉ nhỏ nhất trong không gian t ìm kiếm Nó tránh việc thực hiện t ìm kiếm mangtính hệ thống (vét cạn)
Hiệu suất trung bình của tìm kiếm cục bộ phụ thuộc vào định nghĩa hàm chi phí của vấn đề cần giải quyết V ì vậy tìm kiếm cục bộ được đánh giá qua thực nghiệm, dựa trên một vấn đề cụ thể hơn là sử dụng một cách phân tích lý thuyết Tìm kiếm
cục bộ còn được gọi là siêu heuristic (metaheuristics)
3.2 Giải thuật di truyền (Genetic Algorithm)
Giải thuật di truyền, viết tắt là GA, là giải thuật tìm kiếm dựa trên quần thể
(populaton-based search) Giải thuật di truyền được biết tới như là một trong
những phương pháp tốt để giải quyết những b ài toán khó Tuy nhiên, hi ện nay vẫn
chưa có một chuẩn thực sự nào cho giải thuật di truyền Trong chương này sẽ giới thiệu bằng cách nào giải thuật di truyền được sử dụng để giải quyết những b ài
toán thoã mãn ràng buộc (constraint satisfaction problems)
Giải thuật di truyền là gì?
Một giải thuật tổng quát cho giải thuật di truyền [1] được mô tả như sau:
begin
INITIALIZE population with random candidate solutions;
EVALUATE each candidate;
repeat
SELECT parents;
RECOMBINE pairs of parents;
Trang 26EVALUATE children;
SELECT individuals for the next generation
until TERMINATION-CONDITION is satisfied
end
Hàm đánh giá biểu diễn sự ước lượng của chất lượng lời giải và quá trình tìm kiếmđược hướng dẫn bởi các phép toán biến dị v à phép toán lựa chọn (the variation andselection operator) GA có nh ững đặc điểm sau đây:
GA là giải thuật tìm kiếm dựa trên quần thể
GA sử dụng việc lai ghép (recombination or crossover) để trộ n thông tincủa những lời giải dự tuyển th ành lời giải mới
GA là giải thuật dựa trên xác xuất (stochastic)
Biểu diễn vấn đề
Những đối tượng mà hình thành nên lời giải có thể trong ngữ cảnh của một vấn đề
cụ thể được gọi là phenotypes Những cá thể trong GA gọi là genotypes.
Lời giải dự tuyển (Candidate solution), phenotype v à cá thể (individual) được biểudiễn là những điểm trong không gian của những lời giải có thể Không gian n ày
gọi là không gian phenotype ( phenotype space)
Những phần tử của nhiểm sắc thể (chromome) gọi là gen (genes) Giá trị của gen
gọi là allele
Các phép toán biến dị (variation operator)
Vai trò của phép toán biến dị (variation operator) là t ạo ra những cá thể mới từ
những cá thể đã có sẵn
Trang 27a – Phép toán đột biến (Mutation operator)
Phép toán biến dị chỉ có một ngôi được gọi là “đột biến” (mutation) Đột biến có
tác dụng là đảm bảo tất cả những cá thể đều có thể đạt đến đ ược Lai ghép (crossover) không thể đưa ra alleles mới nếu nó không xuất hiện trong thế hệ đầu tiên Đột biến có thể khắc phục nhược điểm này bằng cách đơn giản là lựa chọn ngẫu nhiên một vị trí bit trong chuỗi gen và thay đổi nó.
b - Phép toán lai ghép (Crossover operator)
Phép toán biến dị có hai ngôi được gọi là phép toán lai ghép Phép toán này sẽ
trộn (merge) thông tin của cha mẹ thành thông tin của một hay hai con cháu Lai
ghép đóng vai trò rất quan trọng trong GA Lai ghép l à tiến trình kết hợp của
những chuỗi bit thông qua việc hoán đỗi những đoạn gen giữa những cặp cá thể.Sau đây sẽ giới thiệu một số loại lai ghép
– Lai ghép một điểm (One-point Crossover)
Lai ghép một điểm là ngẫu nhiên phát sinh một số (nhỏ hơn hay bằng với chiều dài
của cá thể) như là một vị trí để lai ghép Sau đó hoán đổi những bit sau vị trí laighép này giữa hai cha mẹ, những bit trước vị trí lai ghép vẫn đ ược giữ nguyên
– Lai ghép hai điểm (Two-point Cross Over)
Lai ghép hai điểm cũng tương tự như lai ghép một điểm ngoại trừ chúng ta phải
phát sinh hai vị trí lai ghép ngẫu nhiên và chỉ những bit giữa hai vị trí n ày mới bị hoán đổi Lai ghép hai điểm bảo tồn phần đầu và phần cuối của cá thể chỉ hoán đổi
phần giữa
– Lai ghép đều (Uniform Crossover)
Trong lai ghép đều thì mỗi gen của cha mẹ sẽ có một xác xuất k (giả sử ở đây k =
0.5) cho việc hoán đổi với những gen t ương ứng với cha mẹ còn lại
Chiến lược lựa chọn cha mẹ
a - Lựa chọn dựa trên độ thích nghi (Fitness-based selection)
Trang 28Đây là phương pháp l ựa chọn cơ bản nhất Trong chiến l ược lựa chọn này những
cá thể sẽ được lựa chọn theo độ thích nghi của nó
b - Lựa chọn theo hạng (Rank-based selection)
Trong chiến lược lựa chọn theo hạng, xác xuất lựa chọn đ ược dựa trên hạng của cáthể hay vị trí trong quần thể thay v ì dựa trên độ thích nghi
c - Lựa chọn dựa trên thi đấu (Tournament-based selection)
Chiến lược lựa chọn thi đấu là lựa chọn ra K cha mẹ một cách ngẫu nhi ên và trả về
cá thể tốt nhất trong những cha mẹ n ày
Chiến lược lựa chọn những cá thể cho thế hệ kế tiếp
Có hai loại : lựa chọn đều (steady -state replacement) và l ựa chọn cả thế hệ(generational replacem ent)
Trong lựa chọn đều thì lời giải con khả thi mới đ ược sinh ra và sẽ thay thểmột cá thể được chọn ngẫu nhiên trong quần thể
lựa chọn cả thế hệ thì một quần thể của con cháu sẽ đ ược phát sinh và toàn bộthế hệ cha mẹ sẽ được thay thế
Điều kiện dừng
GA là giải thuật dựa trên xác xuất và không có gì bảo đảm rằng nó sẽ tìm ra lờigiải tối ưu
Những điều kiện dừng th ường được sử dụng là:
- Thời gian chạy quá lâu, đạt đến thời gian qui định
- Toàn bộ việc đánh giá độ thích nghi đạt đến một giới hạn cho tr ước
- Việc cải thiện độ thích nghi vẫn d ưới một ngưỡng trong khoảng thời gian chotrước
- Tính đa dạng hoá của quần thể rớt xuống một ng ưỡng cho trước
Trang 29Giải quyết ràng buộc trong giải thuật di truyền
Các phép toán cơ bản của giải thuật di truyền, phép toán lai ghép và phép toán đột
biến, là “mù” đối với những ràng buộc của bài toán, có nghĩa là việc đột biến hay
lai ghép cha mẹ khả thi có thể đưa ra kết quả con cháu không khả thi Do đó việctạo và duy trì những cá thể khả thi trong quần thể l à cần thiết Điều này có thể thựchiện bằng một số heuristic
Trong phần tiếp theo sẽ giới thiệu giải thuật memetic, là chủ đề chính mà chúng ta quan tâm Đó là sự kết hợp giữa giải thuật di truyền và tìm kiếm cục bộ Trong đó
giải thuật di truyền đóng vai trò khám phá đa dạng, tìm kiếm cục bộ đóng vai trò khai thác tập trung.
3.3 Giải thuật memetic (Memetic Algorithm)
Sau khi đã giới thiệu giải thuật tìm kiếm cục bộ ở phần 3.1 và giải thuật di truyền
(GA) ở phần 3.2, trong phần n ày chúng ta sẽ đưa ra một giải thuật lai ghép của haigiải thuật trên được gọi là giải thuật memetic (MA)
Giải thuật memetic lấy giải thuật di truyền làm khung sườn và sử dụng giải thuật tìm kiếm cục bộ để cải tiến độ thích nghi của những cá thể.
MA chứa đựng những lớp “si êu heuristic” (metaheuri stics) Phương pháp này d ựatrên quần thể và đã được chứng minh là rất thành công trong việc giải quyết nhiềuvấn đề trong những lĩnh vực khác nhau Theo nhiều nh à nghiên cứu thì MA là mộttrong những phương pháp hiệu quả nhất trong việc giải quyết những b ài toán tối
ưu tổ hợp và tìm kiếm những lời giải xấp xỉ trong những b ài toán NP-đầy đủ.
Không giống như GA, MA quan tâm khai thác nh ững tri thức có sẵn của vấn đề
cần giải quyết (thông qua tìm kiếm cục bộ) Từ quan điểm trên, MA là sự lai hoá giữa tìm kiếm toàn cục và tìm kiếm cục bộ bằng cách sử dụng GA để thực hiện việc khám phá đa dạng và tìm kiếm cục bộ để khai thác tập trung.
Trang 30Giải thuật memetic sẽ có s ơ đồ tổng quát như sau:
Hình 3.1 Lược đồ tổng quát của giải thuật memetic
Bên cạnh đó thì có một số dạng mở rộng của giải thuật MA
Sau đây là hai dạng mở rộng phổ biến của giải thuật MA Xem h ình 3.2 và 3.3
Trang 31Hình 3.2 Dạng mở rộng thứ nhất của giải thuật memetic
Trang 32Hình 3.3 Dạng mở rộng thứ hai của giải thuật memetic
Trang 33Theo các dạng trên thì tìm kiếm cục bộ có thể được “nhúng” vào trong các giai
đoạn sau:
- Trong giai đoạn khởi tạo quần thể (Initial population)
- Sau tác vụ lai ghép (crossover)
- Sau tác vụ đột biến (mutation)
Bên cạnh đó ở dạng mở rộng thứ hai chúng ta thấy có th êm một phần là khởi động
lại quần thể (Restart Population) Vì để tránh hiện tượng hội tụ sớm nên việc khởi động lại quần thể là cần thiết Qua nhiều thực nghiệm m à các nhà nghiên cứu đã
tiến hành đã chứng minh được tính hiệu quả của nó Cũng có thể áp dụng th êm
một số heuristic hay tìm kiếm cục bộ vào trong giai đoạn khởi động lại quần thể
Với giải thuật memetic tổng quát như trên thì quần thể khởi tạo đầu ti ên (initial
population) có thể được xây dựng từ một giải thuật dựa tr ên heuristic nhằm có thểđạt được những lời giải tốt ngay từ đầu
Các phép toán lai ghép hay phép toán đột biến (mutation operator) có th ể được gia
tốc thêm với những ràng buộc đặc biệt về mặt biểu diễn v à những ràng buộc đặcbiệt về miền trị để cung cấp một khả năng t ìm kiếm tốt hơn
Tìm kiếm cục bộ có thể được áp dụng lên một hay nhiều tập lời giải trung gian (ví
dụ tập lời giải con cháu ) Ý t ưởng của việc này là vì khi áp dụng phép toán lai
ghép và phép toán đột biến lên những cha mẹ khả thi có thể đ ưa ra những con
cháu không khả thi Vì vậy tìm kiếm cục bộ được áp dụng ở đây để “tinh chỉnh” lại
con cháu để có một con cháu tốt h ơn Ý tưởng này có thể được minh hoạ bằnghình sau đây [25]:
Trang 34Hình 3.4 Ví dụ minh họa con cháu không khả thi của hai cha mẹ khả thi [25]
Trong hình minh họa trên X và Y là những cha mẹ khả thi, Z’ đ ược sinh ra từ hai
cha mẹ X,Y Nhưng ở đây Z’ có thể không khả thi v ì vậy sau khi áp dụng tìm kiếm
cục bộ lên Z’ sẽ được Z “tốt” hơn Z’.
Những bằng chứng thực nghiệm của nhiều nh à nghiên cứu cho rằng càng tích hợp
những tri thức của vấn đề cụ thể đang xét v ào trong giải thuật di truyền (GA), thì
hiệu suất của giải thuật c àng được cải thiện Tuy nhiên, những dạng phổ biến nhất
của việc lai ghép là sử dụng tìm kiếm cục bộ ở một hay hai giai đoạn trong giải
Trang 35- Lựa chọn (+): cá thể tốt nhất sẽ được chọn từ quần thể bao gồm cha
mẹ và con cháu
Khi quần thể hội tụ sớm thì tìm kiếm cục bộ có thể được áp dụng vào tái khởi động
lại quần thể và tất cả những lời giải sau đó đều l à tối ưu cục bộ Điều này đảm bảochiến lược đa dạng hoá trong không gian t ìm kiếm
Sau đây một vài giải thuật Memetic cụ thể sẽ đ ược xem xét.
Giải thuật đầu tiên sẽ được giới thiệu có dạng nh ư sau [18]:
Trang 36P = select(P);
if P converged then P = mutateAndLS(P);
until terminate = true;
end;
Giải thuật Memetic trên có những đặc điểm sau:
Trong giải thuật trên tìm kiếm cục bộ được sử dụng sau lần phát sinh đầu ti ên và sau các phép toán biến dị di truyền (đột biến và lai ghép) để đảm bảo tất cả cá thể
trong quần thể là những điểm tối ưu cục bộ
Không giống như giải thuật di truyền (GA) , các phép toán lai ghép(crossover) và
đột biến (mutation) được sử dụng độc lập với nhau.
Những giải thuật dựa trên heuristic (ví dụ như giải thuật tham lam) có thể đ ược ápdụng cho việc khởi tạo quần thể đầu ti ên
Nếu quần thể hội tụ sớm th ì tất cả các cá thể sẽ được đột biến, ngoại trừ cá thể tốt
nhất và tìm kiếm cục bộ được áp dụng sau đó để đảm bảo rằng tất cả các cá thể l à tối ưu cục bộ Vì vậy việc đa dạng hoá n ày có thể xem như là một phép toán đột
biến ở mức độ cao (high level mutation operator) Dạng đột biến n ày được xem
như là một siêu đột biến (meta mutation)
Chiến lược lựa chọn được áp dụng trong giải thuật tr ên là lựa chọn (+), con
cháu được phát sinh từ những phép toán lai ghép và đột biến cùng với quần thể
cha mẹ hình thành nên quần thể tạm thời Sau đó, những cá thể tốt nhất sẽ đ ượclựa chọn từ quần thể tạm thời đó Chú ý rằng: những cá thể chỉ đ ược lựa chọn mộtlần, những bản sao của cá thể sẽ bị loại bỏ
Một vài các thông số khác cho giải thuật Memetic trên:
Giải thuật memetic được mô tả ở trên có thể được xem như là bộ ba (p,cr,cm),Trong đó:
- p biểu diễn số cá thể trong quần thể
Trang 37- c m là tỉ lệ sử dụng phép toán đột biến.
Với cách biểu diễn như trên thì:
- Số con cháu được phát sinh bởi phép toán lai ghép là p c r
- Số con cháu được phát sinh bởi phép toán đột biến là p c m
- Chiến lược lựa chọn ( +) với = p, = p.(c r + c m )
Kế tiếp chúng ta sẽ xem xét một giải thuật memetic cụ thể khác [19] Giải thuật
này có vài đặc điểm khác với giải thuật đ ã được mô tả ở trên Giải thuật này có mãgiả như sau:
procedure Memetic
begin
Initialize population Parents;
repeat until (Finalization_criteria_met) do
/* Parents is a set of solutions to which local search */
/* will be applied with prob Pls */
temperature =
|min
Trang 38*
;
if (random(0,1) < threshold) then
Accept configuration; /*Even if worse than the previous one*/
Trang 39Giải thuật này khác giải thuật được mô tả ở phần trên ở chổ tìm kiếm cục bộ được
nhúng vào trong việc chọn cha mẹ Một cách cụ thể h ơn những cá thể cha mẹ sẽ
được áp dụng tìm kiếm cục bộ với một xác xuất l à P ls
Giải thuật tìm kiếm cục bộ trong giải thuật memetic này được mô tả một cách chi tiết cụ thể hơn Như chúng ta cũng thấy tìm kiếm cục bộ có phần tương tự như giải
thuật mô phỏng luyện kim Ngoại trừ toàn bộ quần thể đều chia sẽ cùng một nhiệt
độ Hành vi của tìm kiếm cục bộ ở đây mang ý nghĩa là tự thích nghi, hoặc là khám
phá đa dạng hoặc là khai thác tập trung, được điều khiển bởi thông số nhiệt độ.
Chú ý rằng, cá thể tốt nhất sẽ không bao giờ đ ược bổ sung trong tìm kiếm cục bộ.
Vì thế những cá thể với độ thích nghi lớn nhất luôn luôn đ ược duy trì trong quầnthể
Chiến lược lựa chọn thay thế quần thể ở đây cũng t ương tự như giải thuật mô tả
trong phần trước: hoặc là chiến lược lựa chọn ( +), hoặc là chiến lựa lựa chọn ( ,) Phần này chúng ta đã mô tả chi tiết ở phía trên.
Ngoài một số cách tiếp cận phổ biến m à chúng ta đã giới thiệu ở trên đối với giải
thuật memetic , thì cũng có một cách tiếp cận giải thuật memetic bằng cách hình
thức hoá nó
Sau đây chúng ta sẽ xem xét cách tiếp cận n ày
Giải thuật memetic hình thức (Formal Memetic Algorithms)
Giải thuật memetic hình thức có thể được xem như là một dạng giải thuật memetic
độc lập với biểu diễn Giải thuật memetic hình thức cũng có mẫu tương tự như giải
thuật mô tả ở phần trước nhưng các thành phần cũng như các tác vụ của nó được
mô tả một cách hình thức hơn
Hàm biểu diễn
Giả sử S là không gian tìm kiếm (search space) và C là không gian biểu diễn
(representation space) thì :
Trang 40p : S C
gọi là hàm biểu diễn (the representation function) Nếu cho tr ước một lời giải
trong S thì hàm p sẽ trả về một nhiễm sắc thể trong C mà nó biểu diễn cho lời giải
đó Hàm p này phải thoả mãn điều kiện là: với mọi s S thì có duy nhất một p(s)
S biểu diễn cho nó Ngược lại với mọi c C thì luôn luôn tồn tại s S sao cho p(s) = c.
Hàm thích nghi
Hàm thích nghi f (the fitness funtion) đư ợc biểu diễn như sau:
f: C
R
Tác vụ di chuyển một đối số có xác xuất (stochastic unary move operator)
Tác vụ di chuyển một đối số có xác xuất (stochastic unary move operator) Q tr ên
C là hàm có dạng:
Q: C x KQ C
Trong đó K Q là thông số điều khiển Ví dụ nh ư trong trường hợp đột biến thì mặt
nạ nhị phân (binary mask) có thể đ ược xem như là thông số điều khiển
Điểm tối ưu cục bộ (local optima)
Một nhiễm sắc thể x C được xem là điểm tối ưu cục bộ tương ứng với tác vụ Q,
ký hiệu là Q-opt, khi và chỉ khi:
k KQ : f (Q(x,k)) < f(x)
Gọi C Q C là tập những nhiễm sắc thể cục bộ t ương ứng với tác vụ Q, thì: