HOG2
Public Member Functions | Public Attributes | Private Member Functions | Private Attributes | List of all members
BIdijkstra< state, action, environment, priorityQueue > Class Template Reference

#include <BidirectionalDijkstra.h>

Public Member Functions

 BIdijkstra ()
 
virtual ~BIdijkstra ()
 
void GetPath (environment *env, const state &from, const state &to, std::vector< state > &thePath)
 
bool InitializeSearch (environment *env, const state &from, const state &to, std::vector< state > &thePath)
 
bool DoSingleSearchStep (std::vector< state > &thePath)
 
void ExtractPath (uint64_t node1, uint64_t node2, std::vector< state > &thePath)
 
void DoRegionAnalysis (environment *env, const state &from, const state &to, double optimalPathCost, uint64_t optimalPathLength)
 
void SetVersion (int v)
 
int GetVersion ()
 
void SetEpsilon (double minedge)
 
double GetEpsilon ()
 
virtual const char * GetName ()
 
void ResetNodeCount ()
 
const int GetNumForwardItems ()
 
const int GetNumBackwardItems ()
 
const AStarOpenClosedData< state > & GetForwardItem (unsigned int which)
 
const AStarOpenClosedData< state > & GetBackwardItem (unsigned int which)
 
uint64_t GetNodesExpanded () const
 
uint64_t GetNodesTouched () const
 
uint64_t GetNodesExpanded_NN_PathCost () const
 
uint64_t GetNodesExpanded_NF_PathCost () const
 
uint64_t GetNodesExpanded_FN_PathCost () const
 
uint64_t GetNodesExpanded_FF_PathCost () const
 
uint64_t GetNodesExpanded_RN_PathCost () const
 
uint64_t GetNodesExpanded_RF_PathCost () const
 
uint64_t GetNodesExpanded_NN_PathLength () const
 
uint64_t GetNodesExpanded_NF_PathLength () const
 
uint64_t GetNodesExpanded_FN_PathLength () const
 
uint64_t GetNodesExpanded_FF_PathLength () const
 
uint64_t GetNodesExpanded_RN_PathLength () const
 
uint64_t GetNodesExpanded_RF_PathLength () const
 
double GetPathCost () const
 
uint64_t GetPathLength () const
 
state GetMeetingPoint () const
 
void OpenGLDraw () const
 

Public Attributes

priorityQueue forwardQueue
 
priorityQueue backwardQueue
 
state goal
 
state start
 

Private Member Functions

void OpenGLDraw (const priorityQueue &queue) const
 
void Expand (priorityQueue &current, priorityQueue &opposite, const state &target)
 

Private Attributes

uint64_t nodesTouched
 
uint64_t nodesExpanded
 
uint64_t middleNode
 
uint64_t middleNode2
 
double currentCost
 
std::vector< state > neighbors
 
environment * env
 
double epsilon
 
int turn
 
int version
 
bool countRegions
 
uint64_t nodesExpanded_NF_PathCost
 
uint64_t nodesExpanded_NN_PathCost
 
uint64_t nodesExpanded_RF_PathCost
 
uint64_t nodesExpanded_FN_PathCost
 
uint64_t nodesExpanded_FF_PathCost
 
uint64_t nodesExpanded_RN_PathCost
 
uint64_t nodesExpanded_NF_PathLength
 
uint64_t nodesExpanded_NN_PathLength
 
uint64_t nodesExpanded_RF_PathLength
 
uint64_t nodesExpanded_FN_PathLength
 
uint64_t nodesExpanded_FF_PathLength
 
uint64_t nodesExpanded_RN_PathLength
 
double optimalPathCost
 
double optimalPathLength
 
bool forwardDirection
 

Detailed Description

template<class state, class action, class environment, class priorityQueue = AStarOpenClosed<state,BDCompare<state>>>
class BIdijkstra< state, action, environment, priorityQueue >

Definition at line 25 of file BidirectionalDijkstra.h.

Constructor & Destructor Documentation

◆ BIdijkstra()

template<class state , class action , class environment , class priorityQueue = AStarOpenClosed<state,BDCompare<state>>>
BIdijkstra< state, action, environment, priorityQueue >::BIdijkstra ( )
inline

◆ ~BIdijkstra()

template<class state , class action , class environment , class priorityQueue = AStarOpenClosed<state,BDCompare<state>>>
virtual BIdijkstra< state, action, environment, priorityQueue >::~BIdijkstra ( )
inlinevirtual

