0% found this document useful (0 votes)
460 views17 pages

Graph Theory and Application - Fournier

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
460 views17 pages

Graph Theory and Application - Fournier

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 17

Graph Theory and Applications

Graph Theory
and Applications
with Exercises and Problems

Jean-Claude Fournier
First published in France in 2006 by Hermes Science/Lavoisier entitled Théorie des graphes et
applications, avec exercices et problèmes © LAVOISIER, 2006
First published in Great Britain and the United States in 2009 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, as
permitted 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 the CLA.
Enquiries concerning reproduction outside these terms should be sent to the publishers at the
undermentioned address:

ISTE Ltd John Wiley & Sons, Inc.


27-37 St George’s Road 111 River Street
London SW19 4EU Hoboken, NJ 07030
UK USA

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

© ISTE Ltd, 2009

The rights of Jean-Claude Fournier to be identified as the author of this work have been asserted by him
in accordance with the Copyright, Designs and Patents Act 1988.

Library of Congress Cataloging-in-Publication Data

Fournier, Jean-Claude.
[Théorie des graphes et applications, avec exercices et problèmes. English]
Graph theory and applications with exercises and problems / Jean-Claude Fournier.
p. cm.
Includes bibliographical references and index.
ISBN 978-1-84821-070-7
1. Graph theory. 2. Graph theory--Problems, exercises, etc. I. Title.
QA166.F68513 2009
511'.5--dc22
2008043204

British Library Cataloguing-in-Publication Data


A CIP record for this book is available from the British Library
ISBN: 978-1-84821-070-7

Printed and bound in Great Britain by CPI Antony Rowe, Chippenham and Eastbourne.
To Hugo, Eliott, Mathieu,
Elise, Aurélie, Antonin, Ethan
and those to come . . .
Table of Contents

Introduction 17

Chapter 1. Basic Concepts 21


1.1 The origin of the graph concept . . . . . . . . . . . . . . . . . 21
1.2 Definition of graphs . . . . . . . . . . . . . . . . . . . . . . . 24
1.2.1 Notation . . . . . . . . . . . . . . . . . . . . . . . . . . 24
1.2.2 Representation . . . . . . . . . . . . . . . . . . . . . . 25
1.2.3 Terminology . . . . . . . . . . . . . . . . . . . . . . . 25
1.2.4 Isomorphism and unlabeled graphs . . . . . . . . . . . 26
1.2.5 Planar graphs . . . . . . . . . . . . . . . . . . . . . . . 27
1.2.6 Complete graphs . . . . . . . . . . . . . . . . . . . . . 28
1.3 Subgraphs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
1.3.1 Customary notation . . . . . . . . . . . . . . . . . . . 29
1.4 Paths and cycles . . . . . . . . . . . . . . . . . . . . . . . . . 29
1.4.1 Paths . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
1.4.2 Cycles . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
1.4.3 Paths and cycles as graphs . . . . . . . . . . . . . . . 33
1.5 Degrees . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
1.5.1 Regular graphs . . . . . . . . . . . . . . . . . . . . . . 34
1.6 Connectedness . . . . . . . . . . . . . . . . . . . . . . . . . . 35

7
8 Graph Theory and Applications

1.7 Bipartite graphs . . . . . . . . . . . . . . . . . . . . . . . . . 36


1.7.1 Characterization . . . . . . . . . . . . . . . . . . . . . 37
1.8 Algorithmic aspects . . . . . . . . . . . . . . . . . . . . . . . 37
1.8.1 Representations of graphs inside a machine . . . . . . 38
1.8.2 Weighted graphs . . . . . . . . . . . . . . . . . . . . . 41
1.9 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

