0% found this document useful (0 votes)
74 views12 pages

9.chapter 2

Graph theory is the study of graphs, which are mathematical structures used to model pairwise relations between objects. A graph consists of vertices connected by edges. Graph theory is used in various fields like chemistry, physics, social networks, and computer science. The shortest path problem involves finding the path between two vertices that has the minimum total edge weight. There are different search methods to solve the shortest path problem, including blind search and heuristically informed methods. The shortest path system is important for applications like navigation and routing.

Uploaded by

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

9.chapter 2

Graph theory is the study of graphs, which are mathematical structures used to model pairwise relations between objects. A graph consists of vertices connected by edges. Graph theory is used in various fields like chemistry, physics, social networks, and computer science. The shortest path problem involves finding the path between two vertices that has the minimum total edge weight. There are different search methods to solve the shortest path problem, including blind search and heuristically informed methods. The shortest path system is important for applications like navigation and routing.

Uploaded by

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

CHAPTER 2

LITERATURE REVIEW

In mathematics, graph theory is the study of graphs, which are mathematical


structures used to model pairwise relations between objects. A graph in this context is
made up of vertices, nodes, or points which are connected by edges, arcs, or lines. A
graph may be undirected, meaning that there is no distinction between the two
vertices associated with each edge, or its edges may be directed from one vertex to
another; see Graph (discrete mathematics) for more detailed definitions and for other
variations in the types of graph that are commonly considered. Graphs are one of the
prime objects of study in discrete mathematics.

2.1. Related Works on Graph Theory


Max B. [1] defined that graph theory is one of those things in the computer
science field that has the stigma of being extremely hard and near impossible to
understand. In the computer science world, a graph is a data structure that represents a
connected plot of points.
Claude B. [2] stated that a graph is an ordered pair G = (V, E) comprising a set
V of vertices or nodes or points together with a set E of edges or arcs or lines, which
are 2-element subsets of V (i.e. an edge is associated with two vertices, and that
association takes the form of the unordered pair comprising those two vertices). To
avoid ambiguity, this type of graph may be described precisely as undirected and
simple.
Béla B. [3] introduced that Graphs can be used to model many types of
relations and processes in physical, biological, social and information systems. Many
practical problems can be represented by graphs. Emphasizing their application to
real-world systems, the term network is sometimes defined to mean a graph in which
attributes (e.g. names) are associated with the nodes and/or edges.
Gary C. [4] stated that graphs are used to represent networks of
communication, data organization, computational devices and the flow of
6

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

adjacency matrices, algorithms to find the connectedness, algorithms to find the


cycles in a graph and algorithms for searching an element in a data structure (DFS,
BFS).
Wai W. M. [8] stated that a graph is mathematical concept formally defined by
a set of vertices (or nodes) V and a set of edges E connecting these vertices. Edges are
called directed if for a pair of vertices, an edge can be used to travel from one node to
the other but not the other way around. Edges may also have a numerical value, often
called the weight or cost, which are an abstract representation of the “work” needed to
move along that edge. Only these basic concepts are needed to understand the shortest
path problem; for the more advanced concepts, please refer to. Graphs are often used
as abstract representations of networks, e.g. a road-map, map of linguistic distance
between words and so on and can discretize an environment into “checkpoints” to
enable navigation by artificial intelligence agents.
A graph structure can be extended by assigning a weight to each edge of the
graph. Graphs with weights, or weighted graphs, are used to represent structures in
which pairwise connections have some numerical values. For example, if a graph
represents a road network, the weights could represent the length of each road. There
may be several weights associated with each edge, including distance, travel time, or
monetary cost. Such weighted graphs are commonly used to program GPS's, and
travel-planning search engines that compare flight times and costs.

2.2. Related Works on Shortest Path System


Louis. E. F. [9] defined that shortest path system is a classical AI topic. It is
based on search method. Search methods are not the perfect solution for every
problem, but with creative applications it can solve many. The computation of
shortest paths in dynamic networks is at the heart of the computational needs of
transportation applications involving networks equipped with information
technologies. For instance, in the context of intelligent transportation systems (ITS)
applications, the computation of shortest paths is a fundamental component in route
guidance systems and in the development of solution algorithms for large-scale
dynamic network flow models; such models are useful in supporting effective ITS
decision-making.
8

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.

