Index: doc/groups.dox
===================================================================
--- doc/groups.dox	(revision 2553)
+++ doc/groups.dox	(revision 2566)
@@ -19,5 +19,5 @@
 /**
 @defgroup datas Data Structures
-This group describes the several graph structures implemented in LEMON.
+This group describes the several data structures implemented in LEMON.
 */
 
@@ -51,5 +51,5 @@
 LEMON also provides a variety of graphs for these requirements called 
 \ref graph_adaptors "graph adaptors". Adaptors cannot be used alone but only 
-in conjunction with other graph representation. 
+in conjunction with other graph representations. 
 
 You are free to use the graph structure that fit your requirements
@@ -59,11 +59,11 @@
 
 /**
-@defgroup semi_adaptors Semi-Adaptors Classes for Graphs
+@defgroup semi_adaptors Semi-Adaptor Classes for Graphs
 @ingroup graphs
 \brief Graph types between real graphs and graph adaptors.
 
-Graph types between real graphs and graph adaptors. These classes wrap
-graphs to give new functionality as the adaptors do it. On the other
-hand they are not light-weight structures as the adaptors.
+This group describes some graph types between real graphs and graph adaptors.
+These classes wrap graphs to give new functionality as the adaptors do it. 
+On the other hand they are not light-weight structures as the adaptors.
 */
 
@@ -71,7 +71,9 @@
 @defgroup maps Maps 
 @ingroup datas
-\brief Some special purpose map to make life easier.
-
-LEMON provides several special maps that e.g. combine
+\brief Map structures implemented in LEMON.
+
+This group describes the map structures implemented in LEMON.
+
+LEMON provides several special purpose maps that e.g. combine
 new maps from existing ones.
 */
@@ -82,6 +84,6 @@
 \brief Special Graph-Related Maps.
 
-These maps are specifically designed to assign values to the nodes and edges of
-graphs.
+This group describes maps that are specifically designed to assign
+values to the nodes and edges of graphs.
 */
 
@@ -92,5 +94,6 @@
 \brief Tools to create new maps from existing ones
 
-Map adaptors are used to create "implicit" maps from other maps.
+This group describes map adaptors that are used to create "implicit"
+maps from other maps.
 
 Most of them are \ref lemon::concepts::ReadMap "ReadMap"s. They can
@@ -99,5 +102,5 @@
 of different Value type.
 
-The typical usage of this classes is the passing implicit maps to
+The typical usage of this classes is passing implicit maps to
 algorithms.  If a function type algorithm is called then the function
 type map adaptors can be used comfortable. For example let's see the
@@ -128,5 +131,5 @@
 The usage with class type algorithms is little bit harder. In this
 case the function type map adaptors can not be used, because the
-function map adaptors give back temporarly objects.
+function map adaptors give back temporary objects.
 \code
   Graph graph;
@@ -154,7 +157,7 @@
 @defgroup matrices Matrices 
 @ingroup datas
-\brief Two dimensional data storages.
-
-Two dimensional data storages.
+\brief Two dimensional data storages implemented in LEMON.
+
+This group describes two dimensional data storages implemented in LEMON.
 */
 
@@ -164,9 +167,9 @@
 \brief Path structures implemented in LEMON.
 
-LEMON provides flexible data structures
-to work with paths.
-
-All of them have similar interfaces, and it can be copied easily with
-assignment operator and copy constructor. This make it easy and
+This group describes the path structures implemented in LEMON.
+
+LEMON provides flexible data structures to work with paths.
+All of them have similar interfaces and they can be copied easily with
+assignment operators and copy constructors. This makes it easy and
 efficient to have e.g. the Dijkstra algorithm to store its result in
 any kind of path structure.
@@ -179,7 +182,7 @@
 @defgroup auxdat Auxiliary Data Structures
 @ingroup datas
-\brief Some data structures implemented in LEMON.
-
-This group describes the data structures implemented in LEMON in
+\brief Auxiliary data structures implemented in LEMON.
+
+This group describes some data structures implemented in LEMON in
 order to make it easier to implement combinatorial algorithms.
 */
@@ -198,9 +201,8 @@
 @defgroup search Graph Search
 @ingroup algs
-\brief This group contains the common graph
-search algorithms.
-
-This group contains the common graph
-search algorithms like Bfs and Dfs.
+\brief Common graph search algorithms.
+
+This group describes the common graph search algorithms like 
+Breadth-first search (Bfs) and Depth-first search (Dfs).
 */
 
