HOG2
Public Member Functions | Public Attributes | Private Member Functions | Private Attributes | List of all members
Prop Class Reference

#include <Propagation.h>

Inheritance diagram for Prop:
Inheritance graph
[legend]
Collaboration diagram for Prop:
Collaboration graph
[legend]

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< graphStateneighbors
 
graphState goal
 
graphState start
 
GraphEnvironmentenv
 
PropUtil::GQueue FCache
 
PropUtil::GQueue delayCache
 
int reopenings
 
PropUtil::TQueue WaitList
 
double delta
 
int pathSize
 
long NodesReopened
 
Graphgrp
 
graphState justExpanded
 
std::deque< graphStatefifo
 
std::vector< graphStatemyneighbors
 

Detailed Description

Definition at line 433 of file Propagation.h.

Constructor & Destructor Documentation

◆ Prop() [1/3]

Prop::Prop ( )
inline

Definition at line 435 of file Propagation.h.

References bpmxLevel, delta, PROP_BP, and verID.

◆ Prop() [2/3]

Prop::Prop ( unsigned int  v)
inline

Definition at line 436 of file Propagation.h.

References bpmxLevel, delta, PROP_BPMX, PROP_BPMXE, PROP_DPDLMX, PROP_DPMX, and verID.

◆ Prop() [3/3]

Prop::Prop ( unsigned int  v,
double  del 
)
inline

Definition at line 443 of file Propagation.h.

References bpmxLevel, delta, PROP_BPMX, PROP_BPMXE, PROP_DPDLMX, PROP_DPMX, and verID.

◆ ~Prop()

virtual Prop::~Prop ( )
inlinevirtual

Definition at line 450 of file Propagation.h.

Member Function Documentation

◆ Broadcast()

void Prop::Broadcast ( int  level,
int  levelcount 
)
private

◆ ComputeNewHMero3a()

void Prop::ComputeNewHMero3a ( double &  h,
double &  h_tmp,
graphState  neighbor,
PropUtil::SearchNode neighborNode,
double  altH,
int  mode 
)

◆ DoSingleSearchStep()

bool Prop::DoSingleSearchStep ( std::vector< graphState > &  thePath)
virtual

◆ DoSingleStepA()

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.

◆ DoSingleStepApprox()

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.

◆ DoSingleStepB()

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.

◆ DoSingleStepBFS()

bool Prop::DoSingleStepBFS ( std::vector< graphState > &  thePath)

Definition at line 1004 of file Propagation.cpp.

◆ DoSingleStepBP()

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.

◆ DoSingleStepBPMX()

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.

◆ DoSingleStepBPMXE()

bool Prop::DoSingleStepBPMXE ( std::vector< graphState > &  thePath)

Definition at line 1888 of file Propagation.cpp.

◆ DoSingleStepDelay()

bool Prop::DoSingleStepDelay ( std::vector< graphState > &  thePath)

Definition at line 1037 of file Propagation.cpp.

◆ DoSingleStepDP()

bool Prop::DoSingleStepDP ( std::vector< graphState > &  thePath)

◆ DoSingleStepDPDLMX()

bool Prop::DoSingleStepDPDLMX ( std::vector< graphState > &  thePath)

◆ DoSingleStepDPMX()

bool Prop::DoSingleStepDPMX ( std::vector< graphState > &  thePath)

◆ DrawEdge()

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().

◆ DrawText()

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.

◆ ExtractPathToStart()

void Prop::ExtractPathToStart ( graphState  goalNode,
std::vector< graphState > &  thePath 
)

◆ fDelay()

int Prop::fDelay ( long  )
inlineprivate

Definition at line 540 of file Propagation.h.

◆ GetLowestG()

void Prop::GetLowestG ( PropUtil::SearchNode gNode)

Definition at line 1008 of file Propagation.cpp.

References PropUtil::SearchNode::fCost.

◆ GetLowestGF()

void Prop::GetLowestGF ( PropUtil::SearchNode gNode)

Definition at line 1022 of file Propagation.cpp.

References PropUtil::SearchNode::fCost.

◆ GetName()

const char* Prop::GetName ( )
inlinevirtual

Implements GraphAlgorithm.

Definition at line 498 of file Propagation.h.

References algname.

◆ GetNodesExpanded()

uint64_t Prop::GetNodesExpanded ( )
inlinevirtual

Implements GraphAlgorithm.

Definition at line 453 of file Propagation.h.

References nodesExpanded.

◆ GetNodesFirstExpanded()

uint64_t Prop::GetNodesFirstExpanded ( )
inline

Definition at line 456 of file Propagation.h.

References closedSize.

◆ GetNodesMetaExpanded()

uint64_t Prop::GetNodesMetaExpanded ( )
inline

Definition at line 457 of file Propagation.h.

References metaexpanded.

◆ GetNodesReopened()

uint64_t Prop::GetNodesReopened ( )
inlinevirtual

Implements GraphAlgorithm.

