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

tìm hiểu và áp dụng giải thuật di truyền và giải thuật mô hình mạng trên bài toán người đi du lịch

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 (895.43 KB, 86 trang )

Báo cáo lu n v n cao h c : TÌM HI U VÀ ÁP D NG GI I THU T DI TRUY N VÀ GI I THU T MÔ
HÌNH M NG TRÊN BÀI TOÁN NG
I I DU L CH

`

TÊN

TÀI

TÌM HI U VÀ ÁP D NG GI I THU T DI TRUY N VÀ GI I THU T MÔ
HÌNH M NG TRÊN BÀI TOÁN NG
I I DU L CH

GV h ng d n: TS. Lê V n D c
HV th c hi n: Sok Phong (00704901)

Trang 1


Báo cáo lu n v n cao h c : TÌM HI U VÀ ÁP D NG GI I THU T DI TRUY N VÀ GI I THU T MÔ
HÌNH M NG TRÊN BÀI TOÁN NG
I I DU L CH

`

CH

NG I

PHÁT BI U V N


Ch

ng này gi i thi u t ng quan v n i dung v n đ s đ

lu n v n, nêu ra ng d ng c a v n đ này c ng nh ph

c th c hi n trong

ng pháp d đ nh đ gi i

quy t v n đ .
M

1.1

Loài ng

U
i đã bi t ch n l a “Ph

mình t th i c đ i.

u tiên ng

ng án“ hành đ ng trong các công vi c c a

i ta bi t ch n ph

ng án “ch p nh n đ


c“, theo

các tiêu chu n t m c đ c m tính đ n m c đ có c s khoa h c và đ nh l
Khi có nhi u ph

ng án ch p nh n đ

ng.

c, đi u mong mu n t nhiên là ch n ph

ng

án t t nh t (t c là “t i u“), d a theo m t ho c m t s ti u chu n nào đó. D n d n
i ta bi t đ n “Gi i thu t di truy n (Genetic Algorithms) và m t s gi i thu t

ng

khác nh gi i thu t mô hình m ng (Network Model)…..
t i

u, ch ng h n nh

bài toán ng

i v i m t s bài toán

i đi du l ch (TSP – Traveling Salesman

Problem) c ng c n có thu t gi i thích h p đ gi i. Sau đây, ta s áp d ng gi i thu t

di truy n và gi i thu t mô hình m ng đ gi i bài toán ng
John Holland là ng

i đi du l ch.

i đ u tiên tìm ra gi i thu t di truy n, sau đó ông cùng v i

h c trò c a ông phát tri n gi i thu t di truy n m r ng. N m 1975, cu n sách có
liên quan đ n gi i thu t di truy n mang tên “Adaption in Natural and Artificial
Systems” đ

c xu t b n. N m 1992, ông John Koza s d ng Gi i thu t di truy n

(GAs) đ gi i m t s bài toán t i u và đã đ t đ

c k t qu t t. Ông g i ph

ng

pháp này là “genetic programming”(GP). Hi n nay gi i thu t di truy n đã đ
d ng r t nhi u trong th c t , ch ng h n trong l nh v c y h c, và đ

c áp

c áp d ng trên

r t nhi u bài toán t i u nh là
-

Nonlinear dynamical systems - predicting, data analysis.


GV h ng d n: TS. Lê V n D c
HV th c hi n: Sok Phong (00704901)

Trang 2


Báo cáo lu n v n cao h c : TÌM HI U VÀ ÁP D NG GI I THU T DI TRUY N VÀ GI I THU T MÔ
HÌNH M NG TRÊN BÀI TOÁN NG
I I DU L CH

`

-

Designing neural networks, both architecture and weights.

-

Robot trajectory, Evolving LISP programs(genetic programming).

-

Strategy planning, Finding shape of protein molecules

-

Sequence scheduling, Functions for creating images.

C ng gi ng nh GAs, mô hình m ng (Network Model) là m t trong các mô hình

đ

c dùng đ gi i bài toán t i u nh là bài toán v n t i, các bài toán m ng đi n và

m ng giao thông, các bài toán qu n lý và phân b v t t , bài toán b nhi m, bài toán
k ho ch tài chính, bài toán tìm đ

ng ng n nh t…Chúng ta c ng đã bi t khá nhi u

bài toán mà có th áp d ng gi i pháp t i u d a vào gi i thu t nêu trên đ tìm ra
m t l i gi i t i u đ c bi t. Hi n nay mô hình m ng (Network Model) đã đ

c áp

d ng đ gi i r t nhi u bài toán trong th c t , nh là :
-

Bài toán v n t i

-

Bài toán phân ho ch đ i t

-

Bài toán tô màu

-

Bài toán ng


ng và đ th

i đi du l ch vv…..

Trong s đó, sau đây ta s nghiên c u bài toán ng
ng

i đi du l ch (TSP). Bài toán

i đi du l ch (TSP – Traveling Salesman Problem) là m t bài toán t

đi n : có tài li u minh ch ng bài toán này đã xu t hi n t n m 1759 và đ
b i Euler. Ông là ng

i có nhi u h ng thú trong vi c tìm ra ph

ng đ i c
c nêu ra

ng pháp gi i bài

toán mã đi tu n. L i gi i là chu i 64 ô c mà quân mã ph i đi qua, m i ô đúng m t
l n. Bài toán ng

i đi du l ch đ

c t p đoàn RAND gi i thi u vào n m 1984. Danh

ti ng c a t p đoàn này giúp bài toán ng

n i ti ng. Vào lúc đó, bài toán ng
ph

ng pháp qui ho ch tuy n tính.

h pđ

i đi du l ch tr thành bài toán ph bi n và

i đi du l ch c ng đ

c ph bi n thông qua

ây là m t v n đ m i, là l ai bài toán t i u t

c nhi u nhà nghiên c u t p trung gi i quy t. Bài toán ng

i đi du l ch đ

ch ng minh là l ai NP-Hard.

GV h ng d n: TS. Lê V n D c
HV th c hi n: Sok Phong (00704901)

Trang 3

c


Báo cáo lu n v n cao h c : TÌM HI U VÀ ÁP D NG GI I THU T DI TRUY N VÀ GI I THU T MÔ

HÌNH M NG TRÊN BÀI TOÁN NG
I I DU L CH

`

