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

Phát triển một số kỹ thuật trong tính toán tiến hoá

28 335 1
Tài liệu đã được kiểm tra trùng lặp

Đ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 28
Dung lượng 242,85 KB

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

Nội dung

Phát triển một số kỹ thuật trong tính toán tiến hoá

Trang 1

BỘ GIÁO DỤC & ĐÀO TẠO VIỆN KH & CN VIỆT NAM

VIỆN CÔNG NGHỆ THÔNG TIN

Trang 2

Công trình được hoàn thành tại: Viện Công nghệ thông tin

thuộc Viện Khoa học và Công nghệ Việt Nam

Người hướng dẫn khoa học:

1 PGS.TS Nguyễn Thanh Thủy

2 PGS.TS Lương Chi Mai

Phản biện 1:

Phản biện 2:

Phản biện 3:

Luận án sẽ được bảo vệ trước Hội đồng chấm luận án cấp nhà nước họp tại:

vào hồi giờ ngày tháng năm 200

Có thể tìm hiểu luận án tại: Thư viện Quốc gia

Viện Công nghệ thông tin - Viện KH & CN Việt nam Khoa Khoa học Tự nhiên – Đại học Thái Nguyên

Trang 3

MỞ ĐẦU

Trong thời gian gần đây, cùng với sự gia tăng mạnh mẽ cả về số lượng lẫn chất lượng các công cụ tính toán hiện đại như máy tính, nhiều lĩnh vực nghiên cứu tính toán không truyền thống cũng không ngừng phát triển Tính toán mềm (Soft Computing) hay còn gọi là trí tuệ tính toán (Computational Intelligence) nhằm nghiên cứu các mô hình tính toán mô phỏng hoạt động của con người hay tiến hóa tự nhiên Nói chung, tính toán mềm dựa trên các

kỹ thuật cơ bản gồm: logic mờ (FL – Fuzzy Logic), mạng nơron nhân tạo (NN – Neural Network), giải thuật di truyền (GA – Genetic Algorithm) và giải thuật mô phỏng tôi luyện (SA – Simulated Annealing)

Các nghiên cứu về tính toán mềm thường tập trung vào hai khía cạnh: một mặt phát triển các kỹ thuật cơ bản tạo nền tảng cho khả năng ứng dụng, mặt khác tìm cách tích hợp các kỹ thuật này nhằm nâng cao hiệu quả tính toán Cũng như các lĩnh vực trí tuệ nhân tạo khác, tính toán mềm dành được

sự quan tâm đặc biệt trong giới nghiên cứu và ứng dụng Chỉ trong lĩnh vực tính toán tiến hóa cũng đã thu hút được nhiều tạp chí lớn, nhiều hội thảo quốc

tế tổ chức hàng năm dành riêng cho chủ đề này Ở nước ta, trí tuệ nhân tạo và tính toán mềm cũng đã và đang được những người nghiên cứu công nghệ thông tin và ứng dụng quan tâm phát triển Các Hội thảo Quốc gia về Công nghệ thông tin và truyền thông đều có các tiểu ban chuyên về trí tuệ nhân tạo

và tính toán mềm Một số luận án tiến sĩ ở Việt Nam thời gian gần đây cũng tập trung khai thác lĩnh vực này Các tác giả Manuel Lozano, Francisco Herrera, Natalio Krasnogor và Daniel Molina đã tổng hợp nhiều hướng nghiên cứu trong những năm gần đây (2001 – 2004) và chỉ ra xu hướng phát

Trang 4

triển các kỹ thuật tính toán mềm bằng cách tích hợp tính toán tiến hóa với kỹ thuật tìm kiếm địa phương

Nghiên cứu về tính toán mềm nói chung là một lĩnh vực rất rộng, riêng mỗi kỹ thuật cơ bản của nó cũng đã là một chủ đề lớn, vì vậy luận án chỉ đi

sâu vào một mảng là “Phát triển một số kỹ thuật trong tính toán tiến hóa”

