HOG2
|
#include <IncrementalBTS.h>
Classes | |
struct | costInterval |
struct | currSearchState |
struct | IBEXData |
struct | searchData |
Public Member Functions | |
IncrementalBTS (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 |
IBEXStage | currStage |
Private Types | |
enum | kSearchStatus { kGoingDown, kGoingAcross } |
Private Member Functions | |
bool | IterationComplete () |
void | SetupIteration (double cost) |
bool | StepIteration () |
Private Attributes | |
IBEXData | data |
searchData | sd |
std::vector< currSearchState > | search |
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 |
Definition at line 23 of file IncrementalBTS.h.
|
private |
Enumerator | |
---|---|
kGoingDown | |
kGoingAcross |
Definition at line 95 of file IncrementalBTS.h.
|
inline |
Definition at line 25 of file IncrementalBTS.h.
References IncrementalBTS< state, action >::previousBound, and IncrementalBTS< state, action >::ResetNodeCount().
bool IncrementalBTS< state, action >::DoSingleSearchStep | ( | std::vector< state > & | thePath | ) |
Definition at line 288 of file IncrementalBTS.h.
References fequal(), fgreatereq(), flesseq(), IBEX::infiniteWorkBound, kBinarySearch, kCompletedFullStage, kExponentialSearch, IncrementalBTS< state, action >::costInterval::lowerBound, max, to_string_with_precision(), and IncrementalBTS< state, action >::costInterval::upperBound.
void IncrementalBTS< state, action >::Draw | ( | Graphics::Display & | display | ) | const |
Definition at line 396 of file IncrementalBTS.h.
|
inline |
Definition at line 57 of file IncrementalBTS.h.
References IncrementalBTS< state, action >::bound, min(), and IncrementalBTS< state, action >::solutionCost.
|
inline |
Definition at line 55 of file IncrementalBTS.h.
References IncrementalBTS< state, action >::search.
|
inline |
Definition at line 46 of file IncrementalBTS.h.
References IncrementalBTS< state, action >::data, flesseq(), IncrementalBTS< state, action >::goal, IncrementalBTS< state, action >::costInterval::lowerBound, IncrementalBTS< state, action >::search, IncrementalBTS< state, action >::solutionCost, IncrementalBTS< state, action >::IBEXData::solutionInterval, and IncrementalBTS< state, action >::start.
|
inline |
|
inline |
Definition at line 35 of file IncrementalBTS.h.
References IncrementalBTS< state, action >::data, and IncrementalBTS< state, action >::IBEXData::nodesExpanded.
|
inline |
Definition at line 59 of file IncrementalBTS.h.
References IncrementalBTS< state, action >::newNodesLastIteration.
|
inline |
Definition at line 58 of file IncrementalBTS.h.
References IncrementalBTS< state, action >::nextBound.
|
inline |
Definition at line 66 of file IncrementalBTS.h.
References IncrementalBTS< state, action >::c1, IncrementalBTS< state, action >::data, IncrementalBTS< state, action >::IBEXData::nodeLB, and IncrementalBTS< state, action >::IBEXData::workBound.
|
inline |
Definition at line 34 of file IncrementalBTS.h.
References IncrementalBTS< state, action >::nodesExpanded.
|
inline |
Definition at line 36 of file IncrementalBTS.h.
References IncrementalBTS< state, action >::nodesTouched.
void IncrementalBTS< state, action >::GetPath | ( | SearchEnvironment< state, action > * | env, |
state | from, | ||
state | to, | ||
Heuristic< state > * | h, | ||
std::vector< state > & | thePath | ||
) |
Definition at line 127 of file IncrementalBTS.h.
void IncrementalBTS< state, action >::GetPath | ( | SearchEnvironment< state, action > * | env, |
state | from, | ||
state | to, | ||
std::vector< action > & | thePath | ||
) |
Definition at line 137 of file IncrementalBTS.h.
bool IncrementalBTS< state, action >::InitializeSearch | ( | SearchEnvironment< state, action > * | env, |
state | from, | ||
state | to, | ||
Heuristic< state > * | h, | ||
std::vector< state > & | thePath | ||
) |
Definition at line 144 of file IncrementalBTS.h.
References Heuristic< state >::HCost(), IBEX::infiniteWorkBound, kIDAStarSearch, and to_string_with_precision().
|
inlineprivate |
Definition at line 107 of file IncrementalBTS.h.
References IncrementalBTS< state, action >::search.
void IncrementalBTS< state, action >::OpenGLDraw |
Definition at line 405 of file IncrementalBTS.h.
|
inline |
Definition at line 42 of file IncrementalBTS.h.
References IncrementalBTS< state, action >::bound, IncrementalBTS< state, action >::history, IncrementalBTS< state, action >::initialBound, IncrementalBTS< state, action >::nextBound, IncrementalBTS< state, action >::previousBound, IncrementalBTS< state, action >::ResetNodeCount(), IncrementalBTS< state, action >::search, and IncrementalBTS< state, action >::solutionPath.
|
inline |
Definition at line 37 of file IncrementalBTS.h.
References IncrementalBTS< state, action >::newNodeCount, IncrementalBTS< state, action >::newNodesLastIteration, IncrementalBTS< state, action >::nodesExpanded, and IncrementalBTS< state, action >::nodesTouched.
Referenced by IncrementalBTS< state, action >::IncrementalBTS(), and IncrementalBTS< state, action >::Reset().
|
private |
Definition at line 179 of file IncrementalBTS.h.
|
private |
Definition at line 197 of file IncrementalBTS.h.
References fgreater(), fless(), flesseq(), max, and min().
|
private |
Definition at line 117 of file IncrementalBTS.h.
Referenced by IncrementalBTS< state, action >::GetCurrentFLimit(), and IncrementalBTS< state, action >::Reset().
const uint64_t IncrementalBTS< state, action >::c1 = 2 |
Definition at line 60 of file IncrementalBTS.h.
Referenced by IncrementalBTS< state, action >::GetNodeInterval().
const uint64_t IncrementalBTS< state, action >::c2 = 8 |
Definition at line 61 of file IncrementalBTS.h.
IBEXStage IncrementalBTS< state, action >::currStage |
Definition at line 70 of file IncrementalBTS.h.
|
private |
|
private |
Definition at line 120 of file IncrementalBTS.h.
std::string IncrementalBTS< state, action >::fEquation |
Definition at line 69 of file IncrementalBTS.h.
const uint64_t IncrementalBTS< state, action >::gamma = 2 |
Definition at line 62 of file IncrementalBTS.h.
|
private |
Definition at line 115 of file IncrementalBTS.h.
Referenced by IncrementalBTS< state, action >::GetCurrentState().
|
private |
Definition at line 121 of file IncrementalBTS.h.
|
private |
Definition at line 113 of file IncrementalBTS.h.
Referenced by IncrementalBTS< state, action >::Reset().
const int IncrementalBTS< state, action >::infiniteWorkBound = -1 |
Definition at line 63 of file IncrementalBTS.h.
|
private |
Definition at line 118 of file IncrementalBTS.h.
Referenced by IncrementalBTS< state, action >::Reset().
|
private |
Definition at line 123 of file IncrementalBTS.h.
Referenced by IncrementalBTS< state, action >::ResetNodeCount().
|
private |
Definition at line 123 of file IncrementalBTS.h.
Referenced by IncrementalBTS< state, action >::GetNewNodesLastIteration(), and IncrementalBTS< state, action >::ResetNodeCount().
|
private |
Definition at line 119 of file IncrementalBTS.h.
Referenced by IncrementalBTS< state, action >::GetNextFLimit(), and IncrementalBTS< state, action >::Reset().
|
private |
Definition at line 108 of file IncrementalBTS.h.
Referenced by IncrementalBTS< state, action >::GetNodesExpanded(), and IncrementalBTS< state, action >::ResetNodeCount().
|
private |
Definition at line 108 of file IncrementalBTS.h.
Referenced by IncrementalBTS< state, action >::GetNodesTouched(), and IncrementalBTS< state, action >::ResetNodeCount().
|
private |
Definition at line 116 of file IncrementalBTS.h.
Referenced by IncrementalBTS< state, action >::IncrementalBTS(), and IncrementalBTS< state, action >::Reset().
|
private |
Definition at line 94 of file IncrementalBTS.h.
|
private |
Definition at line 105 of file IncrementalBTS.h.
Referenced by IncrementalBTS< state, action >::GetCurrentPath(), IncrementalBTS< state, action >::GetCurrentState(), IncrementalBTS< state, action >::IterationComplete(), and IncrementalBTS< state, action >::Reset().
|
private |
Definition at line 106 of file IncrementalBTS.h.
Referenced by IncrementalBTS< state, action >::GetCurrentFLimit(), and IncrementalBTS< state, action >::GetCurrentState().
|
private |
Definition at line 114 of file IncrementalBTS.h.
Referenced by IncrementalBTS< state, action >::Reset().
std::string IncrementalBTS< state, action >::stage |
Definition at line 68 of file IncrementalBTS.h.
|
private |
Definition at line 115 of file IncrementalBTS.h.
Referenced by IncrementalBTS< state, action >::GetCurrentState().
|
private |
Definition at line 122 of file IncrementalBTS.h.