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

#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< currSearchStatesearch
 
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
 

Detailed Description

template<class state, class action>
class IncrementalIDA< state, action >

Definition at line 17 of file IncrementalIDA.h.

Member Enumeration Documentation

◆ kSearchStatus

template<class state , class action >
enum IncrementalIDA::kSearchStatus
private
Enumerator
kGoingDown 
kGoingAcross 

Definition at line 46 of file IncrementalIDA.h.

Constructor & Destructor Documentation

◆ IncrementalIDA()

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

Member Function Documentation

◆ DoSingleSearchStep()

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

Definition at line 206 of file IncrementalIDA.h.

◆ Draw()

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

Definition at line 220 of file IncrementalIDA.h.

◆ GetCurrentFLimit()

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

Definition at line 42 of file IncrementalIDA.h.

References IncrementalIDA< state, action >::bound.

◆ GetCurrentPath()

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

Definition at line 40 of file IncrementalIDA.h.

References IncrementalIDA< state, action >::search.

◆ GetCurrentState()

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

◆ GetNewNodesLastIteration()

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

◆ GetNextFLimit()

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

Definition at line 43 of file IncrementalIDA.h.

References IncrementalIDA< state, action >::nextBound.

◆ GetNodesExpanded()

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

Definition at line 28 of file IncrementalIDA.h.

References IncrementalIDA< state, action >::nodesExpanded.

◆ GetNodesTouched()

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

Definition at line 29 of file IncrementalIDA.h.

References IncrementalIDA< state, action >::nodesTouched.

◆ GetPath() [1/2]

template<class state , class action >
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.

◆ GetPath() [2/2]

template<class state , class action >
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.

◆ InitializeSearch()

template<class state , class action >
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().

◆ IterationComplete()

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

Definition at line 57 of file IncrementalIDA.h.

References IncrementalIDA< state, action >::search.

◆ OpenGLDraw()

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

Definition at line 229 of file IncrementalIDA.h.

◆ Reset()

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

◆ ResetNodeCount()

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

◆ SetupIteration()

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

Definition at line 114 of file IncrementalIDA.h.

◆ StepIteration()

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

Definition at line 130 of file IncrementalIDA.h.

References fgreater(), fless(), and flesseq().

Member Data Documentation

◆ bound

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

◆ env

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

Definition at line 70 of file IncrementalIDA.h.

◆ goal

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

Definition at line 65 of file IncrementalIDA.h.

◆ h

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

Definition at line 71 of file IncrementalIDA.h.

◆ history

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

Definition at line 63 of file IncrementalIDA.h.

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

◆ initialBound

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

Definition at line 68 of file IncrementalIDA.h.

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

◆ newNodeCount

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

Definition at line 73 of file IncrementalIDA.h.

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

◆ newNodesLastIteration

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

◆ nextBound

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

◆ nodesExpanded

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

◆ nodesTouched

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

◆ path

template<class state , class action >
std::vector<state> IncrementalIDA< state, action >::path
private

Definition at line 64 of file IncrementalIDA.h.

◆ previousBound

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

◆ search

template<class state , class action >
std::vector<currSearchState> IncrementalIDA< state, action >::search
private

◆ start

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

Definition at line 65 of file IncrementalIDA.h.

Referenced by IncrementalIDA< state, action >::GetCurrentState().

◆ succ

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

Definition at line 72 of file IncrementalIDA.h.


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