Làm thế nào tìm con đường ngắn nhất?

Làm thế nào tìm con đường ngắn nhất?

Trong cuộc sống hằng ngày, ta thường gặp bài toán tìm con đường ngắn nhất từ điểm A đến điểm E như hình vẽ. Mỗi điểm cuối của đoạn đường là một địa điểm, mỗi đoạn thẳng biểu thị một con đường nối giữa hai điểm, còn con số trên đoạn thẳng là độ dài của đoạn đường đó.

Cách thông thường là liệt kê tất cả tuyến đường có thể đi, tính tổng độ dài của từng tuyến rồi chọn tuyến ngắn nhất. Từ A đến E có 3 × 3 × 3 × 1 tuyến đường. Mỗi tuyến cần thực hiện ba phép cộng, tức phải làm 81 phép cộng, rồi thêm 26 lần so sánh mới tìm được đường ngắn nhất: A → B2 → C2 → D3 → E, với tổng độ dài bằng 15.

Phương pháp này đơn giản về ý tưởng nhưng không dễ thực hiện khi số địa điểm nhiều, vì phép tính sẽ tăng lên rất nhanh. Vậy có cách nào hiệu quả hơn không?

Giả sử ta đã biết đường ngắn nhất là A → B2 → C2 → D3 → E, thì mọi đoạn con trong tuyến ấy cũng phải là ngắn nhất. Ví dụ, đoạn C2 → D3 → E phải là đường ngắn nhất từ C2 đến E; nếu không, ta thay bằng đoạn ngắn hơn sẽ có cả tuyến ngắn hơn, trái với giả thiết ban đầu.

Vì thế, có thể bắt đầu từ cuối tuyến đường rồi truy ngược từng bước. Bước thứ nhất, tìm đường ngắn nhất từ các điểm D đến E: f(D1) = 5, f(D2) = 8, f(D3) = 1, trong đó f(xi) biểu thị khoảng cách ngắn nhất từ xi đến E.

Bước thứ hai, xét đường ngắn nhất từ các điểm C đến E. Từ C1 có thể đi đến D1, D2 hoặc D3; sau khi cộng khoảng cách từ C1 đến từng điểm D với f(D), ta chọn được tuyến ngắn nhất là C1 → D3 → E. Làm tương tự, ta có tuyến ngắn nhất từ C2 là C2 → D3 → E, từ C3 là C3 → D3 → E với f(C3) = 6.

Tiếp tục tính ngược, ta tìm được f(B1) = 12 cho tuyến B1 → C2 → D3 → E, f(B2) = 7 cho tuyến B2 → C2 → D3 → E, và f(B3) = 12 cho một tuyến tương ứng đi qua C1 hoặc C2 rồi đến D3 → E.

Khi xuất phát từ A, chỉ cần so sánh các lựa chọn đi qua B1, B2, B3 là tìm được đường ngắn nhất. Quá trình này chỉ cần 21 phép cộng và 14 phép so sánh, ít hơn rất nhiều so với cách liệt kê toàn bộ.

Trong toán học, phương pháp này gọi là “quy hoạch động”. Đây là phương pháp giải nhanh các bài toán tối ưu do nhà toán học Mỹ Bellman đưa ra năm 1959. Ngày nay, nó được dùng rộng rãi trong kỹ thuật công trình, quản lý kinh tế, sản xuất công nghiệp, kỹ thuật quân sự và cả trong lựa chọn phạm vi tính toán của máy tính.

Xem thêm 10 vạn câu hỏi vì sao

Bến xe nên đặt ở đâu?

Bến xe nên đặt ở đâu?

Khi đi học, đi làm hoặc mua sắm, nhiều người phải dùng xe công cộng. Có người ở gần bến xe, có người ở xa. Vậy bến xe nên đặt ở đâu để hợp lý nhất? Việc bố trí bến xe cần dựa trên...
Khi kiểm tra thấy dương tính thì có phải đã mắc bệnh ung thư?

Khi kiểm tra thấy dương tính thì có phải đã mắc bệnh ung thư?

Ở những nước có hệ thống y tế phát triển, người ta thường tổ chức kiểm tra định kỳ để phát hiện sớm bệnh ung thư. Nhưng nếu kết quả kiểm tra cho phản ứng dương tính, liệu người đó...
Làm thế nào để việc kiểm tra bệnh định kì ít tốn kém nhất?

Làm thế nào để việc kiểm tra bệnh định kì ít tốn kém nhất?

Ở một số nước có nền y học tiên tiến, việc kiểm tra định kỳ các bệnh xã hội khá phổ biến. Một phương pháp thường dùng là xét nghiệm máu. Nhờ xét nghiệm máu, người ta có thể phát...
Làm thế nào để tính số lượt trận đấu cho thể thức thi đấu loại trực tiếp?

Làm thế nào để tính số lượt trận đấu cho thể thức thi đấu loại trực tiếp?

Giả sử trường bạn tổ chức một cuộc thi đấu cờ theo thể thức loại trực tiếp, có 50 người đăng ký. Bạn có thể tính cần bao nhiêu trận đấu để sắp xếp lịch thi đấu và chuẩn bị địa điểm...
Vì sao phải làm quen với kì vọng toán học?

Vì sao phải làm quen với kì vọng toán học?

Một nhà doanh nghiệp khi đầu tư thường phải chấp nhận rủi ro. Chẳng hạn, nếu đầu tư vào hạng mục A và thành công thì có thể lãi 1 triệu đồng, nhưng xác suất thành công chỉ khoảng 8...
Vì sao kinh tế học hiện đại vận dụng rất nhiều kiến thức toán học?

Vì sao kinh tế học hiện đại vận dụng rất nhiều kiến thức toán học?

Trong đời sống hằng ngày, ta thường gặp rất nhiều vấn đề kinh tế: làm sao mua được hàng với giá hợp lý, tính lãi suất tiết kiệm ngân hàng như thế nào, dự đoán sự lên xuống của thị...
Vì sao dùng toán học có thể phán đoán tác giả của tác phẩm "Hồng Lâu Mộng"?

Vì sao dùng toán học có thể phán đoán tác giả của tác phẩm "Hồng Lâu Mộng"?

“Hồng Lâu Mộng” là một tác phẩm văn học cổ điển nổi tiếng của Trung Quốc. Theo nhiều nhà Hồng học, tức những người chuyên nghiên cứu tác phẩm này, 80 hồi đầu do Tào Tuyết Cần sáng...
Hiệu buôn mỗi lần nhập bao nhiêu hàng là hợp lí?

Hiệu buôn mỗi lần nhập bao nhiêu hàng là hợp lí?

Các cửa hiệu vừa bán hàng cho khách, vừa phải nhập hàng từ nhà sản xuất, nhà máy hoặc cửa hàng khác. Mỗi khi bán được một kiện hàng, cửa hiệu không chỉ thu hồi vốn mà còn mong có...
0.24114 sec| 872.266 kb