1.2.

GI I THI U V N

Bài toán ng

S LÀM

i đi du l ch (TSP – Traveling Salesman Problem) là bài toán nh m

m c đích tìm ra con đ

ng t i u v chi phí và đi qua t t c các thành ph v i

nh ng đi u ki n sau đây :
-

M t du khách mu n th m m i thành ph anh quan tâm; m i thành ph anh
qua đúng m t l n r i tr v đi m kh i hành.

-

Bi t tr

c chi phí di chuy n gi a hai thành ph b t k chúng ta c ng có th


bi t tr

c kho ng cách ho c th i gian gi a hai thành ph n i k t v i nhau.

Bài toán có th mô t c th h n nh sau : cho N thành ph , ta đ nh ngh a V
bi n di n cho các thành ph ( V

N ) và E là các kho ng cách gi a hai đ nh ( trong

đ th chúng ta g i là các cung), v i hàm tr ng s w : Eà R ánh x các c nh theo
các tr ng s có giá tr th c. Tr ng s c a l trình p=< v0, v1, …….vk > là t ng c a
tr ng s c a các kho ng cách gi a hai thành ph :
k
w(p) =

å

w(vi-1,vi)

i=1
Ta đ nh ngh a tr ng s l trình ng n nh t ( shortest-path weight) t thành ph
b t đ u ( u ) đ n thành ph cu i (v) :
P

min { w(p) : u
§( u,v)

=


0

v } n u có m t l trình t u đ n v
b ng không.

Nh v y, m t l trình ng n nh t t thành ph b t đ u u đ n thành ph cu i v
đ

c đ nh ngh a là b t k l trình p nào có tr ng s w(p) = § (u,v).
M c đích c a bài toán là tìm ra con đ

là t ng kho ng cách đi đ

ng có chi phí t i u,

đây chi phí có th

c hay t ng th i gian c n thi t đ hoàn thành đ

GV h ng d n: TS. Lê V n D c
HV th c hi n: Sok Phong (00704901)

ng đi.

Trang 4


Báo cáo lu n v n cao h c : TÌM HI U VÀ ÁP D NG GI I THU T DI TRUY N VÀ GI I THU T MÔ
HÌNH M NG TRÊN BÀI TOÁN NG
I I DU L CH


`

1.3.

NG D NG C A V N

Bài toán ng

S LÀM

i đi du l ch (TSP) là m t bài toán đ

th c t . Ví d nh bài toán tìm đ

c ng d ng r t r ng rãi trong

ng t i u cho xe buýt trong thành ph (Bus

routing problem ), đây là bài toán khá ph bi n. M c đích c a bài toán là tìm ra l
trình t i u cho vi c đ n và r i kh i các tr m yêu c u trong thành ph và quay tr
l i tr m xu t phát. Th i gian đ n và r i các tr m c ng đ

c quy đ nh tr

Bài toán v n chuy n nh ng ki n hàng đ n nh ng khách hàng

c.

nh ng n i khác


nhau, chi phí cho bài toàn này chính là kho ng cách c n thi t đ giao t t c nh ng
ki n hàng cho nh ng khách hàng đã đ

c lên l ch tr

c, ngoài ra th i gian giao

hàng cho m i đ a đi m c n ph i n m trong m t khung th i gian h n đ nh cho tr

c.

M c đích chính c a bài toán này là tìm ra chi phí t i thi u mà có th giao hàng cho
t t c khách hàng.
Ngoài ra đ tài còn ng d ng vào m t bài toán khác nh : Bài toán chuy n th
(Postal deliveries problem), bài toán ga xe l a.... v.v
Tóm l i, bài toán ng

i đi du l ch (TSP) có th

ng d ng nh m sinh ra nh ng l i

gi i t i u cho nh ng v n đ trên, m c đích gi m thi u chi phí và mang l i hi u qu
kính t cao.
Bài toán ng

i đi du l ch (TSP) là m t bài toán t

ng đ i t ng quát cho hàng


lo t các v n đ nêu trên. Vi c tìm ra gi i pháp h u hi u cho bài toán này th c s là
v n đ đang đ
1.4.

PH

c quan tâm trên toàn th gi i.

NG PHÁP D

NH

GI I QUY T V N

Bài toán TSP là m t bài toán t i u t h p (Combinational Optimization) thu c
lo i khó. Trên th gi i đã t n t i m t s ph
M i ph

ng pháp đ gi i quy t bài toán này.

ng pháp đ u có nh ng u và khuy t đi m khác nhau. M t đ c đi m chung

c a nh ng ph

ng pháp đã t n t i là th i gian th c thi khá lâu cho bài toán có s

đ nh ho c thành ph l n.
M c tiêu c a đ tài là tìm hi u và phát tri n gi i thu t di truy n (GAs) và gi i
thu t mô hình m ng (Network Model) r i áp d ng các gi i thu t mà chúng ta trình
GV h ng d n: TS. Lê V n D c

HV th c hi n: Sok Phong (00704901)

Trang 5


Báo cáo lu n v n cao h c : TÌM HI U VÀ ÁP D NG GI I THU T DI TRUY N VÀ GI I THU T MÔ
HÌNH M NG TRÊN BÀI TOÁN NG
I I DU L CH

`

trên đ i v i bài toán t i u t h p ng

bày

i đi du l ch (TSP), sau đó chúng ta s

so sách gi a gi i thu t di truy n và gi i thu t mô hình m ng nh là gi i thu t Prim
ho c Kruskal….v.v trong mô hình Minimal Spanning Tree và đánh giá đ t i u
gi a hai gi i thu t đ rút ra m t l i gi i t t nh t và ph

ng pháp thích h p nh t cho

bài toán.

1.5

C u trúc c a lu n v n
ti n theo dõi, ph n này gi i thi u c u trúc n i dung c b n c a các ph n ti p


theo trong lu n v n :

Ch

ng I : M đ u

Ch

ng II : C s lý thuy t
Ch

ng này chú tr ng vào các c s lý thuy t quan tr ng đ

c s dung trong đ

tài

