PBeFS
Parallel Best-First Search
Loading...
Searching...
No Matches
Node< State, Cost > Struct Template Reference

a node of the search graph More...

#include <PBeFS/astar/Node.h>

Public Member Functions

Cost f (void) const noexcept
 the estimate \( f = g + h \) of the cost of a solution through the Node

Public Attributes

State state
 the state
Cost g
 the cost of the best path found from the root
Cost h
 the heuristic estimate of the cost to a goal
Node * parent
 the predecessor on that path (nullptr at the root)
bool closed
 true if expanded with the current g
bool expanded
 true if ever expanded
std::uint8_t op = no_op
 the operator that generated the state
std::uint32_t key = 0
 the key of the state for its owner

Detailed Description

template<class State, class Cost>
struct PBeFS_di_unipi_it::Node< State, Cost >

a node of the search graph

There is one canonical Node per generated state. The field closed tells whether the Node is in CLOSED, i.e., it has been expanded with its current g; a Node reached again through a cheaper path is moved back to OPEN by clearing it [see line 11 of Algorithm 1 of Fukunaga et al., 2017], while expanded stays set, so that the re-expansions can be counted. The field op is used by the OperatorDomain only, and key by a distribution whose owners follow the moves [see IncrementalDistribution] only; with a state of one or two words both fit in the padding.

Member Function Documentation

◆ f()

template<class State, class Cost>
Cost f ( void ) const
inlinenodiscardnoexcept

the estimate \( f = g + h \) of the cost of a solution through the Node

Member Data Documentation

◆ closed

template<class State, class Cost>
bool closed

true if expanded with the current g

◆ expanded

template<class State, class Cost>
bool expanded

true if ever expanded

◆ g

template<class State, class Cost>
Cost g

the cost of the best path found from the root

◆ h

template<class State, class Cost>
Cost h

the heuristic estimate of the cost to a goal

◆ key

template<class State, class Cost>
std::uint32_t key = 0

the key of the state for its owner

◆ op

template<class State, class Cost>
std::uint8_t op = no_op

the operator that generated the state

◆ parent

template<class State, class Cost>
Node* parent

the predecessor on that path (nullptr at the root)

◆ state

template<class State, class Cost>
State state

the state


The documentation for this struct was generated from the following file: