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

#include <EBSearch.h>

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

Classes

struct  searchData
 

Public Member Functions

 EBSearch (uint64_t minGrow, uint64_t maxGrow, uint64_t expEpsilon, uint64_t scale=1)
 
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 RedoMinWork ()
 
uint64_t GetNodesExpanded ()
 
uint64_t GetNodesTouched ()
 
void ResetNodeCount ()
 

Private Member Functions

EBSearch< state, action, environment, DFS >::searchData LowLevelSearch (uint64_t costLimit, uint64_t nodeLimit)
 
EBSearch< state, action, environment, DFS >::searchData BinarySearch (searchData d, uint64_t nodeLimit)
 
EBSearch< state, action, environment, DFS >::searchData ExponentialSearch (const searchData &d, uint64_t nodeLimit)
 
uint64_t GCost (const state &s1, const state &s2)
 
uint64_t GCost (const state &s, const action &a)
 
uint64_t HCost (const state &s)
 
EBSearch< state, action, environment, DFS >::searchData DFBNB (uint64_t costLimit, uint64_t nodeLimit)
 
EBSearch< state, action, environment, DFS >::searchData DFBNBHelper (state &currState, uint64_t pathCost, uint64_t costLimit, searchData &sd, uint64_t nodeLimit, action forbidden)
 
EBSearch< state, action, environment, DFS >::searchData BFHS (uint64_t costLimit, uint64_t nodeLimit)
 
void ExtractPathToStartFromID (uint64_t node, std::vector< state > &thePath)
 

Private Attributes

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

Detailed Description

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

Definition at line 25 of file EBSearch.h.

Constructor & Destructor Documentation

◆ EBSearch()

template<class state , class action , class environment , bool DFS = true>
EBSearch< state, action, environment, DFS >::EBSearch ( uint64_t  minGrow,
uint64_t  maxGrow,
uint64_t  expEpsilon,
uint64_t  scale = 1 
)
inline

Definition at line 27 of file EBSearch.h.

Member Function Documentation

◆ BFHS()

template<class state , class action , class environment , bool DFS>
EBSearch< state, action, environment, DFS >::searchData EBSearch< state, action, environment, DFS >::BFHS ( uint64_t  costLimit,
uint64_t  nodeLimit 
)
private

Definition at line 312 of file EBSearch.h.

References fless(), kClosedList, kNotFound, kOpenList, max, and min().

◆ BinarySearch()

template<class state , class action , class environment , bool DFS>
EBSearch< state, action, environment, DFS >::searchData EBSearch< state, action, environment, DFS >::BinarySearch ( searchData  d,
uint64_t  nodeLimit 
)
private

◆ DFBNB()

template<class state , class action , class environment , bool DFS>
EBSearch< state, action, environment, DFS >::searchData EBSearch< state, action, environment, DFS >::DFBNB ( uint64_t  costLimit,
uint64_t  nodeLimit 
)
private

◆ DFBNBHelper()

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

◆ ExponentialSearch()

template<class state , class action , class environment , bool DFS>
EBSearch< state, action, environment, DFS >::searchData EBSearch< state, action, environment, DFS >::ExponentialSearch ( const searchData d,
uint64_t  nodeLimit 
)
private

◆ ExtractPathToStartFromID()

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

Definition at line 430 of file EBSearch.h.

◆ GCost() [1/2]

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

◆ GCost() [2/2]

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

◆ GetNodesExpanded()

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

◆ GetNodesTouched()

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

◆ GetPath() [1/2]

template<class state , class action , class environment , bool DFS>
void EBSearch< 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 EBSearch< state, action, environment, DFS >::GetPath ( environment *  env,
state  from,
state  to,
std::vector< action > &  thePath 
)

Definition at line 87 of file EBSearch.h.

◆ HCost()

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

◆ LowLevelSearch()

template<class state , class action , class environment , bool DFS>
EBSearch< state, action, environment, DFS >::searchData EBSearch< state, action, environment, DFS >::LowLevelSearch ( uint64_t  costLimit,
uint64_t  nodeLimit 
)
private

Definition at line 443 of file EBSearch.h.

◆ RedoMinWork()

template<class state , class action , class environment , bool DFS>
void EBSearch< state, action, environment, DFS >::RedoMinWork

Definition at line 304 of file EBSearch.h.

◆ ResetNodeCount()

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

Member Data Documentation

◆ actCache

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

Definition at line 72 of file EBSearch.h.

◆ c1

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

Definition at line 74 of file EBSearch.h.

◆ c2

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

Definition at line 74 of file EBSearch.h.

◆ costScale

template<class state , class action , class environment , bool DFS = true>
uint64_t EBSearch< state, action, environment, DFS >::costScale
private

◆ currPath

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

Definition at line 70 of file EBSearch.h.

◆ edgeCosts

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

Definition at line 81 of file EBSearch.h.

◆ env

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

Definition at line 69 of file EBSearch.h.

Referenced by EBSearch< state, action, environment, DFS >::GCost().

◆ goal

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

Definition at line 73 of file EBSearch.h.

Referenced by EBSearch< state, action, environment, DFS >::HCost().

◆ h

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

Definition at line 68 of file EBSearch.h.

Referenced by EBSearch< state, action, environment, DFS >::HCost().

◆ initialGap

template<class state , class action , class environment , bool DFS = true>
uint64_t EBSearch< state, action, environment, DFS >::initialGap
private

Definition at line 75 of file EBSearch.h.

◆ neighborID

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

Definition at line 80 of file EBSearch.h.

◆ neighborLoc

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

Definition at line 82 of file EBSearch.h.

◆ neighbors

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

Definition at line 79 of file EBSearch.h.

◆ q

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

Definition at line 78 of file EBSearch.h.

◆ solutionCost

template<class state , class action , class environment , bool DFS = true>
uint64_t EBSearch< state, action, environment, DFS >::solutionCost
private

Definition at line 71 of file EBSearch.h.

◆ solutionPath

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

Definition at line 70 of file EBSearch.h.

◆ solutionStates

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

Definition at line 83 of file EBSearch.h.

◆ start

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

Definition at line 73 of file EBSearch.h.

◆ totalNodesExpanded

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

◆ totalNodesTouched

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

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