HOG2
|
#include <Propagation.h>
Public Member Functions | |
Prop () | |
Prop (unsigned int v) | |
Prop (unsigned int v, double del) | |
virtual | ~Prop () |
void | GetPath (GraphEnvironment *env, Graph *_g, graphState from, graphState to, std::vector< graphState > &thePath) |
uint64_t | GetNodesExpanded () |
uint64_t | GetNodesTouched () |
uint64_t | GetNodesFirstExpanded () |
uint64_t | GetNodesMetaExpanded () |
uint64_t | GetNodesReopened () |
bool | InitializeSearch (GraphEnvironment *env, Graph *_g, graphState from, graphState to, std::vector< graphState > &thePath) |
bool | DoSingleSearchStep (std::vector< graphState > &thePath) |
bool | DoSingleStepA (std::vector< graphState > &thePath) |
bool | DoSingleStepB (std::vector< graphState > &thePath) |
bool | DoSingleStepBP (std::vector< graphState > &thePath) |
bool | DoSingleStepApprox (std::vector< graphState > &thePath) |
bool | DoSingleStepBFS (std::vector< graphState > &thePath) |
bool | DoSingleStepDelay (std::vector< graphState > &thePath) |
bool | DoSingleStepDP (std::vector< graphState > &thePath) |
bool | DoSingleStepBPMX (std::vector< graphState > &thePath) |
bool | DoSingleStepDPMX (std::vector< graphState > &thePath) |
bool | DoSingleStepDPDLMX (std::vector< graphState > &thePath) |
void | ReverseProp (PropUtil::SearchNode &topNode) |
void | ReversePropX1 (PropUtil::SearchNode &topNode) |
void | ReversePropX2 (PropUtil::SearchNode &topNode) |
void | ExtractPathToStart (graphState goalNode, std::vector< graphState > &thePath) |
void | GetLowestG (PropUtil::SearchNode &gNode) |
void | GetLowestGF (PropUtil::SearchNode &gNode) |
bool | UpdateHOnly (PropUtil::SearchNode &node, double h) |
void | ComputeNewHMero3a (double &h, double &h_tmp, graphState neighbor, PropUtil::SearchNode &neighborNode, double altH, int mode) |
void | RelaxOpenNode (double f, double g, graphState neighbor, PropUtil::SearchNode &neighborNode, graphState topNodeID) |
void | RelaxDelayNode (double f, double g, graphState neighbor, PropUtil::SearchNode &neighborNode, graphState topNodeID) |
void | OpenGLDraw () const |
void | DrawText (double x, double y, double z, float r, float g, float b, char *str) |
void | DrawEdge (unsigned int from, unsigned int to, double weight) |
double | GetSolutionCost () |
const char * | GetName () |
int | GetSolutionEdges () |
bool | DoSingleStepBPMXE (std::vector< graphState > &thePath) |
Public Member Functions inherited from GraphAlgorithm | |
virtual | ~GraphAlgorithm () |
Public Attributes | |
char | algname [20] |
unsigned int | verID |
double | solutionCost |
int | bpmxLevel |
long | metaexpanded |
PropUtil::PQueue | openQueue |
PropUtil::NodeLookupTable | closedList |
long | closedSize |
Private Member Functions | |
int | fDelay (long) |
void | Broadcast (int level, int levelcount) |
Private Attributes | |
double | F |
double | nodesExpanded |
uint64_t | nodesTouched |
std::vector< graphState > | neighbors |
graphState | goal |
graphState | start |
GraphEnvironment * | env |
PropUtil::GQueue | FCache |
PropUtil::GQueue | delayCache |
int | reopenings |
PropUtil::TQueue | WaitList |
double | delta |
int | pathSize |
long | NodesReopened |
Graph * | grp |
graphState | justExpanded |
std::deque< graphState > | fifo |
std::vector< graphState > | myneighbors |
Definition at line 433 of file Propagation.h.
|
inline |
|
inline |
Definition at line 436 of file Propagation.h.
References bpmxLevel, delta, PROP_BPMX, PROP_BPMXE, PROP_DPDLMX, PROP_DPMX, and verID.
|
inline |
Definition at line 443 of file Propagation.h.
References bpmxLevel, delta, PROP_BPMX, PROP_BPMXE, PROP_DPDLMX, PROP_DPMX, and verID.
|
inlinevirtual |
Definition at line 450 of file Propagation.h.
|
private |
Definition at line 1185 of file Propagation.cpp.
References PropUtil::SearchNode::currNode, PropUtil::SearchNode::fCost, fgreater(), and PropUtil::SearchNode::gCost.
void Prop::ComputeNewHMero3a | ( | double & | h, |
double & | h_tmp, | ||
graphState | neighbor, | ||
PropUtil::SearchNode & | neighborNode, | ||
double | altH, | ||
int | mode | ||
) |
Definition at line 164 of file Propagation.cpp.
References CLOSEDMODE, PropUtil::SearchNode::fCost, PropUtil::SearchNode::gCost, max, and OPENMODE.
|
virtual |
Implements GraphAlgorithm.
Definition at line 120 of file Propagation.cpp.
References PROP_A, PROP_APPROX, PROP_B, PROP_BFS, PROP_BP, PROP_BPMX, PROP_BPMXE, PROP_DELAY, PROP_DP, PROP_DPDLMX, and PROP_DPMX.
bool Prop::DoSingleStepA | ( | std::vector< graphState > & | thePath | ) |
openQueue.IsIn(SearchNode(neighbor)) && closedList.find(neighbor) == closedList.end())
Definition at line 221 of file Propagation.cpp.
References CLOSEDMODE, PropUtil::SearchNode::copy(), PropUtil::SearchNode::currNode, PropUtil::SearchNode::fCost, fgreater(), PropUtil::SearchNode::gCost, PropUtil::SearchNode::isGoal, NEWMODE, OPENMODE, and verbose.
bool Prop::DoSingleStepApprox | ( | std::vector< graphState > & | thePath | ) |
openQueue.IsIn(SearchNode(neighbor)) && closedList.find(neighbor) == closedList.end() )
Definition at line 774 of file Propagation.cpp.
References CLOSEDMODE, PropUtil::SearchNode::copy(), PropUtil::SearchNode::currNode, PropUtil::SearchNode::fCost, fgreater(), PropUtil::SearchNode::gCost, PropUtil::SearchNode::isGoal, NEWMODE, OPENMODE, and verbose.
bool Prop::DoSingleStepB | ( | std::vector< graphState > & | thePath | ) |
openQueue.IsIn(SearchNode(neighbor)) && closedList.find(neighbor) == closedList.end())
Definition at line 375 of file Propagation.cpp.
References CLOSEDMODE, PropUtil::SearchNode::copy(), PropUtil::SearchNode::currNode, PropUtil::SearchNode::fCost, fgreater(), fless(), PropUtil::SearchNode::gCost, PropUtil::SearchNode::isGoal, NEWMODE, OPENMODE, and verbose.
bool Prop::DoSingleStepBFS | ( | std::vector< graphState > & | thePath | ) |
Definition at line 1004 of file Propagation.cpp.
bool Prop::DoSingleStepBP | ( | std::vector< graphState > & | thePath | ) |
openQueue.IsIn(SearchNode(neighbor)) && closedList.find(neighbor) == closedList.end() )
Definition at line 550 of file Propagation.cpp.
References CLOSEDMODE, PropUtil::SearchNode::copy(), PropUtil::SearchNode::currNode, PropUtil::SearchNode::fCost, fgreater(), fless(), PropUtil::SearchNode::gCost, PropUtil::SearchNode::isGoal, min(), NEWMODE, OPENMODE, and verbose.
bool Prop::DoSingleStepBPMX | ( | std::vector< graphState > & | thePath | ) |
openQueue.IsIn(SearchNode(neighbor)) && closedList.find(neighbor) == closedList.end() )
Definition at line 1619 of file Propagation.cpp.
References CLOSEDMODE, PropUtil::SearchNode::copy(), PropUtil::SearchNode::currNode, PropUtil::SearchNode::fCost, fgreater(), fless(), PropUtil::SearchNode::gCost, PropUtil::SearchNode::isGoal, min(), NEWMODE, OPENMODE, and verbose.
bool Prop::DoSingleStepBPMXE | ( | std::vector< graphState > & | thePath | ) |
Definition at line 1888 of file Propagation.cpp.
bool Prop::DoSingleStepDelay | ( | std::vector< graphState > & | thePath | ) |
Definition at line 1037 of file Propagation.cpp.
bool Prop::DoSingleStepDP | ( | std::vector< graphState > & | thePath | ) |
Definition at line 1310 of file Propagation.cpp.
References CLOSEDMODE, PropUtil::SearchNode::copy(), PropUtil::SearchNode::currNode, PropUtil::SearchNode::fCost, fgreater(), fless(), PropUtil::SearchNode::gCost, PropUtil::SearchNode::isGoal, min(), NEWMODE, OPENMODE, and verbose.
bool Prop::DoSingleStepDPDLMX | ( | std::vector< graphState > & | thePath | ) |
Definition at line 1894 of file Propagation.cpp.
References CLOSEDMODE, PropUtil::SearchNode::copy(), PropUtil::SearchNode::currNode, DELAYMODE, PropUtil::SearchNode::fCost, fgreater(), fless(), PropUtil::SearchNode::gCost, PropUtil::SearchNode::isGoal, min(), NEWMODE, OPENMODE, and verbose.
bool Prop::DoSingleStepDPMX | ( | std::vector< graphState > & | thePath | ) |
Definition at line 2215 of file Propagation.cpp.
References CLOSEDMODE, PropUtil::SearchNode::copy(), PropUtil::SearchNode::currNode, PropUtil::SearchNode::fCost, fgreater(), fless(), PropUtil::SearchNode::gCost, PropUtil::SearchNode::isGoal, min(), NEWMODE, OPENMODE, and verbose.
void Prop::DrawEdge | ( | unsigned int | from, |
unsigned int | to, | ||
double | weight | ||
) |
Definition at line 2581 of file Propagation.cpp.
References drawtext, DrawText(), and PropUtil::graphGenerator::GetLoc().
void Prop::DrawText | ( | double | x, |
double | y, | ||
double | z, | ||
float | r, | ||
float | g, | ||
float | b, | ||
char * | str | ||
) |
Definition at line 2560 of file Propagation.cpp.
void Prop::ExtractPathToStart | ( | graphState | goalNode, |
std::vector< graphState > & | thePath | ||
) |
Definition at line 2429 of file Propagation.cpp.
References PropUtil::SearchNode::currNode, PropUtil::SearchNode::gCost, PropUtil::SearchNode::prevNode, and verbose.
|
inlineprivate |
Definition at line 540 of file Propagation.h.
void Prop::GetLowestG | ( | PropUtil::SearchNode & | gNode | ) |
Definition at line 1008 of file Propagation.cpp.
References PropUtil::SearchNode::fCost.
void Prop::GetLowestGF | ( | PropUtil::SearchNode & | gNode | ) |
Definition at line 1022 of file Propagation.cpp.
References PropUtil::SearchNode::fCost.
|
inlinevirtual |
|
inlinevirtual |
|
inline |
Definition at line 456 of file Propagation.h.
References closedSize.
|
inline |
Definition at line 457 of file Propagation.h.
References metaexpanded.
|
inlinevirtual |
|
inlinevirtual |
|
virtual |
Implements GraphAlgorithm.
Definition at line 33 of file Propagation.cpp.
|
inlinevirtual |
|
inlinevirtual |
|
virtual |
Implements GraphAlgorithm.
Definition at line 55 of file Propagation.cpp.
References PROP_A, PROP_APPROX, PROP_B, PROP_BFS, PROP_BP, PROP_BPMX, PROP_BPMXE, PROP_DELAY, PROP_DP, PROP_DPDLMX, PROP_DPMX, and UINT32_MAX.
|
virtual |
Implements GraphAlgorithm.
Definition at line 2462 of file Propagation.cpp.
void Prop::RelaxDelayNode | ( | double | f, |
double | g, | ||
graphState | neighbor, | ||
PropUtil::SearchNode & | neighborNode, | ||
graphState | topNodeID | ||
) |
Definition at line 205 of file Propagation.cpp.
References PropUtil::SearchNode::copy(), and PropUtil::SearchNode::gCost.
void Prop::RelaxOpenNode | ( | double | f, |
double | g, | ||
graphState | neighbor, | ||
PropUtil::SearchNode & | neighborNode, | ||
graphState | topNodeID | ||
) |
Definition at line 189 of file Propagation.cpp.
References PropUtil::SearchNode::copy(), and PropUtil::SearchNode::fCost.
void Prop::ReverseProp | ( | PropUtil::SearchNode & | topNode | ) |
Definition at line 1043 of file Propagation.cpp.
References PropUtil::SearchNode::copy(), PropUtil::SearchNode::currNode, PropUtil::SearchNode::fCost, and PropUtil::SearchNode::gCost.
void Prop::ReversePropX1 | ( | PropUtil::SearchNode & | topNode | ) |
Definition at line 1084 of file Propagation.cpp.
References PropUtil::SearchNode::currNode, PropUtil::SearchNode::fCost, PropUtil::SearchNode::gCost, and max.
void Prop::ReversePropX2 | ( | PropUtil::SearchNode & | topNode | ) |
Definition at line 1126 of file Propagation.cpp.
References PropUtil::SearchNode::copy(), PropUtil::SearchNode::currNode, PropUtil::SearchNode::fCost, fgreater(), PropUtil::SearchNode::gCost, and max.
bool Prop::UpdateHOnly | ( | PropUtil::SearchNode & | node, |
double | h | ||
) |
Definition at line 992 of file Propagation.cpp.
References PropUtil::SearchNode::fCost, fgreater(), and PropUtil::SearchNode::gCost.
char Prop::algname[20] |
Definition at line 505 of file Propagation.h.
Referenced by GetName().
int Prop::bpmxLevel |
Definition at line 509 of file Propagation.h.
Referenced by Prop().
PropUtil::NodeLookupTable Prop::closedList |
Definition at line 522 of file Propagation.h.
long Prop::closedSize |
Definition at line 524 of file Propagation.h.
Referenced by GetNodesFirstExpanded().
|
private |
Definition at line 537 of file Propagation.h.
|
private |
Definition at line 546 of file Propagation.h.
Referenced by Prop().
|
private |
Definition at line 534 of file Propagation.h.
|
private |
Definition at line 528 of file Propagation.h.
|
private |
Definition at line 536 of file Propagation.h.
|
private |
Definition at line 570 of file Propagation.h.
|
private |
Definition at line 533 of file Propagation.h.
|
private |
Definition at line 553 of file Propagation.h.
|
private |
Definition at line 555 of file Propagation.h.
long Prop::metaexpanded |
Definition at line 519 of file Propagation.h.
Referenced by GetNodesMetaExpanded().
|
private |
Definition at line 571 of file Propagation.h.
|
private |
Definition at line 531 of file Propagation.h.
|
private |
Definition at line 529 of file Propagation.h.
Referenced by GetNodesExpanded().
|
private |
Definition at line 551 of file Propagation.h.
Referenced by GetNodesReopened().
|
private |
Definition at line 530 of file Propagation.h.
Referenced by GetNodesTouched().
PropUtil::PQueue Prop::openQueue |
Definition at line 521 of file Propagation.h.
|
private |
Definition at line 549 of file Propagation.h.
Referenced by GetSolutionEdges().
|
private |
Definition at line 538 of file Propagation.h.
double Prop::solutionCost |
Definition at line 507 of file Propagation.h.
Referenced by GetSolutionCost().
|
private |
Definition at line 533 of file Propagation.h.
unsigned int Prop::verID |
Definition at line 506 of file Propagation.h.
Referenced by Prop().
|
private |
Definition at line 544 of file Propagation.h.