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

#include <IncrementalBTS.h>

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

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

Detailed Description

template<class state, class action>
class IncrementalBTS< state, action >

Definition at line 23 of file IncrementalBTS.h.

Member Enumeration Documentation

◆ kSearchStatus

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

Definition at line 95 of file IncrementalBTS.h.

Constructor & Destructor Documentation

◆ IncrementalBTS()

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

Member Function Documentation

◆ DoSingleSearchStep()

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

◆ Draw()

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

Definition at line 396 of file IncrementalBTS.h.

◆ GetCurrentFLimit()

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

◆ GetCurrentPath()

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

Definition at line 55 of file IncrementalBTS.h.

References IncrementalBTS< state, action >::search.

◆ GetCurrentState()

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

◆ GetGlobalCostInterval()

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

◆ GetIterationNodesExpanded()

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

◆ GetNewNodesLastIteration()

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

◆ GetNextFLimit()

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

Definition at line 58 of file IncrementalBTS.h.

References IncrementalBTS< state, action >::nextBound.

◆ GetNodeInterval()

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

◆ GetNodesExpanded()

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

Definition at line 34 of file IncrementalBTS.h.

References IncrementalBTS< state, action >::nodesExpanded.

◆ GetNodesTouched()

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

Definition at line 36 of file IncrementalBTS.h.

References IncrementalBTS< state, action >::nodesTouched.

◆ GetPath() [1/2]

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

◆ GetPath() [2/2]

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

◆ InitializeSearch()

template<class state , class action >
bool IncrementalBTS< 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 IncrementalBTS< state, action >::IterationComplete ( )
inlineprivate

Definition at line 107 of file IncrementalBTS.h.

References IncrementalBTS< state, action >::search.

◆ OpenGLDraw()

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

Definition at line 405 of file IncrementalBTS.h.

◆ Reset()

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

◆ ResetNodeCount()

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

◆ SetupIteration()

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

Definition at line 179 of file IncrementalBTS.h.

◆ StepIteration()

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

Definition at line 197 of file IncrementalBTS.h.

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

Member Data Documentation

◆ bound

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

◆ c1

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

Definition at line 60 of file IncrementalBTS.h.

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

◆ c2

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

Definition at line 61 of file IncrementalBTS.h.

◆ currStage

template<class state , class action >
IBEXStage IncrementalBTS< state, action >::currStage

Definition at line 70 of file IncrementalBTS.h.

◆ data

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

◆ env

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

Definition at line 120 of file IncrementalBTS.h.

◆ fEquation

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

Definition at line 69 of file IncrementalBTS.h.

◆ gamma

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

Definition at line 62 of file IncrementalBTS.h.

◆ goal

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

Definition at line 115 of file IncrementalBTS.h.

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

◆ h

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

Definition at line 121 of file IncrementalBTS.h.

◆ history

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

Definition at line 113 of file IncrementalBTS.h.

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

◆ infiniteWorkBound

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

Definition at line 63 of file IncrementalBTS.h.

◆ initialBound

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

Definition at line 118 of file IncrementalBTS.h.

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

◆ newNodeCount

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

Definition at line 123 of file IncrementalBTS.h.

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

◆ newNodesLastIteration

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

◆ nextBound

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

◆ nodesExpanded

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

◆ nodesTouched

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

◆ previousBound

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

◆ sd

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

Definition at line 94 of file IncrementalBTS.h.

◆ search

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

◆ solutionCost

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

◆ solutionPath

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

Definition at line 114 of file IncrementalBTS.h.

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

◆ stage

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

Definition at line 68 of file IncrementalBTS.h.

◆ start

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

Definition at line 115 of file IncrementalBTS.h.

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

◆ succ

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

Definition at line 122 of file IncrementalBTS.h.


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