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

#include <ParallelIDAStar.h>

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

Public Member Functions

 ParallelIDAStar ()
 
virtual ~ParallelIDAStar ()
 
void GetPath (environment *env, state from, state to, std::vector< action > &thePath)
 
uint64_t GetNodesExpanded ()
 
uint64_t GetNodesTouched ()
 
void ResetNodeCount ()
 
void SetHeuristic (Heuristic< state > *heur)
 

Private Member Functions

void StartThreadedIteration (environment env, state startState, double bound)
 
void DoIteration (environment *env, action forbiddenAction, state &currState, std::vector< action > &thePath, double bound, double g, workUnit< action > &w, vectorCache< action > &cache)
 
void GenerateWork (environment *env, action forbiddenAction, state &currState, std::vector< action > &thePath)
 
void PrintGHistogram ()
 
void UpdateNextBound (double currBound, double fCost)
 

Private Attributes

unsigned long long nodesExpanded
 
unsigned long long nodesTouched
 
state goal
 
double nextBound
 
bool storedHeuristic
 
Heuristic< state > * heuristic
 
std::vector< uint64_t > gCostHistogram
 
std::vector< uint64_t > fCostHistogram
 
std::vector< workUnit< action > > work
 
std::vector< std::thread * > threads
 
SharedQueue< int > q
 
int foundSolution
 

Detailed Description

template<class environment, class state, class action>
class ParallelIDAStar< environment, state, action >

Definition at line 34 of file ParallelIDAStar.h.

Constructor & Destructor Documentation

◆ ParallelIDAStar()

template<class environment , class state , class action >
ParallelIDAStar< environment, state, action >::ParallelIDAStar ( )
inline

◆ ~ParallelIDAStar()

template<class environment , class state , class action >
virtual ParallelIDAStar< environment, state, action >::~ParallelIDAStar ( )
inlinevirtual

Definition at line 37 of file ParallelIDAStar.h.

Member Function Documentation

◆ DoIteration()

template<class environment , class state , class action >
void ParallelIDAStar< environment, state, action >::DoIteration ( environment *  env,
action  forbiddenAction,
state &  currState,
std::vector< action > &  thePath,
double  bound,
double  g,
workUnit< action > &  w,
vectorCache< action > &  cache 
)
private

◆ GenerateWork()

template<class environment , class state , class action >
void ParallelIDAStar< environment, state, action >::GenerateWork ( environment *  env,
action  forbiddenAction,
state &  currState,
std::vector< action > &  thePath 
)
private

Definition at line 200 of file ParallelIDAStar.h.

References workUnit< action >::pre, and workDepth.

◆ GetNodesExpanded()

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

◆ GetNodesTouched()

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

◆ GetPath()

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

Definition at line 109 of file ParallelIDAStar.h.

◆ PrintGHistogram()

template<class environment , class state , class action >
void ParallelIDAStar< environment, state, action >::PrintGHistogram ( )
inlineprivate

◆ ResetNodeCount()

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

◆ SetHeuristic()

template<class environment , class state , class action >
void ParallelIDAStar< environment, state, action >::SetHeuristic ( Heuristic< state > *  heur)
inline

◆ StartThreadedIteration()

template<class environment , class state , class action >
void ParallelIDAStar< environment, state, action >::StartThreadedIteration ( environment  env,
state  startState,
double  bound 
)
private

◆ UpdateNextBound()

template<class environment , class state , class action >
void ParallelIDAStar< environment, state, action >::UpdateNextBound ( double  currBound,
double  fCost 
)
private

Definition at line 348 of file ParallelIDAStar.h.

References fgreater(), and fless().

Member Data Documentation

◆ fCostHistogram

template<class environment , class state , class action >
std::vector<uint64_t> ParallelIDAStar< environment, state, action >::fCostHistogram
private

◆ foundSolution

template<class environment , class state , class action >
int ParallelIDAStar< environment, state, action >::foundSolution
private

Definition at line 97 of file ParallelIDAStar.h.

◆ gCostHistogram

template<class environment , class state , class action >
std::vector<uint64_t> ParallelIDAStar< environment, state, action >::gCostHistogram
private

◆ goal

template<class environment , class state , class action >
state ParallelIDAStar< environment, state, action >::goal
private

Definition at line 87 of file ParallelIDAStar.h.

◆ heuristic

template<class environment , class state , class action >
Heuristic<state>* ParallelIDAStar< environment, state, action >::heuristic
private

◆ nextBound

template<class environment , class state , class action >
double ParallelIDAStar< environment, state, action >::nextBound
private

Definition at line 88 of file ParallelIDAStar.h.

◆ nodesExpanded

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

◆ nodesTouched

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

◆ q

template<class environment , class state , class action >
SharedQueue<int> ParallelIDAStar< environment, state, action >::q
private

Definition at line 96 of file ParallelIDAStar.h.

◆ storedHeuristic

template<class environment , class state , class action >
bool ParallelIDAStar< environment, state, action >::storedHeuristic
private

◆ threads

template<class environment , class state , class action >
std::vector<std::thread*> ParallelIDAStar< environment, state, action >::threads
private

Definition at line 95 of file ParallelIDAStar.h.

◆ work

template<class environment , class state , class action >
std::vector<workUnit<action> > ParallelIDAStar< environment, state, action >::work
private

Definition at line 94 of file ParallelIDAStar.h.


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