HOG2
Public Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
DFS< state, action > Class Template Reference

#include <DFS.h>

Public Member Functions

 DFS ()
 
virtual ~DFS ()
 
void GetPath (SearchEnvironment< state, action > *env, state from, state to, std::vector< state > &thePath)
 
void GetPath (SearchEnvironment< state, action > *env, state from, state to, std::vector< action > &thePath)
 
uint64_t GetNodesExpanded ()
 
uint64_t GetNodesTouched ()
 

Private Types

typedef std::unordered_map< uint64_t, bool, Hash64DFSClosedList
 

Private Member Functions

void DoIteration (SearchEnvironment< state, action > *env, state parent, state currState, std::vector< state > &thePath, double bound, double g)
 
void DoIteration (SearchEnvironment< state, action > *env, action forbiddenAction, state &currState, std::vector< action > &thePath, double bound, double g)
 

Private Attributes

unsigned long nodesExpanded
 
unsigned long nodesTouched
 
double nextBound
 
std::deque< state > mOpen
 
std::deque< int > depth
 

Detailed Description

template<class state, class action>
class DFS< state, action >

Definition at line 19 of file DFS.h.

Member Typedef Documentation

◆ DFSClosedList

template<class state , class action >
typedef std::unordered_map<uint64_t, bool, Hash64> DFS< state, action >::DFSClosedList
private

Definition at line 31 of file DFS.h.

Constructor & Destructor Documentation

◆ DFS()

template<class state , class action >
DFS< state, action >::DFS ( )
inline

Definition at line 21 of file DFS.h.

◆ ~DFS()

template<class state , class action >
virtual DFS< state, action >::~DFS ( )
inlinevirtual

Definition at line 22 of file DFS.h.

Member Function Documentation

◆ DoIteration() [1/2]

template<class state , class action >
void DFS< state, action >::DoIteration ( SearchEnvironment< state, action > *  env,
action  forbiddenAction,
state &  currState,
std::vector< action > &  thePath,
double  bound,
double  g 
)
private

◆ DoIteration() [2/2]

template<class state , class action >
void DFS< state, action >::DoIteration ( SearchEnvironment< state, action > *  env,
state  parent,
state  currState,
std::vector< state > &  thePath,
double  bound,
double  g 
)
private

◆ GetNodesExpanded()

template<class state , class action >
uint64_t DFS< state, action >::GetNodesExpanded ( )
inline

Definition at line 28 of file DFS.h.

References DFS< state, action >::nodesExpanded.

◆ GetNodesTouched()

template<class state , class action >
uint64_t DFS< state, action >::GetNodesTouched ( )
inline

Definition at line 29 of file DFS.h.

References DFS< state, action >::nodesTouched.

◆ GetPath() [1/2]

template<class state , class action >
void DFS< state, action >::GetPath ( SearchEnvironment< state, action > *  env,
state  from,
state  to,
std::vector< action > &  thePath 
)

Definition at line 60 of file DFS.h.

References SearchEnvironment< state, action >::GetActions().

◆ GetPath() [2/2]

template<class state , class action >
void DFS< state, action >::GetPath ( SearchEnvironment< state, action > *  env,
state  from,
state  to,
std::vector< state > &  thePath 
)

Definition at line 48 of file DFS.h.

Member Data Documentation

◆ depth

template<class state , class action >
std::deque<int> DFS< state, action >::depth
private

Definition at line 43 of file DFS.h.

◆ mOpen

template<class state , class action >
std::deque<state> DFS< state, action >::mOpen
private

Definition at line 42 of file DFS.h.

◆ nextBound

template<class state , class action >
double DFS< state, action >::nextBound
private

Definition at line 41 of file DFS.h.

◆ nodesExpanded

template<class state , class action >
unsigned long DFS< state, action >::nodesExpanded
private

Definition at line 40 of file DFS.h.

Referenced by DFS< state, action >::GetNodesExpanded().

◆ nodesTouched

template<class state , class action >
unsigned long DFS< state, action >::nodesTouched
private

Definition at line 40 of file DFS.h.

Referenced by DFS< state, action >::GetNodesTouched().


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