Luận án trình bày những khái niệm lý thuyết cơ bản của tối ưu hóa, làm quen với các dạng bài toán tối ưu đơn cực trị (uni-modal optimization problems) và đa cực trị (multi-modal optimization problems), luận án mô tả một cách chi tiết nội dung các thuật toán tìm kiếm tiêu biểu dựa trên thông tin định hướng,... Mời các bạn cùng tham khảo.
Trang 1BỘ QUỐC PHÒNGHỌC VIỆN KỸ THUẬT QUÂN SỰ
—————————-Vũ Chí Cường
MỘT LỚP THUẬT TOÁN PHỎNG TIẾN HÓA SINH HỌC
DỰA TRÊN THÔNG TIN ĐỊNH HƯỚNG
GIẢI BÀI TOÁN ĐA CỰC TRỊ
TÓM TẮT LUẬN ÁN TIẾN SĨ TOÁN HỌC
Chuyên ngành: Cơ sở toán học trong tin học
Hà Nội - Năm 2016
Trang 2CÔNG TRÌNH ĐƯỢC HOÀN THÀNH TẠI
HỌC VIỆN KỸ THUÂT QUÂN SỰ - BỘ QUỐC PHÒNG
——————————————————–
Người hướng dẫn khoa học: PGS TS Bùi Thu Lâm
Phản biện 1: PGS.TS Hoàng Xuân Huấn - ĐH Quốc gia Hà NộiPhản biện 2: PGS.TS Huỳnh Thị Thanh Bình - ĐH Bách khoa Hà NộiPhản biện 3: TS Nguyễn Đức Dũng - Viện Hàn lâm KH&CN Việt Nam
Luận án được bảo vệ tại Hội đồng đánh giá luận án cấp Học viện theoquyết định số 2506/QĐ-HV, ngày 08 tháng 7 năm 2016 của Giám đốcHọc viện Kỹ thuật Quân sự, họp tại Học viện Kỹ thuật Quân sự vàohồi giờ , ngày tháng năm
Có thể tìm hiểu luận án tại:
- Thư viện Học viện Kỹ thuật Quân sự
- Thư viện Quốc gia
Trang 3Lời mở đầu
Thuật toán phỏng tiến hóa sinh học hay gọi ngắn gọn là Thuật toántiến hóa (Evolutionary Algorithms - EAs) là một lớp các thuật toánheuristic trong tối ưu hóa và học máy EAs đã được áp dụng rộng rãi
và thu được nhiều thành công trong việc giải quyết các bài toán tối ưu
số và tối ưu tổ hợp Về nguyên tắc, EA là một thuật toán lấy cảm hứng
từ quá trình chọn lọc tự nhiên trong thuyết tiến hóa của Darwin EAshoạt động trên tập các phương án (còn gọi là quần thể - population)
để tìm kiếm phương án tối ưu Nguyên tắc tính toán dựa vào quần thể
đã được khẳng định là một mô hình tiềm năng cho việc giải quyết cácbài toán tối ưu toàn cục [4, 31, 32, 63, 65, 85]
Trong quá trình nghiên cứu và phát triển, đã có 4 dạng EAs truyềnthống được đề xuất, bao gồm Quy hoạch tiến hóa (Evolutionary Pro-gramming - EP), Chiến lược tiến hóa (Evolutionary Strategies - ES),Giải thuật di truyền (Genetic Algorithm - GA) và Lập trình di truyền(Genetic Programming - GP) Các đặc điểm quan trọng nhất đối vớicác EAs là:
• EAs điều khiển quá trình tiến hóa của một quần thể gồm nhiều
cá thể, mỗi cá thể đại diện (hay mã hóa) cho một phương án (haymột lời giải) chấp nhận được của bài toán tối ưu
• Các cá thể con (offsprings) được sinh ra một cách ngẫu nhiênthông qua các quá trình đột biến và lai ghép Quá trình đột biến
là một sự thay đổi (rất nhỏ) của một cá thể trong khi đó quátrình lai ghép là sự hoán đổi thông tin giữa 2 hay nhiều cá thểhiện tại
• Một hàm đánh giá được sử dụng để đo chất lượng hay tính toánmức độ phù hợp của các cá thể Cá thể có giá trị đánh giá caohơn được xem là tốt hơn cá thể khác Quá trình lựa chọn thựchiện việc lựa chọn và ưu tiên cho các cá thể tốt hơn với mục đích
là tạo ra một thế hệ mới với các cá thể tốt hơn
Bên cạnh các lớp EAs, trong khoảng thời gian 15 năm gần đây, đã
có một số mô hình thuật toán phỏng tự nhiên mới được đề xuất, chẳnghạn như Tối ưu hóa bầy đàn (PSO) [43], Tối ưu hóa đàn kiến (ACO)[19], Ước lượng các thuật toán phân phối (EDA) [49], Hệ miễn nhiễm
Trang 4nhân tạo (AIS) [12], Trong các mô hình này, các toán tử tính toánđược lấy cảm hứng từ những hiện tượng khác nhau của thế giới tựnhiên như bầy chim, đàn cá hay đàn kiến,
Trong thiết kế các thuật toán heuristic, cả truyền thống cũng nhưhiện đại, vấn đề sử dụng thông tin định hướng luôn nhận được sự quantâm của các nhà nghiên cứu Nếu có thông tin định hướng tốt thì quátrình tìm kiếm phương án tối ưu sẽ diễn ra nhanh chóng và đạt kếtquả tốt Phương pháp tụt Gradient (Gradient Descent), thuật toántìm kiếm đơn hình (Simplex Search) [66], thuật toán tìm kiếm phântán (Scatter Search) [30, 47] là những ví dụ điển hình trong việc sửdụng thông tin định hướng để giải quyết các bài toán tối ưu Trong các
mô hình thuật toán tiến hóa mới, lớp các thuật toán tiến hóa vi phân(Differential Evolution) [75] là một ví dụ khác về những lợi ích đạtđược khi sử dụng thông tin định hướng để chỉ dẫn quá trình tìm kiếmlời giải Tuy nhiên, trong các thuật toán này, thông tin định hướng chỉđược xác định một cách cục bộ trong từng thế hệ của quá trình tiếnhóa mà chưa có tính toàn cục, cách tổ chức quản lý thông tin hướngcòn thiếu tính hệ thống Bởi thế sẽ tồn tại những trường hợp mà thôngtin định hướng có thể làm suy giảm chất lượng (giá trị đánh giá) củacác phương án đã tìm được Vấn đề xác định các thông tin định hướngtốt và cách thức quản lý, sử dụng thông tin đó một cách có hệ thống
để hỗ trợ quá trình tiến hóa sẽ là chủ đề nghiên cứu chính của luận án.Ngoài ra, trong cách thức tổ chức quản lý các cá thể, có thể thấyrằng một quần thể các cá thể có thể bao hàm các thông tin định hướng,các thông tin định hướng này hoàn toàn có thể được xác định một cách
có hệ thống và hỗ trợ quá trình tìm kiếm tiến hóa
Luận án được tổ chức thành 4 chương nội dung chính, bao gồm:Chương 1: Cơ sở lý thuyết,
Chương 2: Những nội dung nghiên cứu liên quan,Chương 3: Thuật toán tiến hóa dựa trên thông tin địnhhướng,
Chương 4: Thuật toán tiến hóa dựa trên thông tin địnhhướng với bài toán đa cực trị
Trang 5Chương 1
CƠ SỞ LÝ THUYẾT
Mục đích của chương này là cung cấp các kiến thức cơ sở lý thuyếtliên quan đến nội dung nghiên cứu của luận án Cấu trúc của chươnggồm 2 phần chính Phần đầu trình bày những khái niệm lý thuyết tổngquan về tối ưu hóa, liên quan nhiều nhất đến thuật toán tiến hóa Phầnthứ hai mô tả các nội dung cơ bản của thuật toán tiến hóa như kháiniệm, bản chất, các dạng phân loại truyền thống Trong phần này, tácgiả cũng dành thời gian để mô tả một cách cụ thể các thành phần chínhcủa một thuật toán tiến hóa và cuối cùng là sơ đồ tổng quát của thuậttoán
Sơ đồ tổng quát của một EA có thể được mô tả như Algorithm1.1.Algorithm 1.1 Sơ đồ tổng quát của Thuật toán tiến hóa
Input: µ, λ, κ, θι, θc, θm, θs
Output: a∗ là cá thể tốt nhất hoặc P∗là quần thể tốt nhất tìm được
1: t ←− 0;
2: P (t) ←− initialize(µ); Khởi tạo quần thể ban đầu
3: f (t) ←− evaluate(P (t), µ); Đánh giá các cá thể của quần thể
Trang 6Phần thứ hai của chương, tác giả tiến hành khảo sát 4 kỹ thuậtniching thường dùng là Fitness Sharing của D E Goldberg và J J.Richardson [33], Crowding của K A De Jong [13], Species-based củaJian-Ping Li [50], Clustering-based của X Yin và N Germay [108] Đây
là các kỹ thuật đặc biệt được tích hợp trong các thuật toán tiến hóanhằm giải quyết các bài toán tối ưu đa cực trị
Phần cuối của chương là các khảo sát về các mô hình, các kỹ thuậtsong song hóa thuật toán tiến hóa Trong phần này, ngoài 4 dạng môhình song song truyền thống là master/slave, island, cellular và hybrid[8, 9, 42], tác giả còn trình bày kỹ thuật đồng tiến hóa hợp tác (Co-operative Co-evolution - CC) do M A Potter đề xuất năm 1994 [70,71]
Trang 7Chương 3
THUẬT TOÁN TIẾN HÓA DỰA TRÊN THÔNG TIN ĐỊNH HƯỚNG
Một trong những chìa khóa dẫn đến thành công trong thiết kế thuậttoán tiến hóa là có được các thông tin định hướng tốt để chỉ dẫn quátrình tìm kiếm Trong luận án này, thông tin định hướng được xây dựng
từ tập các cá thể ưu tú mà tác giả gọi là tập ETS (Elite Set) Đó là tậpcác cá thể có giá trị đánh giá tốt hơn các cá thể khác còn lại (cá thểxếp hạng hai) và được quản lý, duy trì trong suốt quá trình tiến hóa
Có hai dạng thông tin định hướng được luận án quan tâm:
• Hướng hội tụ (CD - Convergence Direction) là hướng giữa một
cá thể xếp hạng hai trong quần thể hiện tại với một cá thể ưu tútrong tập ETS
• Hướng tản mát (SD - Spread Direction) là hướng giữa hai cá thể
ưu tú trong tập ETS hiện tại
Thuật toán tiến hóa mới dựa trên hai dạng thông tin định hướngtrên được tác giả đặt tên là Direction-guided Evolutionary ALgorithmhay DEAL Sơ đồ của thuật toán DEAL được mô tả trong Algo-rithm3.2
Trong thuật toán DEAL, thủ tục generation() là thủ tục quan trọngnhất, gồm 10 bước và được mô tả cụ thể ở trang sau
Trang 8Algorithm 3.2 Sơ đồ của Thuật toán DEAL
Input: N là kích thước quần thể; θc, θm, σ1, σ2 là các tham số điềukhiển
Bước 2: Lựa chọn ngẫu nhiên một cá thể cha pr
Bước 3: Lựa chọn hướng hội tụ d1
Bước 4: Xác định cá thể thử nghiệm s1bằng cách lai ghép pr
với cá thể sinh ra khi dịch chuyển pr theo hướng hội tụ d1 vớibước nhảy định hướng σ1 và xác suất lai ghép θc
Bước 5: Đánh giá s1,
Nếu s1tốt hơn pindex thì thay thế mindex= s1
Bước 6: Lựa chọn hướng tản mát d2
Bước 7: Xác định cá thể thử nghiệm s2bằng cách lai ghép prvới cá thể sinh ra dịch chuyển pr theo hướng tản mát d2 vớibước nhảy định hướng σ2 và xác suất lai ghép là θc
Bước 8: Đột biến s2 theo xác suất đột biến θm
Bước 9: Đánh giá s2,
Nếu s2tốt hơn pindex+1 thì mindex+1 = s2
Bước 10: index = index + 2,
Lặp lại Bước 1 cho đến khi duyệt hết các cá thể của M
Trang 93.1.1 Độ phức tạp tính toán
Độ phức tạp của thuật toán DEAL sẽ là O(mN logN ), trong đó N
là kích thước quần thể, m là số thế hệ tiến hóa
DEAL sử dụng 2 tham số σ1 và σ2 để điều chỉnh độ lớn của véc
tơ định hướng d1 và d2 Các tham số này được gọi là bước nhảy địnhhướng và các giá trị khác nhau của chúng có ảnh hưởng đến chất lượngcủa thuật toán
Trong DEAL tác giả sử dụng một cá thể cha pr vừa làm cá thể độtbiến vừa làm cá thể lai ghép để sinh ra các cá thể thử nghiệm s1và s2.Đây là chiến lược lai ghép thứ nhất
Chiến lược lai ghép thứ hai sử dụng các cá thể theo thứ tự pindexvà
pindex+1làm cá thể lai ghép Thuật toán mới gọi là MDEAL (ModifiedStrategy for DEAL)
tiến hóa hợp tác
Mô hình song song DEAL với kỹ thuật đồng tiến hóa hợp tác đượcbiểu diễn trong Hình3.1
Tại master node, một quần thể (Population) gồm các cá thể đượckhởi tạo ngẫu nhiên trong không gian tìm kiếm Quần thể được phânchia (Decomposition) thành các quần thể con (subPopulation) tươngứng với một phần của bài toán Một cá thể toàn cục tốt nhất được xácđịnh và quản lý trong suốt quá trình tiến hóa (Current best) Các quầnthể con (SubPop) và cá thể tốt nhất toàn cục hiện thời (Current best)
sẽ được phân phát tới các slave node để được tiến hóa một cách độclập và đồng thời
Trang 10Hình 3.1: Mô hình song song PCCDEAL
Tại mỗi slave node, quần thể con được tiến hóa bằng DEAL trongmột số vòng lặp xác định trước (ký hiệu là Evolution_Cycle) Sau mộtEvolution_Cycle, mỗi slave lựa chọn một cá thể con tốt nhất làm đạidiện cho nó (Representative) và gửi về cho master node nhằm tham giaquá trình cập nhật cá thể toàn cục tốt nhất
Quá trình cập nhật được diễn ra như trong Hình3.2
Hình 3.2: Mô hình cập nhật cá thể tối ưu toàn cục
Trang 113.2.2 Thời gian thực thi và hệ số tăng tốc
Thời gian thực thi thuật toán
Sơ đồ bố trí thời gian thực thi của hệ thống với m slave được mô
tả trong Hình3.3
Hình 3.3: Mô hình thời gian thực thi PCCDEAL
Khi đó, tổng thời gian thực thi của thuật toán song song được tính:
• m là số lượng Slave, N là kích thước quần thể, D là số chiều;
• F là tổng số lần tính giá trị đánh giá tối đa, G là số thế hệ tiếnhóa
Hệ số tăng tốc thuật toán
Hệ số tăng tốc của thuật toán song song theo mô hình 3.1 đượctính:
Trang 123.2.3 Thuật toán song song
PCCDEAL tại master
Bước 1: Khởi tạo quần thể chính mainP OP
Bước 2: Đánh giá quần thể chính và xác định cá thể toàn cụctốt nhất globalBEST
Bước 3: Phân chia quần thể chính thành m quần thể consubP OP có số chiều bằng nhau
Bước 4: Phân phối các quần thể con subP OP cho các slaves.for i:=1 to m do
receiveFromSlaves(bestCOM P ON EN T )end for
Update(globalBEST )
end while
PCCDEAL tại các slave
Bước 1: Khởi tạo quần thể bằng cách nhận quần thể consubP OP từ master
Trang 133.3 Đánh giá thực nghiệm
Bảng 3.1: Danh sách các bài toán thực nghiệm cho DEAL
• Kích thước quần thể: N = 100,chiều của các bài toán: D = 30,
• Tổng số lần tính giá trị đánh giá lớn nhất cho phép: M axF Es =5000×D = 150.000 Riêng bài toán F2, để đảm bảo cùng điều kiện
so sánh với các thuật toán khác nên tác giả sử dụng M axF Es =250.000,
• Xác suất lai ghép: θc= 0.90, xác suất đột biến: θm= 0.01
• Số lần chạy độc lập: N R = 100
Phân tích thời gian thực thi
Phân tích về hành vi
Phân tích độ đa dạng của quần thể
So sánh hiệu quả với các tùy chọn về bước nhảy định hướng
So sánh hiệu quả với các tùy chọn về chiến lược lai ghép
So sánh hiệu quả với các thuật toán khác
Tác giả sử dụng kết quả của MDEAL thay cho DEAL khi so sánhvới các thuật toán khác Bên cạnh việc thực thi thuật toán MDEAL,
Trang 14tác giả còn tiến hành thực nghiệm thuật toán DE với mã nguồn đượccung cấp tại [75] Kết quả thực nghiệm của MDEAL và DE được sosánh với kết quả thực nghiệm của các thuật toán phổ biến khác đã đượccông bố trong [48], bao gồm các thuật toán RCCRO (Real-coded ver-sion of Chemical Reaction Optimization) [48], GA (Genetic Algorithm),FEP (Fast Evolutionary Programming), CEP (Classical EvolutionaryProgramming), FES (Fast Evolutionary Strategy), CES (ConventionalEvolutionary Strategy), RCBBO (Real-coded Biogeography-based op-timization) [35], CMAES (Covariance Matrix Adaptation EvolutionStrategy) [37] và G3PCX (Generalized Generation Gap model withPCX) [16] Đây là các thuật toán tiến hóa nối tiếng đã có những thànhcông được ghi nhận trong lịch sử phát triển của thuật toán tiến hóa.Kết quả thực nghiệm cho thấy: Trong khi MDEAL xếp hạng nhấtvới 4 bài toán (F2, F3, F5, F6) thì DE xếp hạng nhất với 1 bài toán(F4) Tuy nhiên, DE xếp hạng hai ở 5 bài toán còn lại Một điều thú
vị ở đây là cả MDEAL và DE đều là các thuật toán tiến hóa sử dụngthông tin định hướng để điều khiển quá trình tiến hóa Điều này mộtlần nữa cho thấy tính hiệu quả của các thuật toán tiến hóa sử dụngthông tin định hướng
Phân tích hành vi của 2 thuật toán MDEAL và DE đối với cả 6 bàitoán (xem Hình3.4) ta dễ dàng nhận thấy MDEAL hội tụ nhanh hơn
DE (đường màu đỏ nằm dưới đường màu xanh)
Bảng 3.2: Danh sách các bài toán thực nghiệm cho DEAL song song
Tác giả phức tạp hóa các bài toán thực nghiệm bằng cách tăng sốchiều của bài toán D = 500 Khi đó: M axF Es = 5.000×D = 2.500.000.Các tham số thực nghiệm khác bao gồm như sau: Kích thước quần thể
N = 100, θc = 0.90, θm = 0.01, số thế hệ tiến hóa trong mỗi slaveEvolution_Cycle = 1, 5 và 10
Trang 15MDEAL DE
MDEAL DE
MDEAL DE
MDEAL
DE
MDEAL DE
MDEAL DE
Hình 3.4: Giá trị tối ưu trung bình đạt được khi D = 30 của các bàitoán
(a) Schwefed’s problem; (b) Rastrigin’s problem; (c) Ackley’sproblem; (d) Griewank’s problem; (e) Pernalized problem 1; and (f)
Pernalized problem 2
Phân tích thời gian thực thi và tính toán hệ số tăng tốcPhân tích hiệu quả của thuật toán PCCDEAL
Thông thường các kỹ thuật song song hóa chỉ làm tăng hiệu suất
về mặt thời gian thực thi của thuật toán Tuy nhiên, trong trường hợpnày, luận án đã sử dụng kết hợp song song với kỹ thuật đồng tiến hóahợp tác Do đó thuật toán PCCDEAL có thể làm tăng chất lượng củalời giải, nghĩa là giá trị của phương án tốt nhất tìm được cuối cùng củathuật toán có thể được cải thiện
Thuật toán DEAL có một số đặc trưng như:
• Tổ chức và sử dụng cân đối 2 dạng thông tin định hướng: (1)hướng hội tụ là hướng từ một cá thể hạng hai đến một cá thể ưu
tú và (2) hướng tản mát là hướng giữa 2 cá thể ưu tú
• Các thông tin định hướng được quản lý một cách toàn cục Tậpcác cá thể ưu tú được tổ chức ngoài và liên tục được cập nhật
Trang 162 4 6 8 10 12 14 16 18 20 2
Hình 3.5: Hệ số tăng tốc của PCCDEAL
trong suốt quá trình tiến hóa
• Có 4 tùy chọn về bước nhảy tiến hóa
• Có 2 chiến lược lai ghép khác nhau tương ứng với 2 phiên bảnDEAL và MDEAL
Các kết quả thực nghiệm cho thấy DEAL và MDEAL làm việc tốtvới lớp bài toán tối ưu đơn cực trị và các bài toán tối ưu đa cực trịnhưng chỉ có một phương án tối ưu toàn cục Hiệu quả của thuật toánMDEAL có thể so sánh được với các thuật toán tiến hóa nổi tiếng khác.Đặc biệt tính hiệu quả của MDEAL và DE một lần nữa khẳng định lợithế của các thuật toán tiến hóa dựa trên thông tin định hướng.Cũng trong chương này, tác giả đã tiến hành song song hóa thuậttoán DEAL nhằm nâng cao năng lực tính toán khi phải giải quyết cácbài toán phức tạp Mô hình song song mà tác giả sử dụng là mô hìnhsong song được kết hợp giữa mô hình song song master/slave truyềnthống và kỹ thuật đồng tiến hóa hợp tác