0
Tải bản đầy đủ (.pdf) (66 trang)

Vớ dụ minh họa

Một phần của tài liệu PHƯƠNG PHÁP LAI MẠNG NƠ RON - GIẢI THUẬT DI TRUYỀN GIẢI BÀI TOÁN NP-C VÀ ỨNG DỤNG (Trang 38 -66 )

Trong thực tế GA đó đƣợc dựng để giải quyết những vấn đề phức tạp, tuy nhiờn để tiếp cận với lý thuyết mới, xem xột một vớ dụ rất đơn giản, tỡm đỏp số cho phƣơng trỡnh x2 =64. Dĩ nhiờn bài toỏn này quỏ đơn giản khụng cần đến GA, nhƣng đơn cử ở đõy để làm sỏng tỏ vấn đề.

Ví dụ:

Tỡm đỏp số cho phƣơng trỡnh X2=64(*) (tức là trị số của X để X2=64)

Bƣớc 1: Quy định số lƣợng cỏc đỏp số và ấn định kớ hiệu cho từng đỏp số. Giả sử chỳng ta khụng biết đỏp số của bài toỏn, nờn sẽ chọn 4 số trong số những đỏp số cú thể cú cho bài toỏn. Đồng thời chỳng ta chọn mụ hỡnh để tƣợng trƣng cho cỏc số phải xột (dựng hệ thống nhị phõn kớ hiệu cỏc đỏp số).

Khởi tạo quần thể cỏc cỏ thể

Xỏc định giỏ trị phự hợp của từng cỏ thể

Sao chộp cỏc cỏ thể theo giỏ trị phự hợp của chỳng và tạo cỏc cỏ thể mới dựa vào cỏc

toỏn tử (lai ghộp, đột biến, chọn lọc)

Xoỏ cỏc cỏ thể khụng tốt ra khỏi quần thể dựa vào giỏ trị phự hợp của nú.

Đƣa quần thể mới thay thế quần thể cũ Lặp cho đến khi thoả điều kiện

Số húa bởi Trung tõm Học liệu - Đại học Thỏi Nguyờn http://www.lrc-tnu.edu.vn

H/t thập phõn 1 2 3 4 5 6 7 8

H/t nhị phõn 0001 0010 0011 0100 0101 0110 0111 1000

Bƣớc 2: Chỉ định số đỏp số và kớ hiệu cỏc đỏp số cho bài toỏn (*) Sau đõy 4 số cú thể là đỏp số cho bài toỏn trờn:

Bảng 2.1

Bƣớc 3: Ấn định hàm số thớch nghi (fitness function) và tớnh hệ số thớch nghi (fitness) cho từng đỏp số. Chỳng ta cú thể chọn bất cứ hệ thức hay hàm số nào đú để biểu diễn sự thớch nghi của cỏc đỏp số của bài toỏn. Kinh nghiệm cho thấy hàm số thớch nghi phải cú liờn hệ đến vấn đề. Bƣớc thứ ba này tƣơng đối phức tạp và khú thực hiện nhất, vỡ nếu chọn hàm số thớch nghi khụng đỳng, kết quả sẽ khụng cú hiệu lực. Trong vớ dụ này, chọn hàm số thớch nghi =1000 - ( X2 - 64) và quy định đỏp số nào cú hệ số thớch nghi bằng 1000 hay gần 1000 nhất sẽ là đỏp số của bài toỏn.

Trong bảng 2.2 dƣới đõy chỳng ta sẽ ghi lại cỏc chi tiết cú trong bảng 2.1 và thờm hệ số thớch nghi cho mỗi đỏp số.

Bảng 2.2 Thứ tự (1) Nhị phõn (2) Thập phõn (3) Bỡnh phƣơng của hệ số ở cột (3) trừ 64 Thớch nghi 1 00100 4 -48 952 2 10101 21 377 623 3 01010 10 36 964 4 11000 24 512 488 Thứ Tự Nhị phõn Thập phõn 1 00100 4 2 10101 21 3 01010 10 4 11000 24

