PBeFS
Parallel Best-First Search
Loading...
Searching...
No Matches
astar Directory Reference

Directories

 
structures

Files

 
AStar.h
 Header file for the class template AStar, the sequential A* search of Hart, Nilsson and Raphael (1968).
 
ConcurrentClosed.h
 Header file for the class template ConcurrentClosed, the closed list that the workers of SPAStar and MQAStar share, taken from the set of data structures chosen [see Structures.h].
 
DDDAStar.h
 Header file for the class template DDDAStar, the A* search with delayed duplicate detection, whose OPEN and CLOSED lists are files on the disk: the External A* of Edelkamp, Jabbar and Schrödl (2004), with the hash-based delayed duplicate detection of Korf (2008) in place of the external sorts.
 
Distribution.h
 Header file for the work distribution functions of hash-based parallel A*: each one maps a state to its owner among p workers [see section 6 of Fukunaga et al., 2017, and Jinnai and Fukunaga, JAIR 2017].
 
Domain.h
 Header file for the concepts a search problem has to satisfy in order to be searched by the algorithms of the library, and for the few type helpers built upon them.
 
ExplicitGraph.h
 Header file for the class template ExplicitAdjacency, the arcs of a weighted graph given one by one, and for the class template ExplicitGraph, which implements the Domain concept [see Domain.h] for such a graph, with a heuristic given node by node, such as the map of Romania of Russell and Norvig.
 
FarmAStar.h
 Header file for the class template FarmAStar, a centralized parallel A* written as a farm with feedback on an executor of ADS: a master holds OPEN and CLOSED, and the workers expand the nodes it sends them.
 
Grid.h
 Header file for the class GridMap, a map of cells with a cost of traversal, for the class template GridAdjacency, the free cells next to a cell of a GridMap, and for the class template Grid, which implements the Domain concept [see Domain.h] for pathfinding on a GridMap with 4 or 8 moves.
 
HDAStar.h
 Header file for the class template HDAStar, Hash Distributed A* on a shared-memory machine, whose workers run on an executor of ADS and exchange nodes through the mailbox of ADS on its channels.
 
HDAStarMPI.h
 Header file for the class template HDAStarMPI, Hash Distributed A* on a distributed-memory machine, with one MPI process per worker.
 
IDAStar.h
 Header file for the class template IDAStar, the iterative-deepening A* of Korf (1985), which finds an optimal path with a memory linear in its length: a depth-first search bounded by \( f = g + h \), repeated with the bound raised each time to the least \( f \) that exceeded it.
 
MissionariesCannibals.h
 Header file for the class MissionariesCannibals, which implements the Domain concept [see Domain.h] for the missionaries and cannibals problem of exercise 3.9 of Russell and Norvig, "Artificial Intelligence: A Modern Approach" (3rd edition, 2010), with m missionaries, c cannibals and a boat of b seats.
 
MQAStar.h
 Header file for the class template MQAStar, MultiQueue A*: the workers share one CLOSED list, as in SPAStar, and an OPEN list that is a relaxed priority queue, the MultiQueue of Rihani, Sanders and Dementiev, in place of a priority queue under one lock.
 
Node.h
 Header file for the class template Node, a node of the search graph, for the class template NodePool, the arena the nodes are allocated from, taken from the set of data structures chosen [see Structures.h], and for the infinite cost and the path to a goal.
 
NodeTable.h
 Header file for the class template NodeTable, the closed list of the searches: a map from the generated states to their canonical Node, taken from the set of data structures chosen [see Structures.h].
 
NQueens.h
 Header file for the class NQueens, which implements the Domain concept [see Domain.h] for the n-queens problem in the incremental formulation of section 3.2.1 of Russell and Norvig, "Artificial Intelligence: A Modern Approach" (3rd edition, 2010).
 
OpenList.h
 Header file for the priority queues of the OPEN list, taken from the set of data structures chosen [see Structures.h]: the class templates HeapOpenList, a heap for any cost type, and BucketOpenList, a two-level bucket queue for integer costs, and their entries.
 
PASE.h
 Header file for the class template PASE, Parallel A* for Slow Expansions of Phillips, Likhachev and Koenig (ICAPS 2014).
 
PatternDatabase.h
 Header file for the pattern databases of the sliding-tile puzzles, i.e., the heuristics that store the exact distances of an abstraction of the puzzle.
 
Romania.h
 Header file for the class Romania, the road map of Romania of figure 3.2 of Russell and Norvig, "Artificial Intelligence: A Modern Approach" (3rd edition, 2010), as an ExplicitGraph [see ExplicitGraph.h].
 
SafePBNF.h
 Header file for the class template SafePBNF, the livelock-free Parallel Best-NBlock-First search of Burns, Lemons, Ruml and Zhou (JAIR 2010).
 
SequenceScore.h
 Header file for the class template SequenceScore, which implements the Domain concept [see Domain.h] for the sliding-tile puzzle with the sequence score heuristic of Nilsson, an inadmissible heuristic.
 
SlidingTile.h
 Header file for the class template SlidingTile, which implements the Domain concept [see Domain.h] for the sliding-tile puzzles with the Manhattan distance heuristic, and for the class Word128, the unsigned integer of 128 bits in which the boards of more than 16 cells are packed.
 
SlowDomain.h
 Header file for the class template SlowDomain, a Domain [see Domain.h] whose expansions are made artificially slow, to compare the searches when the expansion dominates their cost.
 
Solution.h
 Header file for the outcome of a search: the class template Solution, the statistics SearchStats collected on the way, and the SearchOptions shared by all the searches.
 
SPAStar.h
 Header file for the class template SPAStar, Simple Parallel A*: all the workers share one OPEN and one CLOSED list.
 
Structures.h
 Header file for the choice of the set of data structures of A*: the arena of the nodes (NodePool), the closed list (NodeTable), the OPEN lists (HeapOpenList and BucketOpenList) and the adjacency of the explicit graphs and of the grids.
 
TravelingSalesman.h
 Header file for the class TravelingSalesman, which implements the Domain concept [see Domain.h] for the traveling salesperson problem with the minimum spanning tree heuristic of exercise 3.30 of Russell and Norvig, "Artificial Intelligence: A Modern Approach" (3rd edition, 2010).
 
VacuumWorld.h
 Header file for the class VacuumWorld, which implements the Domain concept [see Domain.h] for the vacuum world of section 3.2.1 of Russell and Norvig, "Artificial Intelligence: A Modern Approach" (3rd edition, 2010), on a row of n cells instead of 2.
 
WaterJugs.h
 Header file for the class WaterJugs, which implements the Domain concept [see Domain.h] for the water jugs problem of exercise 3.6(d) of Russell and Norvig, "Artificial Intelligence: A Modern Approach" (3rd edition, 2010), which is the PourProblem of aima-python (github.com/aimacode/aima-python).