Chapter 2. Trees 45
2.1 Definitions and properties . . . . . . . . . . . . . . . . . . . . 45
2.1.1 First properties of trees . . . . . . . . . . . . . . . . . 46
2.1.2 Forests . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
2.1.3 Bridges . . . . . . . . . . . . . . . . . . . . . . . . . . 47
2.1.4 Tree characterizations . . . . . . . . . . . . . . . . . . 48
2.2 Spanning trees . . . . . . . . . . . . . . . . . . . . . . . . . . 49
2.2.1 An interesting illustration of trees . . . . . . . . . . . 52
2.2.2 Spanning trees in a weighted graph . . . . . . . . . . . 53
2.3 Application: minimum spanning tree problem . . . . . . . . . 54
2.3.1 The problem . . . . . . . . . . . . . . . . . . . . . . . 54
2.3.2 Kruskal’s algorithm . . . . . . . . . . . . . . . . . . . 55
2.3.3 Justification . . . . . . . . . . . . . . . . . . . . . . . . 57
2.3.4 Implementation . . . . . . . . . . . . . . . . . . . . . . 58
2.3.5 Complexity . . . . . . . . . . . . . . . . . . . . . . . . 59
2.4 Connectivity . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
2.4.1 Block decomposition . . . . . . . . . . . . . . . . . . . 60
2.4.2 k-connectivity . . . . . . . . . . . . . . . . . . . . . . . 61
2.4.3 k-connected graphs . . . . . . . . . . . . . . . . . . . . 62
2.4.4 Menger’s theorem . . . . . . . . . . . . . . . . . . . . 63
2.4.5 Edge connectivity . . . . . . . . . . . . . . . . . . . . 63
Table of Contents 9

2.4.6 k-edge-connected graphs . . . . . . . . . . . . . . . . . 64


2.4.7 Application to networks . . . . . . . . . . . . . . . . . 65
2.4.8 Hypercube . . . . . . . . . . . . . . . . . . . . . . . . 65
2.5 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

Chapter 3. Colorings 71
3.1 Coloring problems . . . . . . . . . . . . . . . . . . . . . . . . 71
3.2 Edge coloring . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
3.2.1 Basic results . . . . . . . . . . . . . . . . . . . . . . . 72
3.3 Algorithmic aspects . . . . . . . . . . . . . . . . . . . . . . . 73
3.4 The timetabling problem . . . . . . . . . . . . . . . . . . . . . 75
3.4.1 Room constraints . . . . . . . . . . . . . . . . . . . . . 76
3.4.2 An example . . . . . . . . . . . . . . . . . . . . . . . . 78
3.4.3 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . 81
3.5 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81

Chapter 4. Directed Graphs 83


4.1 Definitions and basic concepts . . . . . . . . . . . . . . . . . . 83
4.1.1 Notation . . . . . . . . . . . . . . . . . . . . . . . . . . 83
4.1.2 Terminology . . . . . . . . . . . . . . . . . . . . . . . 83
4.1.3 Representation . . . . . . . . . . . . . . . . . . . . . . 84
4.1.4 Underlying graph . . . . . . . . . . . . . . . . . . . . . 85
4.1.5 “Directed” concepts . . . . . . . . . . . . . . . . . . . 85
4.1.6 Indegrees and outdegrees . . . . . . . . . . . . . . . . 86
4.1.7 Strongly connected components . . . . . . . . . . . . . 87
4.1.8 Representations of digraphs inside a machine . . . . . 88
4.2 Acyclic digraphs . . . . . . . . . . . . . . . . . . . . . . . . . 90
4.2.1 Acyclic numbering . . . . . . . . . . . . . . . . . . . . 90
10 Graph Theory and Applications

4.2.2 Characterization . . . . . . . . . . . . . . . . . . . . . 91
4.2.3 Practical aspects . . . . . . . . . . . . . . . . . . . . . 92
4.3 Arborescences . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
4.3.1 Drawings . . . . . . . . . . . . . . . . . . . . . . . . . 92
4.3.2 Terminology . . . . . . . . . . . . . . . . . . . . . . . 93
4.3.3 Characterization of arborescences . . . . . . . . . . . . 94
4.3.4 Subarborescences . . . . . . . . . . . . . . . . . . . . . 95
4.3.5 Ordered arborescences . . . . . . . . . . . . . . . . . . 95
4.3.6 Directed forests . . . . . . . . . . . . . . . . . . . . . . 95
4.4 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95

Chapter 5. Search Algorithms 97


5.1 Depth-first search of an arborescence . . . . . . . . . . . . . . 97
5.1.1 Iterative form . . . . . . . . . . . . . . . . . . . . . . . 98
5.1.2 Visits to the vertices . . . . . . . . . . . . . . . . . . . 100
5.1.3 Justification . . . . . . . . . . . . . . . . . . . . . . . . 102
5.1.4 Complexity . . . . . . . . . . . . . . . . . . . . . . . . 102
5.2 Optimization of a sequence of decisions . . . . . . . . . . . . 103
5.2.1 The eight queens problem . . . . . . . . . . . . . . . . 103
5.2.2 Application to game theory: finding a winning strategy 105
5.2.3 Associated arborescence . . . . . . . . . . . . . . . . . 105
5.2.4 Example . . . . . . . . . . . . . . . . . . . . . . . . . . 106
5.2.5 The minimax algorithm . . . . . . . . . . . . . . . . . 106
5.2.6 Implementation . . . . . . . . . . . . . . . . . . . . . . 107
5.2.7 In concrete terms . . . . . . . . . . . . . . . . . . . . . 108
5.2.8 Pruning . . . . . . . . . . . . . . . . . . . . . . . . . . 108
5.3 Depth-first search of a digraph . . . . . . . . . . . . . . . . . 109
5.3.1 Comments . . . . . . . . . . . . . . . . . . . . . . . . . 110
Table of Contents 11

5.3.2 Justification . . . . . . . . . . . . . . . . . . . . . . . . 112


5.3.3 Complexity . . . . . . . . . . . . . . . . . . . . . . . . 113
5.3.4 Extended depth-first search . . . . . . . . . . . . . . . 113
5.3.5 Justification . . . . . . . . . . . . . . . . . . . . . . . . 114
5.3.6 Complexity . . . . . . . . . . . . . . . . . . . . . . . . 115
5.3.7 Application to acyclic numbering . . . . . . . . . . . . 115
5.3.8 Acyclic numbering algorithms . . . . . . . . . . . . . . 116
5.3.9 Practical implementation . . . . . . . . . . . . . . . . 117
5.4 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117

Chapter 6. Optimal Paths 119


6.1 Distances and shortest paths problems . . . . . . . . . . . . . 119
6.1.1 A few definitions . . . . . . . . . . . . . . . . . . . . . 119
6.1.2 Types of problems . . . . . . . . . . . . . . . . . . . . 120
6.2 Case of non-weighted digraphs: breadth-first search . . . . . . 120
6.2.1 Application to calculation of distances . . . . . . . . . 122
6.2.2 Justification and complexity . . . . . . . . . . . . . . . 123
6.2.3 Determining the shortest paths . . . . . . . . . . . . . 124
6.3 Digraphs without circuits . . . . . . . . . . . . . . . . . . . . 125
6.3.1 Shortest paths . . . . . . . . . . . . . . . . . . . . . . 127
6.3.2 Longest paths . . . . . . . . . . . . . . . . . . . . . . . 127
6.3.3 Formulas . . . . . . . . . . . . . . . . . . . . . . . . . 127
6.4 Application to scheduling . . . . . . . . . . . . . . . . . . . . 128
6.4.1 Potential task graph . . . . . . . . . . . . . . . . . . . 128
6.4.2 Earliest starting times . . . . . . . . . . . . . . . . . . 129
6.4.3 Latest starting times . . . . . . . . . . . . . . . . . . . 130
6.4.4 Total slacks and critical tasks . . . . . . . . . . . . . . 131
6.4.5 Free slacks . . . . . . . . . . . . . . . . . . . . . . . . 131
12 Graph Theory and Applications

6.4.6 More general constraints . . . . . . . . . . . . . . . . . 133


6.4.7 Practical implementation . . . . . . . . . . . . . . . . 133
6.5 Positive lengths . . . . . . . . . . . . . . . . . . . . . . . . . . 134
6.5.1 Justification . . . . . . . . . . . . . . . . . . . . . . . . 135
6.5.2 Associated shortest paths . . . . . . . . . . . . . . . . 138
6.5.3 Implementation and complexity . . . . . . . . . . . . . 140
6.5.4 Undirected graphs . . . . . . . . . . . . . . . . . . . . 140
6.6 Other cases . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
6.6.1 Floyd’s algorithm . . . . . . . . . . . . . . . . . . . . . 142
6.7 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143

Chapter 7. Matchings 149