Ch

ng III : Các công trình liên quan
Ch

ng này gi i thi u các công trình trên th gi i liên quan đ n tài. Ch

còn giúp chúng ta hình dung đ

c m t cách t ng quan các ph

trên th gi i, t đó chúng ta th y đ


ng này

ng pháp đã t n t i

c m t s ý th c đ đánh giá gi a hai gi i thu t

nêu trên.

Ch

ng IV : Ph
Ch

ng pháp gi i quy t v n đ

ng này th hi n các v n đ liên quan đ n đ tài: gi i thu t chi ti t đ gi i

quy t v n đ .

GV h ng d n: TS. Lê V n D c
HV th c hi n: Sok Phong (00704901)

Trang 6


Báo cáo lu n v n cao h c : TÌM HI U VÀ ÁP D NG GI I THU T DI TRUY N VÀ GI I THU T MÔ
HÌNH M NG TRÊN BÀI TOÁN NG
I I DU L CH

`


ng V : Hi n th c và k t qu th c nghi m

Ch

Ch
ra, ch

ng này th hi n các k thu t đã đ

c s d ng đ hi n th c bài toán. Ngoài

ng này còn chú tr ng vào m t s k t qu th c nghi m khi ch y trên m t s

bài toán d li u l n.

Ch

ng VI : K t lu n và ph

Ch

ng này t ng k t m t s v n đ liên quan đ n đ tài, thêm vào đó là m t s

ph

ng h

ng h


ng m r ng

ng có th áp d ng đ phát tri n và m r ng đ tài.

GV h ng d n: TS. Lê V n D c
HV th c hi n: Sok Phong (00704901)

Trang 7


Báo cáo lu n v n cao h c : TÌM HI U VÀ ÁP D NG GI I THU T DI TRUY N VÀ GI I THU T MÔ
HÌNH M NG TRÊN BÀI TOÁN NG
I I DU L CH

`

CH
C

Ph

S

NG II
LÝ THUY T

ng pháp đ gi i bài toán TSP đ

c s d ng trong đ tài chính là gi i thu t


di truy n (GAs) và gi i thu t trong mô hình m ng (Network model).
Ph n 1: GI I THU T DI TRUY N
1. GI I TH U V GI I THU T DI TRUY N
Ph n này chúng ta s gi i thi u v gi i thu t di truy n c b n và các thu t toán
và mã gi c a gi i thu t.
1.1 Khái ni m v gi i thu t di truy n:
Gi i thu t di truy n hình thành d a trên quan ni m cho r ng quá trình ti n hóa
t nhiên là quá trình hoàn h o nh t, h p lý nh t, và t nó đã mang tính t i u. Quan
ni m này có th đ

c xem nh m t tiên đ đúng, không ch ng minh đ

phù h p v i th c t khách quan. Quá trình ti n hóa th hi n tính t i u
sau bao gi c ng t t h n (phát tri n h n, hoàn thi n h n) th h tr
nhiên đ

ch , th h

c. Ti n hóa t

c duy trì nh hai quá trình c b n: sinh s n và ch n l c t nhiên. Xuyên

su t quá trình ti n hóa t nhiên, các th h m i luôn đ
th th h c . Cá th nào phát tri n h n, thích ng đ
Cá th nào không thích ng đ
tr

c, nh ng

c v i môi tr


c v i môi tr

ng s t n t i.

ng s b đào th i. S thay đ i môi

ng là đ ng l c thúc đ y quá trình ti n hóa. Ng

l i góp ph n làm thay đ i môi tr

c sinh ra đ b sung thay

c l i, ti n hóa c ng tác đ ng tr

ng.

Các cá th m i sinh ra trong quá trình ti n hóa nh s lai ghép

th h cha m .

M t cá th m i có th mang nh ng tính tr ng c a cha m (di truy n), c ng có th
mang nh ng tính tr ng hoàn toàn m i (đ t bi n). Di truy n và đ t bi n là hai c ch
có vai trò quan tr ng nh nhau trong ti n trình ti n hoá, dù r ng đ t bi n x y ra v i

GV h ng d n: TS. Lê V n D c
HV th c hi n: Sok Phong (00704901)

Trang 8



Báo cáo lu n v n cao h c : TÌM HI U VÀ ÁP D NG GI I THU T DI TRUY N VÀ GI I THU T MÔ
HÌNH M NG TRÊN BÀI TOÁN NG
I I DU L CH

`

xác su t nh h n nhi u so v i hi n t

ng di truy n. Gi i thu t di truy n mô ph ng

các quá trình c b n sau: lai ghép, đ t bi n, sinh s n và ch n l c t nhiên.
1.2 M c đích
Trong th c t , có r t nhi u bài toán t i u quan tr ng đòi h i nh ng thu t gi i
ch t l

ng cao và c ng có nhi u bài toán t i u t h p (trong đó có nhi u bài toán

đã đ

c ch ng minh là thu c lo i NP-Complete). Gi i thu t di truy n là m t gi i

thu t n m trong k thu t Trí Tu Nhân T o đ gi i các bài toán có không gian tìm
ki m l n. Gi i thu t di truy n là m t lo i gi i thu t mô ph ng hi n t

ng t nhiên

nh k th a (inherit) 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à c nh tranh sinh t n đ


c gi i thích qua thí d v

ti n hoá c a m t qu n th th nh sau:
Có m t qu n th th . Trong s đó có m t s con nhanh nh n và thông minh h n
các 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 đó chúng t n t i đ th c hi n nh ng gì t t nh t có th đ

c: 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 ch 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 nh ng h m h p v “nguyên 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 th nhanh v i th nhanh, m t s th thông minh
v i th đ n đ n... và trên t t c , thiên nhiên th nh tho ng l i sinh ra m t con th
hoang dã b ng cách làm đ t bi n nguyên 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ó b m nhanh nh n và thông minh h n đã thoát ch t kh i ch n cáo. (Th t thú v
thay, nh ng con ch n c ng tr i qua ti n trình t

ng t -n u không nh ng con th

nhanh và thông minh s không đ nh ng con ch n b t chúng).
Khi tìm ki m l i gi i t i u, gi i thu t di truy n c ng th c hi n các b

ct

ng

ng v i câu chuy n đ u tranh sinh t n c a loài th


GV h ng d n: TS. Lê V n D c
HV th c hi n: Sok Phong (00704901)

Trang 9


Báo cáo lu n v n cao h c : TÌM HI U VÀ ÁP D NG GI I THU T DI TRUY N VÀ GI I THU T MÔ
HÌNH M NG TRÊN BÀI TOÁN NG
I I DU L CH

`

