Tải bản đầy đủ - 0 (trang)
1 Bài toán người du lịch

1 Bài toán người du lịch

Tải bản đầy đủ - 0trang

GVHD: TS. Hồ Quốc Dũng



Khóa luận tốt nghiệp



các nhà tốn học ở Vienna và Harvard trong nhũng năm 1930, đặc biệt Karl

Menger, người đã định nghĩa bài toán, xem xét thuật toán hiển nhiên nhất cho bài

toán và phát hiện ra thuật tốn láng giềng gần nhất là khơng tối ưu.

Hassler Whitney ở đại học Princeton đưa ra tên bài tốn người du lịch ngay

sau đó.

Trong những năm 1950 và 1960, bài toán trở nên phổ biến trong giới nghiên

cứu khoa học ở Châu Âu và Mỹ. George Dantzig, Delbert Ray Fulkerson và Selmer

M.Johnson ở công ty RAND tại Santa Moncia [5] đã có đóng góp quan trọng cho bài

tốn này, biểu diễn bài toán này dưới dạng quy hoạch nguyên và đưa ra phương pháp







mặt phẳng cắt để tìm ra lời giải. Bằng phương pháp này họ đã giải được tối ưu một



H



U



trường hợp 49 thành phố bằng cách xây dựng một chu trình và chứng minh khơng có



TẾ



chu trình nào ngắn hơn.



N

H



Trong những thập niên tiếp theo, bài toán được nghiên cứu bởi nhiều nhà



KI



nghiên cứu trong các lĩnh vực tốn học, khoa học máy tính, hóa học, vật lý và các





C



ngành khác.



[6] chứng minh rằng bài toán chu trình



H



Năm 1972, Richard M.Karp



ẠI



Hamilton là NP-đầy đủ, kéo theo bài toán TSP cũng là NP-đầy đủ. Đây cũng là một



Đ



lý giải tốn học cho sự khó khăn trong việc tìm kiếm chu trình ngắn nhất.



N



G



Cuối thập niên 1970 và 1980 khi Grotschel [7], Padberg, Rinaldi và cộng



Ư







sự [8] đã giải được những trường hợp lên đến 2393 thành phố, sử dụng phương



TR



pháp mặt phẳng cắt và nhánh cận.

Trong thập niên 1990 Applegate, Bixby, Chavátal và Cook [9] phát triển một

chương trình mang tên Concorde giải được nhiều trường hợp có độ kỷ lục lớn hiện nay.

Năm 1991 Gerhard Reinnelt xuất bản một bộ dữ liệu các trường hợp có độ khó

khác nhau mang tên TSPLIB [10] và nó đã được sử dụng bởi nhiều nhóm nghiên cứu

để so sánh kết quả

Năm 2005 Cook và cộng sự đã giải được một trường hợp có 33810 thành

phố, xuất phát từ một bài tốn thiết kế vi mạch.



SVTH: Hồ Minh Tồn - K48A Tin Học Kinh Tế



Trang 6



GVHD: TS. Hồ Quốc Dũng







Khóa luận tốt nghiệp



H



U



Hình 1. 1: Lịch sử bài tốn



TẾ



1.1.2. Phát biểu bài toán



N

H



Bài toán người du lịch được phát biểu như sau:



KI



Có một người du lịch muốn viếng thăm tại n thành phố. Xuất phát từ một





C



thành phố nào đó, đi qua các thành phố khác để du lịch và trở về thành phố ban

đầu, biết chi phí đi lại và khoảng cách giữa các thảnh phố. Mỗi thành phố chỉ đến một



ẠI



H



lần và khoảng cách từ một thành phố đến các thành phố khác đã được biết trước.



Đ



Hãy tìm một chu trình (một đường đi khép kín thõa mãn các điều kiện trên) sao cho



N



G



tổng độ dài các cạnh là nhỏ nhất.







Bài tốn người du lịch [1], [2] có thể được mơ hình hóa như một đồ thị vơ



TR



Ư



hướng có trọng số, trong đó mỗi thành phố là một đỉnh của đồ thị. Khoảng cách

giữa hai thành phố là độ dài cạnh. Đây là vấn đề cực tiểu hóa với điểm đầu và điểm

cuối là cùng một đỉnh sau khi thăm hết các đỉnh còn lại đúng một lần. Mơ hình này

thường là một đồ thị đầy đủ (giữa mỗi cặp đỉnh đều có cạnh). Nếu khơng có đường

giữa hai thành phố thì có thể thêm một cạnh với độ dài đủ lớn vào đồ thị mà không

ảnh hưởng đến kết quả tối ưu sau cùng.

Được biểu diễn bằng tốn học có đồ thị vơ hướng G=(V,E) với

V={v1,v2,...,vn} là tập các đỉnh hoặc nút và E{(vi,vj) : vi,vj ∈ V } là tập hợp các cạnh.



Mỗi đỉnh vi đại diện cho một thành phố vi ∈ V và mỗi cạnh (vi,vj) ∈ V là khoảng

cách giữa hai thành phố i,j.



SVTH: Hồ Minh Toàn - K48A Tin Học Kinh Tế



Trang 7



GVHD: TS. Hồ Quốc Dũng



Khóa luận tốt nghiệp



Một chu trình như vậy còn gọi là chu trình Hamilton và cũng là một giải

pháp tốt cho TSP để tối thiểu chi phí, chu trình Hamilton là chu trình nó đi qua tất

cả các đỉnh của đồ thị đúng một lần. Một đồ thị đầy đủ, ln tồn tại chu trình

