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

#include <IncrementalBGS.h>

Collaboration diagram for IncrementalBGS< state, action >:
Collaboration graph
[legend]

Classes

struct  BFHSCompare
 
struct  costInterval
 
struct  IBEXData
 
struct  searchData
 

Public Member Functions

 IncrementalBGS (double initialBound=0)
 
bool InitializeSearch (SearchEnvironment< state, action > *env, state from, state to, Heuristic< state > *h, std::vector< state > &thePath)
 
void GetPath (SearchEnvironment< state, action > *env, state from, state to, Heuristic< state > *h, std::vector< state > &thePath)
 
void GetPath (SearchEnvironment< state, action > *env, state from, state to, std::vector< action > &thePath)
 
bool DoSingleSearchStep (std::vector< state > &thePath)
 
uint64_t GetNodesExpanded ()
 
uint64_t GetIterationNodesExpanded ()
 
uint64_t GetNodesTouched ()
 
void ResetNodeCount ()
 
void Reset ()
 
void OpenGLDraw ()
 
void Draw (Graphics::Display &display) const
 
state GetCurrentState () const
 
void GetCurrentPath (std::vector< state > &p) const
 
double GetCurrentFLimit ()
 
double GetNextFLimit ()
 
uint64_t GetNewNodesLastIteration ()
 
void GetGlobalCostInterval (double &lower, double &upper)
 
void GetNodeInterval (uint64_t &lower, uint64_t &upper)
 

Public Attributes

const uint64_t c1 = 2
 
const uint64_t c2 = 8
 
const uint64_t gamma = 2
 
const int infiniteWorkBound = -1
 
std::string stage
 
std::string fEquation
 

Private Member Functions

bool IterationComplete ()
 
void SetupIteration (double cost)
 
bool StepIteration ()
 
void ExtractPathToStartFromID (uint64_t node, std::vector< state > &thePath)
 

Private Attributes

IBEXData data
 
searchData sd
 
double solutionCost
 
unsigned long nodesExpanded
 
unsigned long nodesTouched
 
std::vector< std::pair< state, double > > history
 
std::vector< state > solutionPath
 
state start
 
state goal
 
double previousBound
 
double bound
 
double initialBound
 
double nextBound
 
SearchEnvironment< state, action > * env
 
Heuristic< state > * h
 
std::vector< state > succ
 
uint64_t newNodeCount
 
uint64_t newNodesLastIteration
 
AStarOpenClosed< state, BFHSCompareq
 
std::vector< state > neighbors
 
std::vector< uint64_t > neighborID
 
std::vector< double > edgeCosts
 
std::vector< dataLocationneighborLoc
 
std::vector< state > solutionStates
 

Detailed Description

template<class state, class action>
class IncrementalBGS< state, action >

Definition at line 17 of file IncrementalBGS.h.

Constructor & Destructor Documentation

◆ IncrementalBGS()

template<class state , class action >
IncrementalBGS< state, action >::IncrementalBGS ( double  initialBound = 0)
inline

Member Function Documentation

◆ DoSingleSearchStep()

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

◆ Draw()

template<class state , class action >
void IncrementalBGS< state, action >::Draw ( Graphics::Display display) const

Definition at line 469 of file IncrementalBGS.h.

References kClosedList, and kOpenList.

◆ ExtractPathToStartFromID()

template<class state , class action >
void IncrementalBGS< state, action >::ExtractPathToStartFromID ( uint64_t  node,
std::vector< state > &  thePath 
)
private

Definition at line 209 of file IncrementalBGS.h.

◆ GetCurrentFLimit()

template<class state , class action >
double IncrementalBGS< state, action >::GetCurrentFLimit ( )
inline

◆ GetCurrentPath()

template<class state , class action >
void IncrementalBGS< state, action >::GetCurrentPath ( std::vector< state > &  p) const
inline

Definition at line 50 of file IncrementalBGS.h.

References IncrementalBGS< state, action >::solutionPath.

◆ GetCurrentState()

template<class state , class action >
state IncrementalBGS< state, action >::GetCurrentState ( ) const
inline

Definition at line 40 of file IncrementalBGS.h.

References IncrementalBGS< state, action >::q.

◆ GetGlobalCostInterval()

template<class state , class action >
void IncrementalBGS< state, action >::GetGlobalCostInterval ( double &  lower,
double &  upper 
)
inline

◆ GetIterationNodesExpanded()

template<class state , class action >
uint64_t IncrementalBGS< state, action >::GetIterationNodesExpanded ( )
inline

◆ GetNewNodesLastIteration()

template<class state , class action >
uint64_t IncrementalBGS< state, action >::GetNewNodesLastIteration ( )
inline

◆ GetNextFLimit()

template<class state , class action >
double IncrementalBGS< state, action >::GetNextFLimit ( )
inline

Definition at line 53 of file IncrementalBGS.h.

References IncrementalBGS< state, action >::nextBound.

◆ GetNodeInterval()

template<class state , class action >
void IncrementalBGS< state, action >::GetNodeInterval ( uint64_t &  lower,
uint64_t &  upper 
)
inline

◆ GetNodesExpanded()

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

Definition at line 28 of file IncrementalBGS.h.

References IncrementalBGS< state, action >::nodesExpanded.

◆ GetNodesTouched()

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

Definition at line 30 of file IncrementalBGS.h.

References IncrementalBGS< state, action >::nodesTouched.

◆ GetPath() [1/2]

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

Definition at line 137 of file IncrementalBGS.h.

◆ GetPath() [2/2]

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

Definition at line 147 of file IncrementalBGS.h.

◆ InitializeSearch()

template<class state , class action >
bool IncrementalBGS< state, action >::InitializeSearch ( SearchEnvironment< state, action > *  env,
state  from,
state  to,
Heuristic< state > *  h,
std::vector< state > &  thePath 
)

◆ IterationComplete()

template<class state , class action >
bool IncrementalBGS< state, action >::IterationComplete ( )
inlineprivate

Definition at line 101 of file IncrementalBGS.h.

References IncrementalBGS< state, action >::q.

◆ OpenGLDraw()

template<class state , class action >
void IncrementalBGS< state, action >::OpenGLDraw

Definition at line 522 of file IncrementalBGS.h.

◆ Reset()

template<class state , class action >
void IncrementalBGS< state, action >::Reset ( )
inline

◆ ResetNodeCount()

template<class state , class action >
void IncrementalBGS< state, action >::ResetNodeCount ( )
inline

◆ SetupIteration()

template<class state , class action >
void IncrementalBGS< state, action >::SetupIteration ( double  cost)
private

Definition at line 187 of file IncrementalBGS.h.

◆ StepIteration()

template<class state , class action >
bool IncrementalBGS< state, action >::StepIteration
private

Definition at line 220 of file IncrementalBGS.h.

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

Member Data Documentation

◆ bound

template<class state , class action >
double IncrementalBGS< state, action >::bound
private

◆ c1

template<class state , class action >
const uint64_t IncrementalBGS< state, action >::c1 = 2

Definition at line 55 of file IncrementalBGS.h.

Referenced by IncrementalBGS< state, action >::GetNodeInterval().

◆ c2

template<class state , class action >
const uint64_t IncrementalBGS< state, action >::c2 = 8

Definition at line 56 of file IncrementalBGS.h.

◆ data

template<class state , class action >
IBEXData IncrementalBGS< state, action >::data
private

◆ edgeCosts

template<class state , class action >
std::vector<double> IncrementalBGS< state, action >::edgeCosts
private

Definition at line 131 of file IncrementalBGS.h.

◆ env

template<class state , class action >
SearchEnvironment<state, action>* IncrementalBGS< state, action >::env
private

Definition at line 115 of file IncrementalBGS.h.

◆ fEquation

template<class state , class action >
std::string IncrementalBGS< state, action >::fEquation

Definition at line 64 of file IncrementalBGS.h.

◆ gamma

template<class state , class action >
const uint64_t IncrementalBGS< state, action >::gamma = 2

Definition at line 57 of file IncrementalBGS.h.

◆ goal

template<class state , class action >
state IncrementalBGS< state, action >::goal
private

Definition at line 110 of file IncrementalBGS.h.

◆ h

template<class state , class action >
Heuristic<state>* IncrementalBGS< state, action >::h
private

Definition at line 116 of file IncrementalBGS.h.

◆ history

template<class state , class action >
std::vector<std::pair<state, double> > IncrementalBGS< state, action >::history
private

Definition at line 108 of file IncrementalBGS.h.

Referenced by IncrementalBGS< state, action >::Reset().

◆ infiniteWorkBound

template<class state , class action >
const int IncrementalBGS< state, action >::infiniteWorkBound = -1

Definition at line 58 of file IncrementalBGS.h.

◆ initialBound

template<class state , class action >
double IncrementalBGS< state, action >::initialBound
private

Definition at line 113 of file IncrementalBGS.h.

Referenced by IncrementalBGS< state, action >::Reset().

◆ neighborID

template<class state , class action >
std::vector<uint64_t> IncrementalBGS< state, action >::neighborID
private

Definition at line 130 of file IncrementalBGS.h.

◆ neighborLoc

template<class state , class action >
std::vector<dataLocation> IncrementalBGS< state, action >::neighborLoc
private

Definition at line 132 of file IncrementalBGS.h.

◆ neighbors

template<class state , class action >
std::vector<state> IncrementalBGS< state, action >::neighbors
private

Definition at line 129 of file IncrementalBGS.h.

◆ newNodeCount

template<class state , class action >
uint64_t IncrementalBGS< state, action >::newNodeCount
private

Definition at line 118 of file IncrementalBGS.h.

Referenced by IncrementalBGS< state, action >::ResetNodeCount().

◆ newNodesLastIteration

template<class state , class action >
uint64_t IncrementalBGS< state, action >::newNodesLastIteration
private

◆ nextBound

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

◆ nodesExpanded

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

◆ nodesTouched

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

◆ previousBound

template<class state , class action >
double IncrementalBGS< state, action >::previousBound
private

◆ q

template<class state , class action >
AStarOpenClosed<state, BFHSCompare> IncrementalBGS< state, action >::q
private

◆ sd

template<class state , class action >
searchData IncrementalBGS< state, action >::sd
private

Definition at line 88 of file IncrementalBGS.h.

◆ solutionCost

template<class state , class action >
double IncrementalBGS< state, action >::solutionCost
private

Definition at line 100 of file IncrementalBGS.h.

Referenced by IncrementalBGS< state, action >::GetCurrentFLimit().

◆ solutionPath

template<class state , class action >
std::vector<state> IncrementalBGS< state, action >::solutionPath
private

◆ solutionStates

template<class state , class action >
std::vector<state> IncrementalBGS< state, action >::solutionStates
private

Definition at line 133 of file IncrementalBGS.h.

◆ stage

template<class state , class action >
std::string IncrementalBGS< state, action >::stage

Definition at line 63 of file IncrementalBGS.h.

◆ start

template<class state , class action >
state IncrementalBGS< state, action >::start
private

Definition at line 110 of file IncrementalBGS.h.

◆ succ

template<class state , class action >
std::vector<state> IncrementalBGS< state, action >::succ
private

Definition at line 117 of file IncrementalBGS.h.


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