graph partitioning (bichot/graph partitioning) || frontmatter

13
Graph Partitioning

Upload: patrick

Post on 10-Feb-2017

221 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Graph Partitioning (Bichot/Graph Partitioning) || Frontmatter

Graph Partitioning

Page 2: Graph Partitioning (Bichot/Graph Partitioning) || Frontmatter

GraphPartitioning

Edited byCharles-Edmond Bichot

Patrick Siarry

Page 3: Graph Partitioning (Bichot/Graph Partitioning) || Frontmatter

First published 2011 in Great Britain and the United States by ISTE Ltd and John Wiley & Sons, Inc.

Apart from any fair dealing for the purposes of research or private study, or criticism or review, aspermitted under the Copyright, Designs and Patents Act 1988, this publication may only be reproduced,stored or transmitted, in any form or by any means, with the prior permission in writing of the publishers,or in the case of reprographic reproduction in accordance with the terms and licenses issued by theCLA. Enquiries concerning reproduction outside these terms should be sent to the publishers at theundermentioned address:

ISTE Ltd John Wiley & Sons, Inc.27-37 St George’s Road 111 River StreetLondon SW19 4EU Hoboken, NJ 07030UK USA

www.iste.co.uk www.wiley.com

© ISTE Ltd 2011

The rights of Charles-Edmond Bichot and Patrick Siarry to be identified as the authors of this work havebeen asserted by them in accordance with the Copyright, Designs and Patents Act 1988.____________________________________________________________________________________

Library of Congress Cataloging-in-Publication Data

Graph partitioning / edited by Charles-Edmond Bichot, Patrick Siarry.p. cm.

Includes bibliographical references and index.ISBN 978-1-84821-233-61. Partitions (Mathematics) 2. Graph theory. I. Bichot, Charles-Edmond. II. Siarry, Patrick.QA76.165.G73 2011512.7'3--dc23

2011028388

British Library Cataloguing-in-Publication DataA CIP record for this book is available from the British LibraryISBN 978-1-84821-233-6

Printed and bound in Great Britain by CPI Group (UK) Ltd., Croydon, Surrey CR0 4YY

Page 4: Graph Partitioning (Bichot/Graph Partitioning) || Frontmatter

Table of Contents

Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiiiCharles-Edmond Bichot, Patrick Siarry

Chapter 1. General Introduction to Graph Partitioning . . . . . . . . . . . 1Charles-Edmond Bichot

1.1. Partitioning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.2. Mathematical notions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.3. Graphs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41.4. Formal description of the graph partitioning problem . . . . . . . . . . . 81.5. Objective functions for graph partitioning . . . . . . . . . . . . . . . . . 111.6. Constrained graph partitioning . . . . . . . . . . . . . . . . . . . . . . . 131.7. Unconstrained graph partitioning . . . . . . . . . . . . . . . . . . . . . . 141.8. Differences between constrained and unconstrained partitioning . . . . 161.9. From bisection to k-partitioning: the recursive bisection method . . . . 17

1.9.1. Creating a partition with a number of parts a power of 2, from agraph bisection algorithm . . . . . . . . . . . . . . . . . . . . . . . 17

1.9.2. Creating a k-partition from a graph bisection algorithm using thepartitioning balance . . . . . . . . . . . . . . . . . . . . . . . . . . 17

1.10. NP-hardness of graph partitioning optimization problems . . . . . . . 191.10.1. The case of constrained graph partitioning . . . . . . . . . . . . . 191.10.2. The case of unconstrained graph partitioning . . . . . . . . . . . 20

1.11. Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221.12. Bibliography . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

Part 1: Graph Partitioning for Numerical Analysis . . . . . . . . . 27

Chapter 2. APartitioning Requiring Rapidity and Quality: The MultilevelMethod and Partitions Refinement Algorithms . . . . . . . . . . . . . . . . . 29Charles-Edmond Bichot

2.1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292.2. Principles of the multilevel method . . . . . . . . . . . . . . . . . . . . . 30

Page 5: Graph Partitioning (Bichot/Graph Partitioning) || Frontmatter

