Giới thiệu bài toỏn

Một phần của tài liệu Về các bài toán NP C và một số phương pháp giải (Trang 46 - 48)

- Phỏt biểu bài toỏn: Cú đồ vật với trọng lượng là và giỏ trị sử dụng là

2.3.3.1Giới thiệu bài toỏn

Bài toỏn người du lịch (Travelling Salesman problem (TSP)) là một bài toỏn khỏ nổi tiếng trong lĩnh vực tối ưu tổ hợp được nghiờn cứu trong lý thuyết khoa học mỏy tớnh. Nội dung của nú khỏ đơn giản , nú được phỏt biểu như sau: Cho một danh sỏch cỏc thành phố và khoảng cỏch giữa chỳng , nhiệm vụ là phải tỡm đường đi ngắn nhất cú thể mà chỉ thăm mỗi thành phố đỳng 1 lần.

Bài toỏn được lần đầu tiờn đưa ra như một vấn đề toỏn học vào năm 1930 và là một trong số những bài toỏn được nghiờn cứu chuyờn sõu trong lĩnh vực tổ hợp thời đú. Nú được sử dụng như một sự đỏnh giỏ cho nhiều phương thức tối ưu khỏc nhau. Thậm chớ bài toỏn là thuộc lớp NP khú , một lượng rất lớn cỏc heuristic và phương thức tỡm kiếm cụ thể đó được biết đến vỡ vậy một vài trường hợp của bài toỏn với khoảng chục nghỡn thành phố đó được giải quyết.

TSP cú một vài ứng dụng thậm chớ trong dạng thức nguyờn thuỷ của nú như lập kế hoạch , logistic , và sản xuất cỏc microchip. Thay đổi đi chỳt ớt nú xuất hiện như một bài toỏn con trong rất nhiều lĩnh vực như việc phõn tớch gen trong sinh học. Trong những ứng dụng này, khỏi niệm thành phố cú thể thay đổi thành khỏch hàng, cỏc điểm hàn trờn bảng mạch, cỏc mảnh DNA trong gen, và khỏi niệm khoảng cỏch cú thể biểu diễn bởi thời gian du lịch hay giỏ thành, hay giống như sự so sỏnh giữa cỏc mảnh DNA với nhau. Trong nhiều ứng dụng, cỏc hạn chế truyền thống như giới hạn tài nguyờn hay giới hạn thời gian thậm chớ cũn làm cho bài toỏn trở nờn khú hơn.

Trong lý thuyết của độ phức tạp tớnh toỏn, phiờn bản quyết định của bài toỏn TSP thuộc lớp NP-C. Vỡ vậy khụng cú giải thuật hiệu quả nào cho việc giải bài toỏn TSP. Hay núi cỏch khỏc , giống như thời gian chạy tồi nhất cho

bất kỳ giải thuật nào cho bài toỏn TSP tăng theo hàm mũ với số lượng thành phố, vỡ vậy thậm chớ nhiều trường hợp với vài trăm thành phố cũng đó mất vài năm CPU để giải một cỏch chớnh xỏc.

2.3.3.2 Lch s bài toỏn TSP

Nguồn gốc của bài toỏn người du lịch đến nay vẫn chưa rừ ràng. Một cuốn sỏch cho người du lịch từ năm 1832 đó đề cập tới vấn đề và bao gồm vài vớ dụ về cỏc đường đi từ Đức qua Thụy Sỹ nhưng khụng chứa đựng ý nghĩa toỏn học nào.

Vấn đề toỏn học liờn quan tới bài toỏn người du lịch đó được nhắc đến trong những năm 1800 bởi nhà toỏn học Ireland W. R. Hamilton và nhà toỏn học người Anh Thomas Kirkman. Trũ chơi Icosian Game của Hamilton là một trũ đố vui dựa trờn cơ sở tỡm chu trỡnh Hamilton. Dạng tổng quỏt của bài toỏn TSP được nghiờn cứ bởi cỏc nhà toỏn học suốt những năm 1930 ở đại học Harvard, đỏng chỳ ý là Karl Menger người đó định nghĩa bài toỏn, xem xột giải thuật brute-force và quan sỏt thấy tớnh khụng tối ưu của heuristic dựa trờn lỏng giếng gần nhất.

Hassler Whitney ở đại học Princeton University là ngừời đầu tiờn đặt tờn người du lịch cho bài toỏn khụng lõu sau đú.

Trong những năm 1950 và 1960 , bài toỏn trở nờn ngày càng phổ biến trong khoa học ở chõu Âu và Mỹ. Những đúng gúp đỏng chỳ ý được kể đến như George Dantzig, Delbert Ray Fulkerson và Selmer M. Johnson tại RAND Corporation ở Santa Monica, những người đó trỡnh bày bài toỏn như bài toỏn số nguyờn tuyến tớnh và phỏt triển phương thức cắt cho lời giải của nú. Với những phương thức mới này họ đó giải được một thớ dụ của bài toỏn với 49 thành phố để xõy dựng một cỏch tối ưu và chứng minh rằng khụng cũn đường đi nào ngắn hơn nữa. Trong những thập kỷ tiếp theo, bài toỏn được

nghiờn cứu bởi rất nhiều nhà nghiờn cứ từ toỏn học , khoa học mỏy tớnh , húa học ,vật lý và những khoa học khỏc.

Richard M. Karp năm 1972 chỉ ra rằng bài toỏn chu trỡnh Hamilton thuộc lớp NP-C, và qua đú chỉ ra tớnh NP- Hard của bài toỏn TSP. Điều này giải thớch một cỏch khoa học cho độ phức tạp tớnh toỏn của việc tỡm lời giải tối ưu cho bài toỏn .

2.3.3.3 Phương phỏp nhỏnh cn(branch-and-bound ) gii bài toỏn TSP

Lời giải trực tiếp nhất cú thể là thử tất cả cỏc hoỏn vị và xem hoỏn vị nào là tốt nhất ( dựng brute-force) . Thời gian chạy cho cỏch tiếp cận này là O(n!), vỡ vậy cỏch tiếp cận này thậm chớ khụng thể thực hiện với chỉ 20 thành phố .Một trong số những ứng dụng mới đõy nhất của quy hoạch động là giải thuật cú độ phức tạp O(n22n) và yờu cầu khụng gian bộ nhớ là hàm mũ.

Cải thiện tốc độ cho cỏch giải thuật trờn là hầu như khụng thể. Vớ dụ, thậm chớ là rất khú tỡm một giải thuật chớnh xỏc cho bài toỏn TSP chạy trong độ phức tạp O(1.9999n).

Cỏch tiếp cận khỏc là phương phỏp nhỏnh cận (branch-and-bound ) cho cỏc bài toỏn cụ thể là phương thức sử dụng để giải quyết cỏc bài toỏn với số lượng lớn thành phố cho kết quả tương đối tốt.

Một phần của tài liệu Về các bài toán NP C và một số phương pháp giải (Trang 46 - 48)