@@ -208,10 +210,7 @@
 @defgroup shortest_path Shortest Path algorithms
 @ingroup algs
-\brief This group describes the algorithms
-for finding shortest paths.
-
-This group describes the algorithms for finding shortest paths in
-graphs.
-
+\brief Algorithms for finding shortest paths.
+
+This group describes the algorithms for finding shortest paths in graphs.
 */
 
@@ -219,29 +218,29 @@
 @defgroup max_flow Maximum Flow algorithms 
 @ingroup algs 
-\brief This group describes the algorithms for finding maximum flows.
+\brief Algorithms for finding maximum flows.
 
 This group describes the algorithms for finding maximum flows and
 feasible circulations.
 
-The maximum flow problem is to find a flow between a single-source and
-single-target that is maximum. Formally, there is \f$G=(V,A)\f$
+The maximum flow problem is to find a flow between a single source and
+a single target that is maximum. Formally, there is a \f$G=(V,A)\f$
 directed graph, an \f$c_a:A\rightarrow\mathbf{R}^+_0\f$ capacity
 function and given \f$s, t \in V\f$ source and target node. The
-maximum flow is the solution of the next optimization problem:
+maximum flow is the \f$f_a\f$ solution of the next optimization problem:
 
 \f[ 0 \le f_a \le c_a \f]
-\f[ \sum_{v\in\delta^{-}(u)}f_{vu}=\sum_{v\in\delta^{+}(u)}f_{uv} \quad u \in V \setminus \{s,t\}\f]
+\f[ \sum_{v\in\delta^{-}(u)}f_{vu}=\sum_{v\in\delta^{+}(u)}f_{uv} \qquad \forall u \in V \setminus \{s,t\}\f]
 \f[ \max \sum_{v\in\delta^{+}(s)}f_{uv} - \sum_{v\in\delta^{-}(s)}f_{vu}\f]
 
-The lemon contains several algorithms for solve maximum flow problems:
+LEMON contains several algorithms for solving maximum flow problems:
 - \ref lemon::EdmondsKarp "Edmonds-Karp" 
 - \ref lemon::Preflow "Goldberg's Preflow algorithm"
-- \ref lemon::DinitzSleatorTarjan "Dinitz's blocking flow algorithm with dynamic tree"
+- \ref lemon::DinitzSleatorTarjan "Dinitz's blocking flow algorithm with dynamic trees"
 - \ref lemon::GoldbergTarjan "Preflow algorithm with dynamic trees"
 
-In most cases the \ref lemon::Preflow "preflow" algorithm provides the
+In most cases the \ref lemon::Preflow "Preflow" algorithm provides the
 fastest method to compute the maximum flow. All impelementations
-provides functions for query the minimum cut, which is the dual linear
-programming probelm of the maximum flow.
+provides functions to query the minimum cut, which is the dual linear
+programming problem of the maximum flow.
 
 */
@@ -251,6 +250,5 @@
 @ingroup algs
 
-\brief This group describes the algorithms
-for finding minimum cost flows and circulations.
+\brief Algorithms for finding minimum cost flows and circulations.
 
 This group describes the algorithms for finding minimum cost flows and
@@ -262,6 +260,5 @@
 @ingroup algs 
 
-\brief This group describes the algorithms for finding minimum cut in
-graphs.
+\brief Algorithms for finding minimum cut in graphs.
 
 This group describes the algorithms for finding minimum cut in graphs.
@@ -271,15 +268,15 @@
 outgoing arcs. Formally, there is \f$G=(V,A)\f$ directed graph, an
 \f$c_a:A\rightarrow\mathbf{R}^+_0\f$ capacity function. The minimum
-cut is the solution of the next optimization problem:
+cut is the \f$X\f$ solution of the next optimization problem:
 
 \f[ \min_{X \subset V, X\not\in \{\emptyset, V\}}\sum_{uv\in A, u\in X, v\not\in X}c_{uv}\f]
 
-The lemon contains several algorithms related to minimum cut problems:
-
-- \ref lemon::HaoOrlin "Hao-Orlin algorithm" for calculate minimum cut
+LEMON contains several algorithms related to minimum cut problems:
+
+- \ref lemon::HaoOrlin "Hao-Orlin algorithm" to calculate minimum cut
   in directed graphs  