1.3 Gi i thu t di truy n và ph h
Gi i thu t di truy n s d ng các thu t ng vai m

n c a di truy n h c. Ta có th

nói v các cá th (hay ki u gen, c u trúc), trong m t qu n th (population); nh ng
cá th này c ng còn đ
Các nhi m s c th đ

c g i là các chu i hay các nhi m s c th (chromosome).
c t o thành t các đ n v - các gen – bi u di n trong m t s

chu i tuy n tính; m i gen ki m soát m t s đ c tr ng. Gen v i nh ng đ c tr ng
nh t đ nh có v trí nh t đ nh trong nhi m s c th . B t c đ c tr ng nào c a m i cá
th có th t bi u hi n m t cách phân bi t; và gen có th nh n m t s giá tr khác
nhau (các giá tr v tính n ng).
1.4 So sánh gi i thu t di truy n v i gi i thu t leo đ i
M i ki u gen s bi u di n m t l i gi i c a bài toán đang gi i. M t tí n trình ti n

hoá đ

c th c hi n trên m t qu n th các nhi m s c th t

ng ng v i m t quá

trình tìm ki m l i gi i trong không gian l i gi i. Tìm ki m đó c n 2 m c tiêu: khai
thác nh ng l i gi i t t nh t và kh o sát l i gi i trong không gian tìm ki m. Leo đ i
là m t thí d v chi n l

c cho phép khai thác và c i ti n l i gi i t t nh t hi n hành;

nh ng, leo đ i l i b qua vi c kh o sát không gian tìm ki m. Ng
ng u nhiên là m t thí d đi n hình c a chi n l

c l i, tìm ki m

c kh o sát không gian tìm ki m mà

không ch ý đ n vi c khai thác nh ng vùng đ y h a h n c a không gian. Gi i thu t
di truy n (GA) là ph

ng pháp tìm ki m t o đ

c s cân đ i đáng k gi a vi c khai

thác và kh o sát không gian tìm ki m.
GA thu c l p các gi i thu t xác su t, nh ng l i r t khác nh ng gi i thu t ng u
nhiên vì chúng k t h p các ph n t tìm ki m tr c ti p và ng u nhiên. Khác bi t
quan tr ng gi a tìm ki m GA và các ph


ng pháp tìm ki m khác là GA duy trì và

x lý m t t p các l i gi i (ta g i là m t qu n th ). T t c nh ng ph

ng pháp khác

ch x lý m t đi m trong không gian tìm ki m. Chính vì th , GA m nh h n các
ph

ng pháp tìm ki m hi n có r t nhi u.

GV h ng d n: TS. Lê V n D c
HV th c hi n: Sok Phong (00704901)

Trang 10


Báo cáo lu n v n cao h c : TÌM HI U VÀ ÁP D NG GI I THU T DI TRUY N VÀ GI I THU T MÔ
HÌNH M NG TRÊN BÀI TOÁN NG
I I DU L CH

`

GA th c hi n ti n trình tìm ki m l i gi i t i u theo nhi u h

ng, b ng cách

duy trì m t qu n th các l i gi i, và thúc đ y nhanh s thành hình và trao đ i thông
tin gi a các h


ng này. Qu n th trãi qua ti n trình ti n hoá:

sinh các l i gi i t

ng đ i t t, trong khi các l i gi i t

phân bi t các l i gi i khác nhau, hàm m c tiêu đ
tr

m i th h l i tái

ng đ i x u thì ch t đi.

c s d ng và đóng vai trò môi

ng.

2. CÁC QUÁ TRÌNH C A GI I THU T DI TRUY N
2.1. Quá trình lai t o và quá trình đ t bi n
Phép lai t o (Crossover) là quá trình hình thành nhi m s c th (chromosome)
m i d a trên c s các nhi m s c th cha m , b ng cách ghép m t (hay nhi u) đo n
gen c a hai hay nhi u nhi m s c th cha m v i nhau. Phép lai có th đ

c mô

ph ng nh sau:
- Ch n ng u nhiên hai (hay nhi u) cá th b t k trong qu n th . Gi s các
nhi m s c th c a cha m đ u có m gen.
- T o m t s ng u nhiên trong kho ng t 1 đ n m – 1 ( đi m lai). i m lai chia

các chu i con dài m1 và m2. Hai chu i nhi m s c th con m i s là m11+m22 và
m21+m12.
-

a hai cá th m i này vào qu n th đ tham gia các quá trình ti n hoá ti p

theo.
t bi n (Mutation) là hi n t

ng cá th con mang m t s tính tr ng không có

trong mã di truy n c a cha m . Phép đ t bi n x y ra v i xác su t nh h n nhi u so
v i xác su t lai. Phép đ t bi n có th mô ph ng nh sau:
- Ch n ng u nhiên m t cá th b t k cha m trong qu n th .
- T o m t s ng u nhiên k trong kho ng t 1 đ n m, 1 <= k <= m.

GV h ng d n: TS. Lê V n D c
HV th c hi n: Sok Phong (00704901)

Trang 11


Báo cáo lu n v n cao h c : TÌM HI U VÀ ÁP D NG GI I THU T DI TRUY N VÀ GI I THU T MÔ
HÌNH M NG TRÊN BÀI TOÁN NG
I I DU L CH

`

Thay đ i gen th k và tr cá th này v qu n th đ tham gia quá trình ti n hoá


ti p theo.
Phép lai, Phép đ t bi n có nhi u cách đ th c hi n nh là
a) Binary Ecoding
Crossover
Single point crossover

Hình 2.1 Single point crossover
11001011+11011111 = 11001111
Two point crossover -

Hình 2.2 Two point crossover
11001011 + 11011111 = 11011111
Uniform crossover -

