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

Giải thuật di truyền song song và ứng dụng giải bài toán MAX_SAT

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (340.96 KB, 28 trang )

TRNG I HC S PHM H NI
KHOA CễNG NGH THễNG TIN




BO CO KHOA HC



TI:
GII THUT DI TRUYN SONG SONG V NG DNG GII
BI TON MAX- SAT


Ging viờn hng dn : Thy Trung Kiờn
Sinh viờn thc hin : Nguyn Th La K54C
Vn Quang K55B
Trn ng Doanh- K55B






THệ VIEN ẹIEN Tệ TRệẽC TUYEN
ti: thut toỏn di tuyn song song v ng dng gii quyt bi toỏn Max-sat
Nguyn Th La k54C Vn Quang Trn ng Doanh- K55B
2

MC LC




LI M U2
Chng I : Tng quan ...3
1. Tng quan thut toỏn di truyn 4
1.1 Khỏi nim..4
1.2 Cu trỳc ca thut toỏn di truyn .7
2. Vớ d minh ha12
2.1 Bi toỏn Max-sat .12
2.2 Gii thut di truyn gii quyờt bi toỏn Max-sat..14
Chng II : Xõy dng thut toỏn di truyn ...14
1. Khung thit k thut toỏn di truyn ...15
1.1 Lp provides lp cung cp..15
1.2 Lp Requide Lp yờu cu ..16
2. Khung thut toỏn tun t .20
3. Khung thut toỏn song song .22
3.1 La chn phn cng .22
3.2 La chn phn mm.22
Chng III : s dng khung thut toỏn di truyn gii quyt bi toỏn Maxsat26
1. ci t bi toỏn Max-sat...26
1.1 file cu hỡnh .cfg.26
1.2 file u vo .dat .26
2. S dng khung thut toỏn di truyn gii bi toỏn Max-sat..27
Chng III : Kt qu thc nghim ..28
1. kt qu tun t ..28
2.Kt qu song song.28
THệ VIEN ẹIEN Tệ TRệẽC TUYEN
ti: thut toỏn di tuyn song song v ng dng gii quyt bi toỏn Max-sat
Nguyn Th La k54C Vn Quang Trn ng Doanh- K55B
3


LI M U

Vi kh nng hin nay, mỏy tớnh ó giỳp gii c rt nhiu bi toỏn khú m
trc õy thng bú tay. Mc dự vy vn cú mt s ln cỏc bi toỏn thỳ v m
cha cú gii thut hp lý gii chỳng. Trong ú cỏc bi toỏn ti u l nng bi
toỏn thng gp trong thc tin.
Trong thc tin, cú nhiu bi toỏn ti u quan trng ũi hi nhng thut toỏn
cú cht lng cao. Vớ d ta cú th dựng phng phỏp mụ phng luyn thộp
gii quyt bi toỏn tỡm ng i ngn nht cho xe cu ha hay bi toỏn ngi du
lch Cng cú nhiu bi toỏn ti u t hp (trong ú cú nhiu bi toỏn c
chỳng minh l NP - ) cú th gii gn ỳng trờn mỏy tớnh hin i bng k thut
Monte - Carlo.
Núi chung bi toỏn ti u cú th xem nh bi toỏn tỡm kim gii phỏp tt
nht trong khụng gian vụ cựng ln cỏc gii phỏp. Khi khụng gian tỡm kim nh,
nhng phng phỏp c in nh trờn cng thớch hp, nhng khi khụng gian
tỡm kim ln phi dựng k thut trớ tu nhõn to c bit. Thut gii di truyn
(GA) l mt trong nhng k thut ú.











THệ VIEN ẹIEN Tệ TRệẽC TUYEN

Đề tài: thuật tốn di tuyền song song và ứng dụng giải quyết bài tốn Max-sat
Nguyến Thị Lụa k54C – Đỗ Văn Quang – Trần Đăng Doanh- K55B
4