7.1 Matchings and alternating paths . . . . . . . . . . . . . . . . 149
7.1.1 A few definitions . . . . . . . . . . . . . . . . . . . . . 149
7.1.2 Concept of alternating paths and Berge’s theorem . . 151
7.2 Matchings in bipartite graphs . . . . . . . . . . . . . . . . . . 152
7.2.1 Matchings and transversals . . . . . . . . . . . . . . . 154
7.3 Assignment problem . . . . . . . . . . . . . . . . . . . . . . . 156
7.3.1 The Hungarian method . . . . . . . . . . . . . . . . . 156
7.3.2 Justification . . . . . . . . . . . . . . . . . . . . . . . . 158
7.3.3 Concept of alternating trees . . . . . . . . . . . . . . . 159
7.3.4 Complexity . . . . . . . . . . . . . . . . . . . . . . . . 159
7.3.5 Maximum matching algorithm . . . . . . . . . . . . . 160
7.3.6 Justification . . . . . . . . . . . . . . . . . . . . . . . . 161
7.3.7 Complexity . . . . . . . . . . . . . . . . . . . . . . . . 161
7.4 Optimal assignment problem . . . . . . . . . . . . . . . . . . 164
7.4.1 Kuhn-Munkres algorithm . . . . . . . . . . . . . . . . 165
7.4.2 Justification . . . . . . . . . . . . . . . . . . . . . . . . 168
Table of Contents 13

7.4.3 Complexity . . . . . . . . . . . . . . . . . . . . . . . . 169


7.5 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171

Chapter 8. Flows 173


8.1 Flows in transportation networks . . . . . . . . . . . . . . . . 173
8.1.1 Interpretation . . . . . . . . . . . . . . . . . . . . . . . 175
8.1.2 Single-source single-sink networks . . . . . . . . . . . . 176
8.2 The max-flow min-cut theorem . . . . . . . . . . . . . . . . . 177
8.2.1 Concept of unsaturated paths . . . . . . . . . . . . . . 178
8.3 Maximum flow algorithm . . . . . . . . . . . . . . . . . . . . 180
8.3.1 Justification . . . . . . . . . . . . . . . . . . . . . . . . 182
8.3.2 Complexity . . . . . . . . . . . . . . . . . . . . . . . . 187
8.4 Flow with stocks and demands . . . . . . . . . . . . . . . . . 188
8.5 Revisiting theorems . . . . . . . . . . . . . . . . . . . . . . . 191
8.5.1 Menger’s theorem . . . . . . . . . . . . . . . . . . . . 191
8.5.2 Hall’s theorem . . . . . . . . . . . . . . . . . . . . . . 193
8.5.3 König’s theorem . . . . . . . . . . . . . . . . . . . . . 193
8.6 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194

Chapter 9. Euler Tours 197


9.1 Euler trails and tours . . . . . . . . . . . . . . . . . . . . . . 197
9.1.1 Principal result . . . . . . . . . . . . . . . . . . . . . . 199
9.2 Algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201
9.2.1 Example . . . . . . . . . . . . . . . . . . . . . . . . . . 202
9.2.2 Complexity . . . . . . . . . . . . . . . . . . . . . . . . 204
9.2.3 Elimination of recursion . . . . . . . . . . . . . . . . . 204
9.2.4 The Rosenstiehl algorithm . . . . . . . . . . . . . . . . 204
9.3 The Chinese postman problem . . . . . . . . . . . . . . . . . 207
14 Graph Theory and Applications

9.3.1 The Edmonds-Johnson algorithm . . . . . . . . . . . . 209


9.3.2 Complexity . . . . . . . . . . . . . . . . . . . . . . . . 210
9.3.3 Example . . . . . . . . . . . . . . . . . . . . . . . . . . 210
9.4 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212

Chapter 10. Hamilton Cycles 215


10.1 Hamilton cycles . . . . . . . . . . . . . . . . . . . . . . . . . . 215
10.1.1 A few simple properties . . . . . . . . . . . . . . . . . 216
10.2 The traveling salesman problem . . . . . . . . . . . . . . . . . 218
10.2.1 Complexity of the problem . . . . . . . . . . . . . . . 219
10.2.2 Applications . . . . . . . . . . . . . . . . . . . . . . . 219
10.3 Approximation of a difficult problem . . . . . . . . . . . . . . 220
10.3.1 Concept of approximate algorithms . . . . . . . . . . . 221
10.4 Approximation of the metric TSP . . . . . . . . . . . . . . . . 223
10.4.1 An approximate algorithm . . . . . . . . . . . . . . . . 223
10.4.2 Justification and evaluation . . . . . . . . . . . . . . . 224
10.4.3 Amelioration . . . . . . . . . . . . . . . . . . . . . . . 226
10.4.4 Christofides’ algorithm . . . . . . . . . . . . . . . . . . 227
10.4.5 Justification and evaluation . . . . . . . . . . . . . . . 227
10.4.6 Another approach . . . . . . . . . . . . . . . . . . . . 230
10.4.7 Upper and lower bounds for the optimal value . . . . 231
10.5 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234

