gravatar
kpeter (Peter Kovacs)
kpeter@inf.elte.hu
Separate group for the min mean cycle classes (#179)
0 4 0
default
4 files changed with 46 insertions and 7 deletions:
↑ Collapse diff ↑
Show white space 6 line context
... ...
@@ -393,2 +393,36 @@
393 393
/**
394
@defgroup min_mean_cycle Minimum Mean Cycle Algorithms
395
@ingroup algs
396
\brief Algorithms for finding minimum mean cycles.
397

	
398
This group contains the algorithms for finding minimum mean cycles.
399

	
400
The \e minimum \e mean \e cycle \e problem is to find a directed cycle
401
of minimum mean length (cost) in a digraph.
402
The mean length of a cycle is the average length of its arcs, i.e. the
403
ratio between the total length of the cycle and the number of arcs on it.
404

	
405
This problem has an important connection to \e conservative \e length
406
\e functions, too. A length function on the arcs of a digraph is called
407
conservative if and only if there is no directed cycle of negative total
408
length. For an arbitrary length function, the negative of the minimum
409
cycle mean is the smallest \f$\epsilon\f$ value so that increasing the
410
arc lengths uniformly by \f$\epsilon\f$ results in a conservative length
411
function.
412

	
413
LEMON contains three algorithms for solving the minimum mean cycle problem:
414
- \ref Karp "Karp"'s original algorithm.
415
- \ref HartmannOrlin "Hartmann-Orlin"'s algorithm, which is an improved
416
  version of Karp's algorithm.
417
- \ref Howard "Howard"'s policy iteration algorithm.
418

	
419
In practice, the Howard algorithm proved to be by far the most efficient
420
one, though the best known theoretical bound on its running time is
421
exponential.
422
Both Karp and HartmannOrlin algorithms run in time O(ne) and use space
423
O(n<sup>2</sup>+e), but the latter one is typically faster due to the
424
applied early termination scheme.
425
*/
426

	
427
/**
394 428
@defgroup graph_properties Connectivity and Other Graph Properties
Ignore white space 6 line context
... ...
@@ -21,3 +21,3 @@
21 21

	
22
/// \ingroup shortest_path
22
/// \ingroup min_mean_cycle
23 23
///
... ...
@@ -92,3 +92,3 @@
92 92

	
93
  /// \addtogroup shortest_path
93
  /// \addtogroup min_mean_cycle
94 94
  /// @{
... ...
@@ -100,4 +100,5 @@
100 100
  /// a directed cycle of minimum mean length (cost) in a digraph.
101
  /// It is an improved version of \ref Karp "Karp's original algorithm",
101
  /// It is an improved version of \ref Karp "Karp"'s original algorithm,
102 102
  /// it applies an efficient early termination scheme.
103
  /// It runs in time O(ne) and uses space O(n<sup>2</sup>+e).
103 104
  ///
Ignore white space 6 line context
... ...
@@ -21,3 +21,3 @@
21 21

	
22
/// \ingroup shortest_path
22
/// \ingroup min_mean_cycle
23 23
///
... ...
@@ -92,3 +92,3 @@
92 92

	
93
  /// \addtogroup shortest_path
93
  /// \addtogroup min_mean_cycle
94 94
  /// @{
... ...
@@ -100,2 +100,5 @@
100 100
  /// a directed cycle of minimum mean length (cost) in a digraph.
101
  /// This class provides the most efficient algorithm for the
102
  /// minimum mean cycle problem, though the best known theoretical
103
  /// bound on its running time is exponential.
101 104
  ///
Ignore white space 6 line context
... ...
@@ -21,3 +21,3 @@
21 21

	
22
/// \ingroup shortest_path
22
/// \ingroup min_mean_cycle
23 23
///
... ...
@@ -92,3 +92,3 @@
92 92

	
93
  /// \addtogroup shortest_path
93
  /// \addtogroup min_mean_cycle
94 94
  /// @{
... ...
@@ -100,2 +100,3 @@
100 100
  /// cycle of minimum mean length (cost) in a digraph.
101
  /// It runs in time O(ne) and uses space O(n<sup>2</sup>+e).
101 102
  ///
0 comments (0 inline)