HOG2
Classes | Public Member Functions | Private Member Functions | Private Attributes | List of all members
IBEX::IBEX< state, action, environment, DFS > Class Template Reference

#include <IBEX.h>

Collaboration diagram for IBEX::IBEX< state, action, environment, DFS >:
Collaboration graph
[legend]

Classes

struct  costInterval
 
struct  searchBounds
 

Public Member Functions

 IBEX (uint64_t minGrow, uint64_t maxGrow, double growthRate, bool exponential)
 
void GetPath (environment *env, state from, state to, std::vector< action > &thePath)
 
void GetPath (environment *env, Heuristic< state > *heuristic, state from, state to, std::vector< action > &thePath)
 
void Dovetail (environment *env, Heuristic< state > *heuristic, state from, state to, std::vector< action > &thePath)
 
double RedoMinWork ()
 
uint64_t GetNodesExpanded ()
 
uint64_t GetNodesTouched ()
 
void ResetNodeCount ()
 

Private Member Functions

IBEX< state, action, environment, DFS >::costInterval LowLevelSearch (double costLimit, uint64_t nodeLimit, uint64_t &nodesUsed)
 
double GCost (const state &s1, const state &s2)
 
double GCost (const state &s, const action &a)
 
double HCost (const state &s)
 
IBEX< state, action, environment, DFS >::costInterval DFBNB (double costLimit, uint64_t nodeLimit, uint64_t &nodesUsed)
 
IBEX< state, action, environment, DFS >::searchBounds DFBNBHelper (state &currState, double pathCost, double costLimit, searchBounds &sd, uint64_t nodeLimit, action forbidden)
 
IBEX< state, action, environment, DFS >::costInterval BFHS (double costLimit, uint64_t nodeLimit, uint64_t &nodesUsed)
 
void ExtractPathToStartFromID (uint64_t node, std::vector< state > &thePath)
 

Private Attributes

uint64_t totalNodesExpanded
 
uint64_t totalNodesTouched
 
Heuristic< state > * h
 
environment * env
 
std::vector< action > solutionPath
 
std::vector< action > currPath
 
double solutionCost
 
vectorCache< action > actCache
 
state start
 
state goal
 
uint64_t c1
 
uint64_t c2
 
double gamma
 
double dfsLowerBound
 
bool oracle
 
bool exponentialGrowth
 
AStarOpenClosed< state, BFHSCompare< state > > q
 
std::vector< state > neighbors
 
std::vector< uint64_t > neighborID
 
std::vector< double > edgeCosts
 
std::vector< dataLocationneighborLoc
 
std::vector< state > solutionStates
 

Detailed Description

template<class state, class action, class environment, bool DFS = true>
class IBEX::IBEX< state, action, environment, DFS >

Definition at line 38 of file IBEX.h.

Constructor & Destructor Documentation

◆ IBEX()

template<class state , class action , class environment , bool DFS = true>
IBEX::IBEX< state, action, environment, DFS >::IBEX ( uint64_t  minGrow,
uint64_t  maxGrow,
double  growthRate,
bool  exponential 
)
inline

Definition at line 40 of file IBEX.h.

Member Function Documentation

◆ BFHS()

template<class state , class action , class environment , bool DFS>
IBEX< state, action, environment, DFS >::costInterval IBEX::IBEX< state, action, environment, DFS >::BFHS ( double  costLimit,
uint64_t  nodeLimit,
uint64_t &  nodesUsed 
)
private

◆ DFBNB()

template<class state , class action , class environment , bool DFS>
IBEX< state, action, environment, DFS >::costInterval IBEX::IBEX< state, action, environment, DFS >::DFBNB ( double  costLimit,
uint64_t  nodeLimit,
uint64_t &  nodesUsed 
)
private

◆ DFBNBHelper()

template<class state , class action , class environment , bool DFS>
IBEX< state, action, environment, DFS >::searchBounds IBEX::IBEX< state, action, environment, DFS >::DFBNBHelper ( state &  currState,
double  pathCost,
double  costLimit,
searchBounds sd,
uint64_t  nodeLimit,
action  forbidden 
)
private