Definition at line 28 of file BidirectionalDijkstra.h.

Member Function Documentation

◆ DoRegionAnalysis()

template<class state , class action , class environment , class priorityQueue >
void BIdijkstra< state, action, environment, priorityQueue >::DoRegionAnalysis ( environment *  env,
const state &  from,
const state &  to,
double  optimalPathCost,
uint64_t  optimalPathLength 
)

Definition at line 486 of file BidirectionalDijkstra.h.

◆ DoSingleSearchStep()

template<class state , class action , class environment , class priorityQueue >
bool BIdijkstra< state, action, environment, priorityQueue >::DoSingleSearchStep ( std::vector< state > &  thePath)

Definition at line 142 of file BidirectionalDijkstra.h.

References fless(), and AStarOpenClosedData< state >::g.

◆ Expand()

template<class state , class action , class environment , class priorityQueue >
void BIdijkstra< state, action, environment, priorityQueue >::Expand ( priorityQueue &  current,
priorityQueue &  opposite,
const state &  target 
)
private

Definition at line 254 of file BidirectionalDijkstra.h.

References fless(), kClosedList, kNotFound, and kOpenList.

◆ ExtractPath()

template<class state , class action , class environment , class priorityQueue >
void BIdijkstra< state, action, environment, priorityQueue >::ExtractPath ( uint64_t  node1,
uint64_t  node2,
std::vector< state > &  thePath 
)

Definition at line 234 of file BidirectionalDijkstra.h.

◆ GetBackwardItem()

template<class state , class action , class environment , class priorityQueue = AStarOpenClosed<state,BDCompare<state>>>
const AStarOpenClosedData<state>& BIdijkstra< state, action, environment, priorityQueue >::GetBackwardItem ( unsigned int  which)
inline

◆ GetEpsilon()

template<class state , class action , class environment , class priorityQueue = AStarOpenClosed<state,BDCompare<state>>>
double BIdijkstra< state, action, environment, priorityQueue >::GetEpsilon ( )
inline

◆ GetForwardItem()

template<class state , class action , class environment , class priorityQueue = AStarOpenClosed<state,BDCompare<state>>>
const AStarOpenClosedData<state>& BIdijkstra< state, action, environment, priorityQueue >::GetForwardItem ( unsigned int  which)
inline

◆ GetMeetingPoint()

template<class state , class action , class environment , class priorityQueue = AStarOpenClosed<state,BDCompare<state>>>
state BIdijkstra< state, action, environment, priorityQueue >::GetMeetingPoint ( ) const
inline

◆ GetName()

template<class state , class action , class environment , class priorityQueue = AStarOpenClosed<state,BDCompare<state>>>
virtual const char* BIdijkstra< state, action, environment, priorityQueue >::GetName ( )
inlinevirtual

Definition at line 47 of file BidirectionalDijkstra.h.

◆ GetNodesExpanded()

template<class state , class action , class environment , class priorityQueue = AStarOpenClosed<state,BDCompare<state>>>
uint64_t BIdijkstra< state, action, environment, priorityQueue >::GetNodesExpanded ( ) const
inline

◆ GetNodesExpanded_FF_PathCost()

template<class state , class action , class environment , class priorityQueue = AStarOpenClosed<state,BDCompare<state>>>
uint64_t BIdijkstra< state, action, environment, priorityQueue >::GetNodesExpanded_FF_PathCost ( ) const
inline

◆ GetNodesExpanded_FF_PathLength()

template<class state , class action , class environment , class priorityQueue = AStarOpenClosed<state,BDCompare<state>>>
uint64_t BIdijkstra< state, action, environment, priorityQueue >::GetNodesExpanded_FF_PathLength ( ) const
inline

◆ GetNodesExpanded_FN_PathCost()

template<class state , class action , class environment , class priorityQueue = AStarOpenClosed<state,BDCompare<state>>>
uint64_t BIdijkstra< state, action, environment, priorityQueue >::GetNodesExpanded_FN_PathCost ( ) const
inline

◆ GetNodesExpanded_FN_PathLength()

template<class state , class action , class environment , class priorityQueue = AStarOpenClosed<state,BDCompare<state>>>
uint64_t BIdijkstra< state, action, environment, priorityQueue >::GetNodesExpanded_FN_PathLength ( ) const
inline

◆ GetNodesExpanded_NF_PathCost()

