Francesc Comellas, Emili Sapena, A multiagent algorithm for graph partitioning.
Lecture Notes in Comput. Sci. vol. 3907, pp. 279--285 (2006). ISSN: 0302-9743
A multiagent algorithm for graph partitioning
1
Francesc Comellas, Emili Sapena
Abstract
The k-cut problem is an NP-complete problem which
consists of finding a partition of a graph into k balanced
parts such that the number of cut edges is minimized. Different
algorithms have been proposed for this problem based on heuristic,
geometrical and evolutionary methods. In this paper we present
a new simple multiagent algorithm, ants, and we test
its performance with standard graph benchmarks.
The results show that this method can outperform several
current methods while it is very simple to implement.
1 Introduction
Graph partitioning is a problem which appears in many different
applications such as VLSI design, data-mining, finite elements and communication in parallel computing. In the latter case, for example, the subdomains are mapped
to processors and to avoid bottlenecks, the assignment should be as
uniform as possible and the data exchange between processors minimized.
In terms of graphs, the goal is to find a balanced k-partition of a graph
with a minimal number of cut edges separating the sets from each other (k-cut).
As this is an NP-complete problem [5], for graphs with a large order
we cannot be sure we can find an optimal solution
in a reasonable computation time: when the size of the graph increases,
the execution time of an algorithm capable of solving the problem
can be assumed to grow exponentially.
Therefore the problem is practically unsolvable for most networks and
for this reason heuristic and probabilistic methods are implemented
to obtain solutions close to the optimal in a reasonable time.
The only way to guarantee the optimal solution is an exhaustive search.
Nevertheless, this is only applicable to very simple problems in which
the number of nodes is small.
Given the importance of the k-cut problem, there is a large literature
proposing different algorithms.
For example, in [6] an heuristic method is introduced which can find,
for the general problem, approximate solutions in time O(|V|k2) and
in [9] the algorithm proposed can find solutions within a factor of (2-2/k) of the optimal
k-cut requiring |V|-1 max-flow computations.
Recent more efficient methods are based on multilevel paradigms [1,12],
in some cases combined with evolutionary algorithms [10,8].
In this paper we use a multiagent algorithm, ants, for the k-cut problem.
This algorithm has proved
useful in coloring and frequency assignment problems [3,2].
The method is simple to understand and to implement and the results obtained
with standard benchmarks show that it can outperform current algorithms.
2 Graph partitioning
Let G = G(V,E) be an undirected graph where V is the vertex set and
E the edge set. Although in the general partitioning problem both vertices and edges
can be weighted, here as in most of the literature, they are given unit weights.
A partition of the graph is a mapping of V into k disjoint subdomains
Si such that the union of all subdomains is V, i.e. Èi=1k Si=V.
The cardinality of a subdomain is the number of vertices
in the subdomain Si, and the set of inter-subdomain or cut edges
(i.e. edges cut by the partition) is denoted by Ec and referred to as the k-cut.
The objective of graph partitioning is to find a partition
which evenly balances the cardinalities of each subdomain whilst minimizing
the total number of cut edges or cut-weight, |Ec|.
To evenly balance the partition, the cardinality of the optimal subdomain
is given by
|Sopt| =
é [(|V|)/(k)]
ù .
The graph partitioning problem can then be specified as:
find a partition of G such that |Ec| is minimised subject
to the constraint that |Sopt|-1 £ |Si| £ |Sopt| for 1 £ i £ k.
In this paper we find partitions with a perfect balance.
3 The ants algorithm
The partitioning or k-cut problem described in the previous section,
as many other problems in graph theory,
is an NP-complete problem [5].
Efficient algorithms for this problem
are known only for very particular classes of graphs.
When exact methods are not possible,
sometimes it is sufficient to obtain an
approximate solution with a fast and easy
to implement method. This is the case of
simulated annealing, genetic algorithms, neural
networks, ant colony based systems, or multiagent
methods like the one described here.
To implement any of these optimization methods
we need a way to encode the problem which has
to be solved, and a system to quantify how
"good" a solution is. In our case a possible solution may
be encoded using a list such that each position is
associated to a vertex of the graph and its value
to a color which represents the subdomain to which it belongs.
The global cost function simply counts the number of
times that an edge joins vertices with different
color. We use also a local cost function associated to
each vertex defined as the ratio between the number of neighbors that
have different colors to the total number of neighbors.
The ants algorithm is a multiagent system based on the idea of parallel search.
Unlike other algorithms with a similar name which are generically known as
ant-colony optimization, our algorithm does not use "pheromones" or local memory.
Thus it is easier to implement.
A generic version of the algorithm was proposed in [3].
The mechanism of the algorithm is as follows: Initially the graph is k vertex colored
at random keeping the number of vertices for each color balanced.
A given number of agents (ants) is placed on the vertices, also at random.
Then the ants move around the graph and change the coloring according to a
local optimization criterion.
At a given iteration each ant moves from the current position to the adjacent vertex
with the greatest number of constraints (neighbors with a different color), and replaces
its color with a new color which lowers this number.
At the same time, and to keep the balance, the algorithm chooses -at random- a vertex
with the new color and a lower value of the local cost function and changes
the color to the old color.
This local cost function is then updated (for the vertex and its adjacent vertices) after a change of color.
Figure 1: Movement of an ant towards the worst local node.
These actions are randomly repeated for each ant.
An essential characteristic of the algorithm comes from the stochastic nature of
these actions.
The agent or ant moves to the worst
adjacent vertex with a probability pm (it moves randomly to any other adjacent vertex with probability 1-pm),
and assigns the best color, under probability pc (otherwise it assigns any color at random).
Both probabilities are adjustable parameters and allow the algorithm to escape from
local minima and obtain partitions with k-cuts close to the absolute minimum.
The process is repeated until a solution fulfilling all the constraints is found
or the algorithm converges.
The number of ants in the algorithm is another adjustable parameter
that should increase with the diameter of the graph
(maximum of the distances between pairs of vertices).
In the same way as in an insect colony the action of different agents with simple
behaviors gives rise to a structure capable of carrying out complicated tasks,
the algorithm presented here, which is based on a series of simple local actions
that might evenbe carried out in parallel, can obtain restrictive graph partitions.
Note that our algorithm is not a simple sum of local searches, as they would
quickly reach a local solution. The probabilities pm and pc
play an important role to avoid the minima, however their values are not critical and
affect essentially the convergence time of the algorithm which is shorter for larger
values of pm and pc as the index of local improvement at each iteration increases.
An outline of the ants algorithm is shown here in pseudocode.
mm¯ mm¯ mmm¯ mm¯ mm¯ m
ANTS algorithm:
Initialize
n (number of ants), k, pm, pc
Put each ant on a randomly chosen vertex
Color each vertex of the graph at random forming k balanced sets
For all vertices
Initialize local_cost_function
End for
Initialize global_cost_function
best_cost := global_cost_function
While (best_cost > 0) do
For all ants
If (random < pm)
Move the ant to the worst adjacent vertex
Else
Move randomly to any adjacent vertex
End if
If (random < pc)
Change vertex color to the best possible color
Else
Change to a randomly chosen color
End if
Keep balance (Change a random new color vertex to the old color )
For the chosen vertices and all adjacent vertices
Update local_cost_function
Update global_cost_function
End for
If (global_cost_function < best_cost )
best_cost = global_cost_function
End if
End for
End while
4 Results
We tested the algorithm using a set of benchmark graphs which are available from the
Graph Partitioning Archive, a website maintained by Chris Walshaw [13].
The graphs can also be downloaded from Michael Trick's website [11].
Many of these graphs were collected together for the second DIMACS implementation challenge "NP Hard Problems: Maximum Clique, Graph Coloring, and Satisfiability", see [4].
For the test we considered the most difficult case of perfect balance and choose a partition into 16 sets.
The number of ants ranged from 3 to 9 depending on the order of the graph. The probabilities pm and
pc were 0.9 and 0.85, respectively. We repeated the algorithm 20 times
for each graph (80 times for small graphs) and recorded the best solutions.
Each algorithm run takes around one minute, for a C program (400 lines)
compiled on a PC Pentium IV 2.8 GHz under Windows XP using Dev-C++.
Most of the improvements were on results obtained previously with
CHACO (Ch2.0), a multilevel Kernighan-Lin (recursive bisection [7] and
iterated JOSTLE (iJ), an iterated multilevel Kernighan-Lin (k-way)[12].
In three cases we improved on results obtained with JOSTLE Evolutionary (JE), a combined evolutionary/multilevel scheme [10], and
in six more cases we matched results obtained with JOSTLE (J2.2), a multilevel
Kernighan-Lin (k-way)[14].
In our experiments, the algorithm ants obtains better solutions
for the colouring test suite (16 subdomains, perfect balance)
of graphs considered in [12] in 27 cases and an equivalent solution in 7 cases (out of the 89 graph instances).
5 Conclusion
The results show that our implementation of the multiagent algorithm ants for the graph partitioning problem provides, for the balanced case, a new method which matches and in some cases outperforms the best known methods.
Given the simplicity of the algorithm and its performance in the difficult case of
balanced sets, it is a promising method for graph partioning in the non-balanced cases.
Note also that adapting the algorithm for graphs with weighted vertices and edges would be
straighforward.
| Graph | vertices | edges | domain size | cut size [13] | new cut size | algorithm |
| C2000.5 | 2000 | 999836 | 125 | 923294 | 922706 | Ch2.0 |
| C4000.5 | 4000 | 4000268 | 250 | 3709887 | 3708532 | Ch2.0 |
| DSJC125.1 | 125 | 736 | 8 | 524 | 522 | iJ |
| DSJC1000.1 | 1000 | 40629 | 63 | 43078 | 43001 | Ch2.0 |
| DSJC1000.5 | 1000 | 249826 | 63 | 229362 | 228850 | Ch2.0 |
| jean | 80 | 254 | 5 | 161 | 161 | Ch2.0 |
| flat1000_50_0 | 1000 | 245000 | 63 | 224403 | 224378 | Ch2.0 |
| flat1000_60_0 | 1000 | 245830 | 63 | 225546 | 225183 | Ch2.0 |
| flat1000_76_0 | 1000 | 246708 | 63 | 226371 | 225962 | Ch2.0 |
| le450_5a | 450 | 5714 | 29 | 4063 | 4030 | JE |
| le450_5b | 450 | 5734 | 29 | 4065 | 4055 | iJ |
| le450_5c | 450 | 9803 | 29 | 7667 | 7656 | iJ |
| le450_15a | 450 | 8168 | 29 | 5636 | 5619 | iJ |
| le450_15b | 450 | 8169 | 29 | 5675 | 5641 | iJ |
| le450_15c | 450 | 16680 | 29 | 13512 | 13509 | iJ |
| le450_15d | 450 | 16750 | 29 | 13556 | 13550 | iJ |
| le450_25a | 450 | 8260 | 29 | 5325 | 5302 | J2.2 |
| le450_25b | 450 | 8263 | 29 | 5041 | 5037 | JE |
| le450_25c | 450 | 13343 | 29 | 13457 | 13456 | iJ |
| le450_25d | 450 | 17425 | 29 | 13584 | 13539 | iJ |
| miles500 | 128 | 1170 | 8 | 771 | 770 | JE |
| miles750 | 128 | 2113 | 8 | 1676 | 1673 | iJ |
| miles1000 | 128 | 3216 | 8 | 2770 | 2768 | iJ |
| miles1500 | 128 | 5198 | 8 | 4750 | 4750 | J2.2 |
| mulsol.i.1 | 197 | 3925 | 13 | 3275 | 3270 | Ch2.0 |
| mulsol.i.5 | 185 | 3973 | 12 | 3371 | 3368 | Ch2.0 |
| myciel4 | 23 | 71 | 2 | 64 | 64 | J2.2 |
| myciel5 | 47 | 236 | 3 | 205 | 205 | J2.2 |
| myciel7 | 191 | 2360 | 12 | 1921 | 1920 | iJ |
| queen5_5 | 25 | 160 | 2 | 151 | 151 | J2.2 |
| queen8_8 | 64 | 728 | 4 | 632 | 632 | Ch2.0 |
| queen8_12 | 96 | 1368 | 6 | 1128 | 1128 | Ch2.0 |
| queen12_12 | 144 | 2596 | 9 | 2040 | 2020 | iJ |
| queen16_16 | 256 | 6320 | 16 | 4400 | 4400 | J2.2 |
|
Table 1:
Best partitions found with ants corresponding to perfect balance for 16 subdomains using benchmark graphs[13]. We provide for the graphs of reference the total of vertices and edges, optimal subdomain size, cut size, new cut size and the algorithm used to find the old cut size. Boldface denotes those values for which the ants algorithm has outperformed the known result. Algorithms:
Ch2.0, CHACO, multilevel Kernighan-Lin (recursive bisection), version 2.0 (October 1995) [7]. J2.2, JOSTLE, multilevel Kernighan-Lin (k-way), version 2.2 (March 2000) [14]. iJ, iterated JOSTLE, iterated multilevel Kernighan-Lin (k-way) [12]. JE, JOSTLE Evolutionary, combined evolutionary/multilevel scheme [10].
References
- [1]
-
R. Baños, C. Gil, J. Ortega, and F. G. Montoya.
Multilevel heuristic algorithm for graph partitioning.
In 3rd European Workshop on Evolutionary Computation in Combinatorial Optimization.
Lecture Notes in Comput. Sci. 2611 pp. 143-153 (2003).
- [2]
-
J. Abril, F. Comellas, A. Cortés, J. Ozón, M. Vaquer.
A multi-agent system for frequency assignment in cellular radio networks.
IEEE Trans. Vehic. Tech. 49(5) pp. 1558-1565 (2000).
- [3]
-
F. Comellas and J. Ozón,.
Graph coloring algorithms for assignment problems in radio networks.
Proc. Applications of Neural Networks to Telecommunications 2, pp. 49-56.
J. Alspector, R. Goodman and T.X. Brown (Eds.), Lawrence Erlbaum Ass. Inc. Publis., Hillsdale, NJ (1995)
- [4]
-
The Second DIMACS Implementation Challenge: 1992-1993: NP Hard Problems: Maximum Clique, Graph Coloring, and Satisfiability. Organized by M. Trick (accessed January 8, 2006).
http://dimacs.rutgers.edu/Challenges/index.html
- [5]
-
M.R. Garey and D.S. Johnson.
Computers and Intractability: A Guide to the Theory of NP-Completeness,
New York: W.H. Freeman, 1979, ISBN 0-7167-1044-7.
- [6]
-
O. Goldschmidt and D.S. Hochbaum.
Polynomial algorithm for the k-cut problem.
Proc. 29th Ann. IEEE Symp. on Foundations of Comput. Sci., IEEE Computer Society, 444-451.
(1988).
- [7]
-
B. Hendrickson and R. Leland.
A multilevel algorithm for partitioning graphs.
In S. Karin, editor, Proc. Supercomputing '95, San Diego. ACM Press, New York, 1995.
- [8]
-
P. Korosec, J. Silc, B. Robic.
Solving the mesh-partitioning problem with an ant-colony algorithm.
Parallel Computing 30(5-6) pp. 785-801 (2004).
- [9]
-
H. Saran and V. Vazirani.
Finding k-cuts within twice the optimal.
Proc. 32nd Ann. IEEE Symp. on Foundations of Comput. Sci., IEEE Computer Society, 743-751 (1991)
- [10]
-
A. J. Soper, C. Walshaw, and M. Cross.
A combined evolutionary search and multilevel optimisation approach to graph partitioning.
J. Global Optimization 29(2) pp. 225-241 (2004).
- [11]
-
M. Trick. Graph coloring instances (web page), accessed January 8, 2006.
http://mat.gsia.cmu.edu/COLOR/instances.html
- [12]
-
C. Walshaw.
Multilevel refinement for combinatorial optimisation problems.
Annals Oper. Res. 131 pp. 325-372 (2004).
- [13]
-
C. Walshaw. The graph partioning archive (web page), accessed January 8, 2006.
http://staffweb.cms.gre.ac.uk/~c.walshaw/partition/
- [14]
-
C. Walshaw and M. Cross.
Mesh Partitioning: a Multilevel Balancing and Refinement Algorithm.
SIAM J. Sci. Comput. 22(1) pp. 63-80 (2000).
Footnotes:
1Research supported by the Ministerio de Educación y Ciencia, Spain, and the European Regional Development Fund under project TIC2002-00155.
File translated from
TEX
by
TTH,
version 3.64.
On 12 Feb 2006, 11:50.