Mục tiêu của luận án là nghiên cứu vấn đề thích nghi và tự thích nghi trong tính toán tiến hóa; đề xuất các giải pháp cải tiến thuật toán và ứng dụng cơ chế thích nghi giải các bài toán tối ưu

Như vậy, đối tượng chính của luận án là các thuật toán tiến hóa bao gồm giải thuật di truyền, chiến lược tiến hóa, giải thuật mô phỏng tôi luyện,

áp dụng để giải một lớp bài toán tối ưu số và ứng dụng Phương pháp làm việc là nghiên cứu các tài liệu trong và ngoài nước về tính toán tiến hóa, trọng tâm là giải thuật di truyền; khảo sát, đề xuất một số giải pháp nhằm nâng cao hiệu quả của giải thuật, tiến hành thử nghiệm trên một số bài toán mẫu và ứng dụng các kỹ thuật này trong bài toán tối ưu đa mục tiêu thực tế

Nội dung luận án gồm ba chương không kể các phần mở đầu, kết luận

Chương một nêu khá chi tiết về giải thuật di truyền (GA) và tính toán

tiến hóa nói chung Trước hết là GA kinh điển với các toán tử di truyền cơ bản và minh họa bằng một ví dụ cụ thể Phần kế tiếp trình bày nền tảng toán học của GA với hai nội dung chính là định lý sơ đồ của Holland và mô hình xích Markov của GA Giải thuật di truyền mã hóa số thực (RCGA – Real-Coded Genetic Algorithm) với các toán tử di truyền được đề cập đến một cách chi tiết Toán tử lai ghép với nhiều dạng khác nhau kể cả các dạng lai ghép nhiều cá thể cha mẹ cũng được mô tả một cách cẩn thận Phần này cũng nêu lên một số mô hình tiến hóa được giới thiệu trong thời gian gần đây Phần cuối của chương đề cập đến các dạng tính toán tiến hóa khác là chiến lược tiến hóa (ES – Evolutionary Straitegy) và quy hoạch tiến hóa (EP -

Trang 5

Evolutionary Programming) Giải thuật mô phỏng tôi luyện (SA-Simulated Annealing) cũng được trình bày làm cơ sở cho việc tích hợp với các kỹ thuật khác.

Chương hai tập trung trình bày các kết quả nghiên cứu của tác giả về

vấn đề tự thích nghi trong giải thuật di truyền mã hóa số thực và tính toán tiến hóa nói chung Cụ thể trong chương này đưa ra một số kết quả sau:

1) Phân tích tác động các tham số của RCGA đến sự hội tụ của giải thuật, tập trung vào tác động của kích cỡ quần thể và toán tử lai ghép

2) Sử dụng một số hàm phân phối xác suất để điều chỉnh tham số tỷ lệ khoảng cách giữa các cá thể con sinh ra đối với cha mẹ chúng trong toán

Các đề xuất trên đều đã được kiểm chứng qua một số hàm benchmark

và cho kết quả tốt

Chương ba của luận án bao gồm những nghiên cứu về giải thuật di

truyền đa mục tiêu và trình bày kết quả ứng dụng trong một số bài toán thuộc lĩnh vực Khí tượng thủy văn là bài toán thiết kế hồ chứa nước, bài toán phân

bố dòng chảy và bài toán bốn hồ chứa Các giải pháp đề xuất gồm:

1) Sử dụng giải thuật di truyền tìm lời giải theo các giá trị mục tiêu đã xác định trước

Trang 6

2) Thuật toán tự xác định giá trị mục tiêu tùy theo yêu cầu bài toán căn cứ vào quần thể khởi tạo và các giá trị này được cập nhật ngay trong quá trình tiến hóa.

3) Thuật toán tối ưu từng mục tiêu, các giá trị mục tiêu được tự động cập nhật cho mỗi hàm mục tiêu theo từng giai đoạn Có thể xem thuật toán này là dạng giải thuật di truyền với mục tiêu biến đổi theo thời gian

