tun_10_-_hc_liu_ng_dng_thut_gii_g.pdf

Upload: tieu-minh

Post on 06-Jul-2018

216 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/16/2019 Tun_10_-_Hc_liu_ng_dng_thut_gii_G.pdf

    1/30

    TRƯỜNG ĐẠI HỌC BCH KHOA H NỘI

    VIỆN CNG NGHỆ THNG TIN V TRUYỀN THNG

     ──────── * ───────

    TR TUỆ NHN TẠO

    Gả ậ ề ớ ườ ị

    ự ệ  Tươ C P 20101991

    Cấ K T 20102465

    Nễ H L 20101802

    Đ Q V 20102786

  • 8/16/2019 Tun_10_-_Hc_liu_ng_dng_thut_gii_G.pdf

    2/30

    MC LCLI NÓI U  .................................................................................................................................... 2

    CHƯƠNG I : GII THUT DI TRUYN (Genetic Algorithm - GA) ................................................. 3

    1. ng lc  ..................................................................................................................................... 3

    2. Thut gii di truyn ................................................................................................................... 4

    3. Các toán t di truyn  ................................................................................................................... 8

    4. u tranh sinh tn  ....................................................................................................................... 9

    CHƯƠNG II : BÀI TOÁN NGƯI DU LCH (Travelling Salesman Problem - TSP) ....................... 10

    1. Lch s bài toán :  ....................................................................................................................... 10

    2. Phát biu bài toán :  .................................................................................................................... 12

    3. Phân tích  phc tp :  .............................................................................................................. 12

    CHƯƠNG III :  XUT GII THUT DI TRUYÊN GII BÀI TOÁN NGƯI DU LCH .......... 13

    1. Gii thut  xut :  .................................................................................................................... 13

    1.1 Mã hóa bài toán :  ................................................................................................................. 13

    1.2 Kh i to qun th :  .............................................................................................................. 15

    1.3 Lai ghép :  ............................................................................................................................ 15

    1.4 t bin :  ............................................................................................................................ 17

    1.5 Chn lc t nhiên :  .............................................................................................................. 18

    1.6 Tin hóa :  ............................................................................................................................ 20

    2. Gi i thiu v chươ ng trình : ....................................................................................................... 21

    3. Kt qu chy các b d liu chun : ........................................................................................... 223.1 B d liu wi29.tsp : ............................................................................................................ 23

    3.2 B d liu qa194.tsp:  ........................................................................................................... 23

    3.3 B d liu xit1083.tsp:......................................................................................................... 24

  • 8/16/2019 Tun_10_-_Hc_liu_ng_dng_thut_gii_G.pdf

    3/30

    LI NÓI U

    Bài toán ngư i du lch là mt trong nhng bài toán ư c nghiên cu sâu

    nht trong l ĩ nh vc ti ưu hóa. Báo cáo này s trình bày 1 hư ng tip cn gii

    quyt bài toán ngư i du lch s dng gii thut di truyn.Gii thut di truyn v  cơ  bn mun mô phng li quá trình tin hóa ca

    sinh vt trong t nhiên vào các bài toán ti ưu hóa t ó ưa ra l i gii tt (có th 

    không là ti ưu nht) khi mà không th ưa ra ư c 1 gii thut chính xác hay

    vic vét cn các trư ng h p là bt kh thi.

    Mc dù ã rt c gng nhưng vn không th tránh khi nhng sai sót, mong

    thy giáo ch bo thêm.

  • 8/16/2019 Tun_10_-_Hc_liu_ng_dng_thut_gii_G.pdf

    4/30

    CHƯƠ NG I : GII THUT DI TRUYN (Genetic Algorithm - GA)

    Gii thut di truyn cũng như tin hóa da trên khái nim cho rng quá trình

    tin hóa t nhiên là hoàn ho nht, h p lý nht và t nó ã mang tính ti ưu. S 

    ti ưu ó ư c th hin   ch th h sau bao gi  cũng phát trin tt hơ n th h 

    trư c. Tin hóa t nhiên ư c duy trì nh  hai quá trình cơ  bn: sinh sn và chnlc t nhiên, xuyên sut quá trình tin hóa t nhiên, các th h m i luôn ư c

    sinh ra  b sung thay th th h cũ, cá th nào thích ng v i môi trư ng s tn

    ti, ngư c li s b ào thi.

    Gii thut di truyn bao gm 4 bư c chính: Mã hóa l i gii, kh i to qun

    th, s dng các phép toán di truyn và ánh giá  thích nghi. Sau ó, chúng ta

    li sinh ra mt qun th m i bng phép chn lc ri tip tc s dng các phép

    toán di truyn và ánh giá  thích nghi ca các cá th (in hình b i nhim sc

    th - NST) trong qun th. Thut gii ư c thc hin qua càng nhiu th h thì

    l i gii ưa ra càng ti ưu.1. ng l c

    Thut gii di truyn cung cp mt phươ ng pháp hc ư c thúc y b i s 

    tươ ng t v i s tin hóa sinh hc. Thay vì tìm kim các gi thuyt t tng quát

    n c th hoc t ơ n gin n phc tp, GAs to ra các gi thuyt k tip bng

    cách lp vic t bin và vic tái h p các phn ca gi thuyt ư c bit hin ti

    là tt nht.  mi bư c, mt tp các gi thuyt ư c gi là qun th hin ti ư c

    cp nht bng cách thay th vài phn nh  qun th  b i cá th con ca các gi 

  • 8/16/2019 Tun_10_-_Hc_liu_ng_dng_thut_gii_G.pdf

    5/30

    • 

    GA có th tìm kim trên các không gian gi thuyt có các phn tươ ng

    tác phc tp,   ó nh hư ng ca mi phn lên toàn th  thích nghi

    gi thuyt khó có th mô hình.

    •  Thut gii GA có th ư c thc hin song song và có th  tn dng

    thành tu ca phn cng máy tính mnh.

    2. Thut gii di truyn

    Bài toán dành cho GAs là tìm kim trên không gian các gi thuyt ng c 

     xác nh gi thuyt tt nht. Trong GAs “gi thuyt tt nht” ư c nh ngh ĩ a

    như là mt gi thuyt ti ưu hóa mt i lư ng s ư c nh ngh ĩ a trư c cho bài

    toán sp t i, ư c gi là  thích nghi ca gi thuyt. Ví d, nu tác v hc hi

    là bài toán xp x mt hàm chưa bit cho tp mu hun luyn gm d liu u

    vào và d liu u ra, thì  thích nghi có th ư c nh ngh ĩ a như là  chính

    xác ca gi thuyt trên d liu hun luyn này. Nu tác v là hc chin lư c chơ ic ,  thích nghi có th là s ván thng ca chin lư c này khi u v i các chin

    lư c khác trong qun th hin ti.

    Mc dù các thut gii di truyn ư c thc hin thay i theo bài toán c th,

    nhưng chúng chia s  chung cu trúc tiêu biu sau: Thut gii hot ng bng

    cách cp nht liên tc tp gi thuyt – ư c gi là qun th.  mi ln lp, tt c 

    các cá th  trong qun th ư c ư c lư ng tươ ng ng v i hàm thích nghi. Ri

    qun th m i ư c to ra bng cách la chn có xác sut các cá th thích nghi tt

  • 8/16/2019 Tun_10_-_Hc_liu_ng_dng_thut_gii_G.pdf

    6/30

    {

     // Fitness: hàm gán thang  i m ư c lư ng cho mt gi thuy t  

     // Fitness_threshold: Ngư ng xác nh tiêu chu n d  ng giài thut tìm ki m

     // p: S   cá th  trong qun th  gi thuy t

     // r: Phân s   cá th  trong qun th ư c áp dng toán t  lai ghép   mibư c

     // m: T   l cá th  b t bi n

    •  Kh i to qun th: P  To ngu nhiên p cá th gi thuyt

    •  Ư c lư ng:  ng v i mi h trong P, tính Fitness(h)

    •  while [max Fitness(h)] < Fitness_threshold  do 

    T o th  h m i, PS 

    1.  Ch n cá th : chn theo xác sut (1 – r)p  cá th trong qun th P 

    thêm vào PS. Xác sut Pr(hi) ca gi  thuyt hi thuc P ư c tínhb i công thc:

    1

    ( )Pr( )

    ( )i

    i  p

     j j

    Fitness hh

    Fitness h=

    =

    ∑ 

    2. 

     Lai ghép: chn lc theo xác sut 2r p×

     cp gi thuyt t qun th 

    P, theo Pr(hi) ã tính   bư c trên.  ng v i mi cp , to

    ra hai con bng cách áp dng toán t lai ghép. Thêm tt các các

    à P

  • 8/16/2019 Tun_10_-_Hc_liu_ng_dng_thut_gii_G.pdf

    7/30

    • 

    Tr v gi thuyt trong P có  thích nghi cao nht.

    }

    F 1 : C ướ ơ ả ủ ả ậ 

  • 8/16/2019 Tun_10_-_Hc_liu_ng_dng_thut_gii_G.pdf

    8/30

    Kh i to qun th 

    La chn cha m 

    Lai ghép

    t bin

    iu kin dng

    u tranh sinh tn

    Các cá th tt nht

    E

    FALE

    F 2 : Lư đồ ả ậ ơ ả 

  • 8/16/2019 Tun_10_-_Hc_liu_ng_dng_thut_gii_G.pdf

    9/30

    3. Các toán t  di truyn

    3.1 Lai ghép :

    Phép lai là quá trình hình thành NST m i trên cơ  s  NST cha m, bng cách

    ghép mt hay nhiu on gen ca hai (hay nhiu) NST cha m khác nhau.

    Các cp cha m ư c la chn ngu nhiên và xác sut xy ra lai ghép v imi cp ư c quy nh t trư c.

    Có nhiu cách lai ghép khác nhau:

    •  Lai ghép mt im ct, nhiu im ct.

    •  Lai ghép nhiu on.

    3.2 t bin :

    t bin là tình trng NST con không có mt (hoc mt s) tính trng có

    trong mã di truyn ca cha m.

    Các cp cha m ư c la chn ngu nhiên và xác sut xy ra t bin v i

    mi cp ư c quy nh t trư c, thư ng là rt nh.

  • 8/16/2019 Tun_10_-_Hc_liu_ng_dng_thut_gii_G.pdf

    10/30

    4. u tranh sinh tn

    Chn nhng NST t qun th kt qu theo mt quy tc nào ó thay th cho

    cha m  sinh ra th h m i. Mt s phươ ng thc u tranh sinh tn cơ  bn:

    •  Tráo i hoàn toàn cha m bng con.

    • 

    Tráo i ngu nhiên: Chn ngu nhiên k cha m và thay th bng kcon m i.

    •  Chn nhng cá th ưu tú nht trong qun th.

  • 8/16/2019 Tun_10_-_Hc_liu_ng_dng_thut_gii_G.pdf

    11/30

    CHƯƠ NG II : BÀI TOÁN NGƯ I DU LCH (Travelling Salesman

    Problem - TSP)

    1. Lch s  bài toán :

    Bài toán ngư i bán hàng (ting Anh: travelling salesman problem - TSP) làmt bài toán NP-Hard thuc th  loi ti ưu t  h p ư c nghiên cu trong lý

    thuyt khoa hc máy tính. Ni dung bài toán có th hiu khái quát như sau : Cho

    trư c mt danh sách các thành ph  và khong cách gia chúng, tìm chu trình

    ngn nht i qua tt c các thành ph úng 1 ln.

    F 3 22,775 C V, N I M A

    Bài toán ư c nêu ra ln u tiên năm 1930 và là mt trong nhng bài toánư c nghiên cu sâu nht trong ti ưu hóa. Nó thư ng ư c dùng làm thư c o

    cho nhiu phươ ng pháp ti ưu hóa. Mc dù bài toán rt khó gii trong trư ng h p

    tng quát, có nhiu phươ ng pháp gii chính xác cũng như heuristic ã ư c tìm

  • 8/16/2019 Tun_10_-_Hc_liu_ng_dng_thut_gii_G.pdf

    12/30

    có ví d cho chu trình trong nư c c và Thy S ĩ , nhưng không cha bt kì ni

    dung toán hc nào.

    Bài toán ngư i bán hàng ư c nh ngh ĩ a trong th k 19 b i nhà toán hc

    Ireland William Rowan Hamilton và nhà toán hc Anh Thomas Kirkman.

    Trư ng h p tng quát ca TSP có th ư c nghiên cu ln u tiên b i các nhàtoán hc   Vienna và Harvard trong nhng năm 1930.

    Hassler Whitney   i hc Princeton ưa ra tên bài toán ngư i bán hàng

    ngay sau ó.

    Trong nhng năm 1950 và 1960, bài toán tr   nên ph  bin trong gi i

    nghiên cu khoa hc   Châu Âu và M. George Dantzig, Delbert Ray Fulkerson

    và Selmer M. Johnson   công ty RAND ti Santa Monica ã có óng góp quan

    trng cho bài toán này, biu din bài toán dư i dng quy hoch nguyên và ưa ra

    phươ ng pháp mt phng ct  tìm ra l i gii. V i phươ ng pháp m i này, h ã

    gii ư c ti ưu mt trư ng h p có 49 thành ph bng cách xây dng mt chutrình và chng minh rng không có chu trình nào ngn hơ n. Trong nhng thp

    niên tip theo, bài toán ư c nghiên cu b i nhiu nhà nghiên cu trong các l ĩ nh

    vc toán hc, khoa hc máy tính, hóa hc, vt lý, và các ngành khác.

    Năm 1972, Richard M. Karp chng minh rng bài toán chu trình Hamilton

    là NP-y , kéo theo bài toán TSP cũng là NP-y . ây là mt lý gii toán

    hc cho s khó khăn trong vic tìm kim chu trình ngn nht.

    Mt bư c tin l n ư c thc hin cui thp niên 1970 và 1980 khi

  • 8/16/2019 Tun_10_-_Hc_liu_ng_dng_thut_gii_G.pdf

    13/30

    nghiên cu  so sánh kt qu. Năm 2005, Cook và cng s ã gii ư c mt

    trư ng h p có 33810 thành ph, xut phát t mt bài toán thit k vi mch. ây

    là trư ng h p l n nht ã ư c gii trong TSPLIB.

    n nay bài toán TSP vn ư c tip tc nghiên cu tìm ra l i gii cho các

    b d  liu l n hơ n. Chng hn b d liu ca nư c M ĩ  v i 115,475 thành ph ngư i gii ra chu trình ti ưu ư c trao thư ng 500$ (thông tin chi tit ti

    http://www.tsp.gatech.edu/ ).

    2. Phát biu bài toán :

    (*) Các khái nim cơ  bn v   th s  không ư c trình bày trong báo cáo.

    Phát bi u bài toán : Cho  th y  n nh vô hư ng, có trng s G = (V,

    E). Tìm chu trình  →  →. . .  →  v i  ∈ , 1,  sao cho tng trngs hành trình trên các cnh ( , ) và (, ) là nh nht.

    Mt chu trình như vy còn gi là chu trình Hamilton, nó i qua tt c cácnh ca  th úng 1 ln.  th y , luôn tn ti chu trình Hamilton.

    3. Phân tích  ph c tp :

    Bài toán TSP thuc l p bài toán NP-Khó (l p các bài toán không có gii

    thut trong th i gian a thc).

    Vic thc hin lit kê ht tt c các chu trình là iu gn như không th v i

    s nh l n ( th n nh phi duyt n! chu trình). S chu trình phi duyt tăng

  • 8/16/2019 Tun_10_-_Hc_liu_ng_dng_thut_gii_G.pdf

    14/30

    CHƯƠ NG III :   XUT GII THUT DI TRUYÊN GII BÀI TOÁN

    NGƯ I DU LCH

    1. Gii thut  xut :

    Nhóm  xut gii thut di truyn ơ n gin gii bài toán ngư i du lch. Giithut ư c cài t bng ngôn ng java.

    Các b d liu kim th ư c ly ti http://www.tsp.gatech.edu/  (cung cp

    các b d liu chun trên thc t)

    1.1 Mã hóa bài toán :

    1.1.1 Mã hóa  th :

      th ư c mã hóa bng danh sách mng các im và ta   tươ ng ng

    ca chúng. Dư i ây là ví d v b d liu  th chun.

    NAME : xit1083COMMENT : Bonn VLSI data set with 1083 points

    COMMENT : Uni Bonn, Research Institute for Discrete Math

    COMMENT : Contributed by Andre Rohe

    TYPE : TSP

    DIMENSION : 1083

    EDGE_WEIGHT_TYPE : EUC_2D

    NODE_COORD_SECTION

  • 8/16/2019 Tun_10_-_Hc_liu_ng_dng_thut_gii_G.pdf

    15/30

    Trng s trong ct u tiên là s hiu ca nh, trong s th 2 là hoành ,

    trng s th 3 là tung . Khong cách gia 2 nh ( , ) và ,  ca  th (trng s cho cnh) ư c tính theo công thc :

    ,    

     −

    +  −

     

    1.1.2 Mã hóa chu trình (cá th  - gen) :

    Chu trình ư c mã hóa bng mng có th t các s hiu ca nh. V i  

    th n nh thì mng có kích thư c n phn t. Ví d chu trình ca  th 10 nh :

    C1 1 3 2 4 6 9 8 7 5 10

    C2 10 7 9 6 4 2 8 3 1 5

    Ngoài ra mi chu trình cn phi có thêm thông s v chi phí ca toàn b 

    chu trình ó. Chi phí này ư c tính bng tng  dài tt c các cnh to nên chutrình ó (theo công thc tính khong cách ã  cp   trên).

    Mi chu trình là 1 l i gii, trong gii thut di truyn coi ó như 1 cá th.

    Vic tin hóa v sau ta s da trên tp chu trình kh i to ban u và tìm ra kt

    qu tt nht sau mt s th h.

    Dư i ây là ví d v b d liu chu trình chun.

    NAME: xit1083

    COMMENT: Tour length 3558

  • 8/16/2019 Tun_10_-_Hc_liu_ng_dng_thut_gii_G.pdf

    16/30

    1

    23

    55

    24

    256

    64

    79

    1.2 Kh i to qun th :

    Qun th ban u ư c kh i to bng cách sinh ngu nhiên các chu trình, s 

    lư ng chu trình kh i to là mt na s kích thư c cá th ti a. Vic sinh ngu

    nhiên s dng hàm t bin (s nói rõ phía dư i). S kích thư c cá th ti a cóth tùy bin theo s nh ca  th cn gii, sau nhiu ln chy nhóm chn kích

    thư c qun th là 100 cá th.

    1.3 Lai ghép :

    Phươ ng thc lai ghép ư c thc hin da trên 2 cá th u vào :

    C1 1 3 2 4 6 9 8 7 5 10

  • 8/16/2019 Tun_10_-_Hc_liu_ng_dng_thut_gii_G.pdf

    17/30

    Con 2 8 3 1 5

    •  Xét t u n cui chu trình 1, np dn các im chưa có trong con

    lai theo th t duyt ta ư c chu trình m i :

    Con 2 8 3 1 5 4 6 9 7 10

    • 

    Tính li chi phí cho chu trình m i sinh.(*) Cách lai ghép này  m b o con lai m i là 1 chu trình th a mãn.

    Cài t code :

    private Circle hybridize(Circle c1, Circle c2) {

    Circle child = new Circle(c1.getLength());

    Random rand = new Random();int p = rand.nextInt(child.length - 1);

    int i = 0, j = 0, k = 0;

    for (i = p; i < child.length; i++)

    {

    child.vertex[j] = c2.vertex[i];j++;

    }

    for (i = 0; i < child.length; i++)

    {

    for (j = 0; j < child.length - p; j++){

    if (c1.vertex[i] == child.vertex[j])

    break;

    else

  • 8/16/2019 Tun_10_-_Hc_liu_ng_dng_thut_gii_G.pdf

    18/30

    return child;

    1.4 t bin :

    Phươ ng thc t bin ư c thc hin da trên 1 cá th u vào :C1 1 3 2 4 6 9 8 7 5 10

    Thc hin t bin bng tráo i các im trên gen cho nhau. S ln tráo

    i ư c sinh ngu nhiên t trong khong 5% chiu dài chu trình (tc là có ti a

    10% v  trí trên 1 gen có th b t bin), v  trí im tráo cũng ư c sinh ngu

    nhiên trong quá trình chy.

    Ví d v i t bin C1 bng tráo i 2 ln : tráo 3 và 9, tráo 4 và 10. Khi ó

    ta ư c chu trình m i :

    C2 1 9 2 10 6 3 8 7 5 4

    (*) Cách  t bi  n này  m b o cá th  m i sinh là 1 chu trình th a mãn.

    Cài t code :

    private Circle mutate(Circle c) {

    int n = c.getLength();

    Circle nextgen = new Circle(n);

    nextgen.setCircle(n, c.getCircle());Random rand = new Random();

    int count = rand.nextInt(mutateCoefficient) + 1;

    int p1, p2, temp;

  • 8/16/2019 Tun_10_-_Hc_liu_ng_dng_thut_gii_G.pdf

    19/30

    count--;}

    return nextgen;

    }

    1.5 Chn lc t  nhiên :

    Kích thư c qun th là c nh qua các th h.  mi th h ta li có các cá

    th m i sinh bng lai ghép và t bin do ó cn phi có s chn lc  m bo

    tính cân bng ca qun th cũng chính là tránh các li phát sinh v b nh  khi

    kích thư c qun th quá l n.ố ℎể ở 1 ℎế ℎệ  ℎ ℎướ ặ địℎ + ố ℎể ớ ℎ 

    Cách thc chn lc cá th ư c ánh giá da trên chi phí ca mi chu trình.

    Cá th ư c chn làm l i gi cui cùng là cá th có chi phí nh nht trong qun

    th sau mt s th h tin hóa.

    Ban u toàn b qun th s ư c sp xp tăng dn v chi phí và ch gi li

    nhng cá th thích nghi nht (có chi phí nh nht). Tuy nhiên cách làm này có

    hn ch v i nhng b d liu l n. Khi s th h t n 1 mc nht nh, vic

    tìm ra chu trình nh hơ n ngày càng khó khăn cho nên tp cá th trong qun th 

    gn như không bin i, iu này làm gim s a dng ngun gen cho tin hóa   

    các th h sau.

    Do vy nhóm ưa ra cách chn lc t nhiên như sau :

  • 8/16/2019 Tun_10_-_Hc_liu_ng_dng_thut_gii_G.pdf

    20/30

    Cách thc chn lc này m bo s phong phú ca qun th sau nhiu th h. Bng cài t c th, cách thc chn lc này em li  k  t qu t i ư u hơ  n rt

    nhiu so v i cách chn lc trư c v i mt s b d liu.

    (*) T  i ư u Ch n l  c t  nhiên  : Cách thc chn lc cn n vic sp xp

    các cá th theo chi phí. Vic sp xp là rt tn kém khi qun th có kích thư cl n. Gii thut sp xp ã ư c s dng là Selection Sort ( phc tp Θ()).Ban u,   mi bư c chn lc u sp xp li toàn b qun th. Tuy nhiên có th 

    ch cn thc hin sp xp ℎ ℎướ ặ địℎ cá th u tiên  gim b t s lư ng phép so sánh và i ch.

    private void sortList() {  // Selection sort chư a ti ư u 

    int i = 0, j = 0, min;

    Circle temp;

    for (i = 0; i < population.size() - 1; i++)

    {min = i;

    for (j = i + 1; j < population.size(); j++)

    {

    if (population.get(j).cost < population.get(min).cost)

    min = j;

    }temp = population.get(i);

    population.add(i, population.get(min));

    population.remove(i + 1);

    population remove(min);

  • 8/16/2019 Tun_10_-_Hc_liu_ng_dng_thut_gii_G.pdf

    21/30

    •  T : for (i = 0; i < population.size() - 1; i++)

    •  Thành : for (i = 0; i < maxPopulation - 1; i++) 

    population.size()  là ố ℎể ở 1 ℎế ℎệ  còn maxPopulation làℎ ℎướ ặ địℎ.

    Ci tin này em li  hiu nă ng t  t hơ  n  cho gii thut v  th i gian chy.Tuy nhiên so sánh trong 1 s trư ng h p, cách chn lc này cho kt qu ti hơ n

    khong 5%.

    1.6 Tin hóa :

    V i qun th kh i to ban u, chúng ư c tin hóa mt cách ngu nhiên và

    thích nghi v i iu kin chn lc, các cá th kém thích nghi s b loi thi và cá

    th tt nht ư c chn làm l i gii.

    Vic tin hóa din ra qua mt s th h,   mi th h ta thc hin lai ghép

    và t bin ngu nhiên trên toàn qun th.•  Lai ghép : ngu nhiên trong 50% s cá th ng u tiên ca qun th 

    (La chn cha m ngu nhiên).

    •  t bin cho toàn b qun th 100% (tuy iu này có v trái t nhiên

    nhưng vic tìm ra ngun gen m i cn ưu tiên hơ n ht).

    Sau mt s th h nh trư c (10,000 n 10,000,000) chươ ng trình s dng

    và xut ra kt qu.

    (*) C i ti  n   a lu ng  :   tn dng hiu năng các b vi x  lý a lõi gii

  • 8/16/2019 Tun_10_-_Hc_liu_ng_dng_thut_gii_G.pdf

    22/30

    2. Gi i thiu v chươ ng trình :

    F 4 : G ệ ươ

    Chươ ng trình v i giao din ơ n gin gm 1 ca s nhp thông tin và hin

    kt qu. Mc nh chươ ng trình s c d liu trong các tp tin i kèm :  th 

    u vào inputGraph.txt và 1 chu trình mu  so sánh kt qu inputCircle.txt. D liu trong các tp tin phi   nh dng chun như ã  cp trong các mc mã

    hóa  th, mã hóa chu trình. Nu thông tin không úng nh dnh, chươ ng trình

    s không chy.

    Ngoài ra chươ ng trình cung cp thêm 1 s thit lp thông s v s lư ng cá

    th  trong qun th  (Population size) và s  lư ng th  h  tin hóa (Max

    Generation). S  liu mc nh ban u là 100 cá th và 10.000 th h.  gi i

    hn các li v b nh  và hn ch th i gian chy quá lâu, chươ ng trình t sn s 

  • 8/16/2019 Tun_10_-_Hc_liu_ng_dng_thut_gii_G.pdf

    23/30

    Thông s này mc nh thit lp là 2 và cho phép thit lp trong khong t 1 n4. Thit lp y  các thông s, bm calculate  thc hin tính toán.

    Kt qu tr v gm chi phí cho ư ng i tt nht mà chươ ng trình tính toán

    ư c và chi phí tính toán t chu trình mu nhp vào (có th không cn nhp chu

    trình u vào). Ngoài ra chươ ng trình hin th th i gian chy theo giây và toàn b 

    chi tit v chu trình tính ư c ư c lưu trong tp tin outputCircle.txt, bm nút

    show circle  hin xem ni dung chu trình.

    Trong quá trình tính toán, chươ ng trình s dng các file tm  lưu kt qu 

    tính toán trung gian và kt qu tt nht sau các ln chy. Khi kh i chy nu nhp

    sn 1 chu trình vào tp tin tempCircle.txt tươ ng ng v i  th thì chươ ng trình

    có th s nhanh chóng tìm ư c kt qu tt hơ n.

    3. Kt qu chy các b d  liu chun :

    S  dng các b  d  liu chun cho bài toán TSP ư c ti v  t  tranghttp://www.tsp.gatech.edu/  

    D liu trong mi b bao gm thông tin v tên b d liu, s nh, dng  

    th và danh sách nh cùng v i ta  mi nh.

    Nhóm la chn các b d liu sau  th nghim gii thut :

    Tên b d liu S nh Chi phí ca l i gii ti ưu ã tìm ư c

    wi29.tsp 29 27603

    194 t 194 9352

  • 8/16/2019 Tun_10_-_Hc_liu_ng_dng_thut_gii_G.pdf

    24/30

    Cu hình máy tính chy gii thut :

    Intel(R) Core(TM) i5-3210M CPU @ 2.50GHz

    RAM DDR3 4GB bus 1600MHz 

    OS Windows 7 x64

    Trong quá trình chy s dng thit lp s cá th ti a là 100 và s th h 

    ln lư t   các mc 10.000, 50,000, 100.000, 500.000, 1.000.000, 5.000.000 tùy

    b d  liu. Mi mc thit lp cho chy 10 ln và ly ra giá tr nh nht  so

    sánh v i chi phí ti ưu mu (ly t b d liu chun). Chi tit v kt qu các ln

    chy có trong Ph lc i kèm báo cáo này.Sau ây là thng kê kt qu chy chươ ng trình v i mt s b d liu :

    3.1 B d  liu wi29.tsp :•  Tên b d liu wi29.tsp (Western Sahara)

    •  Kích thư c  th : 29 nh

    • 

    Chi phí chu trình ti ưu : 27603

    Kt qu chy :

    Pop size Max Gen Min cost % TimeOptimalfound

    100 10.000 27601,17 99,99 59 Yes

    100 500.000 27601,17 99,99 903 Yes

    (*) Có th do kt qu ti ưu ư c cung cp theo b d liu khi tính toán ã

  • 8/16/2019 Tun_10_-_Hc_liu_ng_dng_thut_gii_G.pdf

    25/30

    • 

    Chi phí chu trình ti ưu : 9352Kt qu chy :

    Pop size Max Gen Min cost % TimeOptimalfound

    100 1000 11465,45 122,6 17 No

    100 10000 10147.12 108,5 192 No

    100 100.000 10137,51 108,4 1783 No

    Kt lun : chưa tìm thy chu trình ti ưu

    3.3 B d  liu xit1083.tsp:•  Tên b d liu xit1083.tsp (VLSI - XIT1083 – Vi mch tích h p)

    •  Kích thư c  th : 1083 nh

    •  Chi phí chu trình ti ưu : 3617,26/3558

    Kt qu chy :

    Pop size Max Gen Min cost % TimeOptimalfound

    100 1000 10774,26 297,86 80 No

    100 10000 8694,27  240,36 241 No

    Kt lun: chưa tìm thy chu trình ti ưu

  • 8/16/2019 Tun_10_-_Hc_liu_ng_dng_thut_gii_G.pdf

    26/30

    4. ánh giá gii thut và các ci tin trong tươ ng lai:Gii thut ã  xut áp ng cơ  bn các bư c trong gii thut di truyn.

    Kt qu chy gii thut cho kt qu ti ưu trong các trư ng h p s nh nh dư i

    100 và ưa ra kt qu khá tim cn v i các trư ng h p s nh khong 1000.

    Còn v i nhng trư ng h p s nh l n hơ n 1000 gii thut vn chưa tìm ra ư c

    l i gii.

    Gii thut di truyn ã  xut phn l n vn ph thuc vào s “may mn”

     tìm ra kt qu. Do ó  tìm ư c kt qu ti ưu v i các trư ng h p s nh

    l n là rt hn ch. Trong tươ ng lai, nhóm s  tìm hiu và cài t các gii thut

    heuristic giúp tìm ra ư c l i gii ti ưu v i  th có kích thư c l n hơ n, cùng

    v i ó là các ci tin v  gii thut GA như  qun th ng, a qun th  tươ ng

    tác…

  • 8/16/2019 Tun_10_-_Hc_liu_ng_dng_thut_gii_G.pdf

    27/30

    TNG KT

    Báo cáo ã làm rõ các khái nim v gii thut di truyn và các bư c thc

    hin khi áp dng vào gii quyt bài toán ngư i du lch. Kt qu gii thut ã cài

    t vn còn nhiu hn ch  khi th i gian gii quyt các b  d  liu l n hơ n c  10~20 nghìn nh. Trong tươ ng lai nhóm s tip tc ci tin thut toán bng các

    gii thut heuristic h tr  tìm ư ng, ci tin gii thut di truyn bng cơ  ch a

    qun th có tươ ng tác.

  • 8/16/2019 Tun_10_-_Hc_liu_ng_dng_thut_gii_G.pdf

    28/30

    TÀI LIU THAM KHO

    1 ạ ă Hả ả ệ ạ. 

    2 Nễ Đ ậ ế . 

    3 ...%%%%%%%%%%%

    %%. 

    4 C ệ ộ ữ ệ ẫ ạ ://.../..

  • 8/16/2019 Tun_10_-_Hc_liu_ng_dng_thut_gii_G.pdf

    29/30

     B ậ ớ ọ ệ ạ 28

    PH LC

    KT QU CHY GII THUT TRÊN CÁC B D  LIU

    1. B d liu wi29.tsp :

    B d  liu wi29.tsp  S nh : 29 Chi phí chu trình ti ư u : 27603 Chi phí chu trình tt nht : 27601,17 Tìm thy chu trình ti ư uPopsize

    MaxGen

    Re_01 Re_02 Re_03 Re_04 Re_05 Re_06 Re_07 Re_08 Re_09 Re_10Averagerun time

    Min costOptimal

    costMin/opt

    %

    100 10000 27748,71 27748,71 27748,71 27748,71 27748,71 27748,71 27601,17 27601,17 27601,17 27601,17 59 27601,17 27603 99,99

    100 100000 27601,17 27601,17 27601,17 27601,17 27601,17 27601,17 27601,17 27601,17 27601,17 27601,17 903 27601,17 27603 99,99

    2. B d liu qa194.tsp

    B d  liuqa194.tsp 

    S nh : 194 Chi phí chu trình ti ư u : 9352 Chi phí chu trình tt nht :Chư a tìm thy chu trình ti

    ư u

    Popsize

    MaxGen

    Re_01 Re_02 Re_03 Re_04 Re_05 Re_06 Re_07 Re_08 Re_09 Re_10Averagerun time

    Min costOptimal

    costMin/opt

    %

  • 8/16/2019 Tun_10_-_Hc_liu_ng_dng_thut_gii_G.pdf

    30/30

     B ậ ớ ọ ệ ạ 29

    100 1000 15000,60 14800,71 13448,23 13098,30 12495,81 12207,76 12048,84 11747,44 11505,10 11465,45 17 11465,45 9352 122,6

    100 10000 11265,86 11158,49 11104,15 10738,32 10585,48 10483,64 10188,88 10147.12 10147.12 10147.12 192 10147.12 9352 108,5

    100 100000 10147.12 10137,51 10137,51 10137,51 10137,51 10137,51 10137,51 10137,51 10137,51 10137,51 1783 10137,51 9352 108,4

    3. B d liu xit1083.tsp :

    B d  liuxit1083.tsp  S nh : 1083 Chi phí chu trình ti ư u : 3617.26 Chi phí chu trình tt nht : Chư a tìm thychu trình ti ư u

    Popsize

    MaxGen

    Re_01 Re_02 Re_03 Re_04 Re_05 Re_06 Re_07 Re_08 Re_09 Re_10Averagerun time

    Min costOptimal

    costMin/opt

    %

    100 1000 14774,42 13064.93 12304.03 11987.84 11658.09 11387.66 11176.63 10957.42 10899,42 10774.26 80 10774.26 3617,26 297,86

    100 10000 9599.92 9526.40 9374.46 9281,23 9119,28 9063,45 9005,01 8694,27 8914,20 8859,74 841 8694,27 3617,26 240,36