template<class state , class action , class environment , class priorityQueue = AStarOpenClosed<state,BDCompare<state>>>
uint64_t BIdijkstra< state, action, environment, priorityQueue >::GetNodesExpanded_NF_PathCost ( ) const
inline

◆ GetNodesExpanded_NF_PathLength()

template<class state , class action , class environment , class priorityQueue = AStarOpenClosed<state,BDCompare<state>>>
uint64_t BIdijkstra< state, action, environment, priorityQueue >::GetNodesExpanded_NF_PathLength ( ) const
inline

◆ GetNodesExpanded_NN_PathCost()

template<class state , class action , class environment , class priorityQueue = AStarOpenClosed<state,BDCompare<state>>>
uint64_t BIdijkstra< state, action, environment, priorityQueue >::GetNodesExpanded_NN_PathCost ( ) const
inline

◆ GetNodesExpanded_NN_PathLength()

template<class state , class action , class environment , class priorityQueue = AStarOpenClosed<state,BDCompare<state>>>
uint64_t BIdijkstra< state, action, environment, priorityQueue >::GetNodesExpanded_NN_PathLength ( ) const
inline

◆ GetNodesExpanded_RF_PathCost()

template<class state , class action , class environment , class priorityQueue = AStarOpenClosed<state,BDCompare<state>>>
uint64_t BIdijkstra< state, action, environment, priorityQueue >::GetNodesExpanded_RF_PathCost ( ) const
inline

◆ GetNodesExpanded_RF_PathLength()

template<class state , class action , class environment , class priorityQueue = AStarOpenClosed<state,BDCompare<state>>>
uint64_t BIdijkstra< state, action, environment, priorityQueue >::GetNodesExpanded_RF_PathLength ( ) const
inline

◆ GetNodesExpanded_RN_PathCost()

template<class state , class action , class environment , class priorityQueue = AStarOpenClosed<state,BDCompare<state>>>
uint64_t BIdijkstra< state, action, environment, priorityQueue >::GetNodesExpanded_RN_PathCost ( ) const
inline

◆ GetNodesExpanded_RN_PathLength()

template<class state , class action , class environment , class priorityQueue = AStarOpenClosed<state,BDCompare<state>>>
uint64_t BIdijkstra< state, action, environment, priorityQueue >::GetNodesExpanded_RN_PathLength ( ) const
inline

◆ GetNodesTouched()

template<class state , class action , class environment , class priorityQueue = AStarOpenClosed<state,BDCompare<state>>>
uint64_t BIdijkstra< state, action, environment, priorityQueue >::GetNodesTouched ( ) const
inline

◆ GetNumBackwardItems()

template<class state , class action , class environment , class priorityQueue = AStarOpenClosed<state,BDCompare<state>>>
const int BIdijkstra< state, action, environment, priorityQueue >::GetNumBackwardItems ( )
inline

◆ GetNumForwardItems()

template<class state , class action , class environment , class priorityQueue = AStarOpenClosed<state,BDCompare<state>>>
const int BIdijkstra< state, action, environment, priorityQueue >::GetNumForwardItems ( )
inline

◆ GetPath()

template<class state , class action , class environment , class priorityQueue >
void BIdijkstra< state, action, environment, priorityQueue >::GetPath ( environment *  env,
const state &  from,
const state &  to,
std::vector< state > &  thePath 
)

Definition at line 108 of file BidirectionalDijkstra.h.

◆ GetPathCost()

template<class state , class action , class environment , class priorityQueue = AStarOpenClosed<state,BDCompare<state>>>
double BIdijkstra< state, action, environment, priorityQueue >::GetPathCost ( ) const
inline

◆ GetPathLength()

template<class state , class action , class environment , class priorityQueue = AStarOpenClosed<state,BDCompare<state>>>
uint64_t BIdijkstra< state, action, environment, priorityQueue >::GetPathLength ( ) const
inline

◆ GetVersion()

template<class state , class action , class environment , class priorityQueue = AStarOpenClosed<state,BDCompare<state>>>
int BIdijkstra< state, action, environment, priorityQueue >::GetVersion ( )
inline

◆ InitializeSearch()

template<class state , class action , class environment , class priorityQueue >
bool BIdijkstra< state, action, environment, priorityQueue >::InitializeSearch ( environment *  env,
const state &  from,
const state &  to,
std::vector< state > &  thePath 
)

