21#ifndef SH_DFSAPHEURISTIC
22#define SH_DFSAPHEURISTIC
55 {
return "DFS Augmenting Path Heuristic" ; } ;
95 unsigned long long NEdgesSuccessful ;
97 unsigned long long NEdgesUnsuccessful ;
99 unsigned long NSuccessful ;
101 unsigned long NUnsuccessful ;
103 std::string SuccessString ;
a matching algorithm implementing a heuristic search for augmenting paths
Definition DFSAPHeuristic.h:40
unsigned long searchAugmentingPath(Vertex *v0, const Edge **path)
Definition DFSAPHeuristic.cc:125
bool * VertexOnPath
Definition DFSAPHeuristic.h:90
const char * getName(void) const
Definition DFSAPHeuristic.h:54
UWORD32 TimeCounter
Definition DFSAPHeuristic.h:88
bool isVisited(VertexLabel vlbl) const
Definition DFSAPHeuristic.h:85
void run(void)
Definition DFSAPHeuristic.cc:73
void markVisited(Vertex *v)
Definition DFSAPHeuristic.h:75
const Edge * getNextEdge(Vertex *v)
Definition DFSAPHeuristic.cc:221
virtual ~DFSAPHeuristic(void)
Definition DFSAPHeuristic.cc:54
EdgeIterator * EdgeIterators
Definition DFSAPHeuristic.h:91
void reset(UWORD32 mne=UWORD32_MAX, EdgeIterator::ITERATIONMODE mo=EdgeIterator::SAMPLEOCCURENCE)
Definition DFSAPHeuristic.cc:61
DFSAPHeuristic(Graph *g, Matching *m, float goal=100.0, UWORD32 mne=UWORD32_MAX, EdgeIterator::ITERATIONMODE mo=EdgeIterator::SAMPLEOCCURENCE)
Definition DFSAPHeuristic.cc:28
bool isVisited(Vertex *v) const
Definition DFSAPHeuristic.h:82
UWORD32 * TimeCounters
Definition DFSAPHeuristic.h:89
allows an iteration trough all edges of a vertex
Definition EdgeIterator.h:51
ITERATIONMODE
Definition EdgeIterator.h:53
@ SAMPLEOCCURENCE
Definition EdgeIterator.h:54
a graph constructed from a cover file and a message to be embedded
Definition Graph.h:51
Definition MatchingAlgorithm.h:27
represent a matching on a graph
Definition Matching.h:41
a vertex in a graph
Definition Vertex.h:43
VertexLabel getLabel(void) const
Definition Vertex.h:98
unsigned long UWORD32
Definition common.h:45
#define UWORD32_MAX
Definition common.h:53
UWORD32 VertexLabel
Definition common.h:68