-- \ref lemon::NagamochiIbaraki "Nagamochi-Ibaraki algorithm" for
+- \ref lemon::NagamochiIbaraki "Nagamochi-Ibaraki algorithm" to
   calculate minimum cut in undirected graphs
-- \ref lemon::GomoryHuTree "Gomory-Hu tree computation" for calculate all
+- \ref lemon::GomoryHuTree "Gomory-Hu tree computation" to calculate all
   pairs minimum cut in undirected graphs
 
@@ -292,9 +289,8 @@
 @defgroup graph_prop Connectivity and other graph properties
 @ingroup algs
-\brief This group describes the algorithms
-for discover the graph properties
-
-This group describes the algorithms for discover the graph properties
-like connectivity, bipartiteness, euler property, simplicity, etc...
+\brief Algorithms for discovering the graph properties
+
+This group describes the algorithms for discovering the graph properties
+like connectivity, bipartiteness, euler property, simplicity etc.
 
 \image html edge_biconnected_components.png
@@ -305,7 +301,7 @@
 @defgroup planar Planarity embedding and drawing
 @ingroup algs
-\brief This group contains algorithms for planarity embedding and drawing
-
-This group contains algorithms for planarity checking, embedding and drawing.
+\brief Algorithms for planarity checking, embedding and drawing
+
+This group describes the algorithms for planarity checking, embedding and drawing.
 
 \image html planar.png
@@ -316,8 +312,7 @@
 @defgroup matching Matching algorithms 
 @ingroup algs
-\brief This group describes the algorithms
-for find matchings in graphs and bipartite graphs.
-
-This group provides some algorithm objects and function to calculate
+\brief Algorithms for finding matchings in graphs and bipartite graphs.
+
+This group contains algorithm objects and functions to calculate
 matchings in graphs and bipartite graphs. The general matching problem is
 finding a subset of the edges which does not shares common endpoints.
@@ -359,9 +354,8 @@
 @defgroup spantree Minimum Spanning Tree algorithms
 @ingroup algs
-\brief This group contains the algorithms for finding a minimum cost spanning
+\brief Algorithms for finding a minimum cost spanning tree in a graph.
+
+This group describes the algorithms for finding a minimum cost spanning
 tree in a graph
-
-This group contains the algorithms for finding a minimum cost spanning
-tree in a graph
 */
 
@@ -370,15 +364,16 @@
 @defgroup auxalg Auxiliary algorithms
 @ingroup algs
-\brief Some algorithms implemented in LEMON.
-
-This group describes the algorithms in LEMON in order to make 
-it easier to implement complex algorithms.
+\brief Auxiliary algorithms implemented in LEMON.
+
+This group describes some algorithms implemented in LEMON
+in order to make it easier to implement complex algorithms.
 */
 
 /**
 @defgroup approx Approximation algorithms
-\brief Approximation algorithms
-
-Approximation and heuristic algorithms
+\brief Approximation algorithms.
+
+This group describes the approximation and heuristic algorithms
+implemented in LEMON.
 */
 
@@ -407,6 +402,5 @@
 @defgroup lp_utils Tools for Lp and Mip solvers 
 @ingroup lp_group
-\brief This group adds some helper tools to the Lp and Mip solvers
-implemented in LEMON.
+\brief Helper tools to the Lp and Mip solvers.
 
 This group adds some helper tools to general optimization framework
@@ -419,12 +413,12 @@
 \brief Metaheuristics for LEMON library.
 
-This group contains some metaheuristic optimization tools.
+This group describes some metaheuristic optimization tools.
 */
 
 /**
 @defgroup utils Tools and Utilities 
-\brief Tools and Utilities for Programming in LEMON
-
-Tools and Utilities for Programming in LEMON
+\brief Tools and utilities for programming in LEMON
+
+Tools and utilities for programming in LEMON.
 */
 
@@ -432,5 +426,5 @@
 @defgroup gutils Basic Graph Utilities
 @ingroup utils
-\brief This group describes some simple basic graph utilities.
+\brief Simple basic graph utilities.
 
 This group describes some simple basic graph utilities.
@@ -440,13 +434,16 @@
 @defgroup misc Miscellaneous Tools
 @ingroup utils
-Here you can find several useful tools for development,
+\brief Tools for development, debugging and testing.
+
+This group describes several useful tools for development,
 debugging and testing.
 */
