Nối ghép đường đi

Một phần của tài liệu Tính toán đường đi trong môi trường giao thông động (Trang 55)

Khi đường đi cần đuợc tính toán lại, thì có nghĩa là thế giới đã bị thay đổi. Trong một thế giới thay đổi, thì ta sẽ có nhiều thông tin hơn về khu vực xung quanh hơn là những khu vực ở xa. Vì thế, ta sẽ tập trung vào tìm đường đi tốt nhất cho khu vực xung quanh và giả định là những khu vực ở xa không cần phải tính toán lại cho tới khi ta tới gần đến đó. Thay vì tính toán toàn bộ đường đi ta sẽ chỉ phải tính toán lại M bước của đường đi :

1. Gọi p[1], p[2] ….., p[N] các bước của đường đi (N bước) 2. Tính toán đường đi mới từ p[1] tới p[M]

3. Nối ghép đường đi mới vào đường đi cũ bằng cách bỏ đi phần p[1], p[2] …., p[M] và thay thế vào đó là phần mới.

Thường thì nếu p[1] tới p[M] ít hơn M bước thì độ dài đường đi mới sẽ không quá dài. Tuy nhiên không may là có rất nhiều trường hợp phát sinh tạo ra

đường đi mới dài và không hiệu quả. Hình 22 thể hiện cho ta một trường hợp như

thế. Đường đi gốc màu đỏ 1-2-3-4 ; các vật cản màu nâu, nếu ta đi tới 2 và phát hiện ra đường đi từ 2 tới 3 đã bị chặn, thì phép nối ghép đường đi sẽ thay thế đoạn 2-3 bằng đoạn 2-5-3, và kết quả là sẽ di chuyển theo đoạn 1-2-5-3-4 và có thể thấy được đây không phải là đường đi tốt nhất, mà đường đi 1-2-5-4 tốt hơn.

Một đường đi tồi có thể được phát hiện bằng cách kiểm tra độ dài của đường đi mới. Nêu như nó lớn hơn đáng kể M thì sẽ là một đường đi tồi. một giải pháp đơn giản sẽ là thêm vào giới hạn (độ dài đường đi lớn nhất có thể) vào thuật toán tìm đường. Nếu không tìm được một đường đi ngắn hơn, thì thuật toán trả về đoạn mã báo lỗi ; trong trường hợp này, ta sẽ sử dụng giải pháp tính toán lại đường đi thay vì nối ghép đường đi để có được đường đi mới kiểu như 1-2-5-4.

Trong những bài toán không xảy ra trường hợp này, với một đường đi có độ dài N, nối ghép đường đi sẽ tính toán khoảng 2N tới 3N bước đi, tuỳ thuộc vào tần số nối ghép đường đi mới. Đây là một chi phí khá thấp cho khả năng thích ứng với thế giới thay đổi.

Một điều khá ngạc nhiên là chi phí này lại không phụ thuộc vào M, tổng số bước ghép nối. Thay vì ảnh hưởng tới thời gian chạy CPU thì M kiểm soát cân bằng giữa khả năng sẵn sàng đáp ứng yêu cầu với chất lượng đường đi. Nếu M lớn, thì chuyển động của đối tượng sẽ không nhanh chóng đáp ứng đối với sự thay đổi của môi trường. Nếu M nhỏ, thì những đoạn đường đi được ghép nối có thể sẽ quá ngắn để cho đường đi thay thế có thể đi vòng qua vật cản một cách rõ ràng, khi đó sẽ có nhiều đường đi dạng gần tối ưu (như 1-2-5-3-4) được chỉ ra. Kiểm nghiệm với các giá trị khác của M và các tiêu chuẩn ghép nối khác (như tiêu chuẩn mỗi 3/4M bước) để tìm kiếm giá trị M phù hợp nhất với địa hình.

Phương pháp ghép nối đường đi nhanh hơn khá đáng kể phương pháp tính toán lại đường đi, nhưng nó không thích ứng tốt với những đường đi có mức thay đổi chính. Ta có thể chỉ ra được nhiều trường hợp như thế này, và trong những trường hợp này ta sẽ sử dụng phương pháp tính toán lại đường đi. Ngoài ra cũng còn có một vài biến khác có thể được điều chỉnh, giống như M và biến lựa chọn thời điểm để tìm đường đi mới, vì thế chúng có thể được điều chỉnh (thậm chí cả trong thời gian chạy) cho các điều kiện khác nhau.

Một phần của tài liệu Tính toán đường đi trong môi trường giao thông động (Trang 55)

Tải bản đầy đủ (PDF)

(69 trang)