Hình 2.3 Uniform crossover
11001011 + 11011101 = 11011111
Arithmetic crossover -

GV h ng d n: TS. Lê V n D c
HV th c hi n: Sok Phong (00704901)

Trang 12


Báo cáo lu n v n cao h c : TÌM HI U VÀ ÁP D NG GI I THU T DI TRUY N VÀ GI I THU T MÔ
HÌNH M NG TRÊN BÀI TOÁN NG
I I DU L CH

`


Hình 2.4 Arithmetic crossover
11001011 + 11011111 = 11001011 (AND)
Mutation
Bit inversion -

Hình 2.5 Mutation
11001001 => 10001001
b) Permutation Encoding
-Crossover
Single point crossover –
(1 2 3 4 5 6 7 8 9) + (4 5 3 6 8 9 7 2 1) = (1 2 3 4 5 9 7 2 1)
Mutation
Order changing –

(1 2 3 4 5 6 8 9 7) => (1 8 3 4 5 6 2 9 7)
C) Tree Enconding
Crossover

GV h ng d n: TS. Lê V n D c
HV th c hi n: Sok Phong (00704901)

Trang 13


Báo cáo lu n v n cao h c : TÌM HI U VÀ ÁP D NG GI I THU T DI TRUY N VÀ GI I THU T MÔ
HÌNH M NG TRÊN BÀI TOÁN NG
I I DU L CH

`
Tree


-

crossover

Mutation
Changing operator, number - selected nodes are changed

2.2. Quá trình tái sinh
Phép tái sinh là quá trình trong đó các cá th đ
nghi c a nó.

c sao chép trên c s đ thích

thích nghi là m t hàm gán m t giá tr th c cho các cá th trong

qu n th . Quá trình này có th đ

c mô ph ng nh sau:

- Tính đ thích nghi c a t ng cá th trong qu n th hi n hành, l p b ng c ng
d n các giá tr thích nghi ( theo s th t gán cho t ng cá th ). Gi s qu n th có n
cá th . G i đ thích nghi c a cá th th i là Fi, t ng d n th i là Fti, t ng đ thích
nghi c a toàn qu n th là Fm.
- T o m t s ng u nhiên F trong đo n t 0 đ n Fm.
- Ch n cá th th k đ u tiên tho F >= Ftk đ a vào qu n th c a th h m i.
2.3. Quá trình ch n l c (Selection)
Phép ch n là quá trình lo i b các cá th x u trong qu n th đ ch gi l i trong
qu n th các cá th t t. Phép ch n có th đ


c mô ph ng nh sau:

-

S p x p qu n th theo th t đ thích nghi gi m d n.

-

Lo i b các cá th cu i dãy đ ch gi l i n cá th t t nh t.

GV h ng d n: TS. Lê V n D c
HV th c hi n: Sok Phong (00704901)

Trang 14


Báo cáo lu n v n cao h c : TÌM HI U VÀ ÁP D NG GI I THU T DI TRUY N VÀ GI I THU T MÔ
HÌNH M NG TRÊN BÀI TOÁN NG
I I DU L CH

`

ng pháp đ th c hi n nh là: roulette wheel selection,

Phép ch n có nhi u ph

Boltzman selection, tournament selection, rank selection, steady state selection
v,v……sau đây là m t vài ph

ng pháp ch n


a) Roulette Wheel Selection
Ph

ng pháp Roulette ch n l a các cá th b ng vòng Roulette. Vòng roulette

ch a m t hình qu t cho m i thành viên c a qu n th t
đ

ng ng v i giá tr Pr(hi), và

c tính b i công th c sau:

Pr(hi)=

Fitness (hi )
p

å Fitness (hj)
j =1

Hình 2.6: Roulette Wheel Selection
b) Ph

ng pháp Tournament

T o ra n vòng đ ch n ra n cá th . Cá th v i đ thích nghi cao nh t trong
nhóm k ph n t đ

c l a ch n, nh ng cá th khác b lo i kh i vòng. H u h t các


gi i thu t b u ch n tournament là
Còn m t vài ph

ng pháp khác nh là Boltzman selection, rank selection,

steady state selection có th đ
2.4

k = 2.

c tìm th y trên các website.

thích nghi (Fitness)
Hàm m c tiêu là hàm dùng đ đánh giá đ t t c a m t l i gi i ho c cá th .

Hàm m c tiêu nh n vào m t tham s là gen c a m t cá th và tr ra m t s th c.
GV h ng d n: TS. Lê V n D c
HV th c hi n: Sok Phong (00704901)

Trang 15


Báo cáo lu n v n cao h c : TÌM HI U VÀ ÁP D NG GI I THU T DI TRUY N VÀ GI I THU T MÔ
HÌNH M NG TRÊN BÀI TOÁN NG
I I DU L CH

`

Tùy theo giá tr c a s th c này mà ta bi t đ t t c a cá th đó (ch ng h n v i bài


toán tìm c c đ i thì giá tr tr ra càng l n thì cá th càng t t, và ng

c l i, v i bài

toán tìm c c ti u thì giá tr tr ra càng nh thì cá th càng t t).
Gi s trong m t th h có N cá th , cá th th i đ

c ký hi u là ai. Hàm m c

tiêu là hàm Fitness(ai). V y đ thích nghi c a m t cá th ai tính theo đ thích nghi
là:

Pr(ai)=

Fitness (ai )
p

å Fitness (aj)
j =1

Ch ng h n, xét m t th h g m có 6 cá th v i đ t t (giá tr càng l n thì cá th
càng t t) l n l

t cho trong b ng sau :

STT

Fitness(ai)


1

5.3

2

2.1

3

6

4

2.9

5

1.0

6

0.2

B ng 2.1: Thí d c a đ thích nghi (Fitness) có 6 cá th
Theo công th c trên, t ng t t c Fitness (ai) c a 6 ph n t là : 17.5
Nh v y, đ thích nghi c a ph n t a1 :
Pr(a1) = 5.3 / 17.5 » 0.303
thích nghi c a ph n t a2 :
GV h ng d n: TS. Lê V n D c

HV th c hi n: Sok Phong (00704901)

Trang 16


