mosp LEDA Extension Package  0.7
POPULAR.h
Go to the documentation of this file.
1 //
2 // This program can be freely used in an academic environment
3 // ONLY for research purposes, subject to the following restrictions:
4 //
5 // 1. The origin of this software must not be misrepresented; you must not
6 // claim that you wrote the original software. If you use this software
7 // an acknowledgment in the product documentation is required.
8 // 2. Altered source versions must be plainly marked as such, and must not be
9 // misrepresented as being the original software.
10 // 3. This notice may not be removed or altered from any source distribution.
11 //
12 // Any other use is strictly prohibited by the author, without an explicit
13 // permission.
14 //
15 // Note that this program uses the LEDA library, which is NOT free. For more
16 // details visit Algorithmic Solutions at http://www.algorithmic-solutions.com/
17 //
18 // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
19 // ! Any commercial use of this software is strictly !
20 // ! prohibited without explicit permission by the !
21 // ! author. !
22 // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
23 //
24 // This software is distributed in the hope that it will be useful,
25 // but WITHOUT ANY WARRANTY; without even the implied warranty of
26 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
27 //
28 // Copyright (C) 2004-2010 Dimitris Michail <michail@hua.gr>
29 
34 #ifndef LEP_POPULAR_H
35 #define LEP_POPULAR_H
36 
37 #include <LEP/mosp/config.h>
38 
39 #ifdef LEDA_GE_V5
40 #include <LEDA/graph/graph.h>
41 #include <LEDA/core/list.h>
42 #include <LEDA/graph/edge_array.h>
43 #include <LEDA/system/assert.h>
44 #include <LEDA/core/string.h>
45 #else
46 #include <LEDA/graph.h>
47 #include <LEDA/list.h>
48 #include <LEDA/edge_array.h>
49 #include <LEDA/std/assert.h>
50 #include <LEDA/string.h>
51 #endif
52 
53 #include <LEP/mosp/graphcopy.h>
54 
55 namespace mosp
56 {
57 
71  bool BI_POPULAR_MATCHING( const leda::graph& G,
72  const leda::list<leda::node>& A,
73  const leda::list<leda::node>& B,
74  const leda::edge_array<int>& rank,
75  leda::list<leda::edge>& L );
76 
95  bool BI_APPROX_POPULAR_MATCHING( const leda::graph& G,
96  const leda::list<leda::node>& A,
97  const leda::list<leda::node>& B,
98  const leda::edge_array<int>& rank,
99  int maxphase,
100  leda::list< leda::edge >& L,
101  int& phase );
102 
118  bool BI_APPROX_POPULAR_MATCHING( const leda::graph& G,
119  const leda::list<leda::node>& A,
120  const leda::list<leda::node>& B,
121  const leda::edge_array<int>& rank,
122  leda::list< leda::edge >& L,
123  int& phase );
124 
125 
145  bool BI_UNPOPULARITY_FACTOR( graph& G,
146  const list<node>& A, const list<node>& B,
147  const edge_array<int>& rank,
148  const list<edge>& M,
149  int &factor );
150 
169  const graph& G,
170  const list<node>& A,
171  const list<node>& B,
172  const edge_array<int>& rank,
173  const node_array<int>& capacity,
174  list<edge>& L );
175 
191  int BI_UNPOPULARITY_MARGIN( graph& G,
192  const list<node>& A, const list<node>& B,
193  const edge_array<int>& rank,
194  const list<edge>& M );
195 
196 
197 }
198 
199 #endif // LEP_POPULAR_H
200 
201 /* ex: set ts=4 sw=4 sts=4 et: */
202 
203 
The main package namespace.
Definition: RANK_MAX_MATCHING.h:53