vi Graph Partitioning

2.3. Graph coarsening . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332.3.1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332.3.2. Graph matching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342.3.3. Hendrickson-Leland coarsening algorithm . . . . . . . . . . . . . . 342.3.4. The Heavy Edge Matching (HEM) algorithm . . . . . . . . . . . . 35

2.4. Partitioning of the coarsened graph . . . . . . . . . . . . . . . . . . . . . 372.4.1. State-of-the-art partitioning methods . . . . . . . . . . . . . . . . . 372.4.2. Region growing methods . . . . . . . . . . . . . . . . . . . . . . . 38

2.5. Uncoarsening and partitions refinement . . . . . . . . . . . . . . . . . . 402.5.1. Presentation of the uncoarsening and refinement

phase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 402.5.2. The Kernighan-Lin algorithm . . . . . . . . . . . . . . . . . . . . . 412.5.3. Fiduccia-Mattheyses implementation . . . . . . . . . . . . . . . . . 462.5.4.Adaptation to direct k-partitioning . . . . . . . . . . . . . . . . . . 472.5.5. Global Kernighan-Lin Refinement . . . . . . . . . . . . . . . . . . 482.5.6. The Walshaw-Cross refinement algorithm . . . . . . . . . . . . . . 50

2.6. The spectral method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 522.6.1. Presentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 522.6.2. Some results of numerical system . . . . . . . . . . . . . . . . . . 522.6.3. Finding the eigenvalues of the Laplacian matrix of a

graph . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 552.6.4. Lower bound for constrained graph partitioning . . . . . . . . . . 562.6.5. Spectral methods for contrained partitioning . . . . . . . . . . . . 562.6.6. Spectral methods for unconstrained graph partitioning . . . . . . . 572.6.7. Problems and improvements . . . . . . . . . . . . . . . . . . . . . 58

2.7. Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 592.8. Bibliography . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

Chapter 3. Hypergraph Partitioning . . . . . . . . . . . . . . . . . . . . . . . 65Cédric Chevalier

3.1. Definitions and metrics . . . . . . . . . . . . . . . . . . . . . . . . . . . . 653.1.1. Hypergraph and partitioning . . . . . . . . . . . . . . . . . . . . . . 653.1.2. Metrics for hypergraph partitioning . . . . . . . . . . . . . . . . . . 67

3.2. Connections between graphs, hypergraphs, and matrices . . . . . . . . . 673.3. Algorithms for hypergraph partitioning . . . . . . . . . . . . . . . . . . 68

3.3.1. Coarsening . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 693.3.2. Initial partitioning and uncoarsening and refinement . . . . . . . . 713.3.3. Uncoarsening and refinement . . . . . . . . . . . . . . . . . . . . . 71

3.4. Purpose . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 723.4.1. Hypergraph partitioning benefits . . . . . . . . . . . . . . . . . . . 723.4.2. Matrix partitioning . . . . . . . . . . . . . . . . . . . . . . . . . . . 733.4.3. Practical results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

Page 6: Graph Partitioning (Bichot/Graph Partitioning) || Frontmatter

Table of Contents vii

3.4.4. Repartitioning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 763.4.5. Use of hypergraphs within a mesh partitioning

context . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 763.4.6. Other applications . . . . . . . . . . . . . . . . . . . . . . . . . . . 76

3.5. Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 773.6. Software references . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 783.7. Bibliography . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78

Chapter 4. Parallelization of Graph Partitioning . . . . . . . . . . . . . . . 81François Pellegrini

4.1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 814.1.1. Need for parallelism . . . . . . . . . . . . . . . . . . . . . . . . . . 814.1.2. Multilevel framework . . . . . . . . . . . . . . . . . . . . . . . . . 82

4.2. Distributed data structures . . . . . . . . . . . . . . . . . . . . . . . . . . 844.3. Parallelization of the coarsening phase . . . . . . . . . . . . . . . . . . . 87

