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

#include <WeightedVertexGraph.h>

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

Public Member Functions

 BidirectionalProblemAnalyzer (const state &s, const state &g, environment *e, Heuristic< state > *f, Heuristic< state > *b)
 
void BuildDataStructures ()
 
int GetMinWork ()
 
int GetForwardWork ()
 
int GetBackwardWork ()
 
double GetForwardMaxG ()
 
double GetMaxG ()
 
double GetBackwardMaxG ()
 
size_t GetNumGCosts ()
 
void SaveSVG (const char *filename)
 
void SaveSVG (const char *filename, int groupSize)
 

Static Public Member Functions

static uint64_t GetWeightedVertexGraph (const state &start, const state &goal, environment *e, Heuristic< state > *f, Heuristic< state > *b, const char *filename=0)
 

Public Attributes

bool drawFullGraph
 
bool drawProblemInstance
 
bool drawMinimumVC
 
bool drawAllG
 
bool drawStatistics
 
bool flipBackwardsGCost
 
bool drawSumOnEdge
 
bool drawShortenedEdges
 

Private Attributes

state start
 
state goal
 
environment * e
 
Heuristic< state > * f
 
Heuristic< state > * b
 
std::map< double, int > m_f
 
std::map< double, int > m_b
 
TemplateAStar< state, action, environment > astarf
 
TemplateAStar< state, action, environment > astarb
 
int forwardSum
 
int backwardSum
 
int totalWork
 
double optCost
 
int height
 
int width
 
std::string optCostStr
 
double forwardOptG
 
double backwardOptG
 

Detailed Description

template<class state, class action, class environment>
class BidirectionalProblemAnalyzer< state, action, environment >

Definition at line 19 of file WeightedVertexGraph.h.

Constructor & Destructor Documentation

◆ BidirectionalProblemAnalyzer()

template<class state , class action , class environment >
BidirectionalProblemAnalyzer< state, action, environment >::BidirectionalProblemAnalyzer ( const state &  s,
const state &  g,
environment *  e,
Heuristic< state > *  f,
Heuristic< state > *  b 
)
inline

Member Function Documentation

◆ BuildDataStructures()

template<class state , class action , class environment >
void BidirectionalProblemAnalyzer< state, action, environment >::BuildDataStructures ( )
inline

Definition at line 36 of file WeightedVertexGraph.h.

References BidirectionalProblemAnalyzer< state, action, environment >::astarb, BidirectionalProblemAnalyzer< state, action, environment >::astarf, BidirectionalProblemAnalyzer< state, action, environment >::b, BidirectionalProblemAnalyzer< state, action, environment >::backwardOptG, BidirectionalProblemAnalyzer< state, action, environment >::backwardSum, BidirectionalProblemAnalyzer< state, action, environment >::drawAllG, BidirectionalProblemAnalyzer< state, action, environment >::e, BidirectionalProblemAnalyzer< state, action, environment >::f, fgreatereq(), fless(), BidirectionalProblemAnalyzer< state, action, environment >::forwardOptG, BidirectionalProblemAnalyzer< state, action, environment >::forwardSum, TemplateAStar< state, action, environment, openList >::GetItem(), TemplateAStar< state, action, environment, openList >::GetNecessaryExpansions(), TemplateAStar< state, action, environment, openList >::GetNumItems(), TemplateAStar< state, action, environment, openList >::GetPath(), BidirectionalProblemAnalyzer< state, action, environment >::goal, BidirectionalProblemAnalyzer< state, action, environment >::height, kClosedList, BidirectionalProblemAnalyzer< state, action, environment >::m_b, BidirectionalProblemAnalyzer< state, action, environment >::m_f, max, min(), BidirectionalProblemAnalyzer< state, action, environment >::optCost, BidirectionalProblemAnalyzer< state, action, environment >::optCostStr, path, TemplateAStar< state, action, environment, openList >::SetHeuristic(), BidirectionalProblemAnalyzer< state, action, environment >::start, BidirectionalProblemAnalyzer< state, action, environment >::totalWork, and BidirectionalProblemAnalyzer< state, action, environment >::width.

