steghide 0.5.1
|
a matching algorithm implementing a heuristic search for augmenting paths More...
#include <DFSAPHeuristic.h>
Public Member Functions | |
DFSAPHeuristic (Graph *g, Matching *m, float goal=100.0, UWORD32 mne=UWORD32_MAX, EdgeIterator::ITERATIONMODE mo=EdgeIterator::SAMPLEOCCURENCE) | |
virtual | ~DFSAPHeuristic (void) |
const char * | getName (void) const |
void | reset (UWORD32 mne=UWORD32_MAX, EdgeIterator::ITERATIONMODE mo=EdgeIterator::SAMPLEOCCURENCE) |
void | run (void) |
Public Member Functions inherited from MatchingAlgorithm | |
MatchingAlgorithm (Graph *g, Matching *m, float goal) | |
virtual | ~MatchingAlgorithm (void) |
Matching * | getMatching (void) const |
void | setGoal (float goal) |
Private Member Functions | |
unsigned long | searchAugmentingPath (Vertex *v0, const Edge **path) |
const Edge * | getNextEdge (Vertex *v) |
void | markVisited (Vertex *v) |
bool | isVisited (Vertex *v) const |
bool | isVisited (VertexLabel vlbl) const |
Private Attributes | |
UWORD32 | TimeCounter |
UWORD32 * | TimeCounters |
bool * | VertexOnPath |
EdgeIterator * | EdgeIterators |
Additional Inherited Members | |
Protected Attributes inherited from MatchingAlgorithm | |
Graph * | TheGraph |
Matching * | TheMatching |
unsigned long | CardinalityGoal |
This class implements the heuristic augmenting path search presented by Rolf H. Moehring and Matthias Mueller-Hannemann in their paper: "Cardinality Matching: Heuristic Search for Augmenting Paths".
DFSAPHeuristic::DFSAPHeuristic | ( | Graph * | g, |
Matching * | m, | ||
float | goal = 100.0, | ||
UWORD32 | mne = UWORD32_MAX, | ||
EdgeIterator::ITERATIONMODE | mo = EdgeIterator::SAMPLEOCCURENCE ) |
construct an DFSAPHeuristic object
g | the graph on which this heuristic should run |
m | the matching to start with |
goal | the percentage of matched vertices that should be reached |
mne | the maximum number of edges that should be considered for every vertex |
mo | the mode for edge iteration |
|
virtual |
|
inlinevirtual |
Implements MatchingAlgorithm.
|
inlineprivate |
returns true iff v has already been visited in this iteration, i.e. in the current call of searchAugmentingPath
|
inlineprivate |
|
inlineprivate |
void DFSAPHeuristic::reset | ( | UWORD32 | mne = UWORD32_MAX, |
EdgeIterator::ITERATIONMODE | mo = EdgeIterator::SAMPLEOCCURENCE ) |
reset the state of this DFSAPHeuristic, esp. the EdgeIterators
mne | the maximum number of edges that should be considered for every vertex for now on |
|
virtual |
Implements MatchingAlgorithm.
v0 | an exposed vertex |
path | an array of Edge pointers where the path will be put |
|
private |
|
private |
|
private |
|
private |