4.3.1. Construction of the coarse graph . . . . . . . . . . . . . . . . . . . 874.3.2. Parallel matching algorithms . . . . . . . . . . . . . . . . . . . . . 874.3.3. Collision reduction at process level . . . . . . . . . . . . . . . . . . 884.3.4. Collision reduction at vertex level . . . . . . . . . . . . . . . . . . 89

4.4. Folding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 934.5. Centralization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 954.6. Parallelization of the refinement phase . . . . . . . . . . . . . . . . . . . 96

4.6.1. Parallelization of the local refinement methods . . . . . . . . . . . 964.6.2. Band graphs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 994.6.3. Multi-centralization . . . . . . . . . . . . . . . . . . . . . . . . . . 1014.6.4. Parallelization of the global refinement methods . . . . . . . . . . 102

4.7. Experimental results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1074.8. Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1114.9. Bibliography . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111

Chapter 5. Static Mapping of Process Graphs . . . . . . . . . . . . . . . . . 115François Pellegrini

5.1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1155.2. Static mapping models . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116

5.2.1. Cost functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1165.2.2. Heterogeneity of target architectures . . . . . . . . . . . . . . . . . 119

5.3. Exact algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1215.4. Approximation algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . 123

5.4.1. Global methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1235.4.2. Recursive methods . . . . . . . . . . . . . . . . . . . . . . . . . . . 126

5.5. Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1335.6. Bibliography . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134

Page 7: Graph Partitioning (Bichot/Graph Partitioning) || Frontmatter

viii Graph Partitioning

Part 2: Optimization Methods for Graph Partitioning . . . . . . . . 137

Chapter 6. Local Metaheuristics and Graph Partitioning . . . . . . . . . . 139Charles-Edmond Bichot

6.1. General introduction to metaheuristics . . . . . . . . . . . . . . . . . . . 1406.2. Simulated annealing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141

6.2.1. Description of the simulated annealing algorithm . . . . . . . . . . 1426.2.2.Adaptation of simulated annealing to the graph

bisection problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1446.2.3. Generalizing this adaptation to k-partitioning . . . . . . . . . . . . 1476.2.4.Assessment of simulated annealing adaptation

to graph partitioning . . . . . . . . . . . . . . . . . . . . . . . . . . 1486.3. Iterated local search . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149

6.3.1. Presentation of iterated local search . . . . . . . . . . . . . . . . . 1496.3.2. Simple adaptation of iterated local search

to graph partitioning . . . . . . . . . . . . . . . . . . . . . . . . . . 1526.3.3. Iterated local search and multilevel method . . . . . . . . . . . . . 156

6.4. Other local search metaheuristics . . . . . . . . . . . . . . . . . . . . . . 1586.4.1. Greedy algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . 1586.4.2. Tabu search . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159

6.5. Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1596.6. Bibliography . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159

Chapter 7. Population-based Metaheuristics, Fusion-Fissionand Graph Partitioning Optimization . . . . . . . . . . . . . . . . . . . . . . 163Charles-Edmond Bichot

7.1. Ant colony algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1637.2. Evolutionary algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . 165

7.2.1. Genetic algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . 1657.2.2. Standard process of genetic algorithm adaptation

to graph partitioning . . . . . . . . . . . . . . . . . . . . . . . . . . 1697.2.3. The GA’s adaptation to graph bisection optimization

of Bui and Moon . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1727.2.4. Multilevel evolutionary algorithm of Soper-Walshaw-Cross . . . . 1777.2.5. Other adaptations of evolutionary algorithms to graph

partitioning optimization . . . . . . . . . . . . . . . . . . . . . . . . 1807.3. The fusion-fission method . . . . . . . . . . . . . . . . . . . . . . . . . . 182

7.3.1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1827.3.2. Fusion-fission method principles . . . . . . . . . . . . . . . . . . . 1847.3.3.Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1857.3.4. Selection of the multilevel algorithm . . . . . . . . . . . . . . . . . 1877.3.5. Creation of the sequence of number of parts . . . . . . . . . . . . . 1887.3.6. Selection of the refinement algorithm . . . . . . . . . . . . . . . . 189

