Symphony 1.0
Loading...
Searching...
No Matches
search.h File Reference
#include <map>
#include "definitions.h"
#include <memory>
Include dependency graph for search.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  Node
 
class  Search
 
class  Solution
 
class  BreadthFirstSearch
 Breadth-first search algorithm implementation. More...
 
class  AStarSearch
 
class  BeamSearch
 

Enumerations

enum  SearchAlgorithmIndex { BREADTH_FIRST_SEARCH , UNIFORM_COST_SEARCH , A_STAR , BEAM_SEARCH }
 

Functions

Searchcreate_search (SearchAlgorithmIndex search_algorithm_index, Problem *problem)
 Factory method to create a search object based on the specified search algorithm.
 

Enumeration Type Documentation

◆ SearchAlgorithmIndex

Enumerator
BREADTH_FIRST_SEARCH 
UNIFORM_COST_SEARCH 
A_STAR 
BEAM_SEARCH 

Definition at line 102 of file search.h.

102 {
105 A_STAR,
107};
@ A_STAR
Definition search.h:105
@ UNIFORM_COST_SEARCH
Definition search.h:104
@ BEAM_SEARCH
Definition search.h:106
@ BREADTH_FIRST_SEARCH
Definition search.h:103

Function Documentation

◆ create_search()

Search * create_search ( SearchAlgorithmIndex  search_algorithm_index,
Problem problem 
)

Factory method to create a search object based on the specified search algorithm.

Parameters
search_algorithm_indexThe index of the search algorithm to use.
problemThe problem to solve.
Returns
A pointer to the created search object.

Definition at line 13 of file search.cpp.

13 {
14 switch (search_algorithm_index) {
16 return new BreadthFirstSearch(problem);
17 case A_STAR:
18 return new AStarSearch(problem);
19 case BEAM_SEARCH:
20 return new BeamSearch(problem, 2);
21 default:
22 return nullptr;
23 }
24}
Breadth-first search algorithm implementation.
Definition search.h:67

References A_STAR, BEAM_SEARCH, and BREADTH_FIRST_SEARCH.

Referenced by run().