CHƯƠNG I : TỔNG QUAN

1. Tổng quan thuật tốn di truyền (Genetic Algorithm)
1.1 Khái niệm
Thuật tốn di truyền cổ điền là các kỹ thuật phỏng theo q trình thích nghi
tiến hóa của các quần thể sinh học dựa trên học thuyết Darwin.
Tư tưởng của thuật tốn di truyền là mơ phỏng các hiện tượng tự nhiên: Kế
thừa và đấu tranh sinh tồn để cái tiến lời giải và khảo sát khơng gian lời giải khái
niệm kế thừa và đấu tranh sinh tồn được giải thích qua thí dụ về sự tiến hóa của
một quần thể thỏ như sau:
Có một quần thể thỏ, trong đó có một số con nhanh nhẹn và thơng minh hơn
những con khác. Những chú thỏ nhanh nhẹn và thơng minh có xác suất bị chồn
cáo ăn thịt nhỏ hơn, do đó cũng tồn tại dể làm những gì tốt nhất có thể : Tạo
thêm nhiều thỏ tốt. Dĩ nhiên, một số thỏ chậm chạp đần độn cũng sống sót vì
may mắn. Quần thể những chú thỏ còn sống sót sẽ bắt đầu sinh sản. Việc sinh
sản này sẽ tạo ra một hỗn hợp tốt về "ngun liệu di truyền thỏ". Một số thỏ
chậm chạp có con với những con thỏ nhanh, một số nhanh nhẹn có con với thỏ
nhanh nhẹn, một số thơng minh với thỏ đần độn… Và trên tất cả thiên nhiên lại
ném vào một con thỏ "hoang dã" bằng cách làm đột biến ngun liệu di truyền
thỏ. Những chú thỏ con do kết quả này sẽ nhanh hơn và thơng minh hơn những
con thỏ trong quần thể gốc vì có nhiều bố mẹ nhanh nhẹn và thơng minh hơn đã
thốt chết khỏi chồn cáo.
Khi tìm kiếm lời giải tối ưu , thuật tốn di truyền cũng thực hiện các bước
tương ứng với câu chuyện đấu tranh sinh tồn của lồi thỏ.
THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN
ti: thut toỏn di tuyn song song v ng dng gii quyt bi toỏn Max-sat

Nguyn Th La k54C Vn Quang Trn ng Doanh- K55B
5
Thut toỏn di truyn s dng cỏc thut ng vay mn ca di truyn hc. Ta
cú th núi v cỏc cỏ th (hay kiu gen, cu trỳc) trong mt qun th, nhng cỏ
th ny cng cũn c gi l chui hay cỏc nhim sc th.
Mi kiu gen (ta gi l mt nhim sc th) s biu din mt li gii ca bi
toỏn ang gii (ý tng ca mt nhim sc th c th c ngi s dng xỏc
nh trc), mt tin trỡnh tin húa c thc hin trờn mt qun th cỏc nhim
sc th tng ng vi mt quỏ trỡnh tỡm kim li gii trong khụng gian li gii.
Tỡm kim ú cn cõn i hai mc tiờu: Khai thỏc nhng li gii tt nht v kho
sỏt khụng gian tỡm kim. Leo i l mt vớ d v chin lc cho phộp khai thỏc
v ci thin li gii tt nht hin hnh nhng leo i li b qua vic kho sỏt
khụng gian tỡm kim. Ngc li, tỡm kim ngu nhiờn l mt vớ d in hỡnh ca
chin lc kho sỏt khụng gian tỡm kim m khụng chỳ ý n vic khai thỏc
nhng vựng y ha hn ca khụng gian. Thut toỏn di truyn (GA) l phng
phỏp tỡm kim (c lp min) to c s cõn i ỏng k gia vic khai thỏc v
kho sỏt khụng gian tỡm kim.
Thc ra, GA thuc lp cỏc thut gii xut sc, nhng li rt khỏc nhng thut
gii ngu nhiờn vỡ chỳng kt hp cỏc phn t tỡm kim trc tip v ngu nhiờn.
Khỏc bit quan trng gia tỡm kim ca GA v cỏc phng phỏp tỡm kim khỏc
l GA duy trỡ v x lý mt tp cỏc li gii (ta gi l mt qun th)
Theo xut ca giỏo s John Holland, mt vn bi toỏn t ra s
c mó húa thnh cỏc chui vi chiu di bit c nh. Núi mt cỏch chớnh xỏc
l cỏc thụng s ca bi toỏn s c chuyn i v biu din li di dng cỏc
chui nh phõn. Cỏc thụng s ny cú th l cỏc bin ca mt hm hoc h s ca
mt biu thc toỏn hc. Ngi ta gi cỏc chui bớt ny l mó genome ng vi
mi cỏ th, cỏc genome u cú cựng chiu di. Núi ngn gn, mt li gii s
c biu din bng mt chui bớt, cng nh mi cỏ th u c quy nh bng
gen ca cỏ th ú vy. Nh vy, i vi thut gii di truyn, mt cỏ th ch cú
THệ VIEN ẹIEN Tệ TRệẽC TUYEN