Page 8: Graph Partitioning (Bichot/Graph Partitioning) || Frontmatter

Table of Contents ix

7.3.7. Evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1917.4. Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1957.5. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1967.6. Bibliography . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196

Chapter 8. Partitioning Mobile Networks into Tariff Zones . . . . . . . . . 201Mustapha Oughdi, Sid Lamrous, Alexandre Caminada

8.1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2018.1.1. Scheduled rating model . . . . . . . . . . . . . . . . . . . . . . . . 2018.1.2. Rating model for a network . . . . . . . . . . . . . . . . . . . . . . 204

8.2. Spatial division of the network . . . . . . . . . . . . . . . . . . . . . . . 2088.2.1. Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2088.2.2. Formalization of the space division problem . . . . . . . . . . . . 2128.2.3. Resolution of space division by a genetic algorithm . . . . . . . . 216

8.3. Experimental results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2208.4. Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2228.5. Bibliography . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223

Chapter 9. Air Traffic Control Graph Partitioning Application . . . . . . . 225Charles-Edmond Bichot, Nicolas Durand

9.1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2259.2. The problem of dividing up the airspace . . . . . . . . . . . . . . . . . . 227

9.2.1. Creation of functional airspace blocks in Europe . . . . . . . . . . 2289.2.2. Creation of a functional block in central Europe . . . . . . . . . . 230

9.3. Modeling the problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2319.3.1. Control workload in a sector . . . . . . . . . . . . . . . . . . . . . 2319.3.2. Objective: minimizing the coordination workload . . . . . . . . . 2329.3.3. Two constraints, the size of the qualification areas

and size control centers . . . . . . . . . . . . . . . . . . . . . . . . 2329.3.4.Analysis and processing of European air traffic data . . . . . . . . 2339.3.5. Graph of European air traffic and adaptation to partitioning . . . . 234

9.4. Airspace partitioning: towards a new optimization metaheuristic . . . . 2379.5. Division of the central European airspace . . . . . . . . . . . . . . . . . 2409.6. Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2469.7. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2479.8. Bibliography . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247

Part 3: Other Approaches to Graph Partitioning . . . . . . . . . . . 249

Chapter 10. Application of Graph Partitioningto Image Segmentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251Amir Nakib, Laurent Najman, Hugues Talbot, Patrick Siarry

10.1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25110.2. The image viewed in graph form . . . . . . . . . . . . . . . . . . . . . 251

Page 9: Graph Partitioning (Bichot/Graph Partitioning) || Frontmatter

x Graph Partitioning

10.3. Principle of image segmentation using graphs . . . . . . . . . . . . . . 25410.3.1. Choice of arc weights for segmentation . . . . . . . . . . . . . . . 255

10.4. Image segmentation via maximum flows . . . . . . . . . . . . . . . . . 25710.4.1. Maximum flows for energy minimization . . . . . . . . . . . . . 25710.4.2. Minimal geodesics and surfaces . . . . . . . . . . . . . . . . . . . 25910.4.3. Minimum geodesics and surfaces via maximum flows . . . . . . 26310.4.4. Continuous maximum flows . . . . . . . . . . . . . . . . . . . . . 265

10.5. Unification of segmentation methods via graph theory . . . . . . . . . 26510.6. Conclusions and perspectives . . . . . . . . . . . . . . . . . . . . . . . 26910.7. Bibliography . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271

Chapter 11. Distances in Graph Partitioning . . . . . . . . . . . . . . . . . . 275Alain Guénoche

11.1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27511.2. The Dice distance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276

11.2.1. Two extensions to weighted graphs . . . . . . . . . . . . . . . . . 27811.3. Pons-Latapy distance . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28111.4. A partitioning method for distance arrays . . . . . . . . . . . . . . . . . 28311.5. A simulation protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286

11.5.1. A random graph generator . . . . . . . . . . . . . . . . . . . . . . 28611.5.2. Quality of the computed partition . . . . . . . . . . . . . . . . . . 28611.5.3. Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290

11.6. Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29211.7. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29311.8. Bibliography . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293