Số húa bởi Trung tõm Học liệu - Đại học Thỏi Nguyờn http://www.lrc-tnu.edu.vn

Bƣớc 4: Biến húa cỏc đỏp số để tỡm cỏc đỏp số cú hệ số thớch nghi tối ƣu. Nhỡn vào bảng 2.2, nhận thấy: đỏp số cú hệ số thớch nghi cao nhất vẫn cũn cỏch xa 1000. Do đú phải tỡm ra những đỏp số mới (để cú hệ số ngày càng lớn và bằng hay gần với 1000) bằng cỏch biến húa cỏc đỏp số cũ. Vấn đề đặt ra là: trong 4 số (4, 21, 10 và 24) trờn, số nào sẽ đƣợc chọn để biến húa. Nguyờn tắc của GA trỡnh bày trờn là số nào cú hệ số thớch nghi cao nhất sẽ cú cơ hội tạo sinh và biến húa hơn cỏc số cú hệ số thớch nghi thấp. Điều này cũng giống với thực tế, chỉ những sinh vật nào thớch nghi với hoàn cảnh hơn sẽ tồn tại lõu hơn và dĩ nhiờn sẽ cú cơ hội tạo sinh và biến húa nhiều hơn.

Nhỡn vào bảng 2.2, chỳng ta thấy theo thứ tự 10 và 4 cú hệ số thớch nghi cao hơn do đú chỳng sẽ đƣợc chọn để tạo sinh và biến húa, đồng thời số 21 và 24 cú hệ số thớch nghi thấp nhất sẽ bị loại (để giữ tổng số cỏc đỏp số là 4). Trong vớ dụ này chỳng ta sẽ lai ghộp hai số 4 và 10 tại điểm giữa hàng thứ hai và thứ ba, nhƣ trỡnh bày dƣới đõy:

001|00 (4) 010|00 (hay 8) 010|10 (10) 001|10 (hay 6)

Bƣớc 5: Tớnh hệ số thớch nghi cho cỏc đỏp số vừa cú đƣợc kết quả đƣợc ghi trong bảng 2.3 dƣới đõy:

Bảng 2.3

Bƣớc 6:Trƣớc khi trở lại bƣớc 4 và 5 nhƣ trỡnh bày trờn, chỳng ta hóy xột cỏc chi tiết trong bảng 2.3. May mắn chỳng ta cú đƣợc đỏp số ở hàng thứ 3 là số 8

Thứ tự (1) Nhị phõn (2) Thập phõn (3) Bỡnh phƣơng của hệ số ở cột (3) trừ 64 Thớch nghi 1 00100 4 -48 952 2 01010 10 36 964 3 01000 8 0 1000 4 00110 6 -28 968

Số húa bởi Trung tõm Học liệu - Đại học Thỏi Nguyờn http://www.lrc-tnu.edu.vn

với hệ số thớch nghi bằng 1000. Theo quy định ghi trong bƣớc 3, đõy là đỏp số cú hệ số thớch nghi cao nhất, số này là 01000 (nhị phõn) hay 8 (thập phõn). Do đú chỳng ta khụng cần trở lại bƣớc 4 và 5, chỳng ta sẽ bỏo cỏo kết quả là 8.

Bƣớc 7: Kết quả với X=8,chỳng ta sẽ cú X2 =82=64.

2.4.4. Cỏc phương thức biến húa của giải thuật di truyền a) Chọn lọc:

Chọn lọc là cỏc thao tỏc xử lý mà dựa vào giỏ trị phự hợp của mỗi cỏ thể để đỏnh giỏ xem cỏ thể đú cú đƣợc bảo lƣu trong vũng sinh sản tiếp theo hay khụng. Đõy chớnh là một phiờn bản nhõn tạo mụ phỏng chọn lọc trong tự nhiờn.