Definition at line 458 of file Propagation.h.

References NodesReopened.

◆ GetNodesTouched()

uint64_t Prop::GetNodesTouched ( )
inlinevirtual

Implements GraphAlgorithm.

Definition at line 454 of file Propagation.h.

References nodesTouched.

◆ GetPath()

void Prop::GetPath ( GraphEnvironment env,
Graph _g,
graphState  from,
graphState  to,
std::vector< graphState > &  thePath 
)
virtual

Implements GraphAlgorithm.

Definition at line 33 of file Propagation.cpp.

◆ GetSolutionCost()

double Prop::GetSolutionCost ( )
inlinevirtual

Implements GraphAlgorithm.

Definition at line 497 of file Propagation.h.

References solutionCost.

◆ GetSolutionEdges()

int Prop::GetSolutionEdges ( )
inlinevirtual

Implements GraphAlgorithm.

Definition at line 499 of file Propagation.h.

References pathSize.

◆ InitializeSearch()

bool Prop::InitializeSearch ( GraphEnvironment env,
Graph _g,
graphState  from,
graphState  to,
std::vector< graphState > &  thePath 
)
virtual

◆ OpenGLDraw()

void Prop::OpenGLDraw ( ) const
virtual

Implements GraphAlgorithm.

Definition at line 2462 of file Propagation.cpp.

◆ RelaxDelayNode()

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.

◆ RelaxOpenNode()

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.

◆ ReverseProp()

void Prop::ReverseProp ( PropUtil::SearchNode topNode)

◆ ReversePropX1()

void Prop::ReversePropX1 ( PropUtil::SearchNode topNode)

◆ ReversePropX2()

void Prop::ReversePropX2 ( PropUtil::SearchNode topNode)

◆ UpdateHOnly()

bool Prop::UpdateHOnly ( PropUtil::SearchNode node,
double  h 
)

Member Data Documentation

◆ algname

char Prop::algname[20]

Definition at line 505 of file Propagation.h.

Referenced by GetName().

◆ bpmxLevel

int Prop::bpmxLevel

Definition at line 509 of file Propagation.h.

Referenced by Prop().

◆ closedList

PropUtil::NodeLookupTable Prop::closedList

Definition at line 522 of file Propagation.h.

◆ closedSize

long Prop::closedSize

Definition at line 524 of file Propagation.h.

Referenced by GetNodesFirstExpanded().

◆ delayCache

PropUtil::GQueue Prop::delayCache
private

Definition at line 537 of file Propagation.h.

◆ delta

double Prop::delta
private

Definition at line 546 of file Propagation.h.

Referenced by Prop().

◆ env

GraphEnvironment* Prop::env
private

Definition at line 534 of file Propagation.h.

◆ F

double Prop::F
private

Definition at line 528 of file Propagation.h.

◆ FCache

PropUtil::GQueue Prop::FCache
private

Definition at line 536 of file Propagation.h.

◆ fifo

std::deque<graphState> Prop::fifo
private

Definition at line 570 of file Propagation.h.

◆ goal

graphState Prop::goal
private

Definition at line 533 of file Propagation.h.

◆ grp

Graph* Prop::grp
private

Definition at line 553 of file Propagation.h.

◆ justExpanded

graphState Prop::justExpanded
private

Definition at line 555 of file Propagation.h.

◆ metaexpanded

long Prop::metaexpanded

Definition at line 519 of file Propagation.h.

Referenced by GetNodesMetaExpanded().

◆ myneighbors

std::vector<graphState> Prop::myneighbors
private

Definition at line 571 of file Propagation.h.

◆ neighbors

std::vector<graphState> Prop::neighbors
private

Definition at line 531 of file Propagation.h.

◆ nodesExpanded

double Prop::nodesExpanded
private

Definition at line 529 of file Propagation.h.

Referenced by GetNodesExpanded().

◆ NodesReopened

long Prop::NodesReopened
private

Definition at line 551 of file Propagation.h.

Referenced by GetNodesReopened().

◆ nodesTouched

uint64_t Prop::nodesTouched
private

Definition at line 530 of file Propagation.h.

Referenced by GetNodesTouched().

◆ openQueue

PropUtil::PQueue Prop::openQueue

Definition at line 521 of file Propagation.h.

◆ pathSize

int Prop::pathSize
private

Definition at line 549 of file Propagation.h.

Referenced by GetSolutionEdges().

◆ reopenings

int Prop::reopenings
private

Definition at line 538 of file Propagation.h.

◆ solutionCost

double Prop::solutionCost

Definition at line 507 of file Propagation.h.

Referenced by GetSolutionCost().

◆ start

graphState Prop::start
private

Definition at line 533 of file Propagation.h.

◆ verID

unsigned int Prop::verID

Definition at line 506 of file Propagation.h.

Referenced by Prop().

◆ WaitList

PropUtil::TQueue Prop::WaitList
private

Definition at line 544 of file Propagation.h.


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