◆ Dovetail()

template<class state , class action , class environment , bool DFS>
void IBEX::IBEX< state, action, environment, DFS >::Dovetail ( environment *  env,
Heuristic< state > *  heuristic,
state  from,
state  to,
std::vector< action > &  thePath 
)

◆ ExtractPathToStartFromID()

template<class state , class action , class environment , bool DFS>
void IBEX::IBEX< state, action, environment, DFS >::ExtractPathToStartFromID ( uint64_t  node,
std::vector< state > &  thePath 
)
private

Definition at line 470 of file IBEX.h.

◆ GCost() [1/2]

template<class state , class action , class environment , bool DFS = true>
double IBEX::IBEX< state, action, environment, DFS >::GCost ( const state &  s,
const action &  a 
)
inlineprivate

Definition at line 74 of file IBEX.h.

◆ GCost() [2/2]

template<class state , class action , class environment , bool DFS = true>
double IBEX::IBEX< state, action, environment, DFS >::GCost ( const state &  s1,
const state &  s2 
)
inlineprivate

Definition at line 72 of file IBEX.h.

◆ GetNodesExpanded()

template<class state , class action , class environment , bool DFS = true>
uint64_t IBEX::IBEX< state, action, environment, DFS >::GetNodesExpanded ( )
inline

Definition at line 50 of file IBEX.h.

◆ GetNodesTouched()

template<class state , class action , class environment , bool DFS = true>
uint64_t IBEX::IBEX< state, action, environment, DFS >::GetNodesTouched ( )
inline

Definition at line 51 of file IBEX.h.

◆ GetPath() [1/2]

template<class state , class action , class environment , bool DFS>
void IBEX::IBEX< state, action, environment, DFS >::GetPath ( environment *  env,
Heuristic< state > *  heuristic,
state  from,
state  to,
std::vector< action > &  thePath 
)

◆ GetPath() [2/2]

template<class state , class action , class environment , bool DFS>
void IBEX::IBEX< state, action, environment, DFS >::GetPath ( environment *  env,
state  from,
state  to,
std::vector< action > &  thePath 
)

Definition at line 110 of file IBEX.h.

◆ HCost()

template<class state , class action , class environment , bool DFS = true>
double IBEX::IBEX< state, action, environment, DFS >::HCost ( const state &  s)
inlineprivate

Definition at line 76 of file IBEX.h.

◆ LowLevelSearch()

template<class state , class action , class environment , bool DFS>
IBEX< state, action, environment, DFS >::costInterval IBEX::IBEX< state, action, environment, DFS >::LowLevelSearch ( double  costLimit,
uint64_t  nodeLimit,
uint64_t &  nodesUsed 
)
private

Definition at line 483 of file IBEX.h.

◆ RedoMinWork()

template<class state , class action , class environment , bool DFS>
double IBEX::IBEX< state, action, environment, DFS >::RedoMinWork

Definition at line 311 of file IBEX.h.

References debug_print.

◆ ResetNodeCount()

template<class state , class action , class environment , bool DFS = true>
void IBEX::IBEX< state, action, environment, DFS >::ResetNodeCount ( )
inline

Definition at line 52 of file IBEX.h.

Member Data Documentation

◆ actCache

template<class state , class action , class environment , bool DFS = true>
vectorCache<action> IBEX::IBEX< state, action, environment, DFS >::actCache
private

Definition at line 92 of file IBEX.h.

◆ c1

template<class state , class action , class environment , bool DFS = true>
uint64_t IBEX::IBEX< state, action, environment, DFS >::c1
private

Definition at line 94 of file IBEX.h.

◆ c2

template<class state , class action , class environment , bool DFS = true>
uint64_t IBEX::IBEX< state, action, environment, DFS >::c2
private

Definition at line 94 of file IBEX.h.