Trong một quần thể, mỗi cỏ thể đƣợc xỏc định bởi một giỏ trị phự hợp fit[i], giỏ trị này càng lớn thỡ nú đƣợc coi là hợp lý.

Chọn lọc cú thể đƣợc thực hiện theo nhiều cỏch, nhƣng cú một phƣơng phỏp đơn giản và hiệu quả đú là phƣơng phỏp quay trờn vũng trũn cú hƣớng, vũng quay của chỳng cú kớch cỡ khỏc nhau ứng với từng giỏ trị phự hợp của cỏ thể.

Việc quay vũng trũn là để lựa chọn cỏc ứng cử viờn cho vũng sinh sản tiếp theo đƣợc thực hiện nhƣ sau.

* Tớnh tổng phự hợp của tất cả cỏc thành viờn trong quần thể.

* Phỏt sinh một số ngẫu nhiờn S trong khoảng từ 0 đến tổng phự hợp. * Cỏ thể đầu tiờn trong quần thể cú tổng chạy  S sẽ đƣợc chọn

Số húa bởi Trung tõm Học liệu - Đại học Thỏi Nguyờn http://www.lrc-tnu.edu.vn Hỡnh 2.5: Lưu đồ thuật toỏn của quỏ trỡnh chọn lọc.

b) Lai ghộp(Cross over):

Quỏ trỡnh chọn lọc thực hiện nhằm tỡm ra cỏc cỏ thể tồn tại tốt nhất, nhƣng lại khụng thể tạo ra cỏc cỏ thể mới. Trong tự nhiờn mỗi cỏ thể con khi sinh ra đều đƣợc thừa hƣởng gen của cả Bố và Mẹ. Quỏ trỡnh lai ghộp tỏc động lờn cỏc cỏ thể cha mẹ để tạo ra cỏc con lai tốt. Điều này đƣợc thực hiện bằng cỏch ghộp một hoặc nhiều đoạn của hai nhiễm sắc thể cha và mẹ với nhau. Phộp toỏn lai ghộp xảy ra với xỏc suất Pcross và đƣợc thực hiện nhƣ sau:

- Hai chuỗi trong quần thể đƣợc chọn để ghộp đụi một cỏch ngẫu nhiờn. - Phỏt sinh một số ngẫu nhiờn k  [0,1]. Hai chuỗi đƣợc tạo ra bằng việc sao chộp cỏc ký tự từ 1 đến k và trỏo đổi cỏc ký tự k + 1 đến 1.

- Đƣa hai cỏ thể vào quần thể để tham gia cỏc quỏ trỡnh tiến hoỏ tiếp theo. Giả sử ta cú hai chuỗi

Nhập vào quầ n thể cũ, giỏ trị phự hợp từng cỏ thể fit[i], tổng phự hợp

fit nness

Phỏt sinh P0 ngẫu nhiờn  (0,1)

T ớnh S: = P0 tot alfit nnes s

j:=1, runtotal:=0

T ớnh ru nt ot a l:= ru nt ot al + fit [ j].

Vị trớ lựa chọn j

j:= j+1

Số húa bởi Trung tõm Học liệu - Đại học Thỏi Nguyờn http://www.lrc-tnu.edu.vn

a1a2...akak+1...an

b1b2...bkbk+1...bn

sau khi lai ghộp ta đƣợc hai chuỗi con là: a1a2...akbk+1...bn

b1b2...bkak+1...an

Nhƣ vậy, hai chuỗi con sinh ra đều đƣợc thừa hƣởng cỏc đặc tớnh của cả cha và mẹ. Lựa chọn và lai ghộp cỏ thể cho phộp giải thuật từ chỗ thụng tin đó biết để tỡm đến vựng tốt hơn. Hỡnh (2.6) mụ tả quỏ trỡnh lai ghộp.

Hỡnh 2.6: Lưu đồ thuật toỏn quỏ trỡnh lai ghộp.