Definition at line 119 of file BidirectionalDijkstra.h.

◆ OpenGLDraw() [1/2]

template<class state , class action , class environment , class priorityQueue >
void BIdijkstra< state, action, environment, priorityQueue >::OpenGLDraw

Definition at line 435 of file BidirectionalDijkstra.h.

◆ OpenGLDraw() [2/2]

template<class state , class action , class environment , class priorityQueue >
void BIdijkstra< state, action, environment, priorityQueue >::OpenGLDraw ( const priorityQueue &  queue) const
private

◆ ResetNodeCount()

template<class state , class action , class environment , class priorityQueue = AStarOpenClosed<state,BDCompare<state>>>
void BIdijkstra< state, action, environment, priorityQueue >::ResetNodeCount ( )
inline

◆ SetEpsilon()

template<class state , class action , class environment , class priorityQueue = AStarOpenClosed<state,BDCompare<state>>>
void BIdijkstra< state, action, environment, priorityQueue >::SetEpsilon ( double  minedge)
inline

◆ SetVersion()

template<class state , class action , class environment , class priorityQueue = AStarOpenClosed<state,BDCompare<state>>>
void BIdijkstra< state, action, environment, priorityQueue >::SetVersion ( int  v)
inline

Member Data Documentation

◆ backwardQueue

template<class state , class action , class environment , class priorityQueue = AStarOpenClosed<state,BDCompare<state>>>
priorityQueue BIdijkstra< state, action, environment, priorityQueue >::backwardQueue

◆ countRegions

template<class state , class action , class environment , class priorityQueue = AStarOpenClosed<state,BDCompare<state>>>
bool BIdijkstra< state, action, environment, priorityQueue >::countRegions
private

◆ currentCost

template<class state , class action , class environment , class priorityQueue = AStarOpenClosed<state,BDCompare<state>>>
double BIdijkstra< state, action, environment, priorityQueue >::currentCost
private

Definition at line 90 of file BidirectionalDijkstra.h.

◆ env

template<class state , class action , class environment , class priorityQueue = AStarOpenClosed<state,BDCompare<state>>>
environment* BIdijkstra< state, action, environment, priorityQueue >::env
private

◆ epsilon

template<class state , class action , class environment , class priorityQueue = AStarOpenClosed<state,BDCompare<state>>>
double BIdijkstra< state, action, environment, priorityQueue >::epsilon
private

◆ forwardDirection

template<class state , class action , class environment , class priorityQueue = AStarOpenClosed<state,BDCompare<state>>>
bool BIdijkstra< state, action, environment, priorityQueue >::forwardDirection
private

Definition at line 104 of file BidirectionalDijkstra.h.

◆ forwardQueue

template<class state , class action , class environment , class priorityQueue = AStarOpenClosed<state,BDCompare<state>>>
priorityQueue BIdijkstra< state, action, environment, priorityQueue >::forwardQueue

◆ goal

template<class state , class action , class environment , class priorityQueue = AStarOpenClosed<state,BDCompare<state>>>
state BIdijkstra< state, action, environment, priorityQueue >::goal

Definition at line 44 of file BidirectionalDijkstra.h.

◆ middleNode

template<class state , class action , class environment , class priorityQueue = AStarOpenClosed<state,BDCompare<state>>>
uint64_t BIdijkstra< state, action, environment, priorityQueue >::middleNode
private

◆ middleNode2

template<class state , class action , class environment , class priorityQueue = AStarOpenClosed<state,BDCompare<state>>>
uint64_t BIdijkstra< state, action, environment, priorityQueue >::middleNode2
private

Definition at line 89 of file BidirectionalDijkstra.h.

◆ neighbors

template<class state , class action , class environment , class priorityQueue = AStarOpenClosed<state,BDCompare<state>>>
std::vector<state> BIdijkstra< state, action, environment, priorityQueue >::neighbors
private

Definition at line 91 of file BidirectionalDijkstra.h.

◆ nodesExpanded

template<class state , class action , class environment , class priorityQueue = AStarOpenClosed<state,BDCompare<state>>>
uint64_t BIdijkstra< state, action, environment, priorityQueue >::nodesExpanded
private

◆ nodesExpanded_FF_PathCost

template<class state , class action , class environment , class priorityQueue = AStarOpenClosed<state,BDCompare<state>>>
uint64_t BIdijkstra< state, action, environment, priorityQueue >::nodesExpanded_FF_PathCost
private