ti: thut toỏn di tuyn song song v ng dng gii quyt bi toỏn Max-sat
Nguyn Th La k54C Vn Quang Trn ng Doanh- K55B
6
mt gen duy nht v mt gen cng ch phc v cho mt cỏ th duy nhõt. Do ú,
gen chớnh l cỏ th v cỏ th chớnh l gen.
Ban u, ta s phỏt sinh mt s lng ln, gii hn cỏc cỏ th cú gen ngu
nhiờn - ngha l phỏt sinh mt tp hp cỏc chui bit ngu nhiờn. Tp cỏc cỏ th
ny c gi l qun th ban u (initial population). Sau ú, da trờn mt hm
no ú, ta s xỏc nh c mt giỏ tr cú thớch nghi - Fitness. Giỏ tr ny,
n gin cho n gin chớnh l "tt" ca li gii hay cao trong tỡm kim
theo kiu leo i. Vỡ phỏt sinh ngu nhiờn nờn "tt" ca li gii hay tớnh thớch
nghi ca cỏ th trong qun th ban u l khụng xỏc nh.
ci thin tớnh thớch nghi ca qun th ngi ta tỡm cỏch to ra qun th
mi. Cú hai cỏch thao tỏc thc hin trờn th h hin ti to ra mt th h khỏc
vi thớch nghi tt hn.
Thao tỏc u tiờn l sao chộp nguyờn mu mt nhúm cỏc cỏ th tt t th h
trc ri a sang th h sau (selection). Thao tỏc ny m bo thớch nghi
ca th h sau luụn c gi mt mc hp lý. Cỏc cỏ th c chn thụng
thng l cỏc cỏ th cú thớch nghi cao nht.
Thao tỏc th hai l to ra cỏ th mi bng cỏch thc hin cỏc thao tỏc sinh
sn trờn mt s cỏ th c chn t th h trc, thụng thng cng l nhng cỏ
th cú thớch cao. Cú hai loi thao tỏc sinh sn: mt l thao tỏc lai to
(crossover), hai l t bin (mutalion). Trong thao tỏc lai to, t gen ca hai cỏ
th c chn trong th h trc s c phi hp vi nhau (theo mt quy tỏc
no ú) to thnh hai gen mi.
Thao tỏc chn lc v lai to giỳp to ra th h sau. Tuy nhiờn, nhiu khi do
th h khi to ban u cú c tớnh cha phong phỳ v cha phự hp nờn cỏc cỏ
th khụng ri u c khụng gian ca bi toỏn (tng t nh trng hp leo
i, cỏc ngi leo i tp trung dn vo mt gúc trờn vựng t). T ú, khú cú
th tỡm ra li gii ti u cho bi toỏn. Thao tỏc t bin s giỳp gii quyt c

THệ VIEN ẹIEN Tệ TRệẽC TUYEN
Đề tài: thuật tốn di tuyền song song và ứng dụng giải quyết bài tốn Max-sat
Nguyến Thị Lụa k54C – Đỗ Văn Quang – Trần Đăng Doanh- K55B
7
vấn đề này. Đó là sự biến đổi ngẫu nhiên một hoặc nhiều thành phần gen của
một cá thể ở thế hệ trước tạo ra một cá thể hồn tồn mới ở thế hệ sau. Nhưng
thao tác này chỉ được phép sảy ra với tần xuất rất thấp (thường dưới 0.01), vì
thao tác này có thể gây xáo trộn và làm mất đi những cá thể chọn lọc và lai tạo
có tính thích nghi cao, dẫn đến thuật tốn khơng còn hiệu quả.
Thế hệ mới được tạo ra lại được xử lý như thế hệ trước cho đến khi có một cá
thể đạt được giải pháp mong muốn hoặc đạt đến thời gian giới hạn.



1.2 Cấu trúc của giải thuật di truyền như sau:

1. t = 0
2. initialize P(t)
THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN
ti: thut toỏn di tuyn song song v ng dng gii quyt bi toỏn Max-sat
Nguyn Th La k54C Vn Quang Trn ng Doanh- K55B
8
3. evaluate structures in P(t)
4. while not end do
5. t = t + 1
6. select C(t) from P(t - 1)
7. recombine structures in C(t) forming C'(t)
8. mutate structures in C' (t) forming C'' (t)
9. evaluate structures in C''(t)
10. replace P(t) from C''(t) and/or P (t - 1)


Khi to qun th (initialize): Qun th u tiờn c khi to mt cỏch ngu
nhiờn t tp hp nhng cỏ th riờng l. Kớch c ca qun th u tiờn ph thuc
vo yu t t nhiờn ca bi toỏn, nhng nhỡn chung thỡ mt bi toỏn cú n hng
trm hay hng nghỡn gii phỏp hp lý. Tp hp nhng gii phỏp hp lý cho vn
c gi l khụng gian tỡm kim (search space). Trc mt bi toỏn ỏp dng
thut toỏn di truyn, ta cn phi xỏc nh rừ nhim sc th v cỏ th cho vn ,
v thụng thng ú s l kt qu cui cựng. Vic phõn tớch s da trờn kt qu
c bn tt nht.
Hm nh ngha thớch nghi (evaluate): Cỏc quỏ trỡnh tin húa din ra trong
vũng lp While, ti th h th t, thut toỏn di truyn duy trỡ mt tp li gii P(t) =
{x
t
1,
x
t
2,
,, x
t
n
}. Mi li gii x
t
i
c ỏnh giỏ " thớch nghi ", hay "tt"
ca li gii.
Phộp chn lc (select): Phộp chn l quỏ trỡnh loi b cỏc cỏ th xu trong qun
th ch d li trong qun th cỏc cỏ th tt.
Phộp chn c mụ phng:
Sp xp qun th theo th t thớch nghi gim dn.
THệ VIEN ẹIEN Tệ TRệẽC TUYEN

