Được sự đồng ý của Hội đồng Khoa học khoa Công Nghệ Thông Tin, cùng sự hướng dẫn của thầy giáo Vũ Mạnh Xuân, em chọn đề tài khóa luận của mình nhằm nghiên cứu một phương pháp tiếp cận k
Trang 1ĐẠI HỌC THÁI NGUYÊN
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TT & TT
ĐÀO NGỌC TUẤT
KẾT HỢP GIẢI THUẬT DI TRUYỀN VÀ LOGIC MỜ
GIẢI BÀI TOÁN TỐI ƯU ĐA MỤC TIÊU
LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH
Thái Nguyên, tháng 10 - 2012
Trang 2ĐẠI HỌC THÁI NGUYÊN
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TT& TT
ĐÀO NGỌC TUẤT
KẾT HỢP GIẢI THUẬT DI TRUYỀN VÀ LOGIC
MỜ GIẢI BÀI TOÁN TỐI ƯU ĐA MỤC TIÊU
Chuyên ngành: Khoa học máy tính
Mã số: 60 48 01 LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH
NGƯỜI HƯỚNG DẪN KHOA HỌC
TS Vũ Mạnh Xuân
Thái Nguyên, tháng 10 -2012
Trang 3MỞ ĐẦU
Nhiều bài toán tối ưu trong thực tế là bài toán tối ưu đa mục tiêu, đặc biệt
là trong thiết kế Chẳng hạn người ta muốn thiết kế sản phẩm sao cho chi phí thấp, tiết kiệm nguyên liệu nhưng chất lượng tốt, hoặc thiết kế một bể chứa nước với yêu cầu dung lượng lớn mà chi phí thấp… Đã có nhiều nhà toán học
và tin học đã nghiên cứu về vấn đề này và đưa ra nhiều phương pháp giải khác nhau Một số những phương pháp thường được sử dụng để giải bài toán đa mục tiêu như: phương pháp nhượng bộ dần, phương pháp tìm nghiệm có khoảng cách ngắn nhất đến nghiệm lý tưởng, phương pháp trọng số,…
Được sự đồng ý của Hội đồng Khoa học khoa Công Nghệ Thông Tin,
cùng sự hướng dẫn của thầy giáo Vũ Mạnh Xuân, em chọn đề tài khóa
luận của mình nhằm nghiên cứu một phương pháp tiếp cận khác để giải bài toán tối ưu đa mục tiêu là sử dụng giải thuật di truyền kết hợp logic
mờ
Mục đích nghiên cứu: tìm hiểu một số phương pháp giải bài toán tối ưu
đa mục tiêu, giải thuật di truyền và logic mờ, trên cơ sở đó sử dụng giải thuật
di truyền kết hợp với logic mờ để giải bài toán tối ưu đa mục tiêu
Nội dung của đề tài: gồm 3 chương
1) Chương 1 Giải thuật di truyền
Khi thực hiện đề tài này, bước đầu em đã tìm hiểu được một số phương pháp giải bài toán tối ưu đa mục tiêu, một số vấn đề về giải thuật di truyền, logic
mờ Kết quả là đã đề xuất một kỹ thuật kết hợp giải thuật di truyền với logic mờ
để giải bài toán tối ưu đa mục tiêu và đã lập trình thử nghiệm trên một số bài toán
cụ thể
Trang 4Chương 1: GIẢI THUẬT DI TRUYỀN
Chương này giới thiệu những vấn đề khái quát về giải thuật di truyền
(GA) làm cơ sở cho việc ứng dụng giải bài toán tối ưu đa mục tiêu.[2], [6]
1.1 Khái quát chung
Giải thuật di truyền GA(GENETIC ALGORITHM) do D.E Goldberg
đề xuất, sau đó được L Davis và Z Michalevicz phát triển, đây cũng chính là một trong các thuật toán tiến hóa Thuật toán tiến hóa là các chương trình máy tính có dùng các thuật toán tìm kiếm, tối ưu hóa dựa trên nguyên lý tiến hóa
Giải thuật di truyền (GA-Genetic Algorithms) là giải thuật tìm kiếm, chọn lựa các giải pháp tối ưu để giải quyết các bài toán thực tế khác nhau, dựa trên cơ chế chọn lọc của tự nhiên: từ tập lời giải ban đầu, thông qua nhiều bước tiến hoá, hình thành tập lời giải mới phù hợp hơn, và cuối cùng dẫn đến lời giải tối ưu toàn cục
Trong tự nhiên, mỗi cá thể muốn tồn tại và phát triển phải thích nghi
Trang 5với môi trường, cá thể nào thích nghi hơn thì tồn tại, cá thể nào kém thích nghi thì bị tiêu diệt Trong mỗi cá thể, các gen liên kết với nhau theo cấu trúc dạng chuỗi, gọi là nhiễm sắc thể (NST) Mỗi NST đặc trưng cho mỗi loài và quyết định sự sống còn của cá thể đó Do môi trường tự nhiên luôn biến đổi nên cấu trúc NST cũng thay đổi để thích nghi với môi trường và thế hệ sau luôn thích nghi hơn thế hệ trước Cấu trúc này có được do sự trao đổi thông tin có tính ngẫu nhiên với môi trường bên ngoài hoặc giữa các NST với nhau
1.2 Các vấn đề cơ bản của giải thuật di truyền
1.2.1 Mã hóa
Việc mô tả di truyền cho lời giải cho bài toán gồm hai phần cơ bản:
+ Xây dựng cấu trúc gen cho mỗi lời giải của bài toán để từ mỗi lời giải ta có thể mã hoá thành một NST (chuỗi các gen)
+ Giải mã các NST để nhận được lời giải
Đây là vấn đề cần giải quyết trước khi giải bài toán với GA Tuỳ thuộc vào nội dung của mỗi bài toán mà ta có cách mã hoá khác nhau
Sau đây là phương pháp mã hoá hay được sử dụng:
Mã hoá dạng chuỗi nhị phân: đây là phương pháp thông dụng và cơ bản nhất
được sử dụng ngay từ bước ban đầu khi nghiên cứu GA Trong phương pháp này mỗi NST là một chuỗi các bit 0 và 1
Mã hoá thứ tự: được sử dụng trong bài toán có sắp xếp thứ tự Ở đây mỗi
NST là một chuỗi các số nguyên thể hiện thứ tự phân bố lời giải của bài toán
Mã hoá theo giá trị: được sử dụng trong các bài toán mà mỗi lời giải là tập các
giá trị (ví dụ tập số thực) Trong phương pháp này, mỗi NST là một chuỗi các giá trị có mối quan hệ tương ứng với bài toán
Mã hoá dạng cây: được sử dụng chủ yếu trong các biểu thức toán học, trong
phương pháp mã hoá này mỗi NST là một cây của một nhóm đối tượng nào
đó
Trang 6Ví dụ: Biểu thức sau x+(y / 5) được mã hoá thành:
Mã hoá số thực : Mỗi NST được mã hoá là một véc tơ trong không gian Rm
chẳng hạn X = (a1, a2, , am) với các ai R Cách mã hoá này thường tự nhiên đối với các bài toán tối ưu số và được phát triển rất mạnh trong thời gian gần
đây
1.2.2 Tạo lập lời giải ban đầu (khởi tạo quần thể)
Tập lời giải ban đầu thường được khởi tạo ngẫu nhiên từ miền xác định của các lời giải Cách tạo lập tập lời giải ban đầu phụ thuộc rất nhiều vào cách mã hoá NST
Với phương pháp mã hoá nhị phân: xây dựng NST bằng cách tạo ngẫu nhiên chuỗi các bit 0 hoặc 1
Với phương pháp mã hoá thứ tự: xây dựng NST ban đầu bằng cách hoán vị ngẫu nhiên các thứ tự
Với phương pháp mã hoá theo giá trị: tạo ngẫu nhiên từng giá trị trong miền xác định của lời giải để tạo ra chuỗi NST ban đầu
Với mã hoá số thực: tạo ngẫu nhiên N véc tơ thực trong Rm
1.2.3 Xây dựng hàm phù hợp
Hàm phù hợp đánh giá khả năng phù hợp của tập lời giải theo yêu cầu bài toán Hàm này được xây dựng cho từng bài toán với yêu cầu cụ thể Thông thường trong các bài toán tối ưu hàm này chính là hàm mục tiêu của bài toán
Trang 7Trong quá trình thực hiện của giải thuật di truyền, sau mỗi lần tiến hoá ta chỉ giữ lại các cá thể có độ phù hợp cao còn các cá thể phù hợp thấp bị loại bỏ Toán tử chọn lọc thường giữ lại 50% các cá thể phù hợp nhất Tuy nhiên người ta cũng phát triển nhiều sơ đồ chọn khác nhau nhằm là tăng tính đa dạng của quần thể, tránh sự hội tụ sớm
b Toán tử lai ghép là toán tử di truyền cơ bản trong GA, tiến trình lai ghép như sau :
Bước 1: Tạo ra tập NST để tạo sinh từ quần thể bằng cách chọn ngẫu nhiên N
(với bài toán tìm max)
Sau khi có trọng số tích luỹ cho NST, ta lần lượt tạo các xác suất ngẫu nhiên r
và duyệt từ NST đầu tiên đến khi gặp NST có trọng số tích luỹ lớn hơn r thì chọn nó
Bước 2: Sau khi chọn được N NST, lần lượt lấy ra từng cặp NST để lai ghép
tạo ra hai NST mới Một số dạng toán tử lai ghép hay dùng là :
Lai ghép 1 điểm: chọn ngẫu nhiên một vị trí sau đó hoán vị phần đứng sau vị
trí vừa chọn giữa hai NST cha và mẹ để nhận được hai NST con
Lai ghép hai điểm: chọn ngẫu nhiên hai vị trí trong một NST, sau đó hoán vị
các giá trị đứng giữa hai điểm đã chọn của hai NST cha mẹ để nhận được hai NST con
Trang 8Lai ghép mặt nạ: tạo một mặt nạ ngẫu nhiên có số bit bằng chiều dài của NST
Ta sẽ hoán vị các giá trị của hai NST cha và mẹ ở những vị trí tương ứng với
vị trí bit 1 của mặt nạ
c Toán tử đột biến: Toán tử đột biến được xây dựng để tránh việc nhận được
giá trị tối ưu cục bộ Đột biến gây ra thay đổi ngẫu nhiên trên từng bit của NST để tạo ra một NST mới
d Tạo sinh: Chọn các cá thể từ quần thể hiện thời làm quần thể mới cho lần
lặp kế tiếp
1.3 Thuật toán di truyền
Giải thuật di truyền giải một bài toán cần có các thành phần sau:
1 Một cấu trúc dữ liệu biểu diễn không gian lời giải của bài toán
2 Cách khởi tạo quần thể ban đầu
3 Hàm định nghĩa độ thích nghi eval(), đóng vai trò môi trường
4 Các phép toán di truyền ( phép lai, phép đột biến, phép tái sinh và phép chọn)
5 Các tham số được giải thuật di truyền sử dụng (kích thước quần thể, xác suất lai, đột biến )
Sơ đồ cấu trúc giải thuật di truyền tổng quát như sau:
Begin
1 t:=0; Khởi tạo P(t);
2 Tính độ thích nghi cho các cá thể thuộc P(t);
3 Khi (điều kiện dừng chưa thỏa mãn) lặp
Trang 91.4 Giải thuật di truyền mã hóa số thực
yS phải có f(x) f(y) Hàm f ở đây có thể không liên tục nhưng cần bị chặn trên S (đối với các bài toán tìm cực đại có thể chuyển về cực tiểu một cách đơn giản)
Trong GA mã hoá số thực, mỗi cá thể được biểu diễn như một véc tơ thực n chiều: b = (x1 , x2, , xn), xi R
Như vậy một quần thể kích cỡ m là một tập hợp có m véctơ trong Rn
Ta cũng có thể xem một quần thể kích cỡ m như một ma trận thực cấp (mxn), đây
là cách mã hoá tự nhiên và thuận tiện trong việc thực hiện các toán tử tiến hóa Sau đây ta sẽ xem xét cụ thể hơn các toán tử này trong giải thuật di truyền mã hoá số thực
1.4.2 Các toán tử của RCGA
a Toán tử lai ghép
GA mã hoá số thực cũng áp dụng các toán tử lai ghép như GA cổ điển bao gồm lai ghép 1 điểm, lai ghép nhiều điểm, lai ghép mặt nạ Ngoài ra, do cách mã hóa quần thể, người ta còn nghiên cứu và đề xuất nhiều dạng khác nhau của toán tử lai ghép trong RCGA Dưới đây là một số dạng toán tử lai ghép thường dùng với giả thiết cặp cá thể cha mẹ đã chọn để tiến hành lai ghép là X (x1,x2, ,x m)và Y (y1,y2, ,y m)
Phép lai này chọn một số thực a (0<a<1); các con X' và Y' được tính bởi:
x'i = a*xi + (1-a)*yi ;
Trang 10(x1 x2 x N
b , thành phần x i được thay thế bởi một số ngẫu nhiên trong khoảng xác định l , i u i của x i
Đột biến biên: Từ cá thể cha đã chọn đột biến x và vị trí chọn đột biến k,
thành phần thứ k (xk) của x được thay bởi lk hay uk trong đó [lk , uk] là khoảng xác định của xk Trong những bài toán mà biên của các biến không lớn và giải pháp cần tìm nằm gần biên thì phép đột biến này tỏ ra rất hữu ích
Đột biến không đều:
Giả sử tmax là một số cực đại định nghĩa trước, thành phần xi được thay thế bởi một trong 2 giá trị tính theo các công thức sau :
x‟i = xi + (t, bi – xi) x”i = xi - (t, xi – ai) Việc chọn giá trị nào được tiến hành tuỳ theo giá trị ngẫu nhiên khởi tạo với xác suất 1/2 Biến ngẫu nhiên (t, x) xác định một bước đột biến trong khoảng [0, x] theo công thức sau :
)(1 max)
1 (
) ,
tx
x
Trong công thức này, thường là số ngẫu nhiên phân bố đều trong khoảng đơn vị Tham số xác định ảnh hưởng của lần tạo sinh thứ t trên phân
bố của đột biến trong miền [0, x]
1.5 Mô hình Markov của giải thuật di truyền
Trang 11Trong giải thuật di truyền, mỗi quần thể được tạo sinh có đặc trưng là chỉ phụ thuộc theo xác suất vào quần thể trước đó, do vậy GA có thể được mô hình hóa bởi một xích Markov Các tính chất của quần thể hữu hạn, chẳng hạn như xu hướng di truyền có thể được khảo sát cẩn thận sử dụng xích Markov hữu hạn Không giống như nhiều phương pháp mô phỏng khác, xích Markov
có thể mô tả chính xác và chi tiết cho mỗi lớp đặc biệt Từ năm 1992, Nix và Vose đã mô hình hóa GA kinh điển (biểu diễn chuỗi nhị phân chiều dài cố định, lai ghép một điểm, chọn lọc tỷ lệ) như một xích Markov trong đó mỗi trạng thái là một quần thể Vose đã mở rộng mô hình này đến mô hình “tìm kiếm ngẫu nhiên Heuristic” trong đó mỗi cá thể của lần tạo sinh kế tiếp được chọn theo một phân bố xác suất trên các cá thể của không gian tìm kiếm Suzuki đã giới thiệu mô hình của một lớp giải thuật di truyền ưu tú và đưa ra kết quả về số lần tạo sinh cần thiết để hội tụ dựa trên xác suất đột biến Năm
1996, Aytug và Koehler đưa ra chặn trên cho số lần tạo sinh cần thiết đối với
GA kinh điển để hội tụ đến quần thể có chứa chuỗi tối ưu dựa trên xác suất đột biến
Phần dưới đây trình bày vắn tắt mô hình xích Markov của giải thuật di truyền đơn giản
1.5.1 Tính Markov
Một hệ vật lý hoặc hệ trạng thái nào đó gọi là có tính Markov nếu sự tiến triển của hệ trong tương lai chỉ phụ thuộc vào hiện tại và độc lập với quá khứ VD sự tăng dân số
Ký hiệu E là không gian trạng thái của X(t); nếu X(t) có tính Markov
và E là tập đếm được thì X(t) gọi là xích Markov Nếu giá trị của thời điểm
t là 0, 1, … thì ta nói xích Markov với thời gian rời rạc Nếu t [0, ] thì
ta có xích Markov với thời gian liên tục
ĐN: Ta nói X(t) có tính Markov nếu:
P {X(tn+1) = j | X(t0) = i0, …, X(tn) = i} = P {X(tn+1) = j | X(tn) = i} với bất kỳ t0 < t1 < … < tn < tn+1 < … ; i0, … , in, j E
Trang 12 Đặt p(s,i,t,j) = P {X(t) = j | X(s) = i} (s<t) là xác suất có điều kiện để hệ tại thời điểm s ở trạng thái i, đến thời điểm t chuyển đến trạng thái j và gọi là xác suất chuyển của hệ Nếu xác suất này chỉ phụ thuộc vào t-s hay p(s,i,t,j) = p(s+h, i, t+h, j) thì hệ là thuần nhất theo thời gian
Ký hiệu pij = P {Xn+1 = j | Xn = i} và ma trận [pij] gọi là ma trận xác suất chuyển sau 1 bước Theo công thức xác suất đầy đủ ta có
0 pij 1 và j pij = 1 (ma trận ngẫu nhiên)
Xác suất chuyển sau n bước :
pij(n) = P {Xn+m = j | Xm = i} = P {Xn = j | X0 = i}
Khi đó pij(1) = pij Quy ước pij(0) = 1 ( i=j) và là 0 với i<> j
Đặt Pn = (pij(n) ) là ma trận xác suất chuyển sau n bước
n jk
n ik m
n
ij p p
p( )
Một ví dụ về GA được mô hình hóa bởi một xích Markov: Ta bắt đầu bằng
mô hình đơn tử (haploid model) của sự tái tạo ngẫu nhiên, khi không xét đến những tác nhân đột biến và thiên hướng chọn lọc (mutation pressures and selective forces) Giả sử ta xét cỡ loài cố định gồm 2N gene kết hợp từ các cá thể loại a và loại A Sự hình thành thế hệ sau được xác định bởi 2N phép thử nhị thức độc lập như nhau: Nếu loài bố mẹ có j a-gene và (2N - j) A-gene thì mỗi phép thử có kết quả là a hay A với xác suất tương ứng là
j
k j
k N n
Trang 13Chú ý rằng các trạng thái Xn = 0 (hoặc 2N) là hấp thụ hoàn toàn theo
nghĩa khi Xn = 0 (hoặc 2N) thì X n+k = 0 (hoặc 2N, tương ứng) với mọi k 0
Một trong những vấn đề thú vị là xác định xác suất để loài sẽ đạt tới fixation (nghĩa VN) với điều kiện X0 = i, tức là nó sẽ trở thành một quần thể thuần chủng chỉ có a-gene hoặc A-gene Việc xác định tốc độ đạt tới fixation
cũng là điều đáng quan tâm Ta sẽ nghiên cứu những vấn đề như thế trong phân tích tổng quát về xác suất hấp thụ
Một mô hình đầy đủ hơn phải tính đến những mutation pressures (tác nhân đột biến) Ta giả sử rằng trước khi hình thành thế hệ mới, mỗi gene có xác suất đột biến, tức là xác suất chuyển thành gene của loại kia Đặc biệt, ta
giả sử rằng đối với mỗi gene hiện tượng đột biến a A xảy ra với xác suất x1
và hiện tượng đột biến A a xảy ra với xác suất x2
Một lần nữa ta lại giả sử rằng sự hình thành của thế hệ sau được xác
định bởi 2N phép thử nhị thức Các giá trị liên quan của pj và qj khi loài cha
của chọn lọc một a-gene sau khi tác nhân đột biến hoạt động chính là 1/2N lần
số a-gene hiện có Vì vậy xác suất trung bình (lấy trung bình đối với những đột biến có thể) là 1/2N lần số trung bình của a-gene sau đột biến Nhưng số trung bình này rõ ràng là j(1-x 1 ) + (2N - j)x 2 Từ đó dẫn đến công thức (1.3)
Xác suất chuyển của xích Markov tương ứng được tính bởi công thức
(1.2) ở trên với các p j , q j được tính bởi công thức (1.3) vừa viết
Nếu x1, x2 > 0 thì fixation sẽ không xảy ra ở bất cứ trạng thái nào Thay vào đó, khi n hàm phân phối của Xn sẽ tiến đến phân phối trạng thái vững của biến ngẫu nhiên trong đó P{=k}=k ; k = 0, 1, ., 2N (k = 1, k > 0) Hàm phân phối của được gọi là phân phối tần số gene tại trạng thái vững
Trang 14Ta trở lại mô hình giao phối (mating model) ngẫu nhiên đơn giản và
bàn về khái niệm thiên hướng chọn lọc, hoạt động về a-gene chẳng hạn Giả
sử muốn đặt một ưu tiên chọn lọc cho a-gene đối với A-gene sao cho số con sinh ra có kỳ vọng với tỉ lệ (1+ s) và 1 tương ứng, trong đó s là nhỏ và dương
j s
2
)1(
và q j = 1 - p j rồi xây dựng
thế hệ sau theo mẫu nhị thức như trước
Nếu thế hệ cha mẹ có j gene, thì ở thế hệ sau cỡ loài trung bình của gene và A-gene tương ứng là
a-
sj N
j s N
j N N
1
j N
j s
nthø hÖthÕëgene-Sè
A a
Điều này giải thích ý nghĩa của sự chọn lọc
là phân phối ban đầu của hệ
- Phân phối ban đầu gọi là dừng nếu (n)
không phụ thuộc vào n nghĩa là = (n)
- Một mô hình xích Markov rời rạc và thuần nhất là bộ ba (Xn, , P) trong đó Xn là dãy đại lượng ngẫu nhiên rời rạc; là phân phối ban đầu; P là ma trận xác suất chuyển
- Vấn đề là phân phối dừng có tồn tại không? có duy nhất không? cách tìm nó?
Trang 15- Định nghĩa phân phối dừng: Giả sử P = (pij) là ma trận chuyển của xích Markov (Xn) có không gian trạng thái hữu hạn E = {1, 2, , N}, nghiệm không âm (1, ,N) của phương trình:
xj =
E k kj
k p
Tổng quát ta có: j(n) P(Xn = j) = j, tức là: X0, X1, , Xn, có phân phối xác suất như nhau, ta có thể chứng minh phân phối đồng thời của các biến ngẫu nhiên Xk, Xk+1, , Xk+m không phụ thuộc vào k đối với mọi m Quá trình có tính chất như thế được gọi là quá trình dừng Viết dưới dạng ma trận thì phân phối dừng là véctơ cột bất biến đối với ma trận chuyển vị của P, nghĩa là:
Gọi tập tất cả các quần thể hợp lệ là S và giả thiết ta xét quần thể với kích cỡ cố định M (M = |k| với k S) Khi đó số các quần thể hợp lệ là:
1 1
|
|
r M C S
N (số các tổ hợp chập r-1 của M+r-1)
Ta xét giải thuật di truyền đơn giản với các toán tử như sau:
- Toán tử chọn lọc tỷ lệ, chọn cá thể i trong quần thể k với xác suất:
Trang 16k i Z i f p
0 ( )* ( , )
),(
*)(
trong đó Z(i,k) là biến cố xảy ra khi cá thể i thuộc vào quần thể k
- Toán tử lai ghép một điểm
- Toán tử đột biến là phép đảo bit tại vị trí đột biến
Với giải thuật này, GA có thể được mô hình hóa như một xích Markov thời gian rời rạc, mỗi quần thể xem như một trạng thái của xích Rõ ràng là trạng thái hiện tại chỉ phụ thuộc vào một trạng thái ngay trước nó, vì nếu ký hiệu Xn là quần thể tại lần tạo sinh thứ n thì với n = 1,2, ta có:
P(Xn = k | X0 = k0 , X1 = k1, , Xn-1 = kn-1) = P(Xn = k | Xn-1 = kn-1) nghĩa là Xn thỏa tính chất của xích Markov Ký hiệu ma trận chuyển của xích Markov này là Q
Rudolph đã chỉ ra rằng giải thuật di truyền đơn giản như trên không hội
tụ đến tối ưu toàn cục Sự hội tụ của giải thuật di truyền được định nghĩa theo Rudolph như sau:
Định nghĩa 1: Giả sử Bt = max{f(i) | Z(i, Xi) 0, i = 0,1, , r-1} là chuỗi biến ngẫu nhiên của độ thích nghi cao nhất trong một quần thể biểu diễn trạng thái
Xt tại bước thứ t Giải thuật di truyền là hội tụ đến tối ưu toàn cục nếu và chỉ
Định nghĩa 2: Khoảng cách Hamming giữa hai chuỗi bit là số vị trí bit không
trùng nhau của hai chuỗi đó (chẳng hạn H(„0100‟, „0001‟) = 2) Đặt Hij là tổng khoảng cách Hamming giữa các cá thể trong quần thể i và j:
M h
h h
ij H i j H
Trang 17ở đây ih là một cá thể trong quần thể i, jh là một cá thể trong quần thể j với h=0, , M-1; i,j = 1, , N và H(ih, jh) là khoảng cách Hamming giữa ih và jh
Định nghĩa 3 : Ma trận A gọi là nguyên sơ nếu tồn tại số tự nhiên k sao cho
ma trận Ak
là ma trận dương (ma trận mà mọi phần tử đều là số dương)
Bổ đề 1 : Ma trận chuyển của giải thuật di truyền đơn giản với xác suất đột
biến pm (0, 1), sử dụng lai ghép và chọn lọc tỷ lệ là ma trận nguyên sơ
Từ những ký hiệu và kết quả trên Rudolph đã chứng minh định lý sau:
Định lý 1: Giả sử hàm thích nghi không ấn định một giá trị thích nghi cho mỗi
cá thể, giải thuật di truyền đơn giản với các giả thiết như trong bổ đề trên không hội tụ đến lời giải tối ưu
Tuy nhiên để tăng hiệu lực của GA, De Jong đã đề xuất một chiến lược
ưu tú, Suzuki ([9]) đã chứng minh sự hội tụ đến lời giải toàn cục của GA với chiến lược ưu tú sửa đổi Cụ thể như sau: Giả sử số cá thể M của quần thể là một số lẻ, i* là cá thể có giá trị thích nghi cao nhất của quần thể hiện tại
Chiến lược ưu tú được sửa đổi là: quần thể kế tiếp luôn chứa i*
Với chiến lược này, toán tử tạo sinh phần tử i* luôn được thực hiện đầu tiên tại mỗi bước của quá trình Sau đó M-1 cá thể còn lại được sinh ra theo các toán tử di truyền thông thường Dưới đây ta giả thiết là bài toán chỉ có một lời giải tối ưu toàn cục
Với mỗi quần thể k (k = 1,2, , N), ký hiệu i*(k) là cá thể có độ thích nghi cao nhất trong quần thể Đặt N(i) là số các quần thể mà trong quần thể đó, i là cá thể có độ thích nghi cao nhất (i = 0,1, ,r-1) Ta gán nhãn cho mỗi cá thể i = 0,1, , r-1 theo thứ tự f(i) giảm dần sử dụng một quy tắc luân phiên tiền định nào đó đối với các cá thể có cùng độ thích nghi Ta cũng gán nhãn cho mỗi quần thể k = 1,2, ,N theo thứ tự giảm dần của i*(k) theo một quy tắc luân phiên tiền định nào đó cho những quần thể có cùng i*(k) Giả sử các trạng thái trong tập K = {1, 2, , N(0)} là các trạng thái tối ưu toàn cục
Với các ký hiệu trên, điều kiện hội tụ của GA có thể phát biểu là:
Trang 18Giải thuật di truyền hội tụ tới tối ưu toàn cục nếu và chỉ nếu X t K
lim
Ma trận chuyển Q+ đối với chiến lược ưu tú sửa đổi như sau:
0 0 0
0 0 0
0 0 0
r Q
Q Q
Q+ gồm r ma trận con Q0, Q1, , Qr-1 , mỗi ma trận có phần trên đường chéo chính bằng 0 Kích cỡ của Qi là N(i)xN(i) Có thể thấy N(i) tính được là
số tổ hợp chập (r-i-1) của (r-i+M-2)
Dựa trên các ký hiệu trên, Suzuki đã đưa ra công thức tính xác suất chuyển từ trạng thái k đến trạng thái v là:
* ) (
* 0
) (
* ) (
* )
, ( )!
, (
1 )!
1 (
1 0
) (
v i k i
v i k i k
j r v j Y
M q
r j
v j Y kv
*1
),(
)(
*)
,(),(
k i j k
j Z
k i j k
j Z k j Y
ỏ đây Z(j,k) là xác suất để cá thể j thuộc vào quần thể k; r(j,k) là xác suất để cá thể j được tạo lập bởi các toán tử di truyền từ quần thể k Nếu pm > 0 thì r(j,k)
> 0 Bởi vậy qkv > 0 với k, v K vì i*(k) = i*(v) Điều này cũng có nghĩa là
Q0 là ma trận dương và là nguyên sơ Tuy nhiên cấu trúc của ma trận không thể suy ra nhờ trực giác bằng sự nghiên cứu mỗi toán tử di truyền Toán tử chọn lọc không thể tạo cá thể mới và cũng không thể làm tăng i*(k) Toán tử lai ghép và đột biến đều tạo cá thể mới và có xác suất dương khi chuyển đến quần thể mới có cá thể cao hơn i*(k)
Định lý 2: Giải thuật di truyền với chiến lược ưu tú sửa đổi như trên và
pm (0, 1) hội tụ đến tối ưu toàn cục
Chứng minh: Từ những phân tích trên, ta có Q+ là không phân ly được
và Q0 là ma trận nguyên sơ Theo lý thuyết xích Markov, ta có
(
R
Q Q
Q
k k k n
trong đó R là ma trận ngẫu nhiên chứa các xác suất chuyển từ trạng thái không tối ưu toàn cục đến trạng thái tối ưu toàn cục Điều này cho thấy xác
Trang 19suất sống sót của trạng thái không tối ưu toàn cục có khuynh hướng giảm dần đến 0 còn xác suất sống sót của trạng thái tối ưu toàn cục hội tụ về 1
Như vậy, định lý này cho thấy giải thuật di truyền có khả năng hội tụ về tối ưu toàn cục sau quá trình tiến hoá
Việc mô hình GA qua xích Markov có ý nghĩa quan trọng Nó vừa chứng tỏ được sự hội tụ của giải thuật một cách chính xác, vừa là mô hình toán học để
có thể tính toán chi tiết các yếu tố ảnh hưởng đến khả năng và tốc độ hội tụ của giải thuật Tuy nhiên, thực hiện thuật toán qua xích Markov sẽ gặp khó khăn rất lớn do không gian trạng thái cần xét đến là rất lớn Vì vậy mô hình này thường chỉ được phát triển về phương diện lý luận
Kết Luận: phần trên giới thiệu những vấn đề khái quát về giải thuật di truyền
(GA) làm cơ sở cho việc ứng dụng giải bài toán tối ưu đa mục tiêu
Trang 20Chương 2: LOGIC MỜ
Chương này giới thiệu những vấn đề khái quát về logic mờ làm cơ sở cho
việc ứng dụng giải bài toán tối ưu đa mục tiêu.[1]
A
Định nghĩa 2.1: Một tập con mờ A của X được định nghĩa bởi một hàm thuộc, gán cho mỗi phần tử x của X, độ thuộc fA(x), nằm giữa 0 và 1, theo đó
x thuộc A:
0,1:X
f A
Trường hợp đặc biệt, trong đó fA chỉ lấy những giá trị bằng 0 hay 1, tập con mờ A là một tập con cổ điển của X Vậy một tập con cổ điển là một
trường hợp riêng của tập con mờ
Từ nay về sau, ta sẽ ký hiệu F(X) là tập tất cả các tập con mờ của X Ký pháp sau đây vẫn được dùng để biểu diễn tập con mờ A, mặ dù nó không liên quan gì đến ý lấy tổng hoặc láy tích phân Nó chỉ ra với mọi phần tử x của X,
độ thuộc fA(x) của nó vào A:
X
x x f A
x x f A
/)(
/)(
2.1.2 Các đặc trưng của một tập con mờ
Những đặc trưng hữu ích nhất của một tập con mờ A của X để mô tả nó
là những đặc trưng chỉ rõ nó khác với một tập con thông thường của X ở điểm nào
Đặc trưng thứ nhất là giá của A, là tập những phần tử của X ít nhất có thuộc A một chút
Trang 21Định nghĩa 2.2: Giá của A, ký hiệu supp(A), là bộ phận của X trên đó hàm thuộc của A khác không:
Supp(A)=xX/ f A(x)0Đặc trưng thứ hai của A là chiều cao của nó, ký hiệu h(A), là độ thuộc lớn nhất mà một phần tử của X thuộc A
Định nghĩa 2.3: Chiều cao, ký hiệu h(A), của tập con mờ A của X là giá trị lớn nhất mà hàm thuộc có thể lấy được:
h(A)=supxX fA( x )
Người ta thường dùng các tập con mờ được chuẩn hóa, có nghĩa với chúng có ít nhất một phần tử của X thuộc tuyệt đối (với độ thuộc 1) vào A Nói riêng, lý thuyết khả năng cần tới những tập con mờ được chuẩn hóa
Định nghĩa 2.4: Tập con mờ A của X là được chuẩn hóa nếu chiều cao h(A) của nó bằng 1
Một tập con mờ được chuẩn hóa giả định có tồn tại những phần tử của
X điển hình cho tính chất được liên kết với nó Đó là những phần tử thuộc A tuyệt đối và tập những phần tử đó được gọi là hạt nhân của A
Định nghĩa 2.5: Hạt nhân của A, ký hiệu ker(A), là tập các phần tử của
X tại đó hàm thuộc của A có giá trị 1:
Ker(A)=xX / f A(x)1Khi tập X là hữu hạn, ta cón đặc trưng tập con mờ A của X bởi lực lượng của nó, chỉ rõ độ thuộc tổng thể mà các phần tử của X thuộc A
Định nghĩa 2.6: Lực lượng của tập con mờ A của X được định nghĩa bởi:
|A|=xX fA( x )
Trang 22Nếu A là tập con thông thường của X, chiều cao của nó bằng 1; nó được chuẩn hóa và đồng nhất với giá và hạt nhân của nó; lực lượng của nó chính là số phần tử của tập theo định nghĩa cổ điển
2.1.3 Các phép toán trên các tập con mờ
a Sự bằng nhau và sự bao hàm (chứa nhau) của các tập con mờ
Định nghĩa 2.7: Hai tập con mờ A và B của X là bằng nhau nếu các hàm thuộc của chúng lấy cùng giá trị với mọi phần tử của X:
)()(
b Giao và hợp của các tập con mờ
Định nghĩa 2.9: Giao của hai tập con mờ A và B của X là tập con mờ C,
ký hiệu AB, sao cho:
)) ( ), ( min(
) (
X
Min ký hiệu toán tử lấy cực tiểu
Định nghĩa 2.10: Hợp của hai tập con mờ A và B của X là tập con mờ
D, ký hiệu là AB sao cho:
))(),(max(
)(
Trang 23d Tích Descartes của các tập con mờ
Định nghĩa 2.12: Cho các tập con mờ A1, A2, …, Ar được xác định tương ứng trên X1,X2, …, Xr, ta định nghĩa tích Descartes của chúng
A=A1*A2*…*Ar như một tập con mờ của X có hàm thuộc:
)) ( ),
( min(
) ( , ) , , ,
A A
r X f x f x f x x
x x x
Trang 24Định nghĩa 2.13: Hình chiếu trên X1 của tập con mờ A của X1*X2 là tập con mờ Pr ( )
1 A
oj X của X1, với hàm thuộc được xác định bởi:
)) , ((
sup )
f X
Hình chiếu của A trên X2 cũng được định nghĩa tương tự
Định nghĩa 2.14: hình chiếu trên Xa*Xb*….*Xk của tập con mờ A của
X1*X2*…Xr là tập con mờ Proj(A) của Xa*Xb*…*Xk với hàm thuộc được định nghĩa là:
, , , k k
, ,
) (
Proj A xa xk i i r i a i k fA xi
f Khuếch trụ của một tập con mờ
Định nghĩa 2.15: Khuếch trụ của một tập con mờ B của Xa*Xb*…*Xk trên X= X1*X2*…Xr được định nghĩa là:
) , , ( )
( , ) , , , ,
, , ( x1 xa xk xr X fB c x fB xa xk
Giả sử U và V là hai tập Một quan hệ R từ U đến V (sẽ được gọi là quan hệ 2 ngôi, hoặc quan hệ nhị nguyên ) là một tập con của tích đề các UV Trong trường hợp U = V, ta nói R là quan hệ trên U Chẳng hạn, tập R bao gồm tất cả các cặp người (a, b) trong đó a là chồng của b, xác định quan hệ
“vợ _ chồng” trên tập người nào đó
Khi U và V là các tập hữu hạn, chúng ta sẽ biểu diễn quan hệ R từ U đến V bởi ma trận, trong đó các dòng được đánh dấu bởi các phần tử x U và các cột được đánh dấu bởi các phần tử y V Phần tử của ma trận nằm ở dòng
x, cột y là R(x,y)
1 nếu (x,y) R
Trang 25Bây giờ ta xét quan hệ “anh em họ gần” trên một tập người U nào đó
Quan hệ này không thể đặc trưng bởi tập rõ của tích UU Một cách hợp lý
nhất là xác định quan hệ này bởi một tập mờ R trên UU
Chẳng hạn R(a,b) = 1 nếu a là anh em ruột của b; R(a,b) = 0,9 nếu a là
anh em con chú con bác của b; R(a,b) = 0,75 nếu a là anh em cháu cô, cháu
cậu của b;
Một quan hệ mờ từ U đến V là một tập mờ trên tích đề các UV Tổng
quát, một quan hệ mờ n ngôi là một tập R trong không gian tích đề các của n
không gian U1x U2 x … x Un
Quan hệ mờ 2 ngôi R(u,v) gọi là:
1 Đối xứng nếu: R(u, v) = R(v, u)
2 Phản xạ nếu: R(u, u) = 1, u U
3 Phản phản xạ nếu: R(u, u) = 0 , u U
4 Bắc cầu Max_Min nếu R(u, v) { R(u, w) R(w, v): wW}
5 Bắc cầu Min_Max nếu R(u, v) { R(u, w) R(w, v): wW}
6 Phép hợp thành RS với RU W, S W U được định nghĩa như sau:
(u, v) = { (u, w) (w, v): wW}
R =
Trang 26R được gọi là quan hệ tương tự ( quan hệ tương đương mờ) nếu nó có các tính chất:
Như vậy bao đóng bắc cầu R^ của quan hệ giống nhau là quan hệ tương
tự R^ được tính theo công thức:
R^ = R1 R2 Rk
Trang 27Nếu R là quan hệ mờ tương tự thì tập mức ,R= {u, v U: R (u, v)
} của R là quan hệ tương đương kinh điển và do đó phân hoạch U thành các lớp tương đương
Ký hiệu R là phần bù của R tức là R = CR thì R là quan hệ không tương tự và R1- = {u,v U : R(u, v)=dR(u, v) 1-} = R
Nói cách khác, khoảng cách giữa hai phần tử bất kỳ trong cùng một lớp tương đương không vượt quá 1-
Tương tự như trường hợp quan hệ rõ, khi cả U và V là các tập hữu hạn, chúng ta sẽ biểu diễn quan hệ mờ R bởi ma trận trong đó phần tử nằm ở dòng
xU, cột yV là mức độ thuộc của (x,y) vào tập mờ R
Ví dụ : Chúng ta giả sử U = {1,2,3}, V = {a,b,c} và R là quan hệ mờ từ
U đến V như sau:
R =
),3(
42,0),3(
0),3(
9,0),2(
8,0),2(
75,0),2(
3,0),1(
0),1(
1),1
(
5,0
c b
a c
b a
c b
Quan hệ mờ trên được biểu diễn bởi ma trận:
0,3 0,75 0,8 2 0,9 0 0,42 3
a b c
Kết luận: phần trên giới thiệu những vấn đề khái quát về logic mờ làm cơ sở
cho việc ứng dụng giải bài toán tối ưu đa mục tiêu
Trang 28Chương 3: KẾT HỢP GIẢI THUẬT DI TRUYỀN VÀ LOGIC MỜ
GIẢI BÀI TOÁN TỐI ƯU ĐA MỤC TIÊU
Chương này trình bày những vấn đề ứng dụng cơ sở lý thuyết để giải
bài toán tối ưu đa mục tiêu
3.1 Bài toán tối ưu đa mục tiêu
Trong nhiều ứng dụng thực tế gắn liền với việc thiết kế và kế hoạch hóa trong các ngành kinh tế - kĩ thuật, điều khiển các hoạt động sản xuất, chúng
ta thường gặp những bài toán liên quan đến việc phân tích, lựa chọn phương án tốt nhất thoả mãn nhiều mục tiêu khác nhau Đó là bài toán tối
ưu đa mục tiêu
3.1.1 Phát biểu bài toán
max(min))
(X
Y
n R D
X
k X R Y
X Y X
Y( ) ( 1( ), , ( )) gọi là vectơ mục tiêu
X gọi là phương án D gọi là tập các phương án
k Y
Y , ,1 gọi là các hàm mục tiêu
Các bài toán tối ưu đa mục tiêu thường có nhiều hàm mục tiêu với các ràng buộc khác nhau và các lời giải khác nhau Các lời giải này thưòng không
so sánh được với nhau Vì vậy người ta đưa ra tập lời giải tối ưu Pareto
Lời giải trội( phương án trội): Lời giải X được gọi là trội hơn lời giải Y nếu i ta đều có: F i(X) F i(Y), còn Y được gọi là phương án bị trội bởi X Phương án Pareto tối ưu: Một phương án X được gọi là phương án Pareto tối ưu nếu X không thể bị trội bởi bất kì phương án nào khác thuộc miền giới hạn
Nếu bài toán tối ưu đa mục tiêu có nghiệm được gọi là tối ưu theo một cách định nghĩa nào đó thì không phụ thuộc vào cách định nghĩa đã chọn, nghiệm tối ưu đó phải là một phương án Pareto tối ưu
3.1.2 Một số phương pháp giải
Có nhiều phương pháp để giải bài toán tối ưu đa mục tiêu như: phương pháp nhượng bộ dần, phương pháp tìm nghiệm có khoảng cách ngắn nhất đến
Trang 29nghiệm lý tưởng, phương pháp giải theo dãy mục tiêu đã được sắp xếp, phương pháp trọng số nhưng trong phạm vi nghiên cứu của đề tài chỉ trình
bày một số phương pháp giải sau:
k i i
1
X Y
p i k i i
số Đặc biệt nếu mọi Yi(i=1,…,k) là các hàm tuyến tính thì ta có một bài toán quy hoạch tuyến tính phụ thuộc tham số ở hàm mục tiêu
Ở đây quan hệ ,~ được rút ra thông qua việc so sánh hàm mục tiêu (1.1)
3.1.2.2 Phương pháp tìm nghiệm có khoảng cách ngắn nhất đến nghiệm
lý tưởng
Nghiệm lý tưởng ta là một nghiệm (nói chung không nhất thiết là phương án chấp nhận được), mà tại đó giá trị của mỗi hàm mục tiêu riêng rẽ đều đạt cực đại
Ở đây giá trị hàm lợi ích tỉ lệ với khoảng cách từ phương án X D đến cái gọi
là nghiệm lý tưởng Phương án X 1 X2 khi và chi khi X1 gần nghiệm lý tưởng hơn X2
Giả sử X1, X2 Rn. Khoảng cách giữa hai điểm X1, X2 là một số dα xác định bởi: