|
| DVCBS (int tieBreaking, bool allSolutions=false, bool leq=false) |
|
| DVCBS (bool allSolutions=false, bool leq=false) |
|
virtual | ~DVCBS () |
|
void | GetPath (environment *env, const state &from, const state &to, Heuristic< state > *forward, Heuristic< state > *backward, std::vector< state > &thePath) |
|
bool | InitializeSearch (environment *env, const state &from, const state &to, Heuristic< state > *forward, Heuristic< state > *backward, std::vector< state > &thePath) |
|
bool | ExpandAVertexCover (std::vector< state > &thePath) |
|
bool | DoSingleSearchStep (std::vector< state > &thePath) |
|
uint64_t | getForwardUnnecessaryNodesInPath () |
|
uint64_t | getBackwardUnnecessaryNodesInPath () |
|
uint64_t | getForwardMeetingPoint () |
|
uint64_t | getBackwardMeetingPoint () |
|
uint64_t | getOptimalNumberOfExpantions () |
|
virtual const char * | GetName () |
|
void | ResetNodeCount () |
|
const int | GetNumForwardItems () |
|
const DVCBSOpenClosedData< state > & | GetForwardItem (unsigned int which) |
|
const int | GetNumBackwardItems () |
|
const DVCBSOpenClosedData< state > & | GetBackwardItem (unsigned int which) |
|
void | SetForwardHeuristic (Heuristic< state > *h) |
|
void | SetBackwardHeuristic (Heuristic< state > *h) |
|
stateLocation | GetNodeForwardLocation (const state &s) |
|
stateLocation | GetNodeBackwardLocation (const state &s) |
|
double | GetNodeForwardG (const state &s) |
|
double | GetNodeBackwardG (const state &s) |
|
uint64_t | GetNodesExpanded () const |
|
uint64_t | GetNodesTouched () const |
|
uint64_t | GetDoubleExpansions () const |
|
uint64_t | GetNecessaryExpansions () const |
|
double | GetSolutionCost () const |
|
double | GetExpansionUntilFirstSolution () const |
|
void | OpenGLDraw () const |
|
template<class state, class action, class environment, class dataStructure = DVCBSQueue<state>, class priorityQueue = DVCBSOpenClosed<state>>
class DVCBS< state, action, environment, dataStructure, priorityQueue >
Definition at line 23 of file DVCBS.h.
template<class state , class action , class environment , class dataStructure = DVCBSQueue<state>, class priorityQueue = DVCBSOpenClosed<state>>
DVCBS< state, action, environment, dataStructure, priorityQueue >::DVCBS |
( |
int |
tieBreaking, |
|
|
bool |
allSolutions = false , |
|
|
bool |
leq = false |
|
) |
| |
|
inline |
Definition at line 25 of file DVCBS.h.
References DVCBS< state, action, environment, dataStructure, priorityQueue >::backwardHeuristic, DVCBS< state, action, environment, dataStructure, priorityQueue >::env, DVCBS< state, action, environment, dataStructure, priorityQueue >::forwardHeuristic, DVCBS< state, action, environment, dataStructure, priorityQueue >::isAllSolutions, DVCBS< state, action, environment, dataStructure, priorityQueue >::isLEQ, DVCBS< state, action, environment, dataStructure, priorityQueue >::ResetNodeCount(), and DVCBS< state, action, environment, dataStructure, priorityQueue >::tieBreakingPolicy.
template<class state , class action , class environment , class dataStructure = DVCBSQueue<state>, class priorityQueue = DVCBSOpenClosed<state>>
DVCBS< state, action, environment, dataStructure, priorityQueue >::DVCBS |
( |
bool |
allSolutions = false , |
|
|
bool |
leq = false |
|
) |
| |
|
inline |
Definition at line 32 of file DVCBS.h.
References DVCBS< state, action, environment, dataStructure, priorityQueue >::backwardHeuristic, DVCBS< state, action, environment, dataStructure, priorityQueue >::env, DVCBS< state, action, environment, dataStructure, priorityQueue >::forwardHeuristic, DVCBS< state, action, environment, dataStructure, priorityQueue >::isAllSolutions, DVCBS< state, action, environment, dataStructure, priorityQueue >::isLEQ, DVCBS< state, action, environment, dataStructure, priorityQueue >::ResetNodeCount(), and DVCBS< state, action, environment, dataStructure, priorityQueue >::tieBreakingPolicy.
template<class state , class action , class environment , class dataStructure , class priorityQueue >
void DVCBS< state, action, environment, dataStructure, priorityQueue >::Expand |
( |
uint64_t |
nextID, |
|
|
priorityQueue & |
current, |
|
|
priorityQueue & |
opposite, |
|
|
Heuristic< state > * |
heuristic, |
|
|
const state & |
target |
|
) |
| |
|
private |
template<class state , class action , class environment , class dataStructure , class priorityQueue >
bool DVCBS< state, action, environment, dataStructure, priorityQueue >::ExpandAVertexCover |
( |
std::vector< state > & |
thePath | ) |
|
template<class state , class action , class environment , class dataStructure = DVCBSQueue<state>, class priorityQueue = DVCBSOpenClosed<state>>
double DVCBS< state, action, environment, dataStructure, priorityQueue >::ExtractCostToGoal |
( |
state & |
node | ) |
|
|
inlineprivate |
Definition at line 153 of file DVCBS.h.
References DVCBS< state, action, environment, dataStructure, priorityQueue >::env, DVCBS< state, action, environment, dataStructure, priorityQueue >::ExtractCostToGoalFromID(), and DVCBS< state, action, environment, dataStructure, priorityQueue >::queue.
template<class state , class action , class environment , class dataStructure = DVCBSQueue<state>, class priorityQueue = DVCBSOpenClosed<state>>
double DVCBS< state, action, environment, dataStructure, priorityQueue >::ExtractCostToGoalFromID |
( |
uint64_t |
node | ) |
|
|
inlineprivate |
template<class state , class action , class environment , class dataStructure = DVCBSQueue<state>, class priorityQueue = DVCBSOpenClosed<state>>
double DVCBS< state, action, environment, dataStructure, priorityQueue >::ExtractCostToStart |
( |
state & |
node | ) |
|
|
inlineprivate |
Definition at line 181 of file DVCBS.h.
References DVCBS< state, action, environment, dataStructure, priorityQueue >::env, DVCBS< state, action, environment, dataStructure, priorityQueue >::ExtractCostToStartFromID(), and DVCBS< state, action, environment, dataStructure, priorityQueue >::queue.
template<class state , class action , class environment , class dataStructure = DVCBSQueue<state>, class priorityQueue = DVCBSOpenClosed<state>>
double DVCBS< state, action, environment, dataStructure, priorityQueue >::ExtractCostToStartFromID |
( |
uint64_t |
node | ) |
|
|
inlineprivate |
template<class state , class action , class environment , class dataStructure = DVCBSQueue<state>, class priorityQueue = DVCBSOpenClosed<state>>
void DVCBS< state, action, environment, dataStructure, priorityQueue >::ExtractPathToGoal |
( |
state & |
node, |
|
|
std::vector< state > & |
thePath |
|
) |
| |
|
inlineprivate |
Definition at line 137 of file DVCBS.h.
References DVCBS< state, action, environment, dataStructure, priorityQueue >::env, DVCBS< state, action, environment, dataStructure, priorityQueue >::ExtractPathToGoalFromID(), and DVCBS< state, action, environment, dataStructure, priorityQueue >::queue.
template<class state , class action , class environment , class dataStructure = DVCBSQueue<state>, class priorityQueue = DVCBSOpenClosed<state>>
void DVCBS< state, action, environment, dataStructure, priorityQueue >::ExtractPathToGoalFromID |
( |
uint64_t |
node, |
|
|
std::vector< state > & |
thePath |
|
) |
| |
|
inlineprivate |
Definition at line 139 of file DVCBS.h.
References DVCBS< state, action, environment, dataStructure, priorityQueue >::backwardMeetingPoint, DVCBS< state, action, environment, dataStructure, priorityQueue >::backwardUnnecessaryNodesInPath, DVCBS< state, action, environment, dataStructure, priorityQueue >::currentCost, and DVCBS< state, action, environment, dataStructure, priorityQueue >::queue.
Referenced by DVCBS< state, action, environment, dataStructure, priorityQueue >::ExtractPathToGoal().
template<class state , class action , class environment , class dataStructure = DVCBSQueue<state>, class priorityQueue = DVCBSOpenClosed<state>>
void DVCBS< state, action, environment, dataStructure, priorityQueue >::ExtractPathToStart |
( |
state & |
node, |
|
|
std::vector< state > & |
thePath |
|
) |
| |
|
inlineprivate |
Definition at line 166 of file DVCBS.h.
References DVCBS< state, action, environment, dataStructure, priorityQueue >::env, DVCBS< state, action, environment, dataStructure, priorityQueue >::ExtractPathToStartFromID(), and DVCBS< state, action, environment, dataStructure, priorityQueue >::queue.
template<class state , class action , class environment , class dataStructure = DVCBSQueue<state>, class priorityQueue = DVCBSOpenClosed<state>>
void DVCBS< state, action, environment, dataStructure, priorityQueue >::ExtractPathToStartFromID |
( |
uint64_t |
node, |
|
|
std::vector< state > & |
thePath |
|
) |
| |
|
inlineprivate |
Definition at line 168 of file DVCBS.h.
References DVCBS< state, action, environment, dataStructure, priorityQueue >::currentCost, DVCBS< state, action, environment, dataStructure, priorityQueue >::forwardMeetingPoint, DVCBS< state, action, environment, dataStructure, priorityQueue >::forwardUnnecessaryNodesInPath, and DVCBS< state, action, environment, dataStructure, priorityQueue >::queue.
Referenced by DVCBS< state, action, environment, dataStructure, priorityQueue >::ExtractPathToStart().
template<class state , class action , class environment , class dataStructure = DVCBSQueue<state>, class priorityQueue = DVCBSOpenClosed<state>>
uint64_t DVCBS< state, action, environment, dataStructure, priorityQueue >::GetNecessaryExpansions |
( |
| ) |
const |
|
inline |
Definition at line 112 of file DVCBS.h.
References DVCBS< state, action, environment, dataStructure, priorityQueue >::counts, DVCBS< state, action, environment, dataStructure, priorityQueue >::currentCost, and DVCBS< state, action, environment, dataStructure, priorityQueue >::isAllSolutions.
template<class state , class action , class environment , class dataStructure = DVCBSQueue<state>, class priorityQueue = DVCBSOpenClosed<state>>
double DVCBS< state, action, environment, dataStructure, priorityQueue >::GetNodeBackwardG |
( |
const state & |
s | ) |
|
|
inline |
Definition at line 100 of file DVCBS.h.
References DVCBS< state, action, environment, dataStructure, priorityQueue >::env, kUnseen, and DVCBS< state, action, environment, dataStructure, priorityQueue >::queue.
template<class state , class action , class environment , class dataStructure = DVCBSQueue<state>, class priorityQueue = DVCBSOpenClosed<state>>
stateLocation DVCBS< state, action, environment, dataStructure, priorityQueue >::GetNodeBackwardLocation |
( |
const state & |
s | ) |
|
|
inline |
template<class state , class action , class environment , class dataStructure = DVCBSQueue<state>, class priorityQueue = DVCBSOpenClosed<state>>
double DVCBS< state, action, environment, dataStructure, priorityQueue >::GetNodeForwardG |
( |
const state & |
s | ) |
|
|
inline |
Definition at line 91 of file DVCBS.h.
References DVCBS< state, action, environment, dataStructure, priorityQueue >::env, kUnseen, and DVCBS< state, action, environment, dataStructure, priorityQueue >::queue.
template<class state , class action , class environment , class dataStructure = DVCBSQueue<state>, class priorityQueue = DVCBSOpenClosed<state>>
stateLocation DVCBS< state, action, environment, dataStructure, priorityQueue >::GetNodeForwardLocation |
( |
const state & |
s | ) |
|
|
inline |
template<class state , class action , class environment , class dataStructure = DVCBSQueue<state>, class priorityQueue = DVCBSOpenClosed<state>>
uint64_t DVCBS< state, action, environment, dataStructure, priorityQueue >::GetNodesExpanded |
( |
| ) |
const |
|
inline |
template<class state , class action , class environment , class dataStructure = DVCBSQueue<state>, class priorityQueue = DVCBSOpenClosed<state>>
uint64_t DVCBS< state, action, environment, dataStructure, priorityQueue >::GetNodesTouched |
( |
| ) |
const |
|
inline |
template<class state , class action , class environment , class dataStructure = DVCBSQueue<state>, class priorityQueue = DVCBSOpenClosed<state>>
const int DVCBS< state, action, environment, dataStructure, priorityQueue >::GetNumBackwardItems |
( |
| ) |
|
|
inline |
template<class state , class action , class environment , class dataStructure = DVCBSQueue<state>, class priorityQueue = DVCBSOpenClosed<state>>
const int DVCBS< state, action, environment, dataStructure, priorityQueue >::GetNumForwardItems |
( |
| ) |
|
|
inline |
template<class state , class action , class environment , class dataStructure = DVCBSQueue<state>, class priorityQueue = DVCBSOpenClosed<state>>
uint64_t DVCBS< state, action, environment, dataStructure, priorityQueue >::getOptimalNumberOfExpantions |
( |
| ) |
|
|
inline |
template<class state , class action , class environment , class dataStructure = DVCBSQueue<state>, class priorityQueue = DVCBSOpenClosed<state>>
double DVCBS< state, action, environment, dataStructure, priorityQueue >::GetSolutionCost |
( |
| ) |
const |
|
inline |
template<class state , class action , class environment , class dataStructure , class priorityQueue >
void DVCBS< state, action, environment, dataStructure, priorityQueue >::OpenGLDraw |
( |
const priorityQueue & |
queue | ) |
const |
|
private |
template<class state , class action , class environment , class dataStructure = DVCBSQueue<state>, class priorityQueue = DVCBSOpenClosed<state>>
void DVCBS< state, action, environment, dataStructure, priorityQueue >::ResetNodeCount |
( |
| ) |
|
|
inline |
Definition at line 71 of file DVCBS.h.
References DVCBS< state, action, environment, dataStructure, priorityQueue >::counts, DVCBS< state, action, environment, dataStructure, priorityQueue >::nodesExpanded, and DVCBS< state, action, environment, dataStructure, priorityQueue >::nodesTouched.
Referenced by DVCBS< state, action, environment, dataStructure, priorityQueue >::DVCBS().
template<class state , class action , class environment , class dataStructure = DVCBSQueue<state>, class priorityQueue = DVCBSOpenClosed<state>>
std::unordered_map<double, int> DVCBS< state, action, environment, dataStructure, priorityQueue >::counts |
|
private |
template<class state , class action , class environment , class dataStructure = DVCBSQueue<state>, class priorityQueue = DVCBSOpenClosed<state>>
bool DVCBS< state, action, environment, dataStructure, priorityQueue >::isAllSolutions |
|
private |
template<class state , class action , class environment , class dataStructure = DVCBSQueue<state>, class priorityQueue = DVCBSOpenClosed<state>>
bool DVCBS< state, action, environment, dataStructure, priorityQueue >::isLEQ |
|
private |
template<class state , class action , class environment , class dataStructure = DVCBSQueue<state>, class priorityQueue = DVCBSOpenClosed<state>>
uint64_t DVCBS< state, action, environment, dataStructure, priorityQueue >::nodesExpanded |
|
private |
template<class state , class action , class environment , class dataStructure = DVCBSQueue<state>, class priorityQueue = DVCBSOpenClosed<state>>
uint64_t DVCBS< state, action, environment, dataStructure, priorityQueue >::nodesTouched |
|
private |
template<class state , class action , class environment , class dataStructure = DVCBSQueue<state>, class priorityQueue = DVCBSOpenClosed<state>>
int DVCBS< state, action, environment, dataStructure, priorityQueue >::tieBreakingPolicy |
|
private |