-
 
 /**
 @defgroup timecount Time measuring and Counting
 @ingroup misc
-Here you can find simple tools for measuring the performance
+\brief Simple tools for measuring the performance of algorithms.
+
+This group describes simple tools for measuring the performance
 of algorithms.
 */
@@ -455,7 +452,7 @@
 @defgroup graphbits Tools for Graph Implementation
 @ingroup utils
-\brief Tools to Make It Easier to Make Graphs.
-
-This group describes the tools that makes it easier to make graphs and
+\brief Tools to make it easier to create graphs.
+
+This group describes the tools that makes it easier to create graphs and
 the maps that dynamically update with the graph changes.
 */
@@ -464,14 +461,16 @@
 @defgroup exceptions Exceptions
 @ingroup utils
-This group contains the exceptions thrown by LEMON library
+\brief Exceptions defined in LEMON.
+
+This group describes the exceptions defined in LEMON.
 */
 
 /**
 @defgroup io_group Input-Output
-\brief Several Graph Input-Output methods
-
-Here you can find tools for importing and exporting graphs 
+\brief Graph Input-Output methods
+
+This group describes the tools for importing and exporting graphs 
 and graph related data. Now it supports the LEMON format, the
-\c DIMACS format and the encapsulated postscript format.
+\c DIMACS format and the encapsulated postscript (EPS) format.
 */
 
@@ -481,6 +480,6 @@
 \brief Reading and writing LEMON format
 
-Methods for reading and writing LEMON format. More about this
-format you can find on the \ref graph-io-page "Graph Input-Output"
+This group describes methods for reading and writing LEMON format. 
+You can find more about this format on the \ref graph-io-page "Graph Input-Output"
 tutorial pages.
 */
@@ -489,18 +488,18 @@
 @defgroup section_io Section readers and writers
 @ingroup lemon_io
-\brief Section readers and writers for lemon Input-Output.
-
-Here you can find which section readers and writers can attach to
-the LemonReader and LemonWriter.
-*/
-
-/**
-@defgroup item_io Item Readers and Writers
+\brief Section readers and writers for LEMON Input-Output.
+
+This group describes section reader and writer classes that can be 
+attached to \ref LemonReader and \ref LemonWriter.
+*/
+
+/**
+@defgroup item_io Item readers and writers
 @ingroup lemon_io
-\brief Item readers and writers for lemon Input-Output.
-
-The Input-Output classes can handle more data type by example
-as map or attribute value. Each of these should be written and
-read some way. The module make possible to do this.  
+\brief Item readers and writers for LEMON Input-Output.
+
+This group describes reader and writer classes for various data types
+(e.g. map or attribute values). These classes can be attached to
+\ref LemonReader and \ref LemonWriter.
 */
 
@@ -510,5 +509,5 @@
 \brief General \c EPS drawer and graph exporter
 
-This group contains general \c EPS drawing methods and special
+This group describes general \c EPS drawing methods and special
 graph exporting tools. 
 */
@@ -538,5 +537,5 @@
 
 - The concept descriptor classes also provide a <em>checker class</em>
-  that makes it possible check whether a certain implementation of a
+  that makes it possible to check whether a certain implementation of a
   concept indeed provides all the required features.
 
@@ -551,5 +550,5 @@
 \brief Skeleton and concept checking classes for graph structures
 
-This group contains the skeletons and concept checking classes of LEMON's
+This group describes the skeletons and concept checking classes of LEMON's
 graph structures and helper classes used to implement these.
 */
@@ -557,5 +556,5 @@
 /* --- Unused group
 @defgroup experimental Experimental Structures and Algorithms
-This group contains some Experimental structures and algorithms.
+This group describes some Experimental structures and algorithms.
 The stuff here is subject to change.
 */
@@ -569,17 +568,15 @@
 the \c demo subdirectory of the source tree.
 
+It order to compile them, use <tt>--enable-demo</tt> configure option when
+build the library.
+*/
+
+/**
+@defgroup tools Standalone utility applications
+
+Some utility applications are listed here. 
+
 The standard compilation procedure (<tt>./configure;make</tt>) will compile
 them, as well. 
-
-*/
-
-/**
-@defgroup tools Standalone utility applications
-
-Some utility applications are listed here. 
-
-The standard compilation procedure (<tt>./configure;make</tt>) will compile
-them, as well. 
-
-*/
-
+*/
+
