Lặp theo chiều sâu

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 51)

Lặp theo chiều sâu là một phương pháp đã từng được sử dụng nhiều trong các thuật toán IA để bắt đầu với một câu trả lời xấp xỉ, sau đó sẽ làm cho nó trở nên chính xác hơn. Cái tên này được lấy ra từ các cây tìm kiếm trong game, trong đó ta sẽ xác định trước một vài bước di chuyển tiếp theo(ví dụ như trong game cờ vua). Ta có thể làm cho cây tìm kiếm trở nên sâu hơn, bằng cách xác định nhiều hơn các bước di chuyển tiếp theo. Một câu trả lời mà ta không cần phải thay đổi quá nhiều, ta sẽ giả thiết đó là một câu trả lời tốt, và câu trả lời đó sẽ không thay đổi khi ta muốn làm cho nó chính xác thêm một lần nữa. Trong thuật toán A* ứng dụng phương pháp lặp theo chiều sâu, từ “chiều sâu” có nghĩa là giới hạn của f. Khi giá trị f quá lớn, thì nốt đó sẽ không được xét tới(ví dụ như ta sẽ không đưa nó vào trong danh sách Open). Lần lặp đầu tiên sẽ chỉ có rất ít nốt, trong những lần

lặp tiếp theo số lượng nốt sẽ được tăng dần lên. Nếu phát hiện ra đường đi đã được phát triển thêm thì ta sẽ tiếp tục tăng giới hạn lên, nếu không thì ta có thể dừng lại. Trong thực tế thì có thể thấy được rằng phương pháp này chỉ làm giảm yêu cầu về bộ nhớ xuống nhưng lại khiến cho thời gian chạy chương trình trở lên lâu hơn. Tuy nhiên trong tìm đường thì phần lớn các nốt khá là nhỏ - và sẽ là không cần thiết để giảm bớt số lượng nốt cần phải lưu trữ nếu nó làm tăng thời gian chạy chương trình lên.

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 51)

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

(69 trang)