HOG2
|
#include <IncrementalBGS.h>
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, BFHSCompare > | q |
std::vector< state > | neighbors |
std::vector< uint64_t > | neighborID |
std::vector< double > | edgeCosts |
std::vector< dataLocation > | neighborLoc |
std::vector< state > | solutionStates |
Definition at line 17 of file IncrementalBGS.h.
|
inline |
Definition at line 19 of file IncrementalBGS.h.
References IncrementalBGS< state, action >::previousBound, and IncrementalBGS< state, action >::ResetNodeCount().
bool IncrementalBGS< state, action >::DoSingleSearchStep | ( | std::vector< state > & | thePath | ) |
Definition at line 368 of file IncrementalBGS.h.
References fequal(), fgreatereq(), flesseq(), IBEX::infiniteWorkBound, IncrementalBGS< state, action >::costInterval::lowerBound, max, to_string_with_precision(), and IncrementalBGS< state, action >::costInterval::upperBound.
void IncrementalBGS< state, action >::Draw | ( | Graphics::Display & | display | ) | const |
Definition at line 469 of file IncrementalBGS.h.
References kClosedList, and kOpenList.
|
private |
Definition at line 209 of file IncrementalBGS.h.
|
inline |
Definition at line 52 of file IncrementalBGS.h.
References IncrementalBGS< state, action >::bound, min(), and IncrementalBGS< state, action >::solutionCost.
|
inline |
Definition at line 50 of file IncrementalBGS.h.
References IncrementalBGS< state, action >::solutionPath.
|
inline |
Definition at line 40 of file IncrementalBGS.h.
References IncrementalBGS< state, action >::q.
|
inline |
|
inline |
Definition at line 29 of file IncrementalBGS.h.
References IncrementalBGS< state, action >::data, and IncrementalBGS< state, action >::IBEXData::nodesExpanded.
|
inline |
Definition at line 54 of file IncrementalBGS.h.
References IncrementalBGS< state, action >::newNodesLastIteration.
|
inline |
Definition at line 53 of file IncrementalBGS.h.
References IncrementalBGS< state, action >::nextBound.
|
inline |
Definition at line 61 of file IncrementalBGS.h.
References IncrementalBGS< state, action >::c1, IncrementalBGS< state, action >::data, IncrementalBGS< state, action >::IBEXData::nodeLB, and IncrementalBGS< state, action >::IBEXData::workBound.
|
inline |
Definition at line 28 of file IncrementalBGS.h.
References IncrementalBGS< state, action >::nodesExpanded.
|
inline |
Definition at line 30 of file IncrementalBGS.h.
References IncrementalBGS< state, action >::nodesTouched.
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.
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.
bool IncrementalBGS< state, action >::InitializeSearch | ( | SearchEnvironment< state, action > * | env, |
state | from, | ||
state | to, | ||
Heuristic< state > * | h, | ||
std::vector< state > & | thePath | ||
) |
Definition at line 154 of file IncrementalBGS.h.
References Heuristic< state >::HCost(), IBEX::infiniteWorkBound, and to_string_with_precision().
|
inlineprivate |
Definition at line 101 of file IncrementalBGS.h.
References IncrementalBGS< state, action >::q.
void IncrementalBGS< state, action >::OpenGLDraw |
Definition at line 522 of file IncrementalBGS.h.
|
inline |
Definition at line 36 of file IncrementalBGS.h.
References IncrementalBGS< state, action >::bound, IncrementalBGS< state, action >::history, IncrementalBGS< state, action >::initialBound, IncrementalBGS< state, action >::nextBound, IncrementalBGS< state, action >::previousBound, IncrementalBGS< state, action >::ResetNodeCount(), and IncrementalBGS< state, action >::solutionPath.
|
inline |
Definition at line 31 of file IncrementalBGS.h.
References IncrementalBGS< state, action >::newNodeCount, IncrementalBGS< state, action >::newNodesLastIteration, IncrementalBGS< state, action >::nodesExpanded, and IncrementalBGS< state, action >::nodesTouched.
Referenced by IncrementalBGS< state, action >::IncrementalBGS(), and IncrementalBGS< state, action >::Reset().
|
private |
Definition at line 187 of file IncrementalBGS.h.
|
private |
Definition at line 220 of file IncrementalBGS.h.
References fgreater(), fless(), kClosedList, kNotFound, kOpenList, and min().
|
private |
Definition at line 112 of file IncrementalBGS.h.
Referenced by IncrementalBGS< state, action >::GetCurrentFLimit(), and IncrementalBGS< state, action >::Reset().
const uint64_t IncrementalBGS< state, action >::c1 = 2 |
Definition at line 55 of file IncrementalBGS.h.
Referenced by IncrementalBGS< state, action >::GetNodeInterval().
const uint64_t IncrementalBGS< state, action >::c2 = 8 |
Definition at line 56 of file IncrementalBGS.h.
|
private |
Definition at line 83 of file IncrementalBGS.h.
Referenced by IncrementalBGS< state, action >::GetGlobalCostInterval(), IncrementalBGS< state, action >::GetIterationNodesExpanded(), and IncrementalBGS< state, action >::GetNodeInterval().
|
private |
Definition at line 131 of file IncrementalBGS.h.
|
private |
Definition at line 115 of file IncrementalBGS.h.
std::string IncrementalBGS< state, action >::fEquation |
Definition at line 64 of file IncrementalBGS.h.
const uint64_t IncrementalBGS< state, action >::gamma = 2 |
Definition at line 57 of file IncrementalBGS.h.
|
private |
Definition at line 110 of file IncrementalBGS.h.
|
private |
Definition at line 116 of file IncrementalBGS.h.
|
private |
Definition at line 108 of file IncrementalBGS.h.
Referenced by IncrementalBGS< state, action >::Reset().
const int IncrementalBGS< state, action >::infiniteWorkBound = -1 |
Definition at line 58 of file IncrementalBGS.h.
|
private |
Definition at line 113 of file IncrementalBGS.h.
Referenced by IncrementalBGS< state, action >::Reset().
|
private |
Definition at line 130 of file IncrementalBGS.h.
|
private |
Definition at line 132 of file IncrementalBGS.h.
|
private |
Definition at line 129 of file IncrementalBGS.h.
|
private |
Definition at line 118 of file IncrementalBGS.h.
Referenced by IncrementalBGS< state, action >::ResetNodeCount().
|
private |
Definition at line 118 of file IncrementalBGS.h.
Referenced by IncrementalBGS< state, action >::GetNewNodesLastIteration(), and IncrementalBGS< state, action >::ResetNodeCount().
|
private |
Definition at line 114 of file IncrementalBGS.h.
Referenced by IncrementalBGS< state, action >::GetNextFLimit(), and IncrementalBGS< state, action >::Reset().
|
private |
Definition at line 102 of file IncrementalBGS.h.
Referenced by IncrementalBGS< state, action >::GetNodesExpanded(), and IncrementalBGS< state, action >::ResetNodeCount().
|
private |
Definition at line 102 of file IncrementalBGS.h.
Referenced by IncrementalBGS< state, action >::GetNodesTouched(), and IncrementalBGS< state, action >::ResetNodeCount().
|
private |
Definition at line 111 of file IncrementalBGS.h.
Referenced by IncrementalBGS< state, action >::IncrementalBGS(), and IncrementalBGS< state, action >::Reset().
|
private |
Definition at line 128 of file IncrementalBGS.h.
Referenced by IncrementalBGS< state, action >::GetCurrentState(), and IncrementalBGS< state, action >::IterationComplete().
|
private |
Definition at line 88 of file IncrementalBGS.h.
|
private |
Definition at line 100 of file IncrementalBGS.h.
Referenced by IncrementalBGS< state, action >::GetCurrentFLimit().
|
private |
Definition at line 109 of file IncrementalBGS.h.
Referenced by IncrementalBGS< state, action >::GetCurrentPath(), and IncrementalBGS< state, action >::Reset().
|
private |
Definition at line 133 of file IncrementalBGS.h.
std::string IncrementalBGS< state, action >::stage |
Definition at line 63 of file IncrementalBGS.h.
|
private |
Definition at line 110 of file IncrementalBGS.h.
|
private |
Definition at line 117 of file IncrementalBGS.h.