Báo cáo lu n v n cao h c : TÌM HI U VÀ ÁP D NG GI I THU T DI TRUY N VÀ GI I THU T MÔ
HÌNH M NG TRÊN BÀI TOÁN NG
I I DU L CH

`

Pr(a2) = 2.1 / 17.5 = 0.12
Ta có b ng k t qu cu i cùng nh sau :
STT

F(ai)

Pr(ai)

1

5.3

0.303

2

2.1

0.120


3

6

0.343

4

2.9

0.166

5

1.0

0.057

6

0.2

0.011

B ng 2.2 Thí d xác su t c a đ thích nghi có 6 cá th
Nh n xét : đ thích nghi luôn có giá tr bi n thiên trong kho ng [0,1]. H n n a,
vì đ thích nghi s
ng


i ta th

ng v i kh n ng đ

c ch n l c trong vi c sinh ra th h sau nên

ng ch n cách tính sao cho đ thích nghi cu i cùng là m t xác su t,

ngh a là t ng đ thích nghi c a các cá th ph i nh h n ho c b ng 1.
M t gi i thu t di truy n đ gi i bài toán ph i có n m thành ph n sau:
-

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.

-

Ph

-

Hàm đ nh ngh a đ thích nghi.

-

Các phép di truy n.

-

Các tham s c a gi i thu t di truy n s d ng (kích th


ng pháp kh i t o qu n th ban đ u.

c qu n th , xác

su t lai, đ t bi n, ...).

3. MÃ GI C A GI I THU T DI TRUY N:

GV h ng d n: TS. Lê V n D c
HV th c hi n: Sok Phong (00704901)

Trang 17


Báo cáo lu n v n cao h c : TÌM HI U VÀ ÁP D NG GI I THU T DI TRUY N VÀ GI I THU T MÔ
HÌNH M NG TRÊN BÀI TOÁN NG
I I DU L CH

`

GA(Fitness, Fitness_threshold, p, r, m)
Kh i t o qu n th P: sinh ng u nhiên p nhi m s c th .
ánh giá: V i m i nhi m s c th h trong qu n th P, tính đ thích
Fitness(h).
While [max Fitness(h)] < Fitness_threshold do
T o ra th h m i (generation), Ps:
1. B u ch n(selection): ch n (1 – r)p ph n t c a P cho vào
Ps. Xác su t Pr(hi) c a các nhi m s c th hi

trong P đ


c

tính nh sau:
Pr(hi)=

Fitness (hi )
p

å Fitness (hj)
j =1

2. Lai t o(crossover): ch n (r * p) / 2 c p nhi m s c th t P
theo xác su t Pr(hi)

trên. V i m i c p (h1,h2) t o ra 2

con b ng cách áp d ng phép lai. Thêm t t c các con vào
qu n th Ps.
3.

t bi n(mutation): l y m ph n tr m c a các ph n t trong
Ps v i xác su t gi ng nhau. V i m i ph n t trên, đ o th
t m t bit đ

c ch n m t cách ng u nhiên trong hình th

c a nó.
4. C p nh t (update): P = Ps.
5.


ánh giá (evaluate): V i m i h trong P, tính đ thích nghi
Fitness(h).

Tr k t qu v là nhi m s c th trong P có đ thích nghi cao nh t.
B ng 2.3: Mã gi c a gi i thu t di truy n

GV h ng d n: TS. Lê V n D c
HV th c hi n: Sok Phong (00704901)

Trang 18


Báo cáo lu n v n cao h c : TÌM HI U VÀ ÁP D NG GI I THU T DI TRUY N VÀ GI I THU T MÔ
HÌNH M NG TRÊN BÀI TOÁN NG
I I DU L CH

`

Chú gi i các bi n trong gi i thu t di truy n :
§ Fitness: Hàm gán giá tr đánh giá cho m t nhi m s c th .
§ Fitness_threshold: gi i h n đ ch ra đi u ki n d ng.
§ p: s l

ng nhi m s c th trong qu n th .

§ r: ph n nh c a qu n th đ

c thay th b i phép lai


m ib

c.

§ m: t l đ t bi n.
Gi i thu t trên đ

c gi i thích nh sau : Ban đ u m t qu n th đ

c t o ra và

tính đ thích h p cho m i cá th trong qu n th . Sau đó, ta ch n hai cá th t t (đánh
giá t hàm đ thích nghi c a chúng) t qu n th này đ tái sinh (reproduction) b ng
cách lai t o hay đ t bi n. Sau khi các cá th con sinh ra, ta tính đ thích nghi c a nó.
M t qu n th m i s đ

c t o ra sau khi lo i b nh ng cá th x u. Và quá trình c

th l p đi l p l i nhi u l n. Các qu n th v sau s t t h n so v i qu n th cha m
tr

c đó.
Thu t toán GA di u bi n nh sau :

Hình 2.7 Di u bi n c a gi i thu t di truy n
GV h ng d n: TS. Lê V n D c
HV th c hi n: Sok Phong (00704901)

Trang 19



Báo cáo lu n v n cao h c : TÌM HI U VÀ ÁP D NG GI I THU T DI TRUY N VÀ GI I THU T MÔ
HÌNH M NG TRÊN BÀI TOÁN NG
I I DU L CH

`

4. TH HI N NHI M S C TH TRONG GI I THU T DI TRUY N
Nhi m s c th trong gi i thu t di truy n (GA) th

ng đ

c th hi n b i nh ng

chu i nh phân (bit); nh v y, phép toán di truy n, nh là phép đ t bi n và phép lai,
đ

c th c thi d dàng. Th hi n nh ng nhi m s c th b ng chu i bit có th khá

ph c t p. Ví d , t p các lu t if-then có th d dàng th hi n theo cách sau: ch n
cách mã hoá các lu t là phân ph i các chu i con c th cho m i ti n đi u ki n và
h u đi u ki n cho các lu t.
th y đ

c các lu t if-then đ

c mã hoá b ng các chu i bit nh th nào, đ u

tiên chúng ta s d ng chu i bit đ mô t ràng bu c trên giá tr c a thu c tính đ n.
Ví d xem xét thu c tính Outlook có 3 giá tr Sunny, Overcast, ho c Rain. Th hi n