Referenced by BidirectionalProblemAnalyzer< state, action, environment >::BidirectionalProblemAnalyzer().

◆ GetBackwardMaxG()

template<class state , class action , class environment >
double BidirectionalProblemAnalyzer< state, action, environment >::GetBackwardMaxG ( )
inline

◆ GetBackwardWork()

template<class state , class action , class environment >
int BidirectionalProblemAnalyzer< state, action, environment >::GetBackwardWork ( )
inline

◆ GetForwardMaxG()

template<class state , class action , class environment >
double BidirectionalProblemAnalyzer< state, action, environment >::GetForwardMaxG ( )
inline

◆ GetForwardWork()

template<class state , class action , class environment >
int BidirectionalProblemAnalyzer< state, action, environment >::GetForwardWork ( )
inline

◆ GetMaxG()

template<class state , class action , class environment >
double BidirectionalProblemAnalyzer< state, action, environment >::GetMaxG ( )
inline

◆ GetMinWork()

template<class state , class action , class environment >
int BidirectionalProblemAnalyzer< state, action, environment >::GetMinWork ( )
inline

◆ GetNumGCosts()

template<class state , class action , class environment >
size_t BidirectionalProblemAnalyzer< state, action, environment >::GetNumGCosts ( )
inline

◆ GetWeightedVertexGraph()

template<class state , class action , class environment >
static uint64_t BidirectionalProblemAnalyzer< state, action, environment >::GetWeightedVertexGraph ( const state &  start,
const state &  goal,
environment *  e,
Heuristic< state > *  f,
Heuristic< state > *  b,
const char *  filename = 0 
)
inlinestatic

◆ SaveSVG() [1/2]

template<class state , class action , class environment >
void BidirectionalProblemAnalyzer< state, action, environment >::SaveSVG ( const char *  filename)
inline

Definition at line 248 of file WeightedVertexGraph.h.

References BidirectionalProblemAnalyzer< state, action, environment >::astarb, BidirectionalProblemAnalyzer< state, action, environment >::astarf, BidirectionalProblemAnalyzer< state, action, environment >::backwardOptG, BidirectionalProblemAnalyzer< state, action, environment >::backwardSum, Colors::black, BidirectionalProblemAnalyzer< state, action, environment >::drawAllG, BidirectionalProblemAnalyzer< state, action, environment >::drawFullGraph, BidirectionalProblemAnalyzer< state, action, environment >::drawMinimumVC, BidirectionalProblemAnalyzer< state, action, environment >::drawProblemInstance, BidirectionalProblemAnalyzer< state, action, environment >::drawShortenedEdges, BidirectionalProblemAnalyzer< state, action, environment >::drawStatistics, BidirectionalProblemAnalyzer< state, action, environment >::drawSumOnEdge, BidirectionalProblemAnalyzer< state, action, environment >::e, fgreatereq(), fless(), flesseq(), BidirectionalProblemAnalyzer< state, action, environment >::flipBackwardsGCost, BidirectionalProblemAnalyzer< state, action, environment >::forwardOptG, TemplateAStar< state, action, environment, openList >::GetNecessaryExpansions(), BidirectionalProblemAnalyzer< state, action, environment >::goal, BidirectionalProblemAnalyzer< state, action, environment >::height, SVG::kLeft, SVG::kRight, Colors::lightblue, Colors::lightgray, BidirectionalProblemAnalyzer< state, action, environment >::m_b, BidirectionalProblemAnalyzer< state, action, environment >::m_f, max, BidirectionalProblemAnalyzer< state, action, environment >::optCost, BidirectionalProblemAnalyzer< state, action, environment >::optCostStr, BidirectionalProblemAnalyzer< state, action, environment >::start, SVGDrawCircle(), SVGDrawLine(), SVGDrawText(), SVGFrameCircle(), to_string_separator(), BidirectionalProblemAnalyzer< state, action, environment >::totalWork, and BidirectionalProblemAnalyzer< state, action, environment >::width.