ti: thut toỏn di tuyn song song v ng dng gii quyt bi toỏn Max-sat
Nguyn Th La k54C Vn Quang Trn ng Doanh- K55B
9
Loi b cỏc cỏ th cui dóy ch gi li n cỏ th tt nht. Gi s õy
qun th cú kớch thc c nh n.
Cú nhiu phng phỏp chn lc Nhim sc th:
o Chn lc Roulette (Roulett Wheel Selection).
o Chn lc xp hng (Rank Selection).
o Chn lc cnh tranh (Tournament Selection)
Quỏ trỡnh sinh sn: Cú hai loi thao tỏc sinh sn
Phộp lai to (Crossover): l quỏ trỡnh hỡnh thnh nhim sc th mi trờn c
s nhim sc th cha m bng cỏch ghộp mt hay nhiu on gen ca hai hay
nhiu nhim sc th cha m vi nhau.
Cú nhng phng phỏp lai ghộp sau:
o Lai ghộp ỏnh x tng phn (PMX Partial Mapped Crossover).
o Lai ghộp cú trt t (OX order Crossover).
o Lai ghộp da trờn v trớ (Position Based Crossover).
o Lai ghộp da trờn th t (Order Base Crossover).
o Lai ghộp cú chu trỡnh (CX cycle Crossover).
o Lai ghộp th t tuyn tớnh (LOX Linear order Crossover).
Phộp lai to xy ra vi xỏc sut p
c
, c mụ phng nh sau:
Chn ngu nhiờn mt hay nhiu cỏ th bt k trong qun th. Gi
s cỏc nhim sc th ca cha m u cú m gen.
To mt s ngu nhiờn trong khong t 1 n m - 1 (c gi l
im lai). im lai chia cỏc chui cha m cú di m thnh hai
nhúm chui con vi di m
1
, m

2
hai chui nhim sc th mi l
m
11
+ m
12
v m
21
+ m
22

THệ VIEN ẹIEN Tệ TRệẽC TUYEN
ti: thut toỏn di tuyn song song v ng dng gii quyt bi toỏn Max-sat
Nguyn Th La k54C Vn Quang Trn ng Doanh- K55B
10
a hai cỏ th mi vo qun th tham gia cỏc quỏ trỡnh tin
húa tip theo.
Vớ d : Hai nhim sc th cha m :

Parent 1:
1 0 1 0 1 1 1 0 0 1
Parent 2:
0 1 1 1 0 0 1 1 1 0

Thỡ vic trao i chộo cỏc nhim sc th sau gen th nm s to ra hai con:

Child 1:
1 0 1 0 1 0 1 1 1 0
Child 2:
0 1 1 1 0 1 1 0 0 1


Phộp t bin (mutalion): Phộp t bin l hin tng cỏ th con mang mt
(hoc mt s) tớnh trng cú trong mó di truyn ca cha m, tc l s sa i mt
hoc mt vi gen ca mt nhim sc th chn bng cỏch thay i ngu nhiờn vi
xỏc sut l t l t bin.
THệ VIEN ẹIEN Tệ TRệẽC TUYEN
ti: thut toỏn di tuyn song song v ng dng gii quyt bi toỏn Max-sat
Nguyn Th La k54C Vn Quang Trn ng Doanh- K55B
11
Khụng ai cú th ỏnh giỏ c phng phỏp t bin no tt hn, do ú cú
mt vi phng phỏp n gin, cng cú vi trng hp khỏ phc tp. Ngi ta
thng chn mt trong nhng phng phỏp sau :
o t bin o ngc (Inversion Mutation).
o t bin chốn (Insertion Mutation)
o t bin thay th (Displacement Mutation).
o t bin tng h (Reciprocal Exchange).
o t bin chuyn dch (Shift Mutation).
Phộp t bin xy ra vi xỏc sut p
m
nh hn rt nhiu so vi xỏc sut lai p
c.

Phộp t bin cú th c mụ phng:
Chn ngu nhiờn mt cỏ th bt k cha m trong qun th.
To mt s ngu nhiờn k trong khong t 1 n m vi 1 k m.
Thay i gen th k v tr cỏ th ny v qun th tham gia vo quỏ
trỡnh tin húa tip theo.
NST1
0 1 1 1 1 0 1 1 1 0
NST1

0 1 1 1 0 0 1 1 1 0

Mt thut gii di truyn, gii mt bi toỏn c cho phi cú nm thnh phn:
Mt cu trỳc d liu biu din khụng gian li gii ca bi toỏn.
THệ VIEN ẹIEN Tệ TRệẽC TUYEN

×