c) Đột biến: (mutation):

Nhƣ đó biết quỏ tỡnh chọn lọc và lai ghộp tạo ra cỏc chuỗi mới, song chỳng khụng tạo ra cỏc thụng tin ở mức bit (gen), vỡ vậy quỏ trỡnh đột biến đƣợc đƣa vào và đƣợc ỏp dụng cho cỏc bit với một xỏc suất nhỏ Pmu. Xỏc suất nhỏ vỡ thực chất quỏ trỡnh đột biến là quỏ trỡnh tỡm kiếm ngẫu nhiờn, nếu Pmu lớn thỡ giải thuật di truyền trở thành giải thuật tỡm kiếm ngẫu nhiờn.

Phỏt sinh P0 ngẫu nhiờn  (0,1)

Thực hiện trỏo đổi cỏc bớt tại vị trớ k

Chỉ số của hai chuỗ i bố mẹ trong quần thể

P0 < Pcross k: = 1

Phỏt sinh k ngẫu nhiờn  (1,1)

Số húa bởi Trung tõm Học liệu - Đại học Thỏi Nguyờn http://www.lrc-tnu.edu.vn

Nếu Pmu là xỏc suất đột biến thỡ cú Pmu*1*size (size – số lƣợng cỏ thể trong quần thể) bớt bị đột biến. Xỏc suất đột biến tại mỗi bớt là nhƣ nhau. Bit 0 thay bằng 1 và ngƣợc lại. Quỏ trỡnh đột biến đƣợc thực hiện nhƣ sau:

Chọn ngẫu nhiờn một cỏ thể (cỏ thể mới đƣợc tạo ra từ quỏ trỡnh lai ghộp) trong quần thể.

Phỏt sinh một số ngẫu nhiờn P0 trong khoảng [ 0,1 ]. Nếu P0  PMu tiến hành đột biến tại nỳt đú.

Hỡnh 2.7: Lư u đồ thuật toỏn của quỏ trỡnh đột biến.

Phỏt sinh P0 ngẫu nhiờn  (0,1) Chọn ngẫu nhiờn một cỏ thể trong

quần thể

P0 < Pmu

j: =j + 1

Thực hiện trỏo đổi bớt 0 thành 1 và ngƣợc lại

Cỏ thể sau khi đột biến j: = 1

Số húa bởi Trung tõm Học liệu - Đại học Thỏi Nguyờn http://www.lrc-tnu.edu.vn

Nhƣ vậy: Cỏc quỏ trỡnh chọn lọc, lai ghộp, đột biến đƣợc tiến hành trong một vũng lặp cho đến khi cỏc cỏ thể mới thay thế toàn bộ cỏc cỏ thể cũ trong quần thể. Cỏ thể mới sinh ra cú thể là một trong 3 loại sau:

Bị đột biến sau khi đó lai ghộp. Lai ghộp nhƣng khụng bị đột biến.

Khụng lai ghộp, khụng đột biến mà đơn giản là sao chộp lại. Cỏc thụng số cần xỏc định trong giải thuật di truyền là: Size: Kớch cỡ của quần thể hay cỏ thể.

Pcros: Xỏc suất lai ghộp. Pmu: Xỏc suất đột biến.

Ngoài ra Dejong cũn đƣa vào thụng số G với G [0,1], thụng số này cho phộp xỏc định một phần quần thể cũ trong quần thể mới.

Nếu G = 1 cỏc cỏ thể trong quần thể cũ bị loại bỏ hoàn toàn.

Nếu 0 < G < 1 cú n * G cỏ thể đƣợc giữ lại cho cỏc hoạt động di truyền.

2.4.5. Cỏc giải thuật di truyền lai

