Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Investigate improvements to the actual algorithm #8

Open
jgulotta opened this issue Dec 18, 2012 · 0 comments
Open

Investigate improvements to the actual algorithm #8

jgulotta opened this issue Dec 18, 2012 · 0 comments

Comments

@jgulotta
Copy link
Contributor

There has been some research on improving the general A* algorithm. We should see if any of these optimizations may be (optionally) applied.

See also: http://theory.stanford.edu/~amitp/GameProgramming/

jgulotta added a commit to jgulotta/libastar that referenced this issue Dec 23, 2012
Partially address LearnProgramming#8

HeapSet now remembers all states whether they are on the heap or not and has accordingly been renamed to CachingHeapSet.
States will only be put on the heap, updated, or reinserted if they a) were not there before or b) are not closed and of higher priority than what's already on the heap.
States are optionally closed when they are popped off the heap.

Memory use and allocations went down from eliminating the extra set.

3x3 case
---
Before: total heap usage: 27,547 allocs, 27,547 frees, 2,123,227 bytes
allocated
After: total heap usage: 26,681 allocs, 26,681 frees, 2,087,203 bytes
allocated
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant