|
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 |