Algebraic Graph Algorithms: A Practical Guide Using Python

K. Erciyes

Language: English

Publisher: Springer

Published: Nov 17, 2021

Description:

This textbook discusses the design and implementation of basic algebraic graph algorithms, and algebraic graph algorithms for complex networks, employing matroids whenever possible. The text describes the design of a simple parallel matrix algorithm kernel that can be used for parallel processing of algebraic graph algorithms. Example code is presented in pseudocode, together with case studies in Python and MPI. The text assumes readers have a background in graph theory and/or graph algorithms.

Review

“The master’s course ‘Algorithms on graphs and networks’ has become almost mandatory at most universities in the computer science department. The refereed manual may be the basis of such a course, including both lectures and practical training.” (I. M. Erusalimskiy, zbMATH 1487.05001, 2022)

From the Back Cover

There has been unprecedented growth in the study of graphs, which are discrete structures that have many real-world applications. The design and analysis of algebraic algorithms to solve graph problems have many advantages, such as implementing results from matrix algebra and using the already available matrix code for sequential and parallel processing.

Providing Python programming language code for nearly all algorithms, this accessible textbook focuses on practical algebraic graph algorithms using results from matrix algebra rather than algebraic study of graphs. Given the vast theory behind the algebraic nature of graphs, the book strives for an accessible, middle-ground approach by reviewing main algebraic results that are useful in designing practical graph algorithms on the one hand, yet mostly using graph matrices to solve the graph problems. Python is selected for its simplicity, efficiency and rich library routines; and with the code herein, brevity is forsaken for clarity.

Topics and features:

  • Represents graphs by algebraic structures, enabling new, robust methods for algorithm analysis and design
  • Provides matroid-based solutions to some graph problems, including greedy algorithm problems
  • Offers Python code that can be tested and modified for various inputs
  • Supplies practical hints, where possible, for parallel processing associated with algebraic algorithms
  • Links to a web page with supportive materials

This clearly arranged textbook will be highly suitable for upper-level undergraduate students of computer science, electrical and electronic engineering, bioinformatics, and any researcher or person with background in discrete mathematics, basic graph theory and algorithms.

Dr. Kayhan Erciyes is a full Professor in the Department of Software Engineering at Maltepe University, Istanbul, Turkey. His other publications include the Springer titles Discrete Mathematics and Graph Theory , Distributed Real-Time Systems , Guide to Graph Algorithms , Distributed and Sequential Algorithms for Bioinformatics , and Distributed Graph Algorithms for Computer Networks.

About the Author

Dr. Kayhan Erciyes is a full Professor in the Department of Software Engineering at Maltepe University, Istanbul, Turkey. His other publications include the Springer titles Discrete Mathematics and Graph Theory , Distributed Real-Time Systems , Guide to Graph Algorithms , Distributed and Sequential Algorithms for Bioinformatics , and Distributed Graph Algorithms for Computer Networks.