Chapter 12. Detection of Disjoint or OverlappingCommunities in Networks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297Jean-Baptiste Angelelli, Alain Guénoche, Laurence Reboul

12.1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29712.2. Modularity of partitions and coverings . . . . . . . . . . . . . . . . . . 29912.3. Partitioning method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301

12.3.1. Fusion and/or fission of clusters . . . . . . . . . . . . . . . . . . . 30212.3.2. Algorithm complexity . . . . . . . . . . . . . . . . . . . . . . . . 30312.3.3. Simulations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303

12.4. Overlapping partitioning methods . . . . . . . . . . . . . . . . . . . . . 30712.4.1. Fusion of overlapping classes . . . . . . . . . . . . . . . . . . . . 30812.4.2. Simulations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309

12.5. Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31112.6. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31212.7. Bibliography . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312

Page 10: Graph Partitioning (Bichot/Graph Partitioning) || Frontmatter

Table of Contents xi

Chapter 13. Multilevel Local Optimization of Modularity . . . . . . . . . . 315Thomas Aynaud, Vincent D. Blondel, Jean-Loup Guillaumeand Renaud Lambiotte

13.1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31513.2. Basics of modularity . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31713.3. Modularity optimization . . . . . . . . . . . . . . . . . . . . . . . . . . 319

13.3.1. Existing methods . . . . . . . . . . . . . . . . . . . . . . . . . . . 31913.3.2. Known limitations . . . . . . . . . . . . . . . . . . . . . . . . . . 32013.3.3. Louvain method . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32113.3.4. Modularity increase . . . . . . . . . . . . . . . . . . . . . . . . . . 32413.3.5. Convergence of the algorithm . . . . . . . . . . . . . . . . . . . . 325

13.4. Validation on empirical and artificial graphs . . . . . . . . . . . . . . . 32713.4.1. Artificial graphs . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32813.4.2. Empirical graphs . . . . . . . . . . . . . . . . . . . . . . . . . . . 331

13.5. Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33313.5.1. Influence of the processing order of vertices . . . . . . . . . . . . 33313.5.2. Intermediate communities . . . . . . . . . . . . . . . . . . . . . . 33413.5.3. Possible improvements . . . . . . . . . . . . . . . . . . . . . . . . 33713.5.4. Known uses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340

13.6. Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34113.7. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34213.8. Bibliography . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342

Appendix. The Main Tools and Test Benches for Graph Partitioning . . . . 347Charles-Edmond Bichot

A.1. Tools for constrained graph partitioning optimization . . . . . . . . 348A.1.1. Chaco . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348A.1.2. Metis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349A.1.3. Scotch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349A.1.4. Jostle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 350A.1.5. Party . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 350

A.2. Tools for unconstrained graph partitioning optimization . . . . . . . 350A.2.1. Graclus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351

A.3. Graph partitioning test benches . . . . . . . . . . . . . . . . . . . . 351A.3.1. Graph partitioning archives of Walshaw . . . . . . . . . . . . 351A.3.2. Other test benches . . . . . . . . . . . . . . . . . . . . . . . . . 353

A.4. Bibliography . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354

Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 357

List of Authors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 361

Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365

Page 11: Graph Partitioning (Bichot/Graph Partitioning) || Frontmatter

Introduction

Since the early 1970s, graph partitioning has been a widely researched topic. After40 years of development, it is now time to evaluate the situation of the work done inthis area.

Graph partitioning is a problem transverse to several fields in engineering, as well asresearch. The diversity of backgrounds of people working on this subject may explainwhy no real international community exists, despite the fact that some workshops havebeen organized on this subject over different periods of time. However, the number ofpeople who work or have worked on this topic is quite significant, as shown by theabundant literature cited throughout the chapters of this book. Confronted with thisprofusion and diversity, it is interesting to gather the knowledge accumulated over somany years in order to synthesize it and draw the common theoretical fundamentals ofthis field.

