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

Terminate IDFSearch when two consecutive depths reach the same number of moves #94

Open
lgarron opened this issue Jan 13, 2025 · 4 comments
Labels
enhancement New feature or request rust

Comments

@lgarron
Copy link
Member

lgarron commented Jan 13, 2025

This can help prevent infinite search in situations where a solution was provided but the state space is small enough to enumerate during normal search.

@lgarron lgarron added enhancement New feature or request rust labels Jan 13, 2025
@lgarron lgarron changed the title Terminate IDFSearch when two depths reach the same number of moves Terminate IDFSearch when two consecutive depths reach the same number of moves Jan 13, 2025
@ArhanChaudhary
Copy link

A little unrelated, but shouldn't this be called IDAStarSearch or something similar? Iterative deepening search with pruning tables is IDA*, right?

@lgarron
Copy link
Member Author

lgarron commented Jan 14, 2025

A little unrelated, but shouldn't this be called IDAStarSearch or something similar? Iterative deepening search with pruning tables is IDA*, right?

I don't know that we have enough heuristics in place to qualify as A*? @rokicki probably knows more.

@rokicki
Copy link
Collaborator

rokicki commented Jan 15, 2025 via email

@ArhanChaudhary
Copy link

A little unrelated, but shouldn't this be called IDAStarSearch or something similar? Iterative deepening search with pruning tables is IDA*, right?

I don't know that we have enough heuristics in place to qualify as A*? @rokicki probably knows more.

@rokicki and I talked about this some time earlier, and we concluded that the IDA* was indeed the correct terminology for what C++ twsearch uses (see https://cubing-org.slack.com/archives/CKD5E53A4/p1737658381579609). Is there any specific reason why Rust twsearch uses IDFS instead of IDA*? Your HashPruningTable implementation does give a lower bound, which makes IDA* applicable.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request rust
Projects
None yet
Development

No branches or pull requests

3 participants