Các đề xuất trên được áp dụng để giải bài toán thực tế đã nêu, trong đó giải thuật di truyền sử dụng các toán tử như trình bày ở chương hai và thu được kết quả tốt hơn so với các kết quả đã được công bố trước đó

Chương 1

MỘT SỐ VẤN ĐỀ CƠ BẢN

Chương này trình bày chủ yếu về giải thuật di truyền (GA), bao gồm

GA kinh điển, nền tảng toán học của GA, GA mã hóa số thực (RCGA), chiến lược tiến hóa (ES) và quy hoạch tiến hóa (EP) GA kinh điển được trình bày chi tiết từ việc mã hóa, các toán tử di truyền đến mô tả tường minh trong một

ví dụ cụ thể Nền tảng toán học của GA được trình bày thông qua định lý sơ

đồ của Holland và mô hình Markov của GA dựa trên các kết quả của Rudolph và Suzuki Phần tiếp theo trình bày giải thuật di truyền mã hóa số thực (RCGA) khá tường tận, đặc biệt là những dạng khác nhau của toán tử lai ghép Phần cuối chương là chiến lược tiến hóa (ES), quy hoạch tiến hóa (EP) và một số dạng của giải thuật mô phỏng tôi luyện (SA)

Trang 7

Chương 2

NGHIÊN CỨU CƠ CHẾ TỰ THÍCH NGHI

TRONG TÍNH TOÁN TIẾN HÓA

Chương này trình bày những kết quả nghiên cứu và đề xuất một số kỹ thuật tự thích nghi trong tính toán tiến hóa Trước tiên là khái quát về vấn đề

tự thích nghi trong tính toán tiến hóa, phân tích tác động của các tham số sử dụng trong giải thuật di truyền chủ yếu là kích cỡ quần thể Tiếp theo là nghiên cứu về toán tử lai ghép SBX, cùng với các phiên bản tính tham số điều khiển sử dụng các biến ngẫu nhiên với các phân phối xác suất khác nhau Tiếp theo là một thuật toán đề xuất cho phép chọn lựa thích nghi toán

tử lai ghép ngay trong quá trình thực hiện Phần cuối chương là một phương pháp tích hợp giải thuật di truyền, chiến lược tiến hóa và giải thuật mô phỏng tôi luyện nhằm làm tăng hiệu quả tính toán Các kết quả chính được trình bày trong chương hai gồm:

2.1 TỰ THÍCH NGHI TRONG TÍNH TOÁN TIẾN HÓA

Phần này trình bày khái quát về vấn đề thích nghi và tự thích nghi trong tính toán tiến hóa

2.2 TÁC ĐỘNG CỦA KÍCH CỠ QUẦN THỂ TRONG RCGA

Phần này khảo sát quan hệ giữa các tham số: kích cỡ quần thể, số chiều không gian tìm kiếm, các dạng toán tử lai ghép kinh điển và các hàm mục tiêu khác nhau đến sự hội tụ của giải thuật Nội dung chi tiết gồm:

2.2.1 Quan hệ giữa kích cỡ quần thể và số lần lặp

Để khảo sát tác động của kích cỡ quần thể đến các toán tử khác và sự hội tụ của giải thuật, ta xét giải thuật chỉ sử dụng một loại toán tử lai ghép và

sơ đồ tạo sinh sau: Hai cá thể cha mẹ được chọn tiến hành lai ghép theo một

Trang 8

dạng toán tử lai ghép chọn trước Sau đó chọn hai cá thể có giá trị hàm mục tiêu tốt nhất trong bốn cá thể (hai cha mẹ và hai con) thay thế cho hai cá thể cha mẹ ban đầu Với các giả thiết trên, có thể rút ra kết luận:

RCGA chỉ sử dụng các toán tử lai ghép kinh điển như: lai ghép một điểm, lai ghép nhiều điểm hay lai ghép mặt nạ (lai ghép đều), không sử dụng toán tử đột biến và việc tạo sinh theo chiến lược phần tử ưu tú thì tốt nhất là

Kết quả này đã được kiểm chứng trên một số hàm benchmark, dưới đây chỉ minh họa một ví dụ

Thử nghiệm với hàm Rastringin ( ) ( 10 cos( 2 ) 10 )

với n = 30, -5.12 xi 5.12

Hàm này có rất nhiều cực trị địa phương trong miền đang xét, số cực trị này tăng theo lũy thừa khi số chiều tăng Hình 2.12 là kết quả thực hiện chương trình

Trong đồ thị trên, trục tung là giá trị hàm mục tiêu, trục hoành ứng với các mốc lặp 1000, 2000, , 10000 Mỗi đường đồ thị biểu diễn giá trị trung bình hàm mục tiêu của quần thể ứng với kích cỡ chọn từ dưới lên là 10, 20, , 100 Kết quả phù hợp với nhận xét trên

100.00 200.00 300.00 400.00 500.00 600.00

-1 2 3 4 5 6 7 8 9 10

Hình 2.12 Hàm Rastringin sử dụng

lai ghép một điểm

Trang 9

2.2.2 Quan hệ giữa kích cỡ quần thể và số chiều không gian tìm kiếm

Phần này khảo sát mối quan hệ giữa kích cỡ quần thể và số chiều không gian tìm kiếm trên các hàm khác nhau với các dạng toán tử lai ghép khác nhau Kết quả cho thấy giá trị trung bình hàm mục tiêu của quần thể thay đổi không nhiều khi thay đổi số chiều không gian và kích cỡ quần thể Hình 2.17 minh họa kết quả thử nghiệm với hàm Rastringin nêu trên Trục tung chỉ giá trị trung bình hàm mục tiêu của quần thể Trục hoành chỉ số chiều của không gian tìm kiếm biến đổi từ 10, 20, 30, 40, 50 Mỗi đường đồ thị ứng với một kích cỡ quần thể từ 10, 20, 30, 40, 50

Từ các phân tích và thử nghiệm trên, ta có thể nhận thấy kích cỡ quần

thể quan hệ chủ yếu đến số lần tạo sinh, ít bị ảnh hưởng bởi hàm mục tiêu, dạng toán tử lai ghép và số chiều của không gian tìm kiếm Hơn nữa việc chọn kích cỡ quần thể có ảnh hưởng quan trọng đến độ hội tụ của giải thuật.

2.3 ĐIỀU CHỈNH THAM SỐ CỦA TOÁN TỬ LAI GHÉP

2.3.1 Phân tích các dạng lai ghép kinh điển trong RCGA

Để phân tích tác động của toán tử lai ghép, ta có thể biểu diễn các dạng khác nhau của toán tử lai ghép kinh điển bởi các phép toán đại số, cụ thể như sau: Mỗi cá thể được mã hóa là một véc tơ thực n chiều; giả sử cặp cá thể cha

mẹ được chọn để lai ghép là X = (x1, x2, , xm) và Y = (y1, y2, , ym); hai cá

0 200 400 600 800 1000 1200 1400 1600

1 2 3 4 5

Hình 2.17 Lai ghép mặt nạ với hàm

Rastringin

Trang 10

thể con tạo được sau lai ghép là X’ = (x’1, x’2, , x’m) và Y’ = (y’1, y’2, , y’m) Khi đó quan hệ giữa (X’, Y’) và (X, Y) được biểu diễn bởi phép nhân ma trận:

(X', Y') = (X, Y) F(a, b)trong đó

B I A b

''

),

B A

I

B I A b

a F

ở đây A' và B' là các ma trận đường chéo cấp m với các phần tử trên đường chéo tương ứng là các a'i và b'i , trong đó:

1'

;1

'

−+

=

−+

=

i i

i i

i i

i

a b

b a

b a

Với cách biểu diễn trên, có thể tính xác suất để cặp phần tử (X', Y') được sinh ra từ (X, Y) thuộc một tập M trong không gian R2m sau phép lai ghép

Dựa trên các phân tích và tính toán, có thể rút ra kết luận: Giá trị trung

bình của mật độ quần thể không thay đổi qua phép lai ghép dạng "tuyến tính".