thu c tính trên, ta dùng chu i bit có đ dài là 3.
Outlook = Overcast à 010
Outlook = Overcast v Rain à 011
Outlook = 111 à chúng ta không quan tâm đ n thu c tính c a nó
Wind có 2 giá tr là Strong và Weak.
Wind = Strong à 10
Wind = Weak à 01
PlayTennis có 2 giá tr là yes và no.
PlayTennis = yes à 10
PlayTennis = no à 01
Ta th hi n câu (Outlook=Overcast Ù Rain) Ù (Wind=Strong) nh sau

Outlook Wind
011

10

Chúng ta có th dùng lu t trên nh ti n đi u ki n. Ví d d

i đây là m t lu t

If Wind = Strong THEN PlayTennis = yes
có th đ

c th hi n b ng chu i sau:

GV h ng d n: TS. Lê V n D c
HV th c hi n: Sok Phong (00704901)

Trang 20



Báo cáo lu n v n cao h c : TÌM HI U VÀ ÁP D NG GI I THU T DI TRUY N VÀ GI I THU T MÔ
HÌNH M NG TRÊN BÀI TOÁN NG
I I DU L CH

`

Outlook Wind PlayTennis
111

10

10

5. CÁC PHÉP TOÁN TRONG GI I THU T DI TRUY N (Operation):

5.1. Phép ch n l c (Selection):
Phép ch n l c là vi c ch n nh ng nhi m s c th d a theo các giá tr c a hàm
thích nghi (fitness function). Theo c ch này, nh ng cá th nào có đ thích nghi
t t thì có nhi u c h i đ

c ch n l a. Có r t nhi u phép ch n l c ch ng h n nh

roulette wheel selection, Boltzman selection, tournament selection, rank
selection, steady state selection v,v…m t s phép ch n l c đã đ

c trình bày

trên .

5.2. Mã hoá nhi m s c th (Encoding of a Chromosome)
Có nhi u cách đ mã hoá nhi m s c th ch ng h n nh dùng chu i nh phân
(binary string). Mã hoá nhi m s c th gi ng nh ví d sau đây :

Chromosome 1 1101100100110110
Chromosome 2 1101111000011110
B ng 2.4 Thí d mã hóa nhi m s c th
M i nhi m s c th đ
th đ

c hình dung b ng binary string. M i bit trong string có

c hình dung cho đ c đi m c a bài tóan. S th t có r t nhi u ph

đ mã hoá. Mã hoá ph thu c vào v n đ c n đ

ng pháp

c gi i quy t.

5.3. Phép lai (Crossover)
Sau khi chúng ta mã hoá nhi m s c th , chúng ta có th ti n hành phép toán
lai. Phép lai là quá trình s n sinh ra 2 con m i t hai chu i cha m b ng cách sao
chép nh ng bit đ
sao chép t bit

c l a ch n t cha và m . Bit

v trí th i trong m i con đ


c

v trí th i c a cha ho c m . Vi c ch n l a cha ho c m đóng góp

GV h ng d n: TS. Lê V n D c
HV th c hi n: Sok Phong (00704901)

Trang 21


Báo cáo lu n v n cao h c : TÌM HI U VÀ ÁP D NG GI I THU T DI TRUY N VÀ GI I THU T MÔ
HÌNH M NG TRÊN BÀI TOÁN NG
I I DU L CH

`

v trí th i đ

bit

c xác đ nh b i m t n lai (crossover mask). Ta có các ki u lai

sau: Single-point, Two-point,
Chromosome 1 11001 | 00100110110
Chromosome 2 11011 | 11000011110
Offspring 1

11001 | 11000011110

Offspring 2


11011 | 00100110110

B ng 2.5 Thí d phép toán lai
5.4. Phép đ t bi n (Mutation)
Phép đ t bi n là quá trình sinh ra m t con t m t cha.

t bi n t o ra s thay

đ i nh m t cách ng u nhiên đ i v i chu i bit b ng cách ch n m t bit đ n ng u
nhiên r i đ i giá tr c a nó. Vi c đ t bi n th

ng di n ra sau vi c lai t o. Phép đ t

bi t có th minh h a nh sau:

Original offspring 1 1101011000011110
Original offspring 2 1101100100110110
Mutated offspring 1 1101111000011110
Mutated offspring 2 1101101100110110
B ng 2.6 Thí d phép toán đ t bi n

6. NH NG

NGH

6.1 Thông s c a gi i thu t di truy n (Parameters of GAs ):
-

T l c a phép lai (Crossover rate): T l


th

ng nên cao, kho ng 80%-

95% (m c dù có m t s t l phép lai kho ng 60% là t t)

GV h ng d n: TS. Lê V n D c
HV th c hi n: Sok Phong (00704901)

Trang 22


Báo cáo lu n v n cao h c : TÌM HI U VÀ ÁP D NG GI I THU T DI TRUY N VÀ GI I THU T MÔ
HÌNH M NG TRÊN BÀI TOÁN NG
I I DU L CH

