27 const std::shared_ptr<Action>
action;
51 virtual std::shared_ptr<Node>
search() = 0;
74 std::shared_ptr<Node>
search()
override;
81 std::shared_ptr<Node>
search()
override;
97 std::shared_ptr<Node>
search()
override;
AStarSearch(Problem *problem)
std::shared_ptr< Node > search() override
BeamSearch(Problem *problem, int beam_width)
std::shared_ptr< Node > search() override
Breadth-first search algorithm implementation.
BreadthFirstSearch(Problem *problem)
std::shared_ptr< Node > search() override
Breadth-first search algorithm implementation. The breadth-first search algorithm explores a graph by...
std::shared_ptr< Node > parent
Node(std::shared_ptr< Node > parent, std::shared_ptr< State > state, const std::shared_ptr< Action > action, double path_cost, double heuristic)
std::shared_ptr< State > state
const std::shared_ptr< Action > action
Represents an abstract problem that needs to be solved.
virtual std::shared_ptr< Node > search()=0
Abstract classes for states, actions, and problems that need to be implemented by the user.
Search * create_search(SearchAlgorithmIndex search_algorithm_index, Problem *problem)
Factory method to create a search object based on the specified search algorithm.