K Erciyes - Guide to Graph Algorithms Sequential, Parallel and Distributed
Here you can read online K Erciyes - Guide to Graph Algorithms Sequential, Parallel and Distributed full text of the book (entire story) in english for free. Download pdf and epub, get meaning, cover and reviews about this ebook. year: 2018, publisher: Springer, genre: Home and family. Description of the work, (preface) as well as reviews are available. Best literature library LitArk.com created for fans of good reading and offers a wide selection of genres:
Choose a favorite category and find really read worthwhile books. Enjoy immersion in the world of imagination, feel the emotions of the characters or learn something new for yourself, make an fascinating discovery.
Book:
Guide to Graph Algorithms Sequential, Parallel and Distributed
Guide to Graph Algorithms Sequential, Parallel and Distributed: summary, description and annotation
We offer to read an annotation, description, summary or preface (depends on what the author of the book "Guide to Graph Algorithms Sequential, Parallel and Distributed" wrote himself). If you haven't found the necessary information about the book — write in the comments, we will try to find it.
This clearly structured textbook/reference presents a detailed and comprehensive review of the fundamental principles of sequential graph algorithms, approaches for NP-hard graph problems, and approximation algorithms and heuristics for such problems. The work also provides a comparative analysis of sequential, parallel and distributed graph algorithms including algorithms for big data and an investigation into the conversion principles between the three algorithmic methods.Topics and features:Presents a comprehensive analysis of sequential graph algorithmsOffers a unifying view by examining the same graph problem from each of the three paradigms of sequential, parallel and distributed algorithmsDescribes methods for the conversion between sequential, parallel and distributed graph algorithmsSurveys methods for the analysis of large graphs and complex network applicationsIncludes full implementation details for the problems presented throughout the textProvides additional supporting material at an accompanying websiteThis practical guide to the design and analysis of graph algorithms is ideal for advanced and graduate students of computer science, electrical and electronic engineering, and bioinformatics. The material covered will also be of value to any researcher familiar with the basics of discrete mathematics, graph theory and algorithms.Dr. K. Erciyes is an emeritus professor of computer engineering at Ege University, Turkey. His other publications include the Springer titles Distributed Graph Algorithms for Computer Networks and Distributed and Sequential Algorithms for Bioinformatics.
K Erciyes: author's other books
Who wrote Guide to Graph Algorithms Sequential, Parallel and Distributed? Find out the surname, the name of the author of the book and a list of all author's works by series.
Guide to Graph Algorithms Sequential, Parallel and Distributed — read online for free the complete book (whole text) full work
Below is the text of the book, divided by pages. System saving the place of the last page read, allows you to conveniently read the book "Guide to Graph Algorithms Sequential, Parallel and Distributed" online for free, without having to search again every time where you left off. Put a bookmark, and you can go to the page where you finished reading at any time.
Springer International Publishing AG, part of Springer Nature 2018
K Erciyes Guide to Graph Algorithms Texts in Computer Science
1. Introduction
K. Erciyes 1
(1)
International Computer Institute, Ege University, Izmir, Turkey
K. Erciyes
Email:
Abstract
Graphs are discrete structures that are frequently used to model many real-world problems such as communication networks, social networks, and biological networks. We present sequential, parallel, and distributed graph algorithm concepts, challenges in graph algorithms, and the outline of the book in this chapter.
1.1 Graphs
Graphs are discrete structures that are frequently used to model many real-world problems such as communication networks, social networks, and biological networks. A graph consists of vertices and edges connecting these vertices. A graph is shown as where V is the set of vertices and E is the set of edges it has. Figure shows an example graph with vertices and edges between them with and , ( a , b ) denoting the edge between vertices a and b for example.
Graphs have numerous applications including computer science, scientific computing, chemistry, and sociology since they are simple yet effective to model real-life phenomenon. A vertex of a graph represents some entity such as a person in a social network or a protein in a biological network. An edge in such a network corresponds to a social interaction such as friendship in a social network or a biochemical interaction between two proteins in the cell.
Study of graphs has both theoretical and practical implications. In this chapter, we describe the main goal of the book which is to provide a unified view of graph algorithms in terms of sequential, parallel, and distributed graph algorithms with emphasis on sequential graph algorithms. We describe a simple graph problem from these three views and then review challenges in graph algorithms by finally outlining the contents of the book.
Fig. 1.1
An example graph consisting of vertices
1.2 Graph Algorithms
An algorithm consists of a sequence of instructions processed by a computer to solve a problem. A graph algorithm works on graphs to find a solution to a problem represented by the graphs. We can classify the graph problems as sequential, parallel, and distributed, based on the mode of running these algorithms on the computing environment.
1.2.1 Sequential Graph Algorithms
A sequential algorithm has a single flow of control and is executed sequentially. It accepts an input, works on the input, and provides an output. For example, reading two integers, adding them and printing the sum is a sequential algorithm that consists of three steps.
Fig. 1.2
An example graph
Let us assume the graph of Fig. represents a small network with vertices labeled and having integers 1,..., 13 associated with each edge. The integer value for each edge may denote the cost of sending a message over that edge. Commonly, the edge values are called the weights of edges. Let us assume our aim is to design a sequential algorithm to find the edge with the maximum value. This may have some practical usage, as we may need to find the highest cost edge in the network to avoid that link while some communication or transportation is done.
Let us form a distance matrix D for this graph, which has entries d ( i , j ) showing the weights of edges between vertices and as below: If two vertices and are not connected, we insert a zero for that entry in D . We can have a simple sequential algorithm that finds the largest value in each row of this matrix first and then the maximum value of all these largest values in the second step as shown in Algorithm 1.1.
This algorithm requires 8 comparisons for each row for a total of 64 comparisons. It needs comparisons in general for a graph with n vertices.
1.2.2 Parallel Graph Algorithms
Parallel graph algorithms aim for performance as all parallel algorithms. This way of speeding up programs is needed especially for very large graphs representing complex networks such as biological or social networks which consist of huge number of nodes and edges. We have a number of processors working in parallel on the same problem and the results are commonly gathered at a single processor for output. Parallel algorithms may synchronize and communicate through shared memory or they run as distributed memory algorithms communicating by the transfer of messages only. The latter mode of communication is a more common practice in parallel computing due to its versatility to realize in general network architectures.
We can attempt to parallelize an existing sequential algorithm or design a new parallel algorithm from scratch. A common approach in parallel computing is the partitioning of data to a number of processors so that each computing element works on a particular partition. Another fundamental approach is the partitioning of computation across the processors as we will investigate in Chap.. We will see some graph problems are difficult to partition into data or computation.
Let us reconsider the sequential algorithm in the previous section and attempt to parallelize it using data partitioning. Since graph data is represented by the distance matrix, the first thing to consider would be the partitioning of this matrix. Indeed, row-wise or column-wise partitioning of a matrix representing a graph is commonly used in parallel graph algorithms. Let us have a controlling processor we will call the supervisor or the root and two worker processors to do the actual work. This mode of operation, sometimes called supervisor/worker model , is also a common practice in the design of parallel algorithms. Processors are commonly called processes to mean the actual processor may also be doing some other work. We now have three processes
Similar books «Guide to Graph Algorithms Sequential, Parallel and Distributed»
Look at similar books to Guide to Graph Algorithms Sequential, Parallel and Distributed. We have selected literature similar in name and meaning in the hope of providing readers with more options to find new, interesting, not yet read works.
Reviews about «Guide to Graph Algorithms Sequential, Parallel and Distributed»
Discussion, reviews of the book Guide to Graph Algorithms Sequential, Parallel and Distributed and just readers' own opinions. Leave your comments, write what you think about the work, its meaning or the main characters. Specify what exactly you liked and what you didn't like, and why you think so.