1. Trang chủ
  2. » Luận Văn - Báo Cáo

Tiểu luận Thuật toán và phương pháp giải quyết vấn đề Bài toán người du lịch

37 1,9K 3

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 37
Dung lượng 1,18 MB

Nội dung

 ĐẠI HỌC CÔNG NGHỆ THÔNG TIN   !"#$%&'"'&()*+,-./     !"#$%#%&# 0 TP.HCM, Tháng 01 - 2014 '"('" 1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111112 345611111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111117 60 389:3;<=>4?3@11111111111111111111111111111A 01$B&.CDEFG1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111A 010101H&IF111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111A 010121/JKL1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111A 010171/JK.M111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111N 21!""!&(O"&$BPGH111111111111111111111111111111111111111111111111111111111111110Q 210101RKO"11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110Q 210121$%&'"'",!111111111111111111111111111111111111111111111111111111111111111111111111111111111111110Q 210171%STGUG!MF'V'"111111111111111111111111111111111111111111111111111111111111111111111111111111111111100 2101A1FD!DW&X11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100 2101Y1Z"11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100 2101[1M\X'Z"1111111111111111111111111111111111111111111111111111111111111111111111111111111102 2101N1X2]^&11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111102 62 :_:`ab?c3defg<=1111111111111111107 01+J+-DWPhGK1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111107 21!"1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111107 210101DW&X111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111107 210121M\'Z"111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110Y 210171M\X'Z"111111111111111111111111111111111111111111111111111111111111111111111111111111110N 67 i>jak11111111111111111111111111111111111111111111111111111111111111111111112A 6A ldm<=>4?3@n:op qer_:a<s;111111111111111111111111111111111111111111170 A10101tGO"&$BPGH11111111111111111111111111111111111111111111111111111111111111111111111111111111170 A101218$T&'u&,MF.J+vD&vw111111111111111111111111111111111111170 A10171!".J+&(O"&$BPGH11111111111111111111111111111111111111111111111111111111172 A101A1$R&Px.yOz&&&h{31111111111111111111111111111111111111111111111111111111111111177 3d_m<11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111117N  2 ()*+,- "&$BPGHCE.$B&.&t-&$B$%&Z|SFG}SF~C F*•&XG&$B&€-'"•‚']C.)FGLG$ƒ-(" ']P*-‚GL,)F*,/']OF.L,R'„D…-C.$ƒ '"O†,+J‡0NOTF"X,$%&)]G{DˆGGFa‰F FG,FS}*&_DJFC,.$ƒ&D&]&"DE3U*+ .ŠH‹+&MF<€ŒDP1•F•&DTO"J•"Ž +&ROT.‚'Ž'!"•&}S]•|D&*w&! "&$BF•&XW&Gh&O"‘J•~1&$BFOt.L’,& O]"J+)(&(O"*Dw"*„••0“YA|A“.”~C.+• 2QQAO"&(.$ƒ,RS].”GwR2A1“N•C,PvO"S–•+'\•&F hF1 "&$BPGH|DF,}GG&{FG}SFDOG}~G‚D&h&O" J.†,J•D&X1•D-/"+'!&(O"*&F*•J •RDF.BC$S’P\&)**+„C",!1L.Z*""+' !,/+•FC$!"PD*/.$ƒ"'P\&•h&J+)(J()F1 D&†G!*C}€.$ƒ'V'&RK+'$%&'"'", !,S%G$ƒ,/'$%&'"'&(.‚."PvF,'u&,MF.J+ v,R)"DEFŽ•,/‹D&vw.†&(O"E.$B&.&t -&$BPGH1Z*G'$%&'"'$%&.]J•wD&†G!*” -,U$T&C,$R&Px.yC•&$DEO*‚".%&( -)F.••.$ƒ‚"EJ",R""&(D*/]&O"*1 *}€DEO*O]'LSF.Z* L0 3U*+Gw)F.+O"&$BPGH1 L2 +J+-DWPhGK,.y$%&DE1 L7 —&Š$%&DE1 LA {%G$ƒ,/&(O"&$BPGHOz&'u&,MF. J+D&vw eRh&J+Ž+MF}w\wMFO*”z \.„X!',E†CF&„-XFU$T&G„.†D†JF h&&EE.—,.$ƒO+1 ˜€Z(%{1{1™e•%.—•h&O&(&SW„ ,SZSt.†(Ž&SvDF.BMFO*1 7 ,#(.-/0(*12-345*678)*9-(:" # ;<=>?@ABC>D ### EFA .ŠH|•$R&~š|eC˜~1 Chu trình (có hướng) Hamilton GDE|•$R&~S%-')FX.”.ŠH1 Đường đi (có hướng) Hamilton G.$B&.|•$R&~S%-')FX.”.ŠH1 $,!*XDEFG•.‚POz&S].”C,X.$B&.FG •.‚POz&S].”D•01 ŠHŽFDE|•$R&~FG&XGđồ thị Hamilton. Ví dụ1›V.ŠH @# ŠHDwJ&•.$B&.˜G}D,E".”&CC}CŒ•O!G…C$&• DEFG F→O→→P→}→Œ→&→F ##G HIJK Định lí (S’.ŠH•DEFG1_.• |~ŠHGw&1 |~X.”MF•O!GR%yOz&2C,•.W&FGw‚ ‚DE1 |~+€•F.k.”O-Jœ^&"Gw‚W&CE.ŠH•G S–•].Fk'LGw&1 Chứng minh K./|~,|~G†w1K./|~S*DF•v+GJ€•F.J .”O-Jœ^&"Gw‚W&EDEOHFDF/- J'L1 Hệ quả (S’.ŠHn.”•.$B&.FG1_.• |~ŠHGw&1 |~•„-n−2.”O!≥2C,™.”•.W&FGw‚‚ .$B&.1 |~+€•F.k.”O-Jœ^&"Gw‚W&CE.ŠH•G S–•].Fk•0'LGw&1 A Ví dụ 11›V.ŠH @G ŠHJ&•DEFG1 !,!*C+ŠDEFGE•'(•Y1eEO! P}&|, 2 ~šP}&|, A ~š7w'(‚R, 2 ,‚R, A J&‚ DE1{]•GGAwJ&†•Y.$ƒCZx1 F•&•†"'P\&Dv+'HGUDw1+Ou.2.”, 2 ,, A ^& "Gw‚W&E.ŠH•GG7.”.‚G!'C•7'LGw &1$,!*}K./|~MFHGUDwE.ŠHJ&•DE FG1 Ví dụ 21Ž&Dz&.ŠHSFJ&•.$B&.FG1 @$ (S’G.$B&.FG1ŠHDw•0[.”Cw.$B&.•0Y |ž~1 ‘Cách 11eE.ŠH•2NwS]J&zDw.$B&'(G02 |žž~1 ›V".”‚!'šŸ0C2C7CACYC[CN 1X˜  Cš0C111CNCG!'ƒ'" Gw‚.”∈J&zDw.$B&.1eEXy'.”D&J&J/ Fw"!'˜  •&DBF•&y'‚1$,!*S]Gw‚".” MFJ&zDwG Jš ( ) ∑ = N 0i i Ecard eES]Gw‚0.”zDw.$B&./-G2w™!' ˜ 0 C˜ 2 C˜ 7 C˜ N •„-0,™!'˜ A C˜ Y C˜ [ •„-71eE,!* Y J≥Až0•7ž7š071 Zx,R|žž~1 ‘Cách 21›V“.”•G1Z*G".”J&J/F•&y'‚C D&.••„-N.”•2Gw‚∈,2.”•G•„-0 Gw‚∈1$,!*S]∈„-GNž2•2š0[CZx,R|ž~1 ‘Cách 31›"N.”0C2C7CACYC[CN,"Gw‚E.ŠH•G •“.”G!'CŽ“'LGw&1}K)(21A12|~C.ŠHJ&• .$B&.FG1 Ví dụ 31|Bài toán xếp chỗ ngồi~“&$BO^&&Š•D&OD•AGL1™ GLX.$ƒ€+'&Š}‚Žv1—*F*.‹™&Š™GLSFJ&• 2&$B&Š&LF%0GL1 FG!'.ŠH“.”0C2C111C“C.””&$B1F.y.”0Z," .”•GDw.$B&D•$E,–1™"€+'G‚DEFGMF .ŠH1 DEŽ-$E,–G 0→2→7→A→Y→[→N→•→“→0 @L ›F*GLG$ƒDE"&•π¡A}/J.Š&ŠF!.$ƒ" DEC•&G""€+'CSF @& 0→7→Y→2→N→A→“→[→•→0 [ @M 0→Y→N→7→“→2→•→A→[→0 @N 0→N→“→Y→•→7→[→2→A→0 ##$ HIJ<O Định lý 1ŠH.M_  ,RnG…|n≥7~•|n−0~¡2DEFG•&. ‚J&&FF|ŽGJ&•&~1 Chứng minh $%&v$GB&(O"€+'“&$BDwOD•CF€Z*Pv&"€+' }DEFGDw.ŠHSF|š2J•0~ 0→2→7→111→2J→2J•0→0   @P N ›F*DEGLG$ƒ‚&•π¡J}/J.Š&ŠF!.$ƒJ "€+'1 Định lý 2 (Dirac):G.%.ŠHn.”|n≥7~1+O!P}&|,~≥n¡2,RX .”vMFCE•DEFG1 Định lý 3:G.ŠH.%n.”|n≥7~1+O!P}&|,~≥|−0~¡2,RX.” ,MFE•.$B&.FG1 Chứng minh +š0E•.$B&FGL$B&G0.”1 (S’¢01FG!'.ŠHOz&"w,.”,,-("], ,RX.”MF1ŠH••0.”,P}&|,~š1eRX.”∈F• P}&  |~šP}&  |~•0≥|−0~¡2•0š|•0~¡2 }.HGU?DFE•DEFG1u.,,"R,F .$ƒ.$B&.FGD&1 Định lý 4:G.ŠH.%n.”|≥7~1(S’,,GF.”J&J/ FMFSF  P}&|~•P}&|,~≥1 _.••DEFGJ,”J.ŠH•|C,~|.ŠHw |C,~~•DEFG1 Định lý 5:G.ŠH.%&(.”1(S’£,¤GF.ŠH.$ƒ •Oz&)*']-(y'.”J&J/F•‹&"O!„-Oz&1 _.•F•£š¤1 •.HGUDwF•†.H&IFJ"Kbao đóngMF.ŠH1 Định nghĩa 6: Bao đóng|~MF.ŠHn.”G.ŠH.$ƒ•Oz&"C })*'C]-("y'.”J&J/F‹&S]O!„-Oz&n .+JJ&•y'.”$,!*hF1 Ví dụ 2.4.51"€Z*Pv&OF.•&1 @Q Định lý 7:ŠH•DEFGJ,”JOF.•&MF•DE FG1 Định lý 8: +OF.•&|~š_  |≥7~E.ŠH•DEFG1 Định lý 9RECS6?TUG.%.ŠH.”|≥7~1+P}&|~•P}&|,~≥ ,RXy'.”J&J/FE.ŠH•DEFG1 Định lý 10:G.%.ŠH.”|≥7~,1+≥|−0C2~•2E .ŠH•DEFG1 • Định lý 11:.ŠH.%G.ŠHG$¥&'Z,RF!'.”e 0 ,e 2 SF  FDP|e 0 ~šFDP|e 2 ~š≥2 +O!P}&|,~¢¡2,RX.”,MFCE•DEFG1 Đồ thị có hướng.  .ŠH•$R&,Rn.”1F•"J+)('"O†D&".H GUSF Định lý 12:|điều kiện đủ tồn tại chu trình có hướng Hamilton~ F1|}*}G~+.ŠHGw&, P}&|~•P}&|,~≥2n−0∀C,∈J&J/F E•DE•$R&FG1 O1|GF‘D~+.ŠHGw&, P}&|,~≥n∀,∈ E•DE•$R&FG1 1|ˆPFGG~+ P}& < |~•P}&  |,~≥n∀C,∈J&Š&•.+, E•DE•$R&FG1 P1+ P}&  |,~≥¡2#P}& < |,~≥¡2∀,∈ E•DE•$R&FG1 •Định lý 13:|điều kiện đủ tồn tại đường đi có hướng Hamilton~ a. Nếu P}&|~•P}&|,~≥2−7∀C,∈J&J/F thì G có đường đi có hướng Hamilton. b. Nếu P}&|,~≥−0∀,∈ thì G có đường đi có hướng Hamilton. c. Nếu P}& < |~•P}&  |,~≥−0∀C,∈J&Š&•.+, thì G có đường đi có hướng Hamilton. d. Nếu P}&  |,~≥¡2#P}& < |,~≥¡2∀,∈ thì G có đường đi có hướng Hamilton. Z*&BW&FS–&wŽ.$B&.,DE•$R&FGD& .ŠH•$R&.M|•.ŠHG•.M~1D$R+G.HGUJ¦&.HSvŠ.$B& .•$R&FGD&.ŠH•$R&.M1 Định lý 14 (Konig)X.ŠH•$R&.M./•.$B&.•$R&FG1 Định lý 15 (Camion)ŠH•$R&.M•DE•$R&FGJ,” J•Gw&1 “ G V>>DWWVX>DW;CE G## >JX>DW ‚&$B€-'"•‚'].•]R• − 0 ']J"C™'].W&‚GLCDŠ)F*,/']OF.L1uw. }DEv.†.‚P‹&‚&" . .$B&.)FG&t-|J(& "&hFF']•††GvG*&$B&yB&FL.y '„MFDEC111,€}$D$R~1 ›V .Š H .L* .M š|eC˜~C ,R ešŸ0C 2C 111C  C • DX& S] ,R DX& S]  § š|C§~•†J" § š|§C~1$,!*CF•†€}$G‚.ŠH• $R&.L*.M¨¤}&IF,RXC§š0C2C111CC©§CG•|C§~C |§C~ ∈ ˜1"DTEDEFG•.‚P&t-D&1 "‹+&*.—•GB&(Oz&"S’P\&'$%&'"'¨", !¤1 G#G YWYWV !""!G‚D&"'$%&'"'M*+&(O"]$ ‹ƒ'1$$T&%O(MF•GD&)"DEEJ+F'Z"'$%& "MFO"DFFF*/!'$G"WMFZ*EJ+,] &t&."&"!"WCGOuh&"FO+ttGJ& ŽF'$%&"]$1 ›Vbài toán người du lịch1X šŸc ij  C§š0C2C111C Gma trận chi phí1™DE ,š ,|0~→,|2~→111→,|−0~→,|~→,|0~ •†,+P$RP& ,š|,|0~C,|2~~C|,|2~C,|7~~C111C|,|−0~C,|~~C|,|~C,|0~~ D&.•™'L|,|−0~C,|~~&XG‚MFDE1 D&O"&$BPGHJ+EJ+GB&(FS–'Z!' DEF!' ‚!'ŽF|C§~,!'J&ŽF*1F&X ,K.•G'Z"C™!'•Dw&XG"1eK'Z".$ƒ OTZ*EJ+ !'-(DE  "DE)F|C§~ "DEJ&)F|C§~ eK'Z"S–.$ƒPvFDw)tƒ'GU.•'V'FDW&t )"DEEJ+'$%&"]$1{FJ'Z"FS–„!P$RMF \wD&™!'•Dw1eKEJ+S–EDw!'•!P$Ru %1M\S–+'\.+J.$ƒDE.L*.MCŽG'$%&"MF O"&$BPGH1{F.•F”L€Vh&!'•!P$Ru%&"DH \wE.$ƒ1 0Q [...]... nghiệm nổi tiếng trên, nhà khoa học người Bỉ Marco Dorigo đã xây dựng thuật toán đàn kiến (Ant Algorithm, hay còn gọi là Hệ kiến, Ant System) đầu tiên ứng dụng vào giải bài toán người du lịch, và công bố trong luận án tiến sĩ của ông Trong bài báo này, các tác giả muốn giới thiệu về thuật toán cơ bản Ant-Cycle (thuật toán nổi tiếng và hiệu quả nhất trong lớp các thuật toán Hệ kiến) được công bố năm 1996... của Oxford Nó nhanh chóng trở thành bài toán khó thách thức toàn thế giới bởi độ phức tạp thuật toán tăng theo hàm số mũ (trong chuyên ngành thuật toán người ta còn gọi chúng là những bài toán NP-khó) Người ta bắt đầu thử và công bố các kết quả giải bài toán này trên máy tính từ năm 1954 (49 đỉnh), cho đến năm 2004 bài toán giải được với số đỉnh lên tới 24.978, và dự báo sẽ còn tiếp tục tăng cao nữa... Nhắc lại bài toán Người du lịch Bài toán Người du lịch, tìm đường đi ngắn nhất cho người thương nhân (salesman), hay còn gọi là người chào hàng xuất phát từ một thành phố, đi qua lần lượt tất cả các thành phố duy nhất một lần và quay về thành phố ban đầu với chi phí rẻ nhất, được phát biểu vào thế kỷ 17 bởi hai nhà toán học vương quốc Anh là Sir William Rowan Hamilton và Thomas Penyngton Kirkman, và được... tham khảo có ở phần cuối của bài báo 4.1.3 Thuật toán đàn kiến giải bài toán người du lịch Để bắt chước hành vi của các con kiến thực, Dorigo xây dựng các con kiến nhân tạo (artificial ants) cũng có đặc trưng sản sinh ra vết mùi để lại trên đường đi và khả năng lần vết theo nồng độ mùi để lựa chọn con đường có nồng độ mùi cao hơn để đi Với bài toán Người du lịch trên đồ thị trong không gian hai chiều... 2 và là một trong hai dạng sau cùng cận dưới β Trong trường hợp (i) ta chọn hai cạnh (p,u) và (q,v), còn trong trường hợp (ii) ta chọn hai cạnh (p,v) và (q,u) Tổng chi phí là β 12 PHẦN 2: THIẾT KẾ CẤU TRÚC DỮ LIỆU VÀ CÀI ĐẶT THUẬT TOÁN 1 Thiết kế cấu trúc dữ liệu Để giải quyết các vấn đề của đồ thị bằng máy tính chúng ta cần lưu giữ đồ thị trong bộ nhớ của máy tính Do đó chúng ta cần đưa ra các phương. .. nghệ và khoa học hàng đầu thế giới) Hiện nay, Dorigo và các cộng sự đã xây dựng được nhiều hệ kiến phức tạp hơn 31 ứng dụng trong nhiều bài toán khó hơn và có nhiều ý nghĩa khoa học và thực tiễn hơn, nhưng với khuôn khổ và phạm vi của bài báo là giành cho học sinh phổ thông, chúng tôi xin được phép không trình bày ở đây, bạn đọc quan tâm có thể tìm đọc trong các tài liệu tham khảo có ở phần cuối của bài. .. ma trận như sau: 5 1 1 2 3 4 ∞ 2 20 10 8 5 ∞ 3 5 15 5 2 25 ∞ 1 5 3 4 15 20 20 ∞ 2 Thuật toán Dựa vào phần lý thuyết ở trên thuật toán nhánh cận được định nghĩa bởi các chương trình sau: 2.1.1 Hàm rút gọn Thủ tục rút gọn: + Đầu vào : Ma trận chi phí C = (cij) + Đầu ra : Ma trận rút gọn và tổng hằng số rút gọn Sum + Thuật toán: (i) Khởi tạo :Sum := 0 ; (ii) Rút gọn dòng : Với mỗi dòng r từ 1 đến n của... hanh trinh duong di printf("\n"); printf("%d > ",mangluui[0]+1); mangmin[0]=mangluui[0]+1; tiep=mangluuj[0]+1; while(dem . YWYWV !""!G‚D&"'$%&'"'M*+&(O"]$ ‹ƒ'1$$T&%O(MF•GD&)"DEEJ+F'Z"'$%& "MFO"DFFF*/!'$G"WMFZ*EJ+,] &t&."&"!"WCGOuh&"FO+ttGJ& ŽF'$%&"]$1 ›V bài toán người du lịch1 X šŸc ij  C§š0C2C111C Gma trận chi phí1™DE ,š ,|0~→,|2~→111→,|−0~→,|~→,|0~ •†,+P$RP& ,š|,|0~C,|2~~C|,|2~C,|7~~C111C|,|−0~C,|~~C|,|~C,|0~~ D&.•™'L|,|−0~C,|~~&XG‚MFDE1 D&O"&$BPGHJ+EJ+GB&(FS–'Z!' DEF!'. A>?V?> a«D&‹&'„MF‚DES–ŽF.W&‚'L’Dw™P•& ,™‚MFFD!'„š| § ~1?.•+FD•OR™'L’MF‚ P•&|F*‚‚~.^&‚&"DHE'„MF-(DES–&(.‚ G$ƒ&C,E+DE]$S–J&F*.‹1eE,!*++D•OR" 'L’MF™P•&,™‚.‚z&S]SF.$ƒFD!J&Z ,™‚•&$™P•&ŽF„-‚S]QCE‹&"z&S]D•..•S– F!P$RMFXDE1MD•OR*&XGMDW&XC"z& S]D•T™P•&|‚~&XGz&S]DW&XP•&|‚~CFD!.$ƒ&XGF D!DW&X1 Thủ tục rút gọn: ◊Đầu vào FD!'„š|c ij ~ ◊Đầu ra FD!DW&X,‹&z&S]DW&XSum ◊ Thuật toán |~_T  Sum šQ¬|”"'P&FD!'„OF.L~ |~aW&XP•&. O>^_Y]W ‚"G&GFX'Z"|DCS~SF!P$RMF" J&ŽF|DCS~S–•&/-1 Thủ tục chọn cạnh phân nhánh (r,s) ◊Đầu vào FD!DW&XO!J1 ◊Đầu ra 'Z"|DCS~1 ◊ Thuật toán |~_T α š−∞¬ |~eR™y'|C§~(c ij šQ|š0C111CJ¬§š0C111CJ~vK ‘›".H DšŸ  

Ngày đăng: 23/05/2015, 00:07

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w