Download as pdf or txt
Download as pdf or txt
You are on page 1of 7

JSS MAHAVIDYAPEETHA

JSS SCIENCE AND TECHNOLOGY UNIVERSITY


SRI JAYACHAMARAJENDRA COLLEGE OF ENGINEERING
JSS TECHNICAL INSTITUTIONS CAMPUS
MYSURU - 570 006

Synopsis on Event 2
“ Google Maps Prototype Using Shortest Path finding Algorithm”

Carried out on
“Linear Alzebra”

Submitted by
NAME USN Marks-E1 Marks-E2
AJAY M 01JST19EC005
SANJAN B M 01JST19EC072
SURYA M S 01JST19EC089

Under the guidance of


Prof. Supreetha M

Assistant Professor
Department of ECE, SJCE
JSS S&TU, Mysuru
DEPARTMENT OF ELECTRONICS AND COMMUNICATION ENGINEERING
JSS SCIENCE AND TECHNOLOGY UNIVERSITY
JSS TECHNICAL INSTITUTIONS CAMPUS
MYSORE-570006
2021-2022
➢ Introduction:
About linear algebra:
Linear algebra is the branch of mathematics concerning linear equations such as linear
maps and their representations in vector spaces and matrices. It is fundamental in modern
presentations of geometry, including for defining basic objects such as lines, planes and
rotations. Also, functional analysis, a branch of mathematical analysis, may be viewed as the
application of linear algebra to spaces of functions.
The shortest path algorithm is a traditional algorithm in graph theory with the purpose
to locate the shortest path from a specific source to various destinations. Dijkstra is a solitary
source shortest path algorithm, and the goal is to improve the execution time as well as memory
utilization of the algorithm. Dijkstra algorithm does not have negative edge weights. It applies
a greedy strategy to ideally tackle single-source shortest path problem.

Its significance in the real world:


In real life there are a plethora of instances where Algebra is being used. It’s utility is
being universally quantified in all walks of our lives. The use of algebra is multipurpose, and
it goes handy in every sphere of our lives. It isn't just mathematicians, however, even most
academicians, educationists, researchers, and experts from all different backgrounds
collectively agree with the adaptability of algebra.

Its practical applications:


Other real-world applications of linear algebra include ranking in search engines,
decision tree induction, testing software code in software engineering, graphics, facial
recognition, prediction and so on. It is the core of many known data science algorithms like
machine learning, image processing, computer vision, natural language processing, etc.

Matrices and their applications:


A matrix is defined as a rectangular array of numbers or symbols which are generally
arranged in rows and columns. The order of the matrix can be defined as the number of rows
and columns. The entries are the numbers in the matrix known as an element.
They are used for plotting graphs, statistics and also to do scientific studies and research
in almost different fields. Matrices can also be used to represent real world data like the
population of people, infant mortality rate, etc. They are the best representation methods for
plotting surveys.

Shortest path algorithm, its types, and applications:


The shortest-path problem is one of the well-studied topics in computer science,
specifically in graph theory. An optimal shortest path is one with the minimum length criteria
from a source to a destination. There has been a surge of research in shortest-path algorithms
due to the problem’s numerous and diverse applications. These applications include network
routing protocols, route planning, traffic control, path finding in social networks, computer
games, and transportation systems, to count a few. The static branch in Figure 1lists algorithms
that operate over graphs with fixed weights for each edge. The weights can denote distance,
travel time, cost, or any other weighting criteria. Given that the weights are fixed, some static
algorithms perform precomputations over the graph.
Static algorithms consist of two classical algorithms for shortest-path fall under the two
main categories (1) Single-source shortest-path (SSSP), and (2) All-pairs shortest-path (APSP).
They are:
->Some of SSSP algorithms are - Dijkstra algorithm, Bellman-Ford algorithm, Moore
algorithm, Karp algorithm, etc.
->Some of SSSP algorithms are - Floyd-Warshall algorithm, Han-Takaoka algorithm, etc.

Google maps and Dijkstra algorithm:


Google maps uses Dijkstra’s algorithm to achieve its functionality. The computer scientist,
Edsger Dijkstra, formulated Dijkstra’s Algorithm in 1956 ([1]). As previously stated, It is a
graph search algorithm. Nodes and arcs define the graph. Where the nodes are the vertices and
the arcs are the ordered pairs of the nodes, or the path between the nodes. This Algorithm can
be used to calculate the shortest path from the starting node to the finishing node based on the
different path-weight definition. Each graph will have the arcs labeled with weights. The
weights are just arbitrary numbers, so they are not always measuring distance and can time and
other things. Dijkstra’s Algorithm can only calculate the shortest path based on the path-weight
and only weights (lengths) must be nonnegative.

➢ Literature survey:
1. A shortest-path algorithm finds a path containing the minimal cost between two vertices
in a graph. A plethora of shortest-path algorithms is studied in the literature that span
across multiple disciplines.Different shortest path algorithms were analysed in terms of
time and space complexity. (Amgad Madkour, Walid G. Aref, Faizan Ur Rehman,
Abdur Rehman, 2017)
2. Dijkstra's Algorithm is known as the shortest path source. In this paper, we discuss this
Algorithm and the applications that the algorithm has on the modern day. In this study,
we provide a pseudo-code of the algorithm. It is the backbone of every navigation
system. Google Maps is a typical application of this Algorithm. ( Daniel R Lanning,
Gregory K Harell, Jin Wang, 2014)
3. Applications of shortest path algorithms in various domains like road network, social
media network, computer networks are discussed. (Haysam Selim, Justin Zhan, 2016)