2.3. Related Works on Shortest Path Algorithm


Alex C. [13] contributed that shortest path algorithms are a family of
algorithms designed to solve the shortest path problem. The shortest path problem is
something most people have some intuitive familiarity with: given two points, A and
B, and find the shortest path between them. In computer science, however, the
shortest path problem can take different forms and so different algorithms are needed
to be able to solve them all. There are also different types of shortest path algorithms
such as Dijkstra’ algorithm, A* algorithm and so on. In Alex Chumbley’s paper, there
are also different types of shortest path algorithms and these may be need to find the
shortest path between point A and B, but may be need to shortest path between point
A and all other points in the graph.
Vaidehi J. presented that Dijkstra’s algorithm is unique for many reasons. But
the one that has always come as a slight surprise is the fact that this algorithm is not
just used to find the shortest path between two specific nodes in a graph data
structure. Dijkstra’s algorithm can be used to determine the shortest path from one
node in a graph to every other node within the same graph data structure, provided
that the nodes are reachable from the starting node. Shortest path algorithms have
many applications. As noted earlier, mapping software like Google or Apple maps
makes use of shortest path algorithms. These algorithms are also important for road
network, operations, and logistics research. Shortest path algorithms are also very
important for computer networks, like the Internet. Any software that helps choose a
route uses some form of a shortest path algorithm. Google Maps, for instance, has put
in a starting point and an ending point and will solve the shortest path system.
Lukáš K. [14] mentioned that many algorithms exist for solving the shortest
path problems. Most of them evolved from their predecessors. Each of them solves
10

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.1. Genetic Algorithm


The numerical search tool used to find the maximum and minimum global of a
function that is linear or non-linear is called the Genetic Algorithm [16].
Genetic algorithms can be used in the search for the shortest route because it
has reliability in producing optimal output. Genetic algorithms are a form of
stochastic search technique [17] and the workings of genetic algorithms are based on
the mechanism of biological evolution. Every living creature has its own unique
genes, in which genes are part of a chromosome that will determine even affect the
characteristics and properties of each individual.

2.3.2. Greedy Algorithm


Greedy algorithm has a fast search speed than the A* algorithm because it
only compares the distance from the original node to another node. But it makes this
greedy algorithm has the best shortest path search optimization.
The greedy algorithm is a type of algorithm that performs the shortest path
search using the problem solving approach by finding the maximum value while at
each step. In most cases, the greedy algorithm will not produce the most optimal
solution, nor does the greedy algorithm usually provides near optimum solutions in a
reasonably fast time, if when searching finds a node and the node has a very large
value, greedy algorithm will still choose the node path because the mechanism of the
greedy algorithm is unable to go back to the beginning so there is no choice but to
take the path. It causes the search path becomes not optimal, even could happen worse
thing is failing in search [18].

2.3.3. Bellman-Ford Algorithm


12

The Bellman–Ford algorithm is an algorithm that computes shortest paths


from a single source vertex to all of the other vertices in a weighted digraph. It is
slower than Dijkstra's algorithm for the same problem, but more versatile, as it is
capable of handling graphs in which some of the edge weights are negative numbers.
The algorithm was first proposed by Alfonso Shimbel in 1955, but is instead named
after Richard Bellman and Lester Ford, Jr., who published it in 1958 and 1956,
respectively. Edward F. Moore also published the same algorithm in 1957, [19] and
for this reason it is also sometimes called the Bellman–Ford–Moore algorithm.
Bellman Ford algorithm works by overestimating the length of the path from the
starting vertex to all other vertices. Then it iteratively relaxes those estimates by
finding new paths that are shorter than the previously overestimated paths.

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.

2.3.5. Floyd–Warshall Algorithm 


The Floyd Warshall Algorithm is for solving the all pairs of shortest path
problem. The problem is to find shortest distances between every pair of vertices in a
given edge weighted directed Graph. Otherwise, the Floyd–Warshall algorithm is
an algorithm for finding shortest paths in a weighted graph with positive or negative
edge weights (but with no negative cycles) [21]. A single execution of the algorithm
will find the lengths (summed weights) of shortest paths between all pairs of vertices.
Although it does not return details of the paths themselves, it is possible to reconstruct
the paths with simple modifications to the algorithm.

2.3.6. Johnson's Algorithm 


13

Johnson's algorithm is a way to find the shortest paths between all pairs of


vertices in a sparse, edge-weighted, directed graph. It allows some of the edge weights
to be negative numbers, but no negative-weight cycles may exist. It works by using
the Bellman–Ford algorithm to compute a transformation of the input graph that
removes all negative weights, allowing Dijkstra's algorithm to be used on the
transformed graph [22]. It is named after Donald B. Johnson, [23] who first published
the technique in 1977. A similar reweighting technique is also used in Suurballe's
algorithm for finding two disjoint paths of minimum total length between the same
two vertices in a graph with non-negative edge weights.

2.3.7. Viterbi Algorithm


The Viterbi algorithm is a dynamic programming algorithm for finding the
most likely sequence of hidden states is called the Viterbi path that results in a
sequence of observed events, especially in the context of Markov information
sources and hidden Markov models. The Viterbi algorithm is named after Andrew
Viterbi, who proposed it in 1967 as a decoding algorithm for convolutional codes over
noisy digital communication links.
The algorithm has found universal application in decoding the convolutional
codes used in both CDMA and GSM digital cellular, dial-up modems, satellite, deep-
space communications, and 802.11 wireless LANs. It is now also commonly used in
speech recognition, speech synthesis, [24] keyword spotting, computational
linguistics, and bioinformatics. For example, in speech-to-text (speech recognition),
the acoustic signal is treated as the observed sequence of events, and a string of text is
considered to be the "hidden cause" of the acoustic signal. The Viterbi algorithm finds
the most likely string of text given the acoustic signal.

2.4. Applications for Shortest Path System


Lili C. [25] concluded that the search for the shortest path is an essential
primitive for a variety of graph-based applications, particularly those on online social
networks. An example is the LinkedIn platform where users perform queries to find
the shortest path “social links” connecting them to a particular user to facilitate
introductions. This type of graph query is challenging for moderately sized graphs but
becomes computationally intractable for graphs underlying today’s social networks,
most of which contain millions of nodes and billions of edges. The author proposed
14

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

comprehend the complex systems around us i.e. transportation, communication, or


interactions at the cellular level, is of great importance in an increasingly complex
world. The spatial nature of Networks gives opportunities for research in network
analysis that could prove valuable across a wide range of disciplines.
Ahmat [29] studied extensively in association with complex communication
networks. The study described basic concepts of graph theory and their relation to
communication networks. The study also presented some optimization problems that
are related to routing protocols and network monitoring and showed that many of the
optimization problems are NP-Complete or NP-Hard. Finally, it described some of the
common tools used to generate network topologies based on graph theory.
Sommer [30] investigated shortest path query processing in networks both
from a theoretical and a practical point of view. An experimental study was performed
using road transportation network. The study revealed a simple and general method
based on Voronoi duals to efficiently support the shortest path queries in undirected
graphs with very low pre-processing overheads and competitive query times, at the
cost of exactness. This method was proved to be effective on a variety of graph types
while remaining a reasonable alternative to existing exact methods specifically
designed for transportation networks.
Abbasi et al [31] considered the dynamic shortest path problem, motivated by
its applications in dynamic minimum cost flows in transformation problem. The study
showed that this problem is equivalent to a classical shortest path problem in a so-
called time-expanded network. Although our approach allows us to apply any
standard technique on the time-expanded network, the size of this network is typically
very large for realistic problems and it may be beneficial to avoid such explicit
expansion. The study applied the Label Correcting Algorithm for solving this problem
that the time complexity of the algorithm is O(|nT||mT|).
Borgwardt et. al [32] researched on the shortest-path kernel as applicable to all
graphs on which Floyd-Warshall can be performed and analyzed the inverse shortest
path length problem in transportation network improvement and bandwidth pricing.
The requirement of Floyd-Warshall is that cycles that have negative weight do not
exist. This condition generally holds if distances are represented by edge labels.
Li et al [33] proposed an efficient algorithm named Li-Qi (LQ) for the SSSP
problem with the objective of finding a simple path of the smallest total weights from
a specific initial or source vertex to every other vertex within the graph. This
16

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.

You might also like