`

-

T l

c a phép đ t bi n(Mutation rate) :T l c a phép đ t bi n nên th p.

T l t t nh t kho ng là 0.5%-1%
-

Kích th


c c a qu n th (Population size ) : Kích th

c t t nh t c a qu n th

kho ng là 20-30, đôi khi kích th

c 50-100 c ng có th đánh giá là t t. Có m t

nghiên c u c ng cho bi t kích th

c t t nh t c a qu n th d a vào kích th

cc a

mã hoá chu i (nhi m s c th ). Có ngh a là n u nhi m s c th có 32 bits thì qu n th
nên có kích th

c l n h n nhi m s c th có 16 bits.

- Phép ch n (Selection ): Routlette wheel selection là phép ch n c
ng đ

th
-

b n

c s d ng nhi u nh t. ôi khi rank selection c ng có th cho k t qu t t.

Mã hoá (Encoding): Mã hoá ph thu c vào v n đ và kích th


c c a bài

toán.
6.2 S áp d ng c a gi i thu t di truy n
Gi i thu t di truy n đ

c s

d ng đ gi i bài toán khó (nh

là NP- hard

problems), máy h c. T t c đ u s d ng dành cho đ h a hay là đ t o ra hình nh
ho c là âm nh c.
u đi m c a Gi i thu t di truy n: trong quan h song song c a nó. GAs có th
đ i ch trong không gian tìm ki m s d ng nhi u mô hình, nh v y GAs ít có kh
n ng b r i vào l i gi i t i u c c b gi ng nh các gi i thu t khác. Chúng ta th c
hi n (implement) GA d dàng. N u mà chúng ta có gi i thu t di truy n c b n r i,
chúng ta ch c n vi t ch

ng trình bi u di n nhi m s c th (ch m t object) m i đ

gi i quy t nh ng v n đ khác nhau. V i mã hoá gi ng nhau chúng ta ch thay đ i
hàm fitness, chúng s th c thi đ

c. M c dù đ i v i m t s bài toán có ch n l c,

th c thi vi c mã hoá và hàm fitness r t khó.
B t l i c a gi i thu t di truy n : th c hi n vi c tính toán b ng gi i thu t di

truy n có th ch m h n so v i các gi i thu t khác.
GV h ng d n: TS. Lê V n D c
HV th c hi n: Sok Phong (00704901)

Trang 23


Báo cáo lu n v n cao h c : TÌM HI U VÀ ÁP D NG GI I THU T DI TRUY N VÀ GI I THU T MÔ
HÌNH M NG TRÊN BÀI TOÁN NG
I I DU L CH

`

Ph n 2 : MÔ HÌNH M NG (Network Model)
1. GI I THI U V MÔ HÌNH M NG
Trong ph n này chúng ta s trình bày mô hình m ng (Network Model). Mô hình
m ng là m t trong nh ng mô hình đ gi i các l ai bài toán, nh là bài toán v n t i
(Transportation or distribution problem), ho c là bài toán ng

i đi du l ch (TSP –

Traveling Salesman Problem) v...v. Mô hình m ng này s đ

c dùng đ gi i bài

toán tìm chí phí t i thi u gi a đ nh ngu n và đ nh đ n.
2.

NH NGH A MÔ HÌNH M NG
th vô h


ng (undirected graph) G là m t c p hai t p(N,A),

các nút (Node) và A là t p các cung (arc) không có h
ho c c ng g i là cung vô h

đây N là t p

ng. Cung không có h

ng,

ng (undirected arc) là m t c p không k đ n th t hai

nút khác nhau i và j nào đó, i c a N, j c a N kí hi u là (i , j). Vây (i, j) =(j, i) trong
đ th vô h

ng. Cung c ng còn g i là c nh (edge). Cung (i , j) n i các nút i và j.

C p (degree) c a m t nút là s cung n i t i nó. M t đ

ng đi (path) t nút i1 đ n

nút it là b t nút khác nhau i1, i2, ……..,it sao cho (ik, ik+1) c a A v i k=1,….,t-1.
Chu trình (cycle ho c loop) t nút i1, i2, …….it sao cho i1,….,it-1 là m t đ

ng đi, it =

i1 và có ít nh t ba nút khác nhau ( t c là t-1 ≥ 3).


th đ

(connected) n u ng m i c p i, j c a N đ u có m t đ

ng đi t i đ n j. S các nút

c a đô th th

c g i là liên thông

ng kí hi u là | N | ho c n, còn s các cung là |A| .

ô th có h

ng (directed graph ho c digraph) c ng là m t c p (N,A)=G,

nh ng m i cung là môt c p có th t . Vây (i, j) ≠ (j, i). Nh ng đ th không đ
ch a cung “ t n i “

GV h ng d n: TS. Lê V n D c
HV th c hi n: Sok Phong (00704901)

Trang 24

c


Báo cáo lu n v n cao h c : TÌM HI U VÀ ÁP D NG GI I THU T DI TRUY N VÀ GI I THU T MÔ
HÌNH M NG TRÊN BÀI TOÁN NG
I I DU L CH


`

1

4
2

3

5

Hình 2.8
Ví d hình 2.7 là m t đ th có h

th có h

ng

ng G = (N, A) v i N = {1, 2, 3, 4, 5}, A =

{(1,2), (2,1), (1, 3), (3, 2), (1, 4), (4, 3), (3, 5)}. Ta s nói là cung (i, j) đi t nút i
đ n nút j. Cung này n i c nút i và j.
h

ng là đ th nh n đ

h

ng là liên thông n u đ th vô h


trong đô th vô h
Nh ng đ th có h
đ

th vô h

c khi không tính đ n h
ng t

ng t

ng trên các cung n a.

th có

ng ng là liên thông. M t đ

ng ng đ u g i là m t đ

ng t

ng ng v i m t đ th có

ng đi trong đô th có h

ng đi
ng.

ng có th ch a c hai cung (i ,j) và (j, i), nên đ xác đ nh m t


ng đi ph i nói rõ c

dãy nút i1,……,it và dãy cung a1, ….., at-1. Khi đó n u m t

cung ak có d ng “thu n “ ak=(ik, ik+1) thì ta nói ak là cung ti n (forward arc) trong
đ

ng đi này. Ng

c l i n u ak = (ik+1, ik,) thì ak là cung lùi ( backward arc). Chu

trình c ng đ nh ngh a nh

đ th vô h

g m hai nút khác nhau. M t đ

ng, nh ng

đây cho phép chu trình ch

ng đi ho c m t chu trình có h

ng (directed path

và directed cycle ho c circuit) n u nó ch ch a các cung ti n.Thi d hình …. 1,(1,
3), 3, (3, 2), 2, (2, 1), 1 là m t chu trình có h
2), 3 là m t chu trình không có h


ng vì (1, 3) và (3, 2) là cung lùi.

M ng (network) là m t đ th có h
v s l

ng. Nh ng 3, (1, 3), 1, (1, 2), 2, (3,

ng G = (N , A) cùng v i m t s thông tin

ng b sung nh : các s th c bi, i c a N, bi u th ngu n t ngoài (source

ho c external supply) ho c g i t t là ngu n (supply); các s uij ≥ 0 ( có th vô h n)

GV h ng d n: TS. Lê V n D c
HV th c hi n: Sok Phong (00704901)

Trang 25


×