Mặc dự giải thuật di truyền mạnh và hiệu quả, song nú khụng phải là một giải thuật tỡm kiếm tối ƣu nhất trong một số lĩnh vực. Vỡ vậy lai phộp giải thuật di truyền với cỏc giải thuật khỏc vớ dụ nhƣ mạng nơ ron, cỏc hệ chuyờn gia, hệ thống mờ v.v... sẽ tạo ra một giải thuật tốt hơn, khai thỏc đƣợc tớnh tỡm kiếm toàn cục của giải thuật di truyền và sự hội tụ của cỏc giải thuật tỡm kiếm cục bộ.

Kết quả của việc lai ghộp là giải thuật di truyền tỡm tới cỏc vựng tối ƣu toàn cục sau đú cỏc giải thuật tỡm kiếm cục bộ sẽ tỡm tới giỏ trị nghiệm tối ƣu.

Trƣớc tiờn ta chạy với giải thuật di truyền để đạt tới mức độ hội tụ, sau đú cỏc giải thuật tỡm kiếm cục bộ sẽ lấy khoảng 5->10% số điểm tốt nhất trong quần thể cuối cựng làm điểm xuất phỏt.

Số húa bởi Trung tõm Học liệu - Đại học Thỏi Nguyờn http://www.lrc-tnu.edu.vn

2.5. Giải thuật di truyền với bài toỏn tối ƣu

Đến nay, tuy đó cú nhiều phƣơng phỏp giải quyết cỏc bài toỏn tối ƣu, nhƣng núi chung cỏc phƣơng phỏp chỉ dừng lại ở những lớp bài toỏn cú thụng tin rừ hoặc cú cỏc thụng tin bổ trợ khỏc. Do vậy việc đƣa ra một phƣơng phỏp mới để giải quyết vấn đề này là việc hoàn toàn thiết yếu. Nhƣ đó trỡnh bày ở phần trờn, ta nhận thấy rằng giải thuật di truyền hoàn toàn cú thể ỏp dụng để giải bài toỏn tối ƣu.

2.5.1. Ánh xạ hàm mục tiờu sang hàm phự hợp

Nhƣ chỳng ta đó biết, cỏc giỏ trị phự hợp trong giải thuật di truyền là cỏc giỏ trị khụng õm. Vỡ vậy, khi ỏp dụng giải thuật di truyền giải cỏc bài toỏn tối ƣu hoỏ chỳng ta phải biến đổi giỏ trị của hàm mục tiờu sang giỏ trị của hàm phự hợp.

Nếu bài toỏn tối ƣu là cực tiểu hoỏ hàm g(x) nào đú thỡ việc chuyển từ hàm mục tiờu sang hàm phự hợp đƣợc tớnh nhƣ sau:

CMax – g(x), khi g(x) < CMax fit(x)=

0, ngƣợc lại (2.14) Trong đú CMax cú thể nhận giỏ trị nhƣ một tham số đầu vào. Cú thể lấy CMin là giỏ trị g(x) lớn nhất trong tập hợp hiện tại.

Nếu bài toỏn là cực đại hoỏ mục tiờu g(x) thỡ:

CMax + g(x), khi g(x) < CMin

fit(x)= (2.15) 0, ngƣợc lại.

Trong đú CMin cú thể nhận giỏ trị nhƣ một tham số đầu vào. Cú thể lấy CMin là giỏ trị g(x) lớn nhất trong tập hợp hiện tại.

Số húa bởi Trung tõm Học liệu - Đại học Thỏi Nguyờn http://www.lrc-tnu.edu.vn

2.5.2. Tỷ lệ hoỏ giỏ trị phự hợp

Điều chỉnh con số trong mỗi cỏ thể trong một quần thể là hết sức quan trọng trong khi sử dụng giải thuật di truyền vào việc giải bài toỏn tối ƣu.

Tại một số vũng lặp đầu, trong quần thể thƣờng cú một số cỏ thể siờu khoẻ so với cỏc cỏ thể cũn lại, nếu cứ giữ nguyờn và ỏp dụng quy tắc chọn lọc thỡ cỏc cỏ thể siờu khoẻ này sẽ chiếm toàn bộ quần thể sau một số lần lặp. Điều này cú thể dẫn tới hội tụ sớm ngoài ý muốn. Tỷ lệ hoỏ giỏ trị phự hợp đƣợc đƣa ra để giải quyết vấn đề này.

