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

#include <UnitCostBidirectionalBFS.h>

Public Member Functions

 UnitCostBidirectionalBFS ()
 
virtual ~UnitCostBidirectionalBFS ()
 
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, state, Hash64BFSClosedList
 

Private Member Functions

bool ExtractPath (SearchEnvironment< state, action > *env, std::vector< state > &thePath)
 
bool ExpandLayer (SearchEnvironment< state, action > *env, std::vector< state > &nodesToExpand, std::vector< state > &expansionLocation, BFSClosedList &duplicateHash, BFSClosedList &completionHash)
 

Private Attributes

unsigned long nodesExpanded
 
unsigned long nodesTouched
 
std::vector< state > startOpenA
 
std::vector< state > startOpenB
 
std::vector< state > goalOpenA
 
std::vector< state > goalOpenB
 
BFSClosedList startNodeTable
 
BFSClosedList goalNodeTable
 
state middle
 

Detailed Description

template<class state, class action>
class UnitCostBidirectionalBFS< state, action >

Definition at line 19 of file UnitCostBidirectionalBFS.h.

Member Typedef Documentation

◆ BFSClosedList

template<class state , class action >
typedef std::unordered_map<uint64_t, state, Hash64> UnitCostBidirectionalBFS< state, action >::BFSClosedList
private

Definition at line 31 of file UnitCostBidirectionalBFS.h.

Constructor & Destructor Documentation

◆ UnitCostBidirectionalBFS()

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

Definition at line 21 of file UnitCostBidirectionalBFS.h.

◆ ~UnitCostBidirectionalBFS()

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

Definition at line 22 of file UnitCostBidirectionalBFS.h.

Member Function Documentation

◆ ExpandLayer()

template<class state , class action >
bool UnitCostBidirectionalBFS< state, action >::ExpandLayer ( SearchEnvironment< state, action > *  env,
std::vector< state > &  nodesToExpand,
std::vector< state > &  expansionLocation,
BFSClosedList duplicateHash,
BFSClosedList completionHash 
)
private

◆ ExtractPath()

template<class state , class action >
bool UnitCostBidirectionalBFS< state, action >::ExtractPath ( SearchEnvironment< state, action > *  env,
std::vector< state > &  thePath 
)
private

◆ GetNodesExpanded()

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

◆ GetNodesTouched()

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

◆ GetPath() [1/2]

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

Definition at line 120 of file UnitCostBidirectionalBFS.h.

◆ GetPath() [2/2]

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

Member Data Documentation

◆ goalNodeTable

template<class state , class action >
BFSClosedList UnitCostBidirectionalBFS< state, action >::goalNodeTable
private

Definition at line 50 of file UnitCostBidirectionalBFS.h.

◆ goalOpenA

template<class state , class action >
std::vector<state> UnitCostBidirectionalBFS< state, action >::goalOpenA
private

Definition at line 45 of file UnitCostBidirectionalBFS.h.

◆ goalOpenB

template<class state , class action >
std::vector<state> UnitCostBidirectionalBFS< state, action >::goalOpenB
private

Definition at line 46 of file UnitCostBidirectionalBFS.h.

◆ middle

template<class state , class action >
state UnitCostBidirectionalBFS< state, action >::middle
private

Definition at line 51 of file UnitCostBidirectionalBFS.h.

◆ nodesExpanded

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

◆ nodesTouched

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

◆ startNodeTable

template<class state , class action >
BFSClosedList UnitCostBidirectionalBFS< state, action >::startNodeTable
private

Definition at line 49 of file UnitCostBidirectionalBFS.h.

◆ startOpenA

template<class state , class action >
std::vector<state> UnitCostBidirectionalBFS< state, action >::startOpenA
private

Definition at line 43 of file UnitCostBidirectionalBFS.h.

◆ startOpenB

template<class state , class action >
std::vector<state> UnitCostBidirectionalBFS< state, action >::startOpenB
private

Definition at line 44 of file UnitCostBidirectionalBFS.h.


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