2.3.2 Điều kiện thành công của toán tử lai ghép

Giả sử FZ là hàm phân phối của biến ngẫu nhiên Z với trung vị 0 Theo định lý giá trị trung bình, xác suất để biến ngẫu nhiên Z chuyển từ điểm 0 đến lân cận (z- , z+ ) của điểm z được tính bởi:

P{0 (z - , z + )} = P{z - < Z < z + }

Trang 11

= FZ(z + ) – FZ(z - ) = 2* *fZ((z - + *2* )trong đó 0 < < 1 và ( ) F (x)

dx

d x

f Z = Z .

Do z > > 0 nên xác suất chuyển có thể gộp lại như sau:

2* *fZ(z + ) P{0 (z - , z + )} 2* *fZ(z - ) (2.1)Như vậy, xác suất lai ghép thành công (tạo được con có xu hướng chuyển từ tối ưu cục bộ đến tối ưu toàn cục) tại bước thứ k là:

k

p

1 1

) 1 ( 1 ) 1 ( 1 hay điều kiện để lai ghép thành công là:

) 1

1 log(

0 ) 1

Trang 12

u if u

1 1 1 1

) ) 1 (

* 2

1 (

5 0 )

* 2 (

η

η

với u là số ngẫu nhiên trong [0, 1]; là tham số điều khiển

Toán tử SBX có thể mô tả vắn tắt như sau:

Bước 1 Chọn ngẫu nhiên số thực u [0, 1]

Bước 2 Tính theo công thức (2.6), tham số này có thể tính riêng với mỗi thành phần hoặc dùng chung

Bước 3 Tính các con c1 và c2 theo công thức (2.4) và (2.5)

Nghiên cứu toán tử này, ta có một số nhận xét sau

a) SBX có thể biểu diễn nhiều dạng toán tử lai ghép khác

+ Lai ghép 1 điểm với điểm lai ghép là t (1 t n-1) ứng với cách chọn

k = -1 với 0 < k < t và k = 1 trong đoạn còn lại

+ Lai ghép nhiều điểm ứng với cách đặt k = -1 trong từng đoạn con của [1,n] và k = 1 tại các đoạn còn lại

+ Lai ghép mặt nạ ứng với cách đặt k = -1 hoặc k = 1 với một xác suất đều tại các giá trị k [1, n]

+ Lai ghép trung bình ứng với cách đặt k = 0 với mọi k

+ Lai ghép số học ứng với cách đặt k = 2*r – 1 trong đó r là số ngẫu nhiên với phân phối đều trên (0, 1)

+ Lai ghép heuristic : Giả sử x là cá thể tốt hơn y (f(x) < f(y) với bài toán

tìm min và f(x) > f(y) với bài toán tìm max) Bằng cách đặt k = 1 + 2*d trong đó d là số ngẫu nhiên trong [0, 1], ta tính được cá thể con duy nhất với các thành phần cho bởi: ck = xk + d*(xk – yk )

Trang 13

+ Lai ghép BLX- ứng với cách đặt k = 2*r – 1, trong đó r là số ngẫu nhiên được lấy trong [- , 1+ ]

b) Tác động của tham số

Từ các công thức (2.4) và (2.5), ta thấy ngay khoảng cách mỗi thành phần của các cá thể con sinh ra tỷ lệ với khoảng cách tương ứng của cha mẹ chúng Thật vậy trừ theo từng vế (2.4) và (2.5) ta được:

c1

i – c2

i = *(xi – yi)Kết quả này rất quan trọng vì ở đây chúng ta quan tâm đến việc cá thể con sinh ra gần hay xa nhau nhằm đảm bảo tính đa dạng của quần thể

2.3.4 Toán tử SBX sử dụng phân phối Cauchy

Xét biến ngẫu nhiên Z theo phân phối Cauchy có hàm mật độ xác suất:

2 2