◆ nodesExpanded_FF_PathLength

template<class state , class action , class environment , class priorityQueue = AStarOpenClosed<state,BDCompare<state>>>
uint64_t BIdijkstra< state, action, environment, priorityQueue >::nodesExpanded_FF_PathLength
private

◆ nodesExpanded_FN_PathCost

template<class state , class action , class environment , class priorityQueue = AStarOpenClosed<state,BDCompare<state>>>
uint64_t BIdijkstra< state, action, environment, priorityQueue >::nodesExpanded_FN_PathCost
private

◆ nodesExpanded_FN_PathLength

template<class state , class action , class environment , class priorityQueue = AStarOpenClosed<state,BDCompare<state>>>
uint64_t BIdijkstra< state, action, environment, priorityQueue >::nodesExpanded_FN_PathLength
private

◆ nodesExpanded_NF_PathCost

template<class state , class action , class environment , class priorityQueue = AStarOpenClosed<state,BDCompare<state>>>
uint64_t BIdijkstra< state, action, environment, priorityQueue >::nodesExpanded_NF_PathCost
private

◆ nodesExpanded_NF_PathLength

template<class state , class action , class environment , class priorityQueue = AStarOpenClosed<state,BDCompare<state>>>
uint64_t BIdijkstra< state, action, environment, priorityQueue >::nodesExpanded_NF_PathLength
private

◆ nodesExpanded_NN_PathCost

template<class state , class action , class environment , class priorityQueue = AStarOpenClosed<state,BDCompare<state>>>
uint64_t BIdijkstra< state, action, environment, priorityQueue >::nodesExpanded_NN_PathCost
private

◆ nodesExpanded_NN_PathLength

template<class state , class action , class environment , class priorityQueue = AStarOpenClosed<state,BDCompare<state>>>
uint64_t BIdijkstra< state, action, environment, priorityQueue >::nodesExpanded_NN_PathLength
private

◆ nodesExpanded_RF_PathCost

template<class state , class action , class environment , class priorityQueue = AStarOpenClosed<state,BDCompare<state>>>
uint64_t BIdijkstra< state, action, environment, priorityQueue >::nodesExpanded_RF_PathCost
private

◆ nodesExpanded_RF_PathLength

template<class state , class action , class environment , class priorityQueue = AStarOpenClosed<state,BDCompare<state>>>
uint64_t BIdijkstra< state, action, environment, priorityQueue >::nodesExpanded_RF_PathLength
private

◆ nodesExpanded_RN_PathCost

template<class state , class action , class environment , class priorityQueue = AStarOpenClosed<state,BDCompare<state>>>
uint64_t BIdijkstra< state, action, environment, priorityQueue >::nodesExpanded_RN_PathCost
private

◆ nodesExpanded_RN_PathLength

template<class state , class action , class environment , class priorityQueue = AStarOpenClosed<state,BDCompare<state>>>
uint64_t BIdijkstra< state, action, environment, priorityQueue >::nodesExpanded_RN_PathLength
private

◆ nodesTouched

template<class state , class action , class environment , class priorityQueue = AStarOpenClosed<state,BDCompare<state>>>
uint64_t BIdijkstra< state, action, environment, priorityQueue >::nodesTouched
private

◆ optimalPathCost

template<class state , class action , class environment , class priorityQueue = AStarOpenClosed<state,BDCompare<state>>>
double BIdijkstra< state, action, environment, priorityQueue >::optimalPathCost
private

◆ optimalPathLength

template<class state , class action , class environment , class priorityQueue = AStarOpenClosed<state,BDCompare<state>>>
double BIdijkstra< state, action, environment, priorityQueue >::optimalPathLength
private

◆ start

template<class state , class action , class environment , class priorityQueue = AStarOpenClosed<state,BDCompare<state>>>
state BIdijkstra< state, action, environment, priorityQueue >::start

Definition at line 44 of file BidirectionalDijkstra.h.

◆ turn

template<class state , class action , class environment , class priorityQueue = AStarOpenClosed<state,BDCompare<state>>>
int BIdijkstra< state, action, environment, priorityQueue >::turn
private

Definition at line 94 of file BidirectionalDijkstra.h.

◆ version

template<class state , class action , class environment , class priorityQueue = AStarOpenClosed<state,BDCompare<state>>>
int BIdijkstra< state, action, environment, priorityQueue >::version
private

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