This book intends to present to the neophyte reader, as well as the expertin applied mathematics or the computer science researcher, tools and methods tosolve graph partitioning optimization problems. For this purpose, we have collectedseveral methodological chapters detailing different graph partitioning optimizationapproaches such as the multilevel method, metaheuristics, partitioning parallelization,and hypergraph partitioning. In order to complete this theoretical part, several graphpartitioning applications have been described on subjects as diverse as mobile networks,image segmentation, air traffic control, social networks, etc.

Despite the large number of studies in the domain of graph partitioning, it is clearthat a lot of work remains to be done to solve this problem more efficiently. Recent yearshave seen the sizes of graphs to be partitioned soaring from a few thousand verticesto several million, or even billions of vertices. We hope that by reading this book thereader will feel inspired not only to take an interest in this problem, but also try to solveit more efficiently, both in terms of quality of partitions found and computation timerequired.

Page 12: Graph Partitioning (Bichot/Graph Partitioning) || Frontmatter

xiv Graph Partitioning

This book has three parts: Part 1 is dedicated to the most common applicationof graph partitioning, numerical analysis; Part 2 describes and implements severalcombinatorial optimization methods for graph partitioning; Part 3 presents other usesof graph partitioning.

Chapter 1 provides a general introduction to this book and is therefore independentof any part. It analyzes graph partitioning in order to identify the different problemsassociated with it.

A large number of studies on graph partitioning have been undertaken within thedomain of numerical analysis. Part 1 of this book is dedicated to their presentation. Thus,Chapter 2 describes the methods and algorithms commonly used in numerical analysisto solve graph partitioning problems: the multilevel method, refinement algorithmslike the Kernighan-Lin or Fiduccia-Mattheyses algorithms, and the spectral method.Chapter 3 introduces the particular case of hypergraph partitioning, which often occursin numerical analysis. Chapter 4 presents several parallel algorithms to partition a graph.Finally, Chapter 5 presents the problem of static mapping which occurs in parallelcomputing.

Graph partitioning is often studied through a combinatorial optimization point ofview. This is the theme of Part 2 of this book, which is dedicated to the study ofcombinatorial optimization methods, and more particularly metaheuristics, for graphpartitioning. This part consists of two theoretical chapters followed by two applicationchapters. Chapter 6 focuses on the use of several local metaheuristics, like simulatedannealing or iterated local search. Chapter 7 provides details on the use of population-based metaheuristics to optimize partitioning. This chapter explains the work doneon Ant Colony algorithms and describes several adaptations of Genetic Algorithms tograph partitioning. It also introduces a recent method for graph partitioning optimization,fusion-fission, which works as a meta-method that overlooks a multilevel algorithm.The last 2 chapters of this part provide application examples for this part. Chapter 8applies a GeneticAlgorithm to the problem of mobile network partitioning in tariff zones.Chapter 9 describes an Air Traffic Control problem and solves it using the fusion-fissionmethod.

Part 3 of this book develops other approaches of graph partitioning. In this part, wehave chosen to focus on graph partitioning optimization, and thus we limited the scopeof this part, even if many other works on graph partitioning could have been added, likeconstraint programming for graph partitioning or graph decomposition. Chapter 10outlines the image segmentation problem and offers several methods to solve thisproblem, based on graph partitioning. Chapter 11 compares several distances betweenvertices, in order to build communities, using classification methods. Chapter 12proposes to partition networks into unconnected or overlapping communities. Finally,Chapter 13 concludes by describing how to partition very large networks intocommunities.

Page 13: Graph Partitioning (Bichot/Graph Partitioning) || Frontmatter

Introduction xv

Further information that could not be included in this book is available at the book’sWeb address1. In particular, as this book is being printed in black and white, somefigures will have lost their clarity when compared to their original color version. This isespecially true for images in Chapters 9 and 10, respectively, about airspace partitioningand image segmentation. To overcome this problem, the original color versions of thefigures concerned are also available at the book’s Web address. You will also find at thisWeb address different graphs used in this book, as well as links to several softwares forgraph partitioning.

Charles-Edmond Bichot and Patrick SiarryAugust 2011

1 The book’s Website, “Graph partitioning: optimization and applications”, is available at:perso.ec-lyon.fr/charles-edmond.bichot/.