2021
DOI: 10.1609/socs.v3i1.18245
|View full text |Cite
|
Sign up to set email alerts
|

Implementing Fast Heuristic Search Code

Abstract: Published papers rarely disclose implementation details. In this paper we show how such details can account for speedups of up to a factor of 28 for different implementations of the same algorithm. We perform an in-depth analysis of the most popular benchmark in heuristic search: the 15-puzzle. We study implementation choices in C++ for both IDA* and A* using the Manhattan distance heuristic. Results suggest that several optimizations deemed critical in folklore provide only small improvements while seemingly … Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
8
0

Year Published

2021
2021
2021
2021

Publication Types

Select...
6
2
1

Relationship

0
9

Authors

Journals

citations
Cited by 24 publications
(8 citation statements)
references
References 13 publications
0
8
0
Order By: Relevance
“…The total time to solve all 100 problem instances was 620 seconds for Solver B (Burns et al 2012) and 475 seconds for our Solver C. Solver C was consistently 25% faster on every instance. Thus, Solver C is appropriate as a baseline for our GPU-based 15-puzzle solvers.…”
Section: Experimental Settings and Baselinesmentioning
confidence: 96%
See 1 more Smart Citation
“…The total time to solve all 100 problem instances was 620 seconds for Solver B (Burns et al 2012) and 475 seconds for our Solver C. Solver C was consistently 25% faster on every instance. Thus, Solver C is appropriate as a baseline for our GPU-based 15-puzzle solvers.…”
Section: Experimental Settings and Baselinesmentioning
confidence: 96%
“…First, we evaluated 3 baseline IDA* solvers: Solver B: The efficient, Manhattan-Distance heuristic based 15-puzzle IDA* solver implemented in C++ by Burns et al (2012). We used the current version at https://github.com/eaburns/ssearch.…”
Section: Experimental Settings and Baselinesmentioning
confidence: 99%
“…In other cases, the lb of every node is required. This leads to a potentially less a efficient implementation, using g-h buckets (Burns et al 2012); this solution would work if the number of possible g-values (and therefore h-values) is relatively small, which is the case in many common domains.…”
Section: Lb-propagation Heuristicmentioning
confidence: 99%
“…Its behavior is analogous to NBS A 's (Shperberg et al 2019), so it could be seen as a version of NBS. However, NBB was developed independently from NBS A with different pseudocode and does not require priority queues for nodes, so we use g-f buckets (Burns et al 2012) NBS and NBS n are the average expanded and necessary (f x (n) < C * ) nodes of NBS (same for NBB). 0-C * is the percentage of problems in which NBB expanded no nodes in the last f layer (NBB = NBB n ).…”
Section: Pruning Power Of Nbsmentioning
confidence: 99%