HOG2
|
#include <IncrementalIDA.h>
Classes | |
struct | currSearchState |
Public Member Functions | |
IncrementalIDA (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 | 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 () |
Private Types | |
enum | kSearchStatus { kGoingDown, kGoingAcross } |
Private Member Functions | |
bool | IterationComplete () |
void | SetupIteration (double cost) |
bool | StepIteration () |
Private Attributes | |
std::vector< currSearchState > | search |
unsigned long | nodesExpanded |
unsigned long | nodesTouched |
std::vector< std::pair< state, double > > | history |
std::vector< state > | path |
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 17 of file IncrementalIDA.h.
|
private |
Enumerator | |
---|---|
kGoingDown | |
kGoingAcross |
Definition at line 46 of file IncrementalIDA.h.
|
inline |
Definition at line 19 of file IncrementalIDA.h.
References IncrementalIDA< state, action >::previousBound, and IncrementalIDA< state, action >::ResetNodeCount().
bool IncrementalIDA< state, action >::DoSingleSearchStep | ( | std::vector< state > & | thePath | ) |
Definition at line 206 of file IncrementalIDA.h.
void IncrementalIDA< state, action >::Draw | ( | Graphics::Display & | display | ) | const |
Definition at line 220 of file IncrementalIDA.h.
|
inline |
Definition at line 42 of file IncrementalIDA.h.
References IncrementalIDA< state, action >::bound.
|
inline |
Definition at line 40 of file IncrementalIDA.h.
References IncrementalIDA< state, action >::search.
|
inline |
Definition at line 39 of file IncrementalIDA.h.
References IncrementalIDA< state, action >::search, and IncrementalIDA< state, action >::start.
|
inline |
Definition at line 44 of file IncrementalIDA.h.
References IncrementalIDA< state, action >::newNodesLastIteration.
|
inline |
Definition at line 43 of file IncrementalIDA.h.
References IncrementalIDA< state, action >::nextBound.
|
inline |
Definition at line 28 of file IncrementalIDA.h.
References IncrementalIDA< state, action >::nodesExpanded.
|
inline |
Definition at line 29 of file IncrementalIDA.h.
References IncrementalIDA< state, action >::nodesTouched.
void IncrementalIDA< state, action >::GetPath | ( | SearchEnvironment< state, action > * | env, |
state | from, | ||
state | to, | ||
Heuristic< state > * | h, | ||
std::vector< state > & | thePath | ||
) |
Definition at line 77 of file IncrementalIDA.h.
void IncrementalIDA< state, action >::GetPath | ( | SearchEnvironment< state, action > * | env, |
state | from, | ||
state | to, | ||
std::vector< action > & | thePath | ||
) |
Definition at line 87 of file IncrementalIDA.h.
bool IncrementalIDA< state, action >::InitializeSearch | ( | SearchEnvironment< state, action > * | env, |
state | from, | ||
state | to, | ||
Heuristic< state > * | h, | ||
std::vector< state > & | thePath | ||
) |
Definition at line 94 of file IncrementalIDA.h.
References Heuristic< state >::HCost().
|
inlineprivate |
Definition at line 57 of file IncrementalIDA.h.
References IncrementalIDA< state, action >::search.
void IncrementalIDA< state, action >::OpenGLDraw |
Definition at line 229 of file IncrementalIDA.h.
|
inline |
Definition at line 35 of file IncrementalIDA.h.
References IncrementalIDA< state, action >::bound, IncrementalIDA< state, action >::history, IncrementalIDA< state, action >::initialBound, IncrementalIDA< state, action >::nextBound, IncrementalIDA< state, action >::previousBound, IncrementalIDA< state, action >::ResetNodeCount(), and IncrementalIDA< state, action >::search.
|
inline |
Definition at line 30 of file IncrementalIDA.h.
References IncrementalIDA< state, action >::newNodeCount, IncrementalIDA< state, action >::newNodesLastIteration, IncrementalIDA< state, action >::nodesExpanded, and IncrementalIDA< state, action >::nodesTouched.
Referenced by IncrementalIDA< state, action >::IncrementalIDA(), and IncrementalIDA< state, action >::Reset().
|
private |
Definition at line 114 of file IncrementalIDA.h.
|
private |
Definition at line 130 of file IncrementalIDA.h.
References fgreater(), fless(), and flesseq().
|
private |
Definition at line 67 of file IncrementalIDA.h.
Referenced by IncrementalIDA< state, action >::GetCurrentFLimit(), and IncrementalIDA< state, action >::Reset().
|
private |
Definition at line 70 of file IncrementalIDA.h.
|
private |
Definition at line 65 of file IncrementalIDA.h.
|
private |
Definition at line 71 of file IncrementalIDA.h.
|
private |
Definition at line 63 of file IncrementalIDA.h.
Referenced by IncrementalIDA< state, action >::Reset().
|
private |
Definition at line 68 of file IncrementalIDA.h.
Referenced by IncrementalIDA< state, action >::Reset().
|
private |
Definition at line 73 of file IncrementalIDA.h.
Referenced by IncrementalIDA< state, action >::ResetNodeCount().
|
private |
Definition at line 73 of file IncrementalIDA.h.
Referenced by IncrementalIDA< state, action >::GetNewNodesLastIteration(), and IncrementalIDA< state, action >::ResetNodeCount().
|
private |
Definition at line 69 of file IncrementalIDA.h.
Referenced by IncrementalIDA< state, action >::GetNextFLimit(), and IncrementalIDA< state, action >::Reset().
|
private |
Definition at line 58 of file IncrementalIDA.h.
Referenced by IncrementalIDA< state, action >::GetNodesExpanded(), and IncrementalIDA< state, action >::ResetNodeCount().
|
private |
Definition at line 58 of file IncrementalIDA.h.
Referenced by IncrementalIDA< state, action >::GetNodesTouched(), and IncrementalIDA< state, action >::ResetNodeCount().
|
private |
Definition at line 64 of file IncrementalIDA.h.
|
private |
Definition at line 66 of file IncrementalIDA.h.
Referenced by IncrementalIDA< state, action >::IncrementalIDA(), and IncrementalIDA< state, action >::Reset().
|
private |
Definition at line 56 of file IncrementalIDA.h.
Referenced by IncrementalIDA< state, action >::GetCurrentPath(), IncrementalIDA< state, action >::GetCurrentState(), IncrementalIDA< state, action >::IterationComplete(), and IncrementalIDA< state, action >::Reset().
|
private |
Definition at line 65 of file IncrementalIDA.h.
Referenced by IncrementalIDA< state, action >::GetCurrentState().
|
private |
Definition at line 72 of file IncrementalIDA.h.