1 ) (

x s

s x

f Z

+

= π

trong đó tham số s đóng vai trò là tham số điều khiển kích cỡ bước

Nếu ta chọn sk = 1/k với k là chỉ số lần tạo sinh (k 1), thay vào (2.3)

có thể chứng minh được nó thỏa mãn điều kiện lai ghép thành công

Từ phân tích trên, tác giả đề xuất toán tử lai ghép như sau:

Đầu vào: Quần thể cũ Q;

Đầu ra: Quần thể mới Q’ sau khi thực hiện lai ghép;

Thuật toán:

B1) (x,y) = Selection(Q); (Chọn ngẫu nhiên cặp cha mẹ)

B2) Với mỗi i = 1 n (n là số chiều không gian) tính (u, v) bởi:

B2.1) := (1/ )*(s/(s*s + r*r)); (s=1/k; r=random(0,1)

B2.2) u[i] := 0.5*((1- )*x[i] + (1+ )*y[i]);

Trang 14

v[i] := 0.5*((1+ )*x[i] + (1- )*y[i]);

B3) Chọn hai cá thể tốt nhất trong {x, y, u, v} thay cho cặp (x, y);

Như vậy, trong toán tử này, hệ số được tính theo biến ngẫu nhiên Z

có phân phối xác suất Cauchy với tham số điều khiển s = 1/k, trong đó k là số lần lặp Cũng có thể xem đây là một cách kết hợp giải thuật mô phỏng tôi luyện và toán tử lai ghép với sơ đồ tôi luyện là Tk = 1/k

Bảng 2.3 dưới đây cho kết quả trung bình sau năm lần chạy độc lập đối với mỗi hàm thử nghiệm, mỗi lần chạy thực hiện tạo sinh 500 thế hệ cho một dạng toán tử đã nêu

Bảng 2.3 Kết quả thử nghiệm với các toán tử khác nhau

Lai ghép BLX-0.5

Lai Cauchy

2.3.5 SBX với một số phân phối xác suất khác

Với kết quả nghiên cứu trên, một cách tự nhiên là hoàn toàn có thể sử dụng các biến ngẫu nhiên với phân phối xác suất khác nhau để tính hệ số tỷ lệ Thuật toán như đã nêu phần trên, ở đây chỉ thay đổi công thức (2.6) tính tham số , việc tính các cá thể con vẫn theo (2.4) và (2.5)

- Phân phối chuẩn: Tính tùy thuộc số ngẫu nhiên x theo công thức:

1

σ π

σ

Ngày đăng: 03/04/2014, 12:21

HÌNH ẢNH LIÊN QUAN

Hình 2.12. Hàm Rastringin sử dụng - Phát triển một số kỹ thuật trong tính toán tiến hoá
Hình 2.12. Hàm Rastringin sử dụng (Trang 8)
Hình 2.17 Lai ghép mặt nạ với hàm - Phát triển một số kỹ thuật trong tính toán tiến hoá
Hình 2.17 Lai ghép mặt nạ với hàm (Trang 9)
Bảng 2.3 dưới đây cho kết quả trung bình sau năm lần chạy độc lập đối  với mỗi hàm thử nghiệm, mỗi lần chạy thực hiện tạo sinh 500 thế hệ cho một  dạng toán tử đã nêu - Phát triển một số kỹ thuật trong tính toán tiến hoá
Bảng 2.3 dưới đây cho kết quả trung bình sau năm lần chạy độc lập đối với mỗi hàm thử nghiệm, mỗi lần chạy thực hiện tạo sinh 500 thế hệ cho một dạng toán tử đã nêu (Trang 14)
Bảng 2.12 Kết quả thử nghiệm bài toán 2.4.4 - Phát triển một số kỹ thuật trong tính toán tiến hoá
Bảng 2.12 Kết quả thử nghiệm bài toán 2.4.4 (Trang 19)
Bảng 3.5 Một số lời giải theo thuật toán tự xác định giá trị mục tiêu - Phát triển một số kỹ thuật trong tính toán tiến hoá
Bảng 3.5 Một số lời giải theo thuật toán tự xác định giá trị mục tiêu (Trang 25)

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