[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