Tôi bắt đầu làm mới kiến thức của mình để tôi thực hiện một số thuật toán pathfind để giải quyết 8-Puzzle.python idastar vs astar giải quyết 8 câu đố
tôi đã tự hỏi tại sao thực hiện của tôi về IDA * có một con đường dài hơn. Nó phải tối ưu như A *.
% python puzzle8.py -a idastar -d hard
IDASTAR - RESULT in 161.6099:
1 | 2 | 3
4 | 5 | 6
7 | 8 | N
cost: 0 total_cost: 121
...
nodes 28
% python puzzle8.py -a astar -d hard
Max nodes 665 loops 1085
ASTAR - RESULT in 0.3148:
1 | 2 | 3
4 | 5 | 6
7 | 8 | N
cost: 0 total_cost: 115
...
nodes 24
Mã là vào ý chính https://gist.github.com/1629405
Cập nhật:
Mã hiện đang trỏ đến một làm việc phiên bản.
% python puzzle8.py -a idastar -d hard
IDASTAR - RESULT in 234.4490:
1 | 2 | 3
4 | 5 | 6
7 | 8 | N
...
nodes 24
Nhưng tôi vẫn tự hỏi tại sao IDA * phải mất quá nhiều thời gian hơn dưới python hơn A *.
Cập nhật 2:
Mã được thay đổi bản in hiện nay đã đến thăm các nút.
IDASTAR tạo ASTAR nút.
Cảm ơn tôi đã thay đổi mã của mình để tăng giới hạn ngay bây giờ bằng 1. Nhưng một câu hỏi khác tại sao nó mất quá nhiều ** ** dài để hoàn thành trong idastar? – delijati
Có bao nhiêu lần lặp đi lặp lại? Làm thế nào nhiều nút nào nó mở rộng trong tổng số, không chỉ trong vòng lặp cuối cùng? Trả lời những câu hỏi đó và bạn sẽ có câu trả lời cho câu hỏi của bạn. –
Ồ đúng rồi. Đã thay đổi mã maxnode ngay bây giờ mỗi nút đã xem. ** ASTAR ** có 1748 nút và ** IDASTAR ** 4184368 nút. – delijati