Referenced by BidirectionalProblemAnalyzer< state, action, environment >::GetWeightedVertexGraph().

◆ SaveSVG() [2/2]

template<class state , class action , class environment >
void BidirectionalProblemAnalyzer< state, action, environment >::SaveSVG ( const char *  filename,
int  groupSize 
)
inline

Member Data Documentation

◆ astarb

template<class state , class action , class environment >
TemplateAStar<state, action, environment> BidirectionalProblemAnalyzer< state, action, environment >::astarb
private

◆ astarf

template<class state , class action , class environment >
TemplateAStar<state, action, environment> BidirectionalProblemAnalyzer< state, action, environment >::astarf
private

◆ b

template<class state , class action , class environment >
Heuristic<state> * BidirectionalProblemAnalyzer< state, action, environment >::b
private

◆ backwardOptG

template<class state , class action , class environment >
double BidirectionalProblemAnalyzer< state, action, environment >::backwardOptG
private

◆ backwardSum

template<class state , class action , class environment >
int BidirectionalProblemAnalyzer< state, action, environment >::backwardSum
private

◆ drawAllG

template<class state , class action , class environment >
bool BidirectionalProblemAnalyzer< state, action, environment >::drawAllG

◆ drawFullGraph

template<class state , class action , class environment >
bool BidirectionalProblemAnalyzer< state, action, environment >::drawFullGraph

◆ drawMinimumVC

template<class state , class action , class environment >
bool BidirectionalProblemAnalyzer< state, action, environment >::drawMinimumVC

◆ drawProblemInstance

template<class state , class action , class environment >
bool BidirectionalProblemAnalyzer< state, action, environment >::drawProblemInstance

◆ drawShortenedEdges

template<class state , class action , class environment >
bool BidirectionalProblemAnalyzer< state, action, environment >::drawShortenedEdges

◆ drawStatistics

template<class state , class action , class environment >
bool BidirectionalProblemAnalyzer< state, action, environment >::drawStatistics

◆ drawSumOnEdge

template<class state , class action , class environment >
bool BidirectionalProblemAnalyzer< state, action, environment >::drawSumOnEdge

◆ e

template<class state , class action , class environment >
environment* BidirectionalProblemAnalyzer< state, action, environment >::e
private

◆ f

template<class state , class action , class environment >
Heuristic<state>* BidirectionalProblemAnalyzer< state, action, environment >::f
private

◆ flipBackwardsGCost

template<class state , class action , class environment >
bool BidirectionalProblemAnalyzer< state, action, environment >::flipBackwardsGCost

◆ forwardOptG

template<class state , class action , class environment >
double BidirectionalProblemAnalyzer< state, action, environment >::forwardOptG
private

◆ forwardSum

template<class state , class action , class environment >
int BidirectionalProblemAnalyzer< state, action, environment >::forwardSum
private

◆ goal

template<class state , class action , class environment >
state BidirectionalProblemAnalyzer< state, action, environment >::goal
private

◆ height

template<class state , class action , class environment >
int BidirectionalProblemAnalyzer< state, action, environment >::height
private

◆ m_b

template<class state , class action , class environment >
std::map<double, int> BidirectionalProblemAnalyzer< state, action, environment >::m_b
private

◆ m_f

template<class state , class action , class environment >
std::map<double, int> BidirectionalProblemAnalyzer< state, action, environment >::m_f
private

◆ optCost

template<class state , class action , class environment >
double BidirectionalProblemAnalyzer< state, action, environment >::optCost
private

◆ optCostStr

template<class state , class action , class environment >
std::string BidirectionalProblemAnalyzer< state, action, environment >::optCostStr
private

◆ start

template<class state , class action , class environment >
state BidirectionalProblemAnalyzer< state, action, environment >::start
private

◆ totalWork

template<class state , class action , class environment >
int BidirectionalProblemAnalyzer< state, action, environment >::totalWork
private

◆ width

template<class state , class action , class environment >
int BidirectionalProblemAnalyzer< state, action, environment >::width
private

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