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

Trong cuộc sống hằng ngày chúng ta thường gặp vấn đề sau đây: Cần tìm con đường ngắn nhất đi từ điểm A đến điểm E như ở hình vẽ. Trên hình vẽ các điểm cuối mỗi đoạn đường là một địa điểm, đoạn thẳng chỉ con đường nối giữa hai điểm, con số trên mỗi đoạn thẳng chỉ cự ly của đoạn đường.

Trước hết xin dẫn ra phương pháp thông thường. Xem xét tất cả các tuyến đường có thể đi, tính toán tổng các cự ly, từ đó chọn được tuyến đường ngắn nhất. Từ A đến E có 3.3.3.1 đoạn đường có thể đi, mỗi tuyến đi cần thực hiện ba lần phép cộng, cần phải thực hiện 81 phép cộng. Ngoài ra còn phải tiến hành 26 lần phép so sánh, cuối cùng sẽ tìm được tuyến đường ngắn nhất là A → B2 → C2 → D3 → E. Cự ly tương ứng bằng 15.

Ta dễ dàng nhận thấy thực hiện như phương pháp thông thường quả là đơn giản nhưng để thực hiện lại không dễ vì phải qua nhiều địa điểm, thực hiện quá nhiều phép tính.

Vậy liệu có phương pháp nào khác không?

Giả sử ta chọn được con đường ngắn nhất là A → B2 → C2 → D3 → E thì đoạn đường nhỏ trong đó đi từ hai điểm của tuyến đường cũng phải là ngắn nhất, ví dụ C2 → D3 → E cũng phải là con đường ngắn nhất từ C2 đến E. Nếu không, khi dùng phản chứng ta phải tìm được một tuyến đường khác ngắn hơn và điều đó trái với giả thiết. Tuyến đường ngắn nhất như mô tả ở trên, chúng ta có thể bắt đầu từ cuối tuyến đường truy dần từng bước ta sẽ tìm được tuyến đường ngắn nhất từ A đến E.

Bước thứ nhất: Tìm đoạn đường ngắn nhất từ D đến E.

Từ D1, D2, D3 đến E có các tuyến f(D1) = 5, f(D2) = 8, f(D3) = 1. f(xi) biểu diễn cự ly ngắn nhất từ xi đến E.

Bước thứ hai: Xét đoạn đường ngắn nhất từ C đến E.

Xuất phát từ C1 có khả năng chọn đến D1, D2 hoặc D3.

trong đó, d(C1, D1) biểu diễn khoảng cách từ C1 đến D1, dễ dàng tìm thấy khoảng cách ngắn nhất là theo tuyến C1 → D3→ E.

Tương tự xuất phát từ C2 ta có

Và tuyến ngắn nhất là C2→D3 → E. Tương tự

Từ C3 tuyến ngắn nhất là C3 → D3 →E với f(C3) = 6

Cũng với lí do tương tự, ta tìm thấy f(B1) = 12 cho đoạn đường con B1 → C2 → D3 → E

và f(B2) = 7 cho đoạn đường con B2 → C2 → D3 → E

f(B3) = 12 cho đoạn đường con B1 → C__1 (hoặc C2) → D3 → E

Xuất phát từ A ta có:

Dựa vào quá trình tính toán, ta thấy số lượng phép toán giảm đi rất nhiều: chỉ cần 3.3 + 3.3 + 3 = 21 phép cộng và 3.2 + 3.2 + 2 = 14 phép so sánh. Nếu số địa điểm càng lớn thì ưu điểm của phương pháp càng rõ rệt. Dùng phương pháp này không chỉ cho thấy tìm được đường từ A đến E ngắn nhất mà còn biết được cự ly từ điểm này đến điểm khác của tuyến đường. Trong toán học, người ta gọi đây là phương pháp “giải pháp theo quy tắc động thái”.

“Quy tắc động thái” là phương pháp cho phép giải quyết nhanh bài toán tối ưu, do nhà toán học Mỹ Bellman đưa ra năm 1959. Đây là bài toán “tối ưu hoá” đã được phát triển thành ngành toán học mới. Phương pháp quy tắc động thái được phát huy rộng rãi trong các ngành kĩ thuật công trình, quản lí kinh tế, trong sản xuất công nghiệp và kĩ thuật quân sự và ngày càng được coi trọng, thậm chí còn được dùng trong việc chọn phạm vi trong máy tính. Bởi vì nếu dùng phương pháp thông thường thì đến cả máy tính cũng khó thực hiện hết được các phép tính.

Vì sao đồng hồ đo tốc độ của ô tô có thể báo tốc độ cho người điều khiển?

Trên các bảng báo trong buồng lái của xe Ô tô, có một đồng hồ dùng để thông báo tốc độ xe đang vận hành cho lái xe biết. Vậy nguyên lý làm việc của nó là thế nào?

Vì sao từ một loại dung dịch muối lại mọc ra các "cây kim loại" kỳ lạ?

Các bạn đã từng được thấy "cây kim loại" mọc ra từ một số dung dịch muối trong các thí nghiệm hoá học chưa?

Trên mặt trăng có núi lửa hoạt động hay không?

Từ năm 1969 trở lại đây, con người từng 8 lẩn lên Mặt trăng (bao gồm cả hai lẩn lên Mặt trăng không có người) và đã mang về vài triệu gramvật phẩm từ Mặt trăng...

Vì sao nhân dân một số vùng dễ bị bướu cổ?

Ở những vùng núi rừng, người dân thường mắc bệnh bướu cổ (y học gọi là phù tuyến giáp trạng địa phương). Nguyên nhân chủ yếu nhất là hàm lượng iốt...

Những loài vật phá vỡ mọi kỷ lục

Chúng ta cho rằng loài vật không có tư duy, ấy vậy mà những khả năng kỳ diệu do tự nhiên và đấu tranh sinh tồn ban tặng cho chúng lại khiến ta phải...

Làm thế nào biểu diễn một số thập phân tuần hoàn dưới dạng phân số?

Tất cả các phân số đều là các số lẻ thập phân hữu hạn, hoặc số thập phân vô hạn tuần hoàn. Các số lẻ có một số hữu hạn các chữ số gọi là số lẻ thập...

Mỗi người làm thế nào để bảo vệ môi trường?

Khí hậu ấm dần lên, lỗ thủng tầng ôzôn, mưa axit, chất thải độc hại, sinh vật hoang dã bị tiêu diệt, không khí, nguồn nước và đất đai bị ô nhiễm, v.v.

Vì sao ruộng lúa mà nuôi cá thì lúa tốt, cá béo?

Nuôi cá trong ruộng lúa còn gọi là “cá dưới lúa”, là một trong những phương thức sản xuất của đồng lúa khu vực miền núi và đồi gò ở phương nam Trung...

Vì sao không dùng nước thải để tưới ruộng?

Dùng nước thải để tưới ruộng đã có một lịch sử lâu đời. Thời kỳ trước Công nguyên, Trung Quốc cổ đại đã từng dùng nước thải để tưới ruộng.