1. Trang chủ
  2. » Luận Văn - Báo Cáo

Xây dựng một framework hướng đối tượng cho giải thuật memetic và ứng dụngvào việc giải bài toán phủ tập

167 19 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 167
Dung lượng 697,2 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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 2

CÔ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 3

LỜ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 4

TÓ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 5

Memetic 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 6

MỤ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 7

5.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 8

DANH 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 9

Hì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 10

Hì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 11

DANH 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 12

CHƯƠ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 13

2 - 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 14

1.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 15

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

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 16

xâ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 18

NP-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 19

Sau đâ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 20

Giả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 21

Mộ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 23

Giả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 24

until 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 25

Kế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 26

EVALUATE 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 27

a – 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 29

Giả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 30

Giả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 31

Hình 3.2 Dạng mở rộng thứ nhất của giải thuật memetic

Trang 32

Hình 3.3 Dạng mở rộng thứ hai của giải thuật memetic

Trang 33

Theo 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 34

Hì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 36

P = 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 39

Giả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 40

p : 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ì:

Ngày đăng: 11/02/2021, 23:09

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w