SearchStats
Declared in astar/Solution.h; the same struct on the site of Doxygen.
-
struct SearchStats
the counters of a search
The vectors have one entry per worker, a single one for a sequential search. The field sent counts the nodes handed to another worker, so that the communication overhead of Jinnai and Fukunaga (JAIR 2017) is \( \mathrm{CO} = \mathrm{sent} / \mathrm{generated} \), and the load balance is \( \mathrm{LB} = \max_i E_i / ( \frac{1}{p} \sum_i E_i ) \), \( E_i \) being the expansions of the worker \( i \) in expanded_by.
Public Functions
-
double load_balance(void) const
the load balance \( \mathrm{LB} \), the largest over the mean of the expansions per worker (1 is a perfect balance)
-
double communication_overhead(void) const
the communication overhead \( \mathrm{CO} \), the nodes sent to another worker over the nodes generated
Public Members
-
std::uint64_t expanded = 0
expansions, re-expansions included
-
std::uint64_t reexpanded = 0
expansions of a node already expanded
-
std::uint64_t generated = 0
successors generated
-
std::uint64_t duplicates = 0
generated states already known with a \( g \) not larger
-
std::uint64_t sent = 0
nodes sent to another worker
-
std::uint64_t messages = 0
batches of nodes sent
-
std::uint64_t stored = 0
distinct nodes stored at the end
-
double seconds = 0
wall-clock time of the search
-
std::vector<std::uint64_t> expanded_by
expansions of each worker
-
std::vector<std::uint64_t> stored_by
nodes stored by each worker
-
double load_balance(void) const