Chapter 11. Planar Representations 237


11.1 Planar graphs . . . . . . . . . . . . . . . . . . . . . . . . . . . 237
11.1.1 Euler’s relation . . . . . . . . . . . . . . . . . . . . . . 238
11.1.2 Characterization of planar graphs . . . . . . . . . . . . 240
11.1.3 Algorithmic aspect . . . . . . . . . . . . . . . . . . . . 242
Table of Contents 15

11.1.4 Other properties of planar graphs . . . . . . . . . . . . 242


11.2 Other graph representations . . . . . . . . . . . . . . . . . . . 242
11.2.1 Minimum crossing number . . . . . . . . . . . . . . . . 243
11.2.2 Thickness . . . . . . . . . . . . . . . . . . . . . . . . . 243
11.3 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244

Chapter 12. Problems with Comments 247


12.1 Problem 1: A proof of k-connectivity . . . . . . . . . . . . . . 247
12.1.1 Problem . . . . . . . . . . . . . . . . . . . . . . . . . . 247
12.1.2 Comments . . . . . . . . . . . . . . . . . . . . . . . . . 248
12.2 Problem 2: An application to compiler theory . . . . . . . . . 249
12.2.1 Problem . . . . . . . . . . . . . . . . . . . . . . . . . . 249
12.2.2 Comments . . . . . . . . . . . . . . . . . . . . . . . . . 249
12.3 Problem 3: Kernel of a digraph . . . . . . . . . . . . . . . . . 251
12.3.1 Problem . . . . . . . . . . . . . . . . . . . . . . . . . . 251
12.3.2 Comments . . . . . . . . . . . . . . . . . . . . . . . . . 253
12.4 Problem 4: Perfect matching in a regular bipartite graph . . . 253
12.4.1 Problem . . . . . . . . . . . . . . . . . . . . . . . . . . 253
12.4.2 Comments . . . . . . . . . . . . . . . . . . . . . . . . . 254
12.5 Problem 5: Birkhoff-Von Neumann’s theorem . . . . . . . . . 254
12.5.1 Problem . . . . . . . . . . . . . . . . . . . . . . . . . . 254
12.5.2 Comments . . . . . . . . . . . . . . . . . . . . . . . . . 255
12.6 Problem 6: Matchings and tilings . . . . . . . . . . . . . . . . 256
12.6.1 Problem . . . . . . . . . . . . . . . . . . . . . . . . . . 256
12.6.2 Comments . . . . . . . . . . . . . . . . . . . . . . . . . 257
12.7 Problem 7: Strip mining . . . . . . . . . . . . . . . . . . . . . 258
12.7.1 Problem . . . . . . . . . . . . . . . . . . . . . . . . . . 258
12.7.2 Comments . . . . . . . . . . . . . . . . . . . . . . . . . 259
16 Graph Theory and Applications

Appendix A. Expression of Algorithms 261


A.1 Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262
A.2 Explanations and commentaries . . . . . . . . . . . . . . . . . 262
A.3 Other algorithms . . . . . . . . . . . . . . . . . . . . . . . . . 265
A.4 Comments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265

Appendix B. Bases of Complexity Theory 267


B.1 The concept of complexity . . . . . . . . . . . . . . . . . . . . 267
B.2 Class P . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269
B.3 Class NP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272
B.4 NP-complete problems . . . . . . . . . . . . . . . . . . . . . . 273
B.5 Classification of problems . . . . . . . . . . . . . . . . . . . . 274
B.6 Other approaches to difficult problems . . . . . . . . . . . . . 276

Bibliography 277

Index 279
Introduction

The concept of a graph is relatively recent since it only formally