Hamilton.

Bài tốn trở thành tìm cực tiểu :



𝑥1𝑛

𝑥2𝑛

….�

𝑥𝑛𝑛



xij = 0 khi khơng có đường đi từ i đến j.



(1)







….

….

….

…..



U



𝑥12

𝑥22

….

𝑥𝑛2



H



𝑥11

𝑥21

X = �….

𝑥𝑛1



TẾ



đến j.



�����

Min 𝑍 = ∑𝑛𝑖=1 ∑𝑛𝑗=1 𝑋𝑖𝑗 với i,j = 1,

𝑛 n € N (n > 0), Xij là khoảng cách đi từ i



N

H



Ta có ví dụ sau: Cho danh sách các thành phố được đánh số 1,2,3,4,5,6 như



TR



Ư







N



G



Đ



ẠI



H





C



KI



Hình 1.2 và khoảng cách giữa các thành phố được cho như Bảng 1.1.



Hình 1. 2: Đường đi và khoảng cách giữa các điểm



SVTH: Hồ Minh Toàn - K48A Tin Học Kinh Tế



Trang 8



GVHD: TS. Hồ Quốc Dũng



Khóa luận tốt nghiệp



Bảng 1. 1: Khoảng cách giữa các địa điểm

1



2



3



4



5



1



0



5



8



15



10



2



5



0



12



18



9



3



8



12



0



10



13



4



15



18



10



0



7



5



10



9



13



7



0



U







Địa điểm



10

9

13

7

0



N

H



15

18

10

0

7



KI



5

8

0 12

12 0

18 10

9 13





C



=



0

5

8

15

10



H



G















TẾ



H



Từ bảng trên ta có ma trận khoảng cách giữa các thành phố lập được :



ẠI



1.2 Độ phức tạp của bài tốn người du lịch















(2)



G



Đ



1.2.1 Độ phức tạp tính tốn



N



Lý thuyết độ phức tạp tính tốn [3] là một nhánh của lý thuyết tính tốn



Ư







trong lý thuyết khoa học máy tính và toán học tập trung vào phân loại các vấn đề



TR



tính tốn theo độ khó nội tại của chúng. Ở đây, độ phức tạp tính tốn được hiểu là

một vấn đề có thể giải được bằng máy tính, cũng có thể hiểu là một tập các trường

hợp và lời giải cho các trường hợp đó.

Một vấn đề được coi là khó nếu lời giải của nó đòi hỏi nhiều tài nguyên,

bất kể sử dụng thuật toán nào. Lý thuyết độ phức tạp tính tốn chuyển ý tưởng trực

quan này thành mệnh đề toán học chặt chẽ, bằng cách đưa ra các mơ hình tính tốn

để nghiên cứu các vấn đề này và tính lượng tài nguyên cần thiết để giải quyết

chúng chẳng hạn như thời gian hay bộ nhớ, lưu lượng thông tin liên lạc, số lượng

cổng logic trong mạch, số lượng bộ xử lý. Nhiệm vụ của lý thuyết độ phức tạp tính

tốn là xác định các giới hạn của những gì máy tính có thể làm và khơng thể làm.



SVTH: Hồ Minh Toàn - K48A Tin Học Kinh Tế



Trang 9



GVHD: TS. Hồ Quốc Dũng



Khóa luận tốt nghiệp



Các mơ hình tính tốn và các thơng số phức tạp [3]:

+ Máy Turing là một mơ hình tốn học cho một máy tính tổng qt. Nó là

thiết bị lý thuyết thao tác trên các ký hiệu nằm trên một dãi băng. Máy Turing khơng

nhằm thiết kế thiết bị tính tốn trên thực tế, mà chỉ là một thiết bị trừu tượng đại diện

cho máy tính. Người ta tin rằng nếu một vấn đề có thể giải quyết bởi một thuật tốn,

thì cũng có một máy Turing giải quyết vấn đề đó. Tất cả các mơ hình tính tốn hiện

nay chẳng hạn như máy RAM, Trò chơi cuộc sống của Conway, automat tế bào hay

bất kì ngơn ngữ lập tình nào cũng đều có thể tính được trên máy Turing. Do máy

Turing phù hợp cho việc nghiên cứu bằng toán học và được xem là mạnh ngang bất







kỳ mơ hình tính tốn nào, máy Turing là mơ hình tốn phổ biến nhất trong lý thuyết



TR



Ư







N



G



Đ



ẠI



H





C



KI



N

H



TẾ



H



U



độ phức tạp tính tốn.



Hình 1. 3: Máy Turing

+ Các thông số phức tạp: Để định nghĩa cụ thể thời gian và bộ nhớ cần thiết

để giải quyết vấn đề, cần định rõ một mơ hình tính tốn cụ thể. Thời gian cần thiết

cho một máy Turing M giải quyết dữ liệu vào X là số lượng lần chuyển trạng thái,

hay số bước của máy trước khi máy ngừng và có thể thơng báo kết quả. Một máy

Turing chạy trong thời gian f(n) nếu thời gian máy sử dụng cho tất cả các dữ liệu

vào kích thước n là không f(n). Mặc dù thời gian và bộ nhớ là hai thông số phổ biến

nhất, nhiều thông số phức tạp khác cũng có thể xem là tài ngun tính tốn. Các



SVTH: Hồ Minh Tồn - K48A Tin Học Kinh Tế



Trang 10



Tài liệu bạn tìm kiếm đã sẵn sàng tải về

1 Bài toán người du lịch

Tải bản đầy đủ ngay(0 tr)

×