Tôi đã xem qua số Jump Point Search và có vẻ như rất ngọt đối với tôi. Tuy nhiên, tôi không chắc chắn về cách thức quy tắc tỉa cành của họ thực sự hiệu quả. Cụ thể hơn, trong hình 1, nó nói rằngA * Jump Point Search - cách cắt tỉa thực sự hoạt động như thế nào?
chúng tôi ngay lập tức có thể prune tất cả các nước láng giềng xám như những có thể đạt được một cách tối ưu từ cha mẹ của x mà không bao giờ đi qua nút x
Tuy nhiên, điều này dường như phần nào ở tỷ lệ cược. Trong hình ảnh thứ hai, nút 5 có thể đạt được bằng cách đầu tiên đi qua nút 7 và bỏ qua x
hoàn toàn thông qua một đường đối xứng - nghĩa là, 6 -> x -> 5
dường như đối xứng với 6 -> 7 -> 5
. Điều này sẽ giống như cách mà nút 3 có thể đạt được mà không phải qua x
trong hình ảnh đầu tiên. Như vậy, tôi không hiểu làm thế nào hai hình ảnh này không hoàn toàn tương đương, và không chỉ xoay các phiên bản của nhau.
Thứ hai, tôi muốn hiểu cách thuật toán này có thể được tổng quát hóa thành khối lượng tìm kiếm ba chiều.
Tôi đã nghiên cứu cùng một thuật toán tuần trước và thấy các hình ảnh cũng gây nhầm lẫn. Bạn đã xem xét gửi thư Daniel Harabor về điều này chưa? –
@larsmans: Tôi có một ý tưởng về nó. Hãy đến với cuộc trò chuyện C++ và tôi sẽ thảo luận về nó. – Puppy
Hình ảnh đầu tiên có ý nghĩa bởi vì nó chỉ xem xét chuyển động ngang và dọc chứ không phải đường chéo. Vì vậy, cho rằng hạn chế sau đó cắt tỉa có ý nghĩa. Nhưng hình ảnh thứ hai, như bạn đã nói, không có ý nghĩa với tôi. – Magnus