◆ currPath

template<class state , class action , class environment , bool DFS = true>
std::vector<action> IBEX::IBEX< state, action, environment, DFS >::currPath
private

Definition at line 90 of file IBEX.h.

◆ dfsLowerBound

template<class state , class action , class environment , bool DFS = true>
double IBEX::IBEX< state, action, environment, DFS >::dfsLowerBound
private

Definition at line 96 of file IBEX.h.

◆ edgeCosts

template<class state , class action , class environment , bool DFS = true>
std::vector<double> IBEX::IBEX< state, action, environment, DFS >::edgeCosts
private

Definition at line 104 of file IBEX.h.

◆ env

template<class state , class action , class environment , bool DFS = true>
environment* IBEX::IBEX< state, action, environment, DFS >::env
private

Definition at line 89 of file IBEX.h.

◆ exponentialGrowth

template<class state , class action , class environment , bool DFS = true>
bool IBEX::IBEX< state, action, environment, DFS >::exponentialGrowth
private

Definition at line 98 of file IBEX.h.

◆ gamma

template<class state , class action , class environment , bool DFS = true>
double IBEX::IBEX< state, action, environment, DFS >::gamma
private

Definition at line 95 of file IBEX.h.

◆ goal

template<class state , class action , class environment , bool DFS = true>
state IBEX::IBEX< state, action, environment, DFS >::goal
private

Definition at line 93 of file IBEX.h.

◆ h

template<class state , class action , class environment , bool DFS = true>
Heuristic<state>* IBEX::IBEX< state, action, environment, DFS >::h
private

Definition at line 88 of file IBEX.h.

◆ neighborID

template<class state , class action , class environment , bool DFS = true>
std::vector<uint64_t> IBEX::IBEX< state, action, environment, DFS >::neighborID
private

Definition at line 103 of file IBEX.h.

◆ neighborLoc

template<class state , class action , class environment , bool DFS = true>
std::vector<dataLocation> IBEX::IBEX< state, action, environment, DFS >::neighborLoc
private

Definition at line 105 of file IBEX.h.

◆ neighbors

template<class state , class action , class environment , bool DFS = true>
std::vector<state> IBEX::IBEX< state, action, environment, DFS >::neighbors
private

Definition at line 102 of file IBEX.h.

◆ oracle

template<class state , class action , class environment , bool DFS = true>
bool IBEX::IBEX< state, action, environment, DFS >::oracle
private

Definition at line 97 of file IBEX.h.

◆ q

template<class state , class action , class environment , bool DFS = true>
AStarOpenClosed<state, BFHSCompare<state> > IBEX::IBEX< state, action, environment, DFS >::q
private

Definition at line 101 of file IBEX.h.

◆ solutionCost

template<class state , class action , class environment , bool DFS = true>
double IBEX::IBEX< state, action, environment, DFS >::solutionCost
private

Definition at line 91 of file IBEX.h.

◆ solutionPath

template<class state , class action , class environment , bool DFS = true>
std::vector<action> IBEX::IBEX< state, action, environment, DFS >::solutionPath
private

Definition at line 90 of file IBEX.h.

◆ solutionStates

template<class state , class action , class environment , bool DFS = true>
std::vector<state> IBEX::IBEX< state, action, environment, DFS >::solutionStates
private

Definition at line 106 of file IBEX.h.

◆ start

template<class state , class action , class environment , bool DFS = true>
state IBEX::IBEX< state, action, environment, DFS >::start
private

Definition at line 93 of file IBEX.h.

◆ totalNodesExpanded

template<class state , class action , class environment , bool DFS = true>
uint64_t IBEX::IBEX< state, action, environment, DFS >::totalNodesExpanded
private

Definition at line 87 of file IBEX.h.

◆ totalNodesTouched

template<class state , class action , class environment , bool DFS = true>
uint64_t IBEX::IBEX< state, action, environment, DFS >::totalNodesTouched
private

Definition at line 87 of file IBEX.h.


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