Algebraic Graph Algorithms A Practical Guide Using Python Undergraduate Topics in Computer Science K. Erciyes instant download
Algebraic Graph Algorithms A Practical Guide Using Python Undergraduate Topics in Computer Science K. Erciyes instant download
https://ebookmeta.com/product/algebraic-graph-algorithms-a-
practical-guide-using-python-undergraduate-topics-in-computer-
science-k-erciyes/
https://ebookmeta.com/product/discrete-mathematics-and-graph-
theory-a-concise-study-companion-and-guide-undergraduate-topics-
in-computer-science-k-erciyes/
https://ebookmeta.com/product/data-structures-and-algorithms-
with-python-with-an-introduction-to-multiprocessing-
undergraduate-topics-in-computer-science-lee/
https://ebookmeta.com/product/concise-guide-to-object-oriented-
programming-an-accessible-approach-using-java-undergraduate-
topics-in-computer-science-1st-edition-kingsley-sage/
https://ebookmeta.com/product/closing-the-vocabulary-gap-1st-
edition-alex-quigley-2/
Benjamin Franklin in Scotland and Ireland 1759 and 1771
J. Bennett Nolan
https://ebookmeta.com/product/benjamin-franklin-in-scotland-and-
ireland-1759-and-1771-j-bennett-nolan/
https://ebookmeta.com/product/dungeon-cleaners-inc-1st-edition-j-
r-saileri-2/
https://ebookmeta.com/product/quantum-computing-from-alice-to-
bob-1st-edition-alice-flarend/
https://ebookmeta.com/product/bank-robbery-the-way-we-create-
money-and-how-it-damages-the-world-1st-edition-ivo-mosley/
https://ebookmeta.com/product/moon-phoenix-scottsdale-sedona-
best-hikes-local-spots-and-weekend-getaways-4th-edition-lilia-
menconi/
Undergraduate Topics in Computer
Science
Series Editor
Ian Mackie
University of Sussex, Brighton, UK
Advisory Editors
Samson Abramsky
Department of Computer Science, University of Oxford, Oxford, UK
Chris Hankin
Department of Computing, Imperial College London, London, UK
Mike Hinchey
Lero – The Irish Software Research Centre, University of Limerick,
Limerick, Ireland
Dexter C. Kozen
Department of Computer Science, Cornell University, Ithaca, NY, USA
Andrew Pitts
Department of Computer Science and Technology, University of
Cambridge, Cambridge, UK
Steven S. Skiena
Department of Computer Science, Stony Brook University, Stony Brook,
NY, USA
Iain Stewart
Department of Computer Science, Durham University, Durham, UK
The publisher, the authors and the editors are safe to assume that the
advice and information in this book are believed to be true and accurate
at the date of publication. Neither the publisher nor the authors or the
editors give a warranty, expressed or implied, with respect to the
material contained herein or for any errors or omissions that may have
been made. The publisher remains neutral with regard to jurisdictional
claims in published maps and institutional affiliations.
This Springer imprint is published by the registered company Springer
Nature Switzerland AG
The registered company address is: Gewerbestrasse 11, 6330 Cham,
Switzerland
To my parents for taking so much effort to raise a large family
Preface
Graphs are discrete structures that find many applications such as
modeling computer networks, social networks and biological networks.
Graph theory is centered around studying graphs and there has been an
unprecedented growth in this branch of mathematics over the last few
decades, mainly due to the realization of numerous applications of
graphs in real-life.
This book is about the design and analysis of algebraic algorithms to
solve graph problems. The algebraic way of analyzing graph problems
can be viewed from the angles of group theory and linear algebra. We
will mostly use linear algebraic methods which commonly make use of
matrices associated with graphs in search of suitable graph algorithms.
There are few benefits to be gained by this approach; first of all, many
results from matrix algebra theory become readily available, for matrix
analysis of graphs. Secondly, various matrix algorithms such as matrix
multiplication are readily available, enabling easiness in coding.
Moreover, methods for parallel matrix computations are well known
and various libraries for this purpose are available which provides a
convenient way for parallelizing the algorithms.
The algebraic nature of graphs is a vast theoretical topic with many
new and frequent results. For this reason, the level of exposure
required careful consideration while forming the detailed topics of the
book. At one end; we have rich, resourceful and sometimes quite
complicated matrix algebra theory that can be used in the analysis of
graphs which does not always result in practical graph algorithms; and
at the other extreme, one can frequently devise an algebraic version of
a classical graph algorithm by using the matrices that represent graphs.
We tried to stay somewhere in between by reviewing main algebraic
results that are useful in designing practical graph algorithms and on
the other hand, mostly using graph matrices to solve graph problems.
The extent of exposure to parallel processing was another decision and
after briefly reviewing the basic theory on parallel processing, we
provide practical hints for parallel processing associated with algebraic
algorithms where possible. Matrix multiplication is at the core of
majority of algebraic graph algorithms and any such algorithm may be
parallelized conveniently, at least partly, using parallel matrix
multiplication methods we describe. Thus, obtaining parallel version of
the algorithms reviewed becomes a trivial task in most cases. In
summary, the focus of the book is on practical algebraic graph
algorithms using results from matrix algebra rather than algebraic
study of graphs.
The intended audience for this book is the senior/graduate students
of computer science, electrical and electronic engineering,
bioinformatics, and any researcher or a person with background in
discrete mathematics, basic graph theory and algorithms. There is a
Web page for the book to keep errata Python code and other material
at: http://ube.ege.edu.tr/~erciyes/AGA/erciyes/AGA/.
Python Implementation