appeared during the 20th century. Today it has become essential in many
fields, in particular in applied and fundamental computer science, in
optimization, and in algorithmic complexity. The study of graphs and their
applications therefore provides an opportunity to deal with very diverse
questions with numerous applications. It can be used, for example, to
develop task scheduling methods from optimal paths in graphs, or properties
of communication networks in relation to the connectedness of graphs.
Historically, graphs were considered long before the theory was developed,
with famous problems such as the Königsberg bridge problem (presented in
Chapter 9).
This work studies the principal aspects of graph theory with special
emphasis on major applications. Its content is aimed at advanced
undergraduate and students beginning post-graduate studies in mathematics
and computer science. It calls for very few pre-requisites, essentially a
familiarity with basic vocabulary and mathematical reasoning. In return,
the study of this new subject will be a great opportunity for students to
test and improve their personal logic. Graph theory is indeed a new subject,
which is very different from the traditional mathematics taught, but which
requires the same intellectual rigor. The great novelty of this subject may
throw even the best students in mathematics, which shows how beneficial
studying this subject can be!
This book, conceived as a textbook, is the result of long experience
teaching bachelor and masters level students (notably as part of the French
master in applied information technology: “MIAGE”). It also contains many
exercises and problems classified in five levels of increasing difficulty:
18 Graph Theory and Applications

1. Certain points and quite easy proofs are left to the reader’s initiative.
They are indicated in the margin by a †.

2. Among the exercises given at the end of each chapter, some are marked
with a +, indicating a useful complement to the chapter, which may
also be used elsewhere in the text.

3. The exercises which are not marked are of normal difficulty. They are
standard exercises, among which you will find the most classic in the
field.

4. The exercises marked with a * are more difficult. They go into a subject
in more depth than the chapter does.

5. A last level with a few problems is given at the end, with commentaries
and sometimes hints for their resolution (Chapter 12).

Here is some information on how this book is organized. Except for the
two chapters on definitions and basic concepts, which are Chapter 1 for
undirected graphs and Chapter 4 for directed graphs, each chapter presents
a specific subject with a major application, and is therefore relatively
independent from the other chapters. It is therefore possible to make choices
when organizing a course. Statements are presented according to their role
and their importance in the theory, using the classic terminology: theorems,
propositions, corollaries and lemmas. This terminology can be defined as
follows: a theorem is an important result which is significant for the theory,
a proposition is less prominent, a corollary is a result which can be deduced
directly from a major result, a lemma is a result with a certain technical
nature, which usually is used to prove another result. The end of the proof
of a statement is marked by the symbol 2.
Graphs, as already mentioned, are used a lot in applications. Many
problems are thereby solved in a constructive manner, which leads to writing
algorithms, which may then be written in an appropriate programming
language. Some of these algorithms are not simple, so it is important to
express them in the best structured way possible, which will make the
process of writing them in a program easier. In this work we wanted not
to neglect, and even to make explicit, this algorithmic aspect, and that
is why we cover in detail in Appendix A the method used to express
algorithms. Similarly, in Appendix B, we give the bases of what it has become
essential to know today for any scientific development, that is the theory of
algorithmic complexity. It is impossible to discuss an algorithm without
Introduction 19

discussing its complexity! However, this assumes at least a good knowledge


of the basic classes of the theory of complexity, which are therefore presented
in Appendix B. Experience shows that it is still difficult to count on what
should normally have been learned elsewhere.
There is today an important body of literature on graphs and their
applications. We give only some bibliographic references here, and the
reader will find more complete bibliographies within the works cited in the
references. Some are relatively old references but they are works that are
still interesting today and which have fed our own thoughts in their time
and to which we are indebted. We want to recommend in particular Berge
[2], a work which, with some others by the same author, is still today a
principal reference in graph theory. Some more specific references are also
given in the course of the text.
We wish to thank Nicolas Thiant for his very useful contribution to
the ultimate verification of the French manuscript. Thanks also to Anne
Picard-Pieter and Amit Pieter for undertaking the difficult and delicate
task of translating the original French version. In addition, we thank Rebecca
Edge for meticulously performing the final proofreading. Finally, we are very
grateful to Guillaume and Julie Fournier who have so kindly contributed to
finalizing the French and English manuscripts.

Jean-Claude Fournier

You might also like