9.chapter 2
9.chapter 2
LITERATURE REVIEW
computation and so on. For instance, the link structure of a website can be represented
by a directed graph, in which the vertices represent web pages and directed edges
represent links from one page to another. A similar approach can be taken to problems
in social media, travel, biology, computer chip design, mapping the progression of
neuro-degenerative diseases, and many other fields. The development of algorithms to
handle graphs is therefore of major interest in computer science. The transformation
of graphs is often formalized and represented by graph rewrite systems.
Complementary to graph transformation systems focusing on rule-based in-memory
manipulation of graphs are graph databases geared towards transaction-safe, persistent
storing and querying of graph-structured data.
Martin G. [5] defined that graph theory is also used to study molecules in
chemistry and physics. In condensed matter physics, the three-dimensional structure
of complicated simulated atomic structures can be studied quantitatively by gathering
statistics on graph-theoretic properties related to the topology of the atoms. Also, the
Feynman graphs and rules of calculation summarize quantum field theory in a form in
close contact with the experimental numbers one wants to understand.
Frank H. [6] also explained like Martin that graph theory is also used to study
molecules in chemistry and physics. In chemistry a graph makes a natural model for a
molecule, where vertices represent atoms and edges bonds. This approach is
especially used in computer processing of molecular structures, ranging from
chemical editors to database searching. In statistical physics, graphs can represent
local connections between interacting parts of a system, as well as the dynamics of a
physical process on such systems. Similarly, in computational neuroscience graphs
can be used to represent functional connections between brain areas that interact to
give rise to various cognitive processes, where the vertices represent different areas of
the brain and the edges represent the connections between those areas. Graph theory
plays an important role in electrical modeling of electrical networks, here, weights are
associated with resistance of the wire segments to obtain electrical properties of
network structures. Graphs are also used to represent the micro-scale channels of
porous media, in which the vertices represent the pores and the edges represent the
smaller channels connecting the pores.
Shirinivas et. al [7] presented the importance of graph theoretical ideas in
various areas of computer applications like shortest path algorithm in a network,
finding a minimum spanning tree, finding graph planarity, algorithms to find
7
Ani H. [10] defined that there are various search methods. These methods can
use to solve path-finding problem. Path-finding problem needs to search a path or
away from the start point to the goal point through some constraint may exist. This
problem has a wide application in the real life, such as routing, shortest path, game
and so on. Each method has a different approach to solve the problem. Then, it
divides the methods into two kinds. There are Blind Search (Basic Search) and
Heuristically Informed Methods. Blind search is done when there is no information
about a preferred search path. Heuristically Informed search have some information to
help search paths, usually a rule of thumb is used to reduce the search area. It can find
solutions more efficiently than a blind search.
Vaidehi J. [11] stated that the shortest path system is the problem of finding a
path between two vertices (or nodes) in a graph such that the sum of the weights of its
constituent edges is minimized. The shortest path system can be defined for graphs
whether undirected, directed, or mixed. It is defined here for undirected graphs
vertices of nodes are connected together where all edges are bidirectional; for directed
graphs the definition of path requires that consecutive vertices be connected by an
appropriate directed graph.
The shortest path problem is also sometimes called the single-pair shortest
path problem, to distinguish it from the following variations:
The single-source shortest path problem, in which have to find shortest
paths from a source vertex v to all other vertices in the graph.
The single-destination shortest path problem, in which have to find
shortest paths from all vertices in the directed graph to a single destination
vertex v. This can be reduced to the single-source shortest path problem by
reversing the arcs in the directed graph.
The all-pairs shortest path problem, in which shortest paths between every
pair of vertices v, v' have to be found in the graph.
These generalizations have significantly more efficient algorithms than the
simplistic approach of running a single-pair shortest path algorithm on all relevant
pairs of vertices.
A. H. Eneh and U. C. Arinze [12] stated that the Shortest Path System (SPS) is
compounded by the slow and inaccurate results of current commercial solutions and
the expansion of existing road networks, covering hundreds of thousands and millions
9
of road junctions. Using simple approaches yields very slow query times, which can
either be inconvenient for the end-users or expensive for the route service provider.
Using advanced heuristic techniques yields inaccurate results. For the client, this can
mean waste of time and money and for the service provider; the application
development process becomes a difficult balancing act between speed and sub-
optimality of the computed routes, hence the considerable interest in the development
of more efficient and accurate route planning techniques leveraging robust mapping
applications like Google maps, MapQuest and Microsoft Bings respectively.
the problem with different parameters. The following list contains the essential
algorithms solving the shortest path problem, which lay the foundation in graph
theory science: Dijkstra’s algorithm, Bellman-Ford algorithm, Floyd-Warshall
algorithm, Johnson’s algorithm. The Dijkstra’s algorithm and the Bellman-Ford
algorithm solve the Single Source Shortest Path (SSSP) problem. SSSP problem can
be defined as: Find the cost of the least cost path from v to ∀w ∈ V, given a directed
graph G = (V, E) with non-negative costs on each edge and a selected source node v ∈
V. The cost of a path is simply the sum of the costs on the edges traversed by the path.
Dijkstra’s algorithm is a greedy algorithm working with the graphs that were negative
edges are not allowed. The Bellman-Ford algorithm is a non-greedy version of the
Dijkstra’s algorithm which allows work with graphs having negative edges. The
Floyd-Warshall algorithm and Johnson’s algorithm solve the All Pair Shortest Path
(APSP) problem. The Floyd-Warshall algorithm iterates all vertices v, in order to find
a better path for every pair going through v in time O (N3). Johnson’s algorithm, first,
converts all the negative edges into positive ones and then, applies Dijsktra’s
algorithm on every node within the graph. For sparse graphs, Johnson’s algorithm
provides faster computation time than Floyd-Warshall algorithm.
Boris V. C. et al [15] defined that the most important algorithms for solving
the shortest path. Dijkstra's algorithm solves the single-source shortest path problem
with non-negative edge weight. Bellman–Ford algorithm solves the single-source
problem if edge weights may be negative. A* search algorithm solves for single pair
shortest path using heuristics to try to speed up the search. Floyd–Warshall
algorithm solves all pairs of shortest paths. Johnson's algorithm solves all pairs of
shortest paths, and may be faster than Floyd–Warshall on sparse graphs.Viterbi
algorithm solves the shortest stochastic path problem with an additional probabilistic
weight on each node. Additional algorithms and associated evaluations may be found
in that paper.
Andrew V. G. studied Point-to-Point (P2P) Shortest Path Algorithms. In
recent times, good development has taken place on the Point-to-Point shortest path
algorithms with pre-processing. The algorithms proved to be efficient in practice on
road networks and some other kinds of graphs. There are some questions, particularly
theoretical, that remain open. Therefore, justification for these algorithms is
necessary. Two possible directions are proving good worst-case bounds for the
algorithms on special graph types or proving average-case bounds on graph
11
distributions. For the latter, random grids are interesting candidates. Computing
reaches is another set of open question. One can modify a standard all-pairs shortest
path algorithm to compute reaches in the same time bound, which is O*(n2) for sparse
graphs. Since the size of the output for the all-pairs problem is (n2), there is limited
room for improvement. As reaches need only one value per vertex, this argument does
not apply to the problem of computing reaches. An interesting open question is the
existence of an algorithm that computes reaches.
2.3.4. A* Algorithm
In computer science, A* (pronounced as "A star") [20] is a computer
algorithm that is widely used in path finding and graph traversal, which is the process
of finding a path between multiple points, called "nodes". It enjoys widespread use
due to its performance and accuracy. However, in practical travel-routing systems, it
is generally outperformed by algorithms which can pre-process the graph to attain
better performance, although other work has found A* to be superior to other
approaches. Typical implementations of A* use a priority queue to perform the
repeated selection of minimum (estimated) cost nodes to expand. This priority queue
is known as the open set or fringe.
Atlas, a novel approach to scalable approximate shortest paths between graph nodes
using a collection of spanning trees. Spanning trees are easy to generate, compact
relative to original graphs, and can be distributed across machines to parallelize
queries. The author demonstrated its scalability and effectiveness using 6 large social
graphs from Facebook, Orkut, and Renren, the largest of which includes 43 million
nodes and 1 billion edges. The author described techniques to incrementally update
Atlas as social graphs change over time. The author captured graph dynamics using
35 daily snapshots of a Facebook network and show that Atlas can amortize the cost
of tree updates over time. Finally, The author applied Atlas to several graph
applications and show that the author produced results that closely approximate ideal
results.
Wadhwa [26] stated that researchers have targeted a Network Design Problem
(Cable and Trench Problem), which involves a trade-off between utilization costs and
capital costs for network construction. A larger network, (the shortest path tree) may
cost more to build but may reduce utilization costs by including more attractive
origin-destination paths. Conversely, a smaller network, (minimum spanning tree)
may increase the utilization costs. A heuristic has been provided which gives us
optimal or near optimal solutions. This heuristic is an adaptation of the Savings
algorithm given by Clarke and Wright in 1964, for solving a vehicle routing problem.
The heuristic provides good solutions which can be used as upper bounds for branch
and bound methods, giving the optimal solutions in lesser times than that given by
branch and bound without the upper bounds.
Pallottino and Scutella [27] reported on Shortest Path Algorithms in
Transportation models: classical and innovative aspects. The author reviewed the
shortest path algorithms in transportations in two parts. The first part includes
classical primal and dual algorithms which are the most interesting in transportation,
either as a result of theoretical considerations or as a result of their efficiencies, and in
view of their practical use in transportation models. The author discussed the
Promising re-optimization approaches involved. The second part includes dynamic
shortest path problems that arise frequently in the transportation field. The author
analyzed the main features of the problems present under suitable conditions on travel
time and cost functions, a general “chronological” algorithmic paradigm, called
Chrono-SPT.
Kevin M. C. [28] reported that the network is a compelling research paradigm
because its form can intuitively represent complex systems. The ability to
15
algorithm is formed from the ideas of the queue and relaxation; the vertices may be
queued several times, and furthermore, only the source vertex and relaxed vertices are
being queued. This particular problem determines the route of minimum weight that
connects two vertices namely a source and a destination in a weighted graph.
2.5. Summary
In this chapter, related works on graph theory are introduced and related works
on shortest path system have been discussed. In addition, related works on shortest
path algorithms are presented. Hopefully this chapter has given some sense for the
wide variety of graph theory topics as well as why these studies are interesting. There
are many more interesting areas to consider and the list is increasing all the time;
graph theory is an active area of mathematical research. One reason graph theory is
such a rich area of study is that it deals with such a fundamental concept: any pair of
objects can either be related or not related. What the objects are and what “related”
means varies on context, and this leads to many applications of graph theory to
science and other areas of math. The objects can be countries, and two countries can
be related if a border is shared. The objects could be land masses which are related if
there is a bridge. The objects could be websites which are related if there is a link
from one to the other. Finally, the applications for shortest path system have been
described.