|
| NBS () |
|
virtual | ~NBS () |
|
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 | ExpandAPair (std::vector< state > &thePath) |
|
bool | DoSingleSearchStep (std::vector< state > &thePath) |
|
virtual const char * | GetName () |
|
void | ResetNodeCount () |
|
const int | GetNumForwardItems () |
|
const BDOpenClosedData< state > & | GetForwardItem (unsigned int which) |
|
const int | GetNumBackwardItems () |
|
const BDOpenClosedData< 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 |
|
float | GetMeetingPoint () |
|
double | GetSolutionCost () const |
|
void | OpenGLDraw () const |
|
void | Draw (Graphics::Display &d) const |
|
void | DrawBipartiteGraph (Graphics::Display &d) const |
|
template<class state, class action, class environment, class dataStructure = NBSQueue<state, 1>, class priorityQueue = BDOpenClosed<state, NBSCompareOpenReady<state, BDOpenClosedData<state>>, NBSCompareOpenWaiting<state, BDOpenClosedData<state>>>>
class NBS< state, action, environment, dataStructure, priorityQueue >
Definition at line 32 of file NBS.h.
template<class state , class action , class environment , class dataStructure = NBSQueue<state, 1>, class priorityQueue = BDOpenClosed<state, NBSCompareOpenReady<state, BDOpenClosedData<state>>, NBSCompareOpenWaiting<state, BDOpenClosedData<state>>>>
NBS< state, action, environment, dataStructure, priorityQueue >::NBS |
( |
| ) |
|
|
inline |
Definition at line 34 of file NBS.h.
References NBS< state, action, environment, dataStructure, priorityQueue >::backwardHeuristic, NBS< state, action, environment, dataStructure, priorityQueue >::env, NBS< state, action, environment, dataStructure, priorityQueue >::forwardHeuristic, and NBS< state, action, environment, dataStructure, priorityQueue >::ResetNodeCount().
template<class state , class action , class environment , class dataStructure = NBSQueue<state, 1>, class priorityQueue = BDOpenClosed<state, NBSCompareOpenReady<state, BDOpenClosedData<state>>, NBSCompareOpenWaiting<state, BDOpenClosedData<state>>>>
virtual NBS< state, action, environment, dataStructure, priorityQueue >::~NBS |
( |
| ) |
|
|
inlinevirtual |
Definition at line 38 of file NBS.h.
template<class state , class action , class environment , class dataStructure , class priorityQueue >
void NBS< state, action, environment, dataStructure, priorityQueue >::Draw |
( |
Graphics::Display & |
d, |
|
|
const priorityQueue & |
queue |
|
) |
| const |
|
private |
template<class state , class action , class environment , class dataStructure , class priorityQueue >
void NBS< 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 = NBSQueue<state, 1>, class priorityQueue = BDOpenClosed<state, NBSCompareOpenReady<state, BDOpenClosedData<state>>, NBSCompareOpenWaiting<state, BDOpenClosedData<state>>>>
void NBS< state, action, environment, dataStructure, priorityQueue >::ExtractPathToGoal |
( |
state & |
node, |
|
|
std::vector< state > & |
thePath |
|
) |
| |
|
inlineprivate |
Definition at line 118 of file NBS.h.
References NBS< state, action, environment, dataStructure, priorityQueue >::env, NBS< state, action, environment, dataStructure, priorityQueue >::ExtractPathToGoalFromID(), and NBS< state, action, environment, dataStructure, priorityQueue >::queue.
template<class state , class action , class environment , class dataStructure = NBSQueue<state, 1>, class priorityQueue = BDOpenClosed<state, NBSCompareOpenReady<state, BDOpenClosedData<state>>, NBSCompareOpenWaiting<state, BDOpenClosedData<state>>>>
void NBS< state, action, environment, dataStructure, priorityQueue >::ExtractPathToGoalFromID |
( |
uint64_t |
node, |
|
|
std::vector< state > & |
thePath |
|
) |
| |
|
inlineprivate |
template<class state , class action , class environment , class dataStructure = NBSQueue<state, 1>, class priorityQueue = BDOpenClosed<state, NBSCompareOpenReady<state, BDOpenClosedData<state>>, NBSCompareOpenWaiting<state, BDOpenClosedData<state>>>>
void NBS< state, action, environment, dataStructure, priorityQueue >::ExtractPathToStart |
( |
state & |
node, |
|
|
std::vector< state > & |
thePath |
|
) |
| |
|
inlineprivate |
Definition at line 133 of file NBS.h.
References NBS< state, action, environment, dataStructure, priorityQueue >::env, NBS< state, action, environment, dataStructure, priorityQueue >::ExtractPathToStartFromID(), and NBS< state, action, environment, dataStructure, priorityQueue >::queue.
template<class state , class action , class environment , class dataStructure = NBSQueue<state, 1>, class priorityQueue = BDOpenClosed<state, NBSCompareOpenReady<state, BDOpenClosedData<state>>, NBSCompareOpenWaiting<state, BDOpenClosedData<state>>>>
void NBS< state, action, environment, dataStructure, priorityQueue >::ExtractPathToStartFromID |
( |
uint64_t |
node, |
|
|
std::vector< state > & |
thePath |
|
) |
| |
|
inlineprivate |
template<class state , class action , class environment , class dataStructure = NBSQueue<state, 1>, class priorityQueue = BDOpenClosed<state, NBSCompareOpenReady<state, BDOpenClosedData<state>>, NBSCompareOpenWaiting<state, BDOpenClosedData<state>>>>
const BDOpenClosedData<state>& NBS< state, action, environment, dataStructure, priorityQueue >::GetBackwardItem |
( |
unsigned int |
which | ) |
|
|
inline |
template<class state , class action , class environment , class dataStructure = NBSQueue<state, 1>, class priorityQueue = BDOpenClosed<state, NBSCompareOpenReady<state, BDOpenClosedData<state>>, NBSCompareOpenWaiting<state, BDOpenClosedData<state>>>>
const BDOpenClosedData<state>& NBS< state, action, environment, dataStructure, priorityQueue >::GetForwardItem |
( |
unsigned int |
which | ) |
|
|
inline |
template<class state , class action , class environment , class dataStructure = NBSQueue<state, 1>, class priorityQueue = BDOpenClosed<state, NBSCompareOpenReady<state, BDOpenClosedData<state>>, NBSCompareOpenWaiting<state, BDOpenClosedData<state>>>>
float NBS< state, action, environment, dataStructure, priorityQueue >::GetMeetingPoint |
( |
| ) |
|
|
inline |
Definition at line 101 of file NBS.h.
References NBS< state, action, environment, dataStructure, priorityQueue >::currentCost, NBS< state, action, environment, dataStructure, priorityQueue >::env, fequal(), NBS< state, action, environment, dataStructure, priorityQueue >::middleNode, and NBS< state, action, environment, dataStructure, priorityQueue >::queue.
template<class state , class action , class environment , class dataStructure = NBSQueue<state, 1>, class priorityQueue = BDOpenClosed<state, NBSCompareOpenReady<state, BDOpenClosedData<state>>, NBSCompareOpenWaiting<state, BDOpenClosedData<state>>>>
virtual const char* NBS< state, action, environment, dataStructure, priorityQueue >::GetName |
( |
| ) |
|
|
inlinevirtual |
Definition at line 49 of file NBS.h.
template<class state , class action , class environment , class dataStructure = NBSQueue<state, 1>, class priorityQueue = BDOpenClosed<state, NBSCompareOpenReady<state, BDOpenClosedData<state>>, NBSCompareOpenWaiting<state, BDOpenClosedData<state>>>>
uint64_t NBS< state, action, environment, dataStructure, priorityQueue >::GetNecessaryExpansions |
( |
| ) |
const |
|
inline |
template<class state , class action , class environment , class dataStructure = NBSQueue<state, 1>, class priorityQueue = BDOpenClosed<state, NBSCompareOpenReady<state, BDOpenClosedData<state>>, NBSCompareOpenWaiting<state, BDOpenClosedData<state>>>>
double NBS< state, action, environment, dataStructure, priorityQueue >::GetNodeBackwardG |
( |
const state & |
s | ) |
|
|
inline |
Definition at line 79 of file NBS.h.
References NBS< state, action, environment, dataStructure, priorityQueue >::env, kUnseen, and NBS< state, action, environment, dataStructure, priorityQueue >::queue.
template<class state , class action , class environment , class dataStructure = NBSQueue<state, 1>, class priorityQueue = BDOpenClosed<state, NBSCompareOpenReady<state, BDOpenClosedData<state>>, NBSCompareOpenWaiting<state, BDOpenClosedData<state>>>>
stateLocation NBS< state, action, environment, dataStructure, priorityQueue >::GetNodeBackwardLocation |
( |
const state & |
s | ) |
|
|
inline |
template<class state , class action , class environment , class dataStructure = NBSQueue<state, 1>, class priorityQueue = BDOpenClosed<state, NBSCompareOpenReady<state, BDOpenClosedData<state>>, NBSCompareOpenWaiting<state, BDOpenClosedData<state>>>>
double NBS< state, action, environment, dataStructure, priorityQueue >::GetNodeForwardG |
( |
const state & |
s | ) |
|
|
inline |
Definition at line 71 of file NBS.h.
References NBS< state, action, environment, dataStructure, priorityQueue >::env, kUnseen, and NBS< state, action, environment, dataStructure, priorityQueue >::queue.
template<class state , class action , class environment , class dataStructure = NBSQueue<state, 1>, class priorityQueue = BDOpenClosed<state, NBSCompareOpenReady<state, BDOpenClosedData<state>>, NBSCompareOpenWaiting<state, BDOpenClosedData<state>>>>
stateLocation NBS< state, action, environment, dataStructure, priorityQueue >::GetNodeForwardLocation |
( |
const state & |
s | ) |
|
|
inline |
template<class state , class action , class environment , class dataStructure = NBSQueue<state, 1>, class priorityQueue = BDOpenClosed<state, NBSCompareOpenReady<state, BDOpenClosedData<state>>, NBSCompareOpenWaiting<state, BDOpenClosedData<state>>>>
uint64_t NBS< state, action, environment, dataStructure, priorityQueue >::GetNodesExpanded |
( |
| ) |
const |
|
inline |
template<class state , class action , class environment , class dataStructure = NBSQueue<state, 1>, class priorityQueue = BDOpenClosed<state, NBSCompareOpenReady<state, BDOpenClosedData<state>>, NBSCompareOpenWaiting<state, BDOpenClosedData<state>>>>
uint64_t NBS< state, action, environment, dataStructure, priorityQueue >::GetNodesTouched |
( |
| ) |
const |
|
inline |
template<class state , class action , class environment , class dataStructure = NBSQueue<state, 1>, class priorityQueue = BDOpenClosed<state, NBSCompareOpenReady<state, BDOpenClosedData<state>>, NBSCompareOpenWaiting<state, BDOpenClosedData<state>>>>
const int NBS< state, action, environment, dataStructure, priorityQueue >::GetNumBackwardItems |
( |
| ) |
|
|
inline |
template<class state , class action , class environment , class dataStructure = NBSQueue<state, 1>, class priorityQueue = BDOpenClosed<state, NBSCompareOpenReady<state, BDOpenClosedData<state>>, NBSCompareOpenWaiting<state, BDOpenClosedData<state>>>>
const int NBS< state, action, environment, dataStructure, priorityQueue >::GetNumForwardItems |
( |
| ) |
|
|
inline |
template<class state , class action , class environment , class dataStructure = NBSQueue<state, 1>, class priorityQueue = BDOpenClosed<state, NBSCompareOpenReady<state, BDOpenClosedData<state>>, NBSCompareOpenWaiting<state, BDOpenClosedData<state>>>>
double NBS< state, action, environment, dataStructure, priorityQueue >::GetSolutionCost |
( |
| ) |
const |
|
inline |
template<class state , class action , class environment , class dataStructure , class priorityQueue >
void NBS< state, action, environment, dataStructure, priorityQueue >::OpenGLDraw |
( |
const priorityQueue & |
queue | ) |
const |
|
private |
template<class state , class action , class environment , class dataStructure = NBSQueue<state, 1>, class priorityQueue = BDOpenClosed<state, NBSCompareOpenReady<state, BDOpenClosedData<state>>, NBSCompareOpenWaiting<state, BDOpenClosedData<state>>>>
void NBS< state, action, environment, dataStructure, priorityQueue >::ResetNodeCount |
( |
| ) |
|
|
inline |
Definition at line 51 of file NBS.h.
References NBS< state, action, environment, dataStructure, priorityQueue >::counts, NBS< state, action, environment, dataStructure, priorityQueue >::nodesExpanded, and NBS< state, action, environment, dataStructure, priorityQueue >::nodesTouched.
Referenced by NBS< state, action, environment, dataStructure, priorityQueue >::NBS().
template<class state , class action , class environment , class dataStructure = NBSQueue<state, 1>, class priorityQueue = BDOpenClosed<state, NBSCompareOpenReady<state, BDOpenClosedData<state>>, NBSCompareOpenWaiting<state, BDOpenClosedData<state>>>>
void NBS< state, action, environment, dataStructure, priorityQueue >::SetBackwardHeuristic |
( |
Heuristic< state > * |
h | ) |
|
|
inline |
template<class state , class action , class environment , class dataStructure = NBSQueue<state, 1>, class priorityQueue = BDOpenClosed<state, NBSCompareOpenReady<state, BDOpenClosedData<state>>, NBSCompareOpenWaiting<state, BDOpenClosedData<state>>>>
void NBS< state, action, environment, dataStructure, priorityQueue >::SetForwardHeuristic |
( |
Heuristic< state > * |
h | ) |
|
|
inline |
template<class state , class action , class environment , class dataStructure = NBSQueue<state, 1>, class priorityQueue = BDOpenClosed<state, NBSCompareOpenReady<state, BDOpenClosedData<state>>, NBSCompareOpenWaiting<state, BDOpenClosedData<state>>>>
Heuristic<state>* NBS< state, action, environment, dataStructure, priorityQueue >::backwardHeuristic |
|
private |
template<class state , class action , class environment , class dataStructure = NBSQueue<state, 1>, class priorityQueue = BDOpenClosed<state, NBSCompareOpenReady<state, BDOpenClosedData<state>>, NBSCompareOpenWaiting<state, BDOpenClosedData<state>>>>
std::unordered_map<double, int> NBS< state, action, environment, dataStructure, priorityQueue >::counts |
|
private |
template<class state , class action , class environment , class dataStructure = NBSQueue<state, 1>, class priorityQueue = BDOpenClosed<state, NBSCompareOpenReady<state, BDOpenClosedData<state>>, NBSCompareOpenWaiting<state, BDOpenClosedData<state>>>>
double NBS< state, action, environment, dataStructure, priorityQueue >::currentCost |
|
private |
Definition at line 160 of file NBS.h.
Referenced by NBS< state, action, environment, dataStructure, priorityQueue >::GetMeetingPoint(), NBS< state, action, environment, dataStructure, priorityQueue >::GetNecessaryExpansions(), and NBS< state, action, environment, dataStructure, priorityQueue >::GetSolutionCost().
template<class state , class action , class environment , class dataStructure = NBSQueue<state, 1>, class priorityQueue = BDOpenClosed<state, NBSCompareOpenReady<state, BDOpenClosedData<state>>, NBSCompareOpenWaiting<state, BDOpenClosedData<state>>>>
double NBS< state, action, environment, dataStructure, priorityQueue >::currentPr |
|
private |
template<class state , class action , class environment , class dataStructure = NBSQueue<state, 1>, class priorityQueue = BDOpenClosed<state, NBSCompareOpenReady<state, BDOpenClosedData<state>>, NBSCompareOpenWaiting<state, BDOpenClosedData<state>>>>
double NBS< state, action, environment, dataStructure, priorityQueue >::currentSolutionEstimate |
|
private |
template<class state , class action , class environment , class dataStructure = NBSQueue<state, 1>, class priorityQueue = BDOpenClosed<state, NBSCompareOpenReady<state, BDOpenClosedData<state>>, NBSCompareOpenWaiting<state, BDOpenClosedData<state>>>>
environment* NBS< state, action, environment, dataStructure, priorityQueue >::env |
|
private |
Definition at line 163 of file NBS.h.
Referenced by NBS< state, action, environment, dataStructure, priorityQueue >::ExtractPathToGoal(), NBS< state, action, environment, dataStructure, priorityQueue >::ExtractPathToStart(), NBS< state, action, environment, dataStructure, priorityQueue >::GetMeetingPoint(), NBS< state, action, environment, dataStructure, priorityQueue >::GetNodeBackwardG(), NBS< state, action, environment, dataStructure, priorityQueue >::GetNodeBackwardLocation(), NBS< state, action, environment, dataStructure, priorityQueue >::GetNodeForwardG(), NBS< state, action, environment, dataStructure, priorityQueue >::GetNodeForwardLocation(), and NBS< state, action, environment, dataStructure, priorityQueue >::NBS().
template<class state , class action , class environment , class dataStructure = NBSQueue<state, 1>, class priorityQueue = BDOpenClosed<state, NBSCompareOpenReady<state, BDOpenClosedData<state>>, NBSCompareOpenWaiting<state, BDOpenClosedData<state>>>>
bool NBS< state, action, environment, dataStructure, priorityQueue >::expand |
|
private |
template<class state , class action , class environment , class dataStructure = NBSQueue<state, 1>, class priorityQueue = BDOpenClosed<state, NBSCompareOpenReady<state, BDOpenClosedData<state>>, NBSCompareOpenWaiting<state, BDOpenClosedData<state>>>>
Heuristic<state>* NBS< state, action, environment, dataStructure, priorityQueue >::forwardHeuristic |
|
private |
template<class state , class action , class environment , class dataStructure = NBSQueue<state, 1>, class priorityQueue = BDOpenClosed<state, NBSCompareOpenReady<state, BDOpenClosedData<state>>, NBSCompareOpenWaiting<state, BDOpenClosedData<state>>>>
state NBS< state, action, environment, dataStructure, priorityQueue >::goal |
|
private |
template<class state , class action , class environment , class dataStructure = NBSQueue<state, 1>, class priorityQueue = BDOpenClosed<state, NBSCompareOpenReady<state, BDOpenClosedData<state>>, NBSCompareOpenWaiting<state, BDOpenClosedData<state>>>>
state NBS< state, action, environment, dataStructure, priorityQueue >::middleNode |
|
private |
template<class state , class action , class environment , class dataStructure = NBSQueue<state, 1>, class priorityQueue = BDOpenClosed<state, NBSCompareOpenReady<state, BDOpenClosedData<state>>, NBSCompareOpenWaiting<state, BDOpenClosedData<state>>>>
std::vector<state> NBS< state, action, environment, dataStructure, priorityQueue >::neighbors |
|
private |
template<class state , class action , class environment , class dataStructure = NBSQueue<state, 1>, class priorityQueue = BDOpenClosed<state, NBSCompareOpenReady<state, BDOpenClosedData<state>>, NBSCompareOpenWaiting<state, BDOpenClosedData<state>>>>
uint64_t NBS< state, action, environment, dataStructure, priorityQueue >::nodesExpanded |
|
private |
template<class state , class action , class environment , class dataStructure = NBSQueue<state, 1>, class priorityQueue = BDOpenClosed<state, NBSCompareOpenReady<state, BDOpenClosedData<state>>, NBSCompareOpenWaiting<state, BDOpenClosedData<state>>>>
uint64_t NBS< state, action, environment, dataStructure, priorityQueue >::nodesTouched |
|
private |
template<class state , class action , class environment , class dataStructure = NBSQueue<state, 1>, class priorityQueue = BDOpenClosed<state, NBSCompareOpenReady<state, BDOpenClosedData<state>>, NBSCompareOpenWaiting<state, BDOpenClosedData<state>>>>
dataStructure NBS< state, action, environment, dataStructure, priorityQueue >::queue |
|
private |
Definition at line 166 of file NBS.h.
Referenced by NBS< state, action, environment, dataStructure, priorityQueue >::ExtractPathToGoal(), NBS< state, action, environment, dataStructure, priorityQueue >::ExtractPathToGoalFromID(), NBS< state, action, environment, dataStructure, priorityQueue >::ExtractPathToStart(), NBS< state, action, environment, dataStructure, priorityQueue >::ExtractPathToStartFromID(), NBS< state, action, environment, dataStructure, priorityQueue >::GetBackwardItem(), NBS< state, action, environment, dataStructure, priorityQueue >::GetForwardItem(), NBS< state, action, environment, dataStructure, priorityQueue >::GetMeetingPoint(), NBS< state, action, environment, dataStructure, priorityQueue >::GetNodeBackwardG(), NBS< state, action, environment, dataStructure, priorityQueue >::GetNodeBackwardLocation(), NBS< state, action, environment, dataStructure, priorityQueue >::GetNodeForwardG(), NBS< state, action, environment, dataStructure, priorityQueue >::GetNodeForwardLocation(), NBS< state, action, environment, dataStructure, priorityQueue >::GetNumBackwardItems(), and NBS< state, action, environment, dataStructure, priorityQueue >::GetNumForwardItems().
template<class state , class action , class environment , class dataStructure = NBSQueue<state, 1>, class priorityQueue = BDOpenClosed<state, NBSCompareOpenReady<state, BDOpenClosedData<state>>, NBSCompareOpenWaiting<state, BDOpenClosedData<state>>>>
state NBS< state, action, environment, dataStructure, priorityQueue >::start |
|
private |