[Lemon-commits] [lemon_svn] marci: r796 - in hugo/trunk/src/work: . marci
Lemon SVN
svn at lemon.cs.elte.hu
Mon Nov 6 20:41:32 CET 2006
Author: marci
Date: Tue May 11 19:37:34 2004
New Revision: 796
Removed:
hugo/trunk/src/work/marci/bipartite_matching_try_2.cc
Modified:
hugo/trunk/src/work/Doxyfile
hugo/trunk/src/work/marci/bipartite_matching_try_3.cc
hugo/trunk/src/work/marci/makefile
hugo/trunk/src/work/marci/max_bipartite_matching.h
Log:
documentation of bipartite matchings, cleaning
Modified: hugo/trunk/src/work/Doxyfile
==============================================================================
--- hugo/trunk/src/work/Doxyfile (original)
+++ hugo/trunk/src/work/Doxyfile Tue May 11 19:37:34 2004
@@ -400,7 +400,8 @@
jacint/max_matching.h \
marci/bfs_dfs.h \
marci/bfs_dfs_misc.h \
- jacint/graph_gen.h
+ jacint/graph_gen.h \
+ marci/max_bipartite_matching.h
# If the value of the INPUT tag contains directories, you can use the
# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
Modified: hugo/trunk/src/work/marci/bipartite_matching_try_3.cc
==============================================================================
--- hugo/trunk/src/work/marci/bipartite_matching_try_3.cc (original)
+++ hugo/trunk/src/work/marci/bipartite_matching_try_3.cc Tue May 11 19:37:34 2004
@@ -131,7 +131,7 @@
ts.reset();
FOR_EACH_LOC(Graph::EdgeIt, e, g) gef.set(e, 0);
FOR_EACH_LOC(Graph::NodeIt, n, g) gnf.set(n, 0);
- MaxMatching<Graph, ConstMap<Graph::Edge, int>, ConstMap<Graph::Node, int>,
+ MaxBipartiteMatching<Graph, ConstMap<Graph::Edge, int>, ConstMap<Graph::Node, int>,
Graph::EdgeMap<int>, Graph::NodeMap<int> >
matching_test(g, ge1, gn1, gef, gnf);
matching_test.run();
@@ -146,7 +146,7 @@
ts.reset();
FOR_EACH_LOC(Graph::EdgeIt, e, g) gef.set(e, 0);
//FOR_EACH_LOC(Graph::NodeIt, n, g) gnf.set(n, 0);
- MaxMatching<Graph, ConstMap<Graph::Edge, int>, ConstMap<Graph::Node, int>,
+ MaxBipartiteMatching<Graph, ConstMap<Graph::Edge, int>, ConstMap<Graph::Node, int>,
Graph::EdgeMap<int>, Graph::NodeMap<int> >
matching_test_1(g, ge1, gn1, gef/*, gnf*/);
matching_test_1.run();
Modified: hugo/trunk/src/work/marci/makefile
==============================================================================
--- hugo/trunk/src/work/marci/makefile (original)
+++ hugo/trunk/src/work/marci/makefile Tue May 11 19:37:34 2004
@@ -4,7 +4,7 @@
INCLUDEDIRS ?= -I../.. -I.. -I../{marci,jacint,alpar,klao,akos,athos} -I$(BOOSTROOT)
LEDABINARIES = leda_graph_demo leda_bfs_dfs max_bipartite_matching_demo
-BINARIES = max_flow_demo iterator_bfs_demo macro_test lg_vs_sg bfsit_vs_byhand bipartite_graph_wrapper_test bipartite_matching_try bipartite_matching_try_2 bipartite_matching_try_3 top_sort_test
+BINARIES = max_flow_demo iterator_bfs_demo macro_test lg_vs_sg bfsit_vs_byhand bipartite_graph_wrapper_test bipartite_matching_try bipartite_matching_try_3 top_sort_test
#gw_vs_not preflow_demo_boost edmonds_karp_demo_boost preflow_demo_jacint preflow_demo_athos edmonds_karp_demo_alpar preflow_demo_leda
include ../makefile
Modified: hugo/trunk/src/work/marci/max_bipartite_matching.h
==============================================================================
--- hugo/trunk/src/work/marci/max_bipartite_matching.h (original)
+++ hugo/trunk/src/work/marci/max_bipartite_matching.h Tue May 11 19:37:34 2004
@@ -33,15 +33,17 @@
// }
// };
- /// A bipartite matching class.
+ /// \brief A bipartite matching class.
+ ///
/// This class reduces the matching problem to a flow problem and
/// a preflow is used on a wrapper. Such a generic approach means that
/// matchings, b-matchings an capacitated b-matchings can be handled in
/// a similar way. Due to the efficiency of the preflow algorithm, an
/// efficient matching framework is obtained.
+ /// \ingroup galgs
template <typename Graph, typename EdgeCap, typename NodeCap,
typename EdgeFlow, typename NodeFlow>
- class MaxMatching {
+ class MaxBipartiteMatching {
protected:
// EdgeCap* edge_cap;
// NodeCap* node_cap;
@@ -65,7 +67,7 @@
/// to obtain saturation information about nodes.
///\bug Note that the values in _edge_flow and _node_flow have
/// to form a flow.
- MaxMatching(Graph& _g, EdgeCap& _edge_cap, NodeCap& _node_cap,
+ MaxBipartiteMatching(Graph& _g, EdgeCap& _edge_cap, NodeCap& _node_cap,
EdgeFlow& _edge_flow, NodeFlow& _node_flow) :
stgw(_g),
cap(_edge_cap, _node_cap),
@@ -76,7 +78,7 @@
/// this constructor is more comfortable.
///\bug Note that the values in _edge_flow and _node_flow have
/// to form a flow.
- MaxMatching(Graph& _g, EdgeCap& _edge_cap, NodeCap& _node_cap,
+ MaxBipartiteMatching(Graph& _g, EdgeCap& _edge_cap, NodeCap& _node_cap,
EdgeFlow& _edge_flow/*, NodeFlow& _node_flow*/) :
stgw(_g),
cap(_edge_cap, _node_cap),
@@ -84,7 +86,7 @@
flow(_edge_flow, *node_flow),
mf(stgw, stgw.S_NODE, stgw.T_NODE, cap, flow) { }
/// The class have a nontrivial destructor.
- ~MaxMatching() { if (node_flow) delete node_flow; }
+ ~MaxBipartiteMatching() { if (node_flow) delete node_flow; }
/// run computes the max matching.
void run() { mf.run(); }
/// The matching value after running \c run.
More information about the Lemon-commits
mailing list