Một phƣơng phỏp tỷ lệ hoỏ thƣờng đƣợc dựng, đú là tỷ lệ hoỏ tuyến tớnh. Nếu giỏ trị phự hợp ban đầu là fit và fit’ là giỏ trị phự hợp sau khi đẵ tỷ lệ hoỏ ta cú:

fit’ = a * fit +b. (2.16) Trong đú a, b đƣợc xỏc định sao cho giỏ trị phự hợp trung bỡnh trƣớc và sau khi tỷ lệ hoỏ là nhƣ nhau, nghĩa là:

fit’Averga = fitAverga (2.17) Điều này đảm bảo cho cỏc thành viờn trung bỡnh cũng cú thể đúng gúp một con cho thế hệ tiếp theo.

Mặt khỏc, để khiểm soỏt số con cho cỏc thành viờn siờu khoẻ ta dung hệ thƣc sau:

fitMax = C*fitAverga (2.18) Trong đú C là số con của cỏ thể tốt. với quần thể nhỏ trong khoảng [50,100], thỡ C  [1.2,2] đƣợc chứng minh băng thực nghiệm là khỏ tốt.

Lƣu ý: Phƣơng trỡnh (2.16), (2.17) và (2.18) cú thể làm cho gia trị phự hợp của cỏc thể là õm, để đảm bảo tớnh khụng õm của nú, ngƣời ta đƣa thờm vào điều kiện:

Số húa bởi Trung tõm Học liệu - Đại học Thỏi Nguyờn http://www.lrc-tnu.edu.vn 1 21 UMax UMin P

2.5.3. Mó hoỏ tham biến nhờ vộctơ nhị phõn

Trong giải thuật di truyền bƣớc đầu tiờn là mó hoỏ tham biến, khi đú cỏc tham biến của bài toỏn tối ƣu đƣợc ỏnh xạ sang một xõu với chiều dài hữu hạn.

Với mỗi tham biến thuộc vào khoảng [ UMin, UMax] sẽ dƣợc biểu diễn bởi một chuỗi nhị phõn cú chiều dài 1. Tham biến x đƣợc mó hoỏ ứng với giỏ trị thuộc khoảng [1,21] sẽ đƣợc ỏnh xạ lờn cỏc giỏ trị thuộc miền xỏc định [ UMin, UMax] với tỷ lệ co gión của ỏnh xạ đƣợc xỏc định nhƣ sau:

(2.20)

Khi đú x = UMin + Giỏ trị (chuỗi)*P. (2.21) Khi mó hoỏ một tập gồm m tham biến, ta chỉ việc kết nối chỳng lại thành một chuỗi nhƣ sau:

010. . . 10 100. . 00 . . . 110 . . .10 U1 U2 Um

Do cỏc tham số nằm trong cỏc khoảng khỏc nhau và cú yờu cầu về độ chớnh xỏc khỏc nhau, vỡ thế mà cỏc chuỗi (chuỗi con Ui, i = ,1,2,...,m) cú độ dài khỏc nhau. Muốn tớnh giỏ trị phự hợp của một cỏ thể ta chỉ việc cắt chuỗi thành cỏc chuỗi con giải mó tớnh lại cỏc tham số.

2.5.4. Bài toỏn tối ưu ràng buộc

Bài toỏn tối ƣu cú ràng buộc đƣợc phỏt biờu nhƣ sau:

Một phần của tài liệu PHƯƠNG PHÁP LAI MẠNG NƠ RON - GIẢI THUẬT DI TRUYỀN GIẢI BÀI TOÁN NP-C VÀ ỨNG DỤNG (Trang 38 -66 )

×