4. Wadhwa (2000) 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 us good
solutions which can be used as upper bounds for branch and bound methods, giving us
the optimal solutions in lesser times than that given by branch and bound without
theupper bounds.

5. Abbasietal (2011) 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|).

6. Lietal (2008) 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 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.

7. Sommer (2010) 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.

8. Srinivas (2010) 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 adjacency matrices,
Algorithms to find the connectedness, Algorithms to find the cycles in a graph,
Algorithms for searching an element in a data structure (DFS, BFS).

9. Ahmat (2005) 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.
10. Meghanathan (2012) reviewed Dijkstra’s algorithm and Bellman-Ford algorithm for
finding the shortest path ina graph. He concluded that the time complexity of Dijkstra’s
algorithm is O (|E|*log |V|) while the time complexity of the Bellman-Ford algorithm
is O (|V||E|).

➢ Motivation:
Our main motive is to explore the underlying algo of google maps. To
practically experience application of the Dijkstra algorithm(using adjacency matrix) in a
graphical and intuitive way. To improve web-development skills. To be able to build a
miniature version of map for college. We are basically trying to optimise the existing algo
and trying to optimise the time and space complexity.

➢ Problem Statement:
To increase the speed of searching process by choosing the right algorithm. To
make the webpage responsive. To easily find routes to different places in remote locations.
To increase the efficiency of existing algorithm .
In network, the traditional Dijkstra’s algorithm has a wide application, but it is not
difficult to find that its computation has gradually increased with the network increasing in
complexity. If directly applied to calculating the best path of the urban road network, this
algorithm will need a great amount of computation, and cannot meet the dynamic needs
either. In addition, the adjacency matrix and incidence matrix used in the traditional
algorithm to store network data will open up a huge storage space to store a large number
of invalid OCJ elements and 0 elements, which is bound to cause huge waste of run time
and can also reduce the computational efficiency in Matrix algorithm.

➢ Objectives:
The following the objectives to be achieved:
1. To learn coding in JavaScript and integrate it with webpages.
2. To understand the application of matrices whose elements represent different locations
on google maps using graph data structure.
3. To analyse various shortest path algorithms in terms of its time and space complexity
and understand its applications.
➢ Methodology:
A single navigation webpage which is created using HTML, CSS,
bootstrap and Cytoscape JavaScript library will represent various nodes (as cities) and their
interaction.
1. A user needs to enter source and destination in the input fields.
2. Dijkstra’s shortest path algorithm is implemented in JavaScript which acts as the brain
of the webpage.
3. The algorithm finds the shortest path and highlights the route.

Fig.1: Block diagram

➢ Pert chart:

1. Literature survey October 3rd week

2. Web designing November 3rd week

3. Implementing Dijkstra algorithm using November 4th week


adjacency matrix in JavaScript

4. Combining all components December 1st week

5. Report writing December 2nd week


➢ References :
1) Amgad Madkour, Walid G. Aref, Faizan Ur Rehman, Abdur Rehman. (2017). A
Survey of Shortest-Path Algorithms. Research gate.

2) Daniel R Lanning, Gregory K Harell, Jin Wang. (2014). Dijkstra algorithm and
google maps. Research gate. 10.1145/2638404.2638494.

3) Aaron Bernstein. (2014). Maintaining Shortest Paths Under Deletions in Weighted


Directed Graphs. Research gate. 10.1137/130938670

4) Ahuja, Ravindra K.; Mehlhorn, Kurt; Orlin, James B.; Tarjan, Robert E. (April 1990).
"Faster Algorithms for the Shortest Path Problem" Journal of the ACM

5) Sudhakar, T.D.,Vadivoo, N.S., Slochanal, S.M.R., Ravichandran, S. Supply


restoration in distribution networks using Dijkstra's algorithm. International
Conference on Power System Technology, Signapure. 2004 (PowerCon 2004)

6) Rishi Pal Sing, Vandana, “ Application of Graph Theory in Computer Science and
Engineering,” International Journal of Computer Applications (0975 – 8887) Volume
104 – No.1, October 2014.

7) Roozbeh Shad, Hamid Ebadi, Mohsen Ghods. Evaluation of Route Finding


Methods in GIS Application. Dept of Geodesy and Geomatics Eng. K.N.Toosi
Universityof Technology, IRAN.

8) Top Sites in United Kingdom (2016). Alexa - Top Sites in United Kingdom URL:
http://www.alexa.com/topsites/countries/GB

9) T.B. de Silveira, E. M. Duque, S.J.F. Guimaraes, H. T. Marques-Neto and H. C. de


Freitas, “Proposal of Fibonacci heap in the Dijkstra algorithm for low-power ad-hoc
mobile transmissions”. IEEE Latin America Transactions, vol. 18, issue 3, pp. 623-
630, 2020, doi:10.1109/TLA.2020.9082735.

10) R.K. Arjun, P. Reddy, Shama, and M. Yamuna, “Research on the optimization of
Dijkstra‟s algorithm and its applications”, Int. J. Sci.Tech. Manag., vol. 4, no. 1, pp.
304 – 309, 2015.

You might also like