Path Finder Report
Path Finder Report
by
Abhishek Singh(1809110011)
Anadi Sharma(1809110029)
2021-2022
PATH FINDER
by
Abhishek Singh(1809110011)
Anadi Sharma(1809110029)
Bachelor of Technology
in
Computer Science
2021-2022
VISION OF THE DEPARTMENT:
To spark the imagination of the Computer Science Engineers with values, skills and
creativity to solve the real-world problems.
Mission 3: To foster independent and life-long learning with ethical and social
responsibilities.
PEO2: To enable students with core skills for employment and entrepreneurship.
PEO4: To foster students with research-oriented ability which helps them in analyzing and
solving real life problems and motivate them for pursuing higher studies.
PROGRAMME OUTCOMES:
Engineering Graduates will be able to:
PO1. Engineering knowledge: Apply the knowledge of mathematics, science,
engineering fundamentals, and an engineering specialization to the solution of
complex engineering problems.
PO2. Problem analysis: Identify, formulate, review research literature, and analyze
complex engineering problems reaching substantiated conclusions using first
principles of mathematics, natural sciences, and engineering sciences.
PO3. Design/development of solutions: Design solutions for complex engineering
problems and design system components or processes that meet the specified needs
with appropriate consideration for the public health and safety, and the cultural,
societal, and environmental considerations.
PO4. Conduct investigations of complex problems: Use research-based knowledge and
research methods including design of experiments, analysis and interpretation of
data, and synthesis of the information to provide valid conclusions.
PO5. Modern tool usage: Create, select, and apply appropriate techniques, resources, and
modern engineering and IT tools including prediction and modelling to complex
engineering activities with an understanding of the limitations.
PO6. The engineer and society: Apply reasoning informed by the contextual knowledge
to assess societal, health, safety, legal and cultural issues and the consequent
responsibilities relevant to the professional engineering practice.
PO7. Environment and sustainability: Understand the impact of the professional
engineering solutions in societal and environmental contexts, and demonstrate the
knowledge of, and need for sustainable development.
PO8. Ethics: Apply ethical principles and commit to professional ethics and
responsibilities and norms of the engineering practice.
PO9. Individual and team work: Function effectively as an individual, and as a member
or leader in diverse teams, and in multidisciplinary settings.
PO10. Communication: Communicate effectively on complex engineering activities with
the engineering community and with society at large, such as, being able to
comprehend and write effective reports and design documentation, make effective
presentations, and give and receive clear instructions.
PO11. Project management and finance: Demonstrate knowledge and understanding of
the engineering and management principles and apply these to one’s own work, as a
member and leader in a team, to manage projects and in multidisciplinary
environments.
PO12. Life-long learning: Recognize the need for, and have the preparation and ability to
engage in independent and life-long learning in the broadest context of technological
change
PROGRAMME SPECIFIC OUTCOMES:
C 410.3 Apply appropriate computing, engineering principle and management skills for
obtaining effective solution to the formulated problem within a stipulated time.
CO-PO-PSO MAPPING
PO PO PO PO PO PO PO PO PO PO1 PO1 PO1 PSO PSO
COs
1 2 3 4 5 6 7 8 9 0 1 2 1 2
C
3 3 3 3 2 3 3 3 3 3 2 3 3 3
410.1
C
2 2 2 2 2 2 2 2 2 3 2 3 2 3
410.2
C
3 3 3 3 3 3 2 3 3 3 3 3 3 3
410.3
C
3 3 3 3 2 3 2 3 3 3 3 3 3 3
410.4
C410.
3 3 3 3 3 3 3 3 3 3 3 3 3 3
5
C410 2.80 2.80 2.80 2.80 2.40 2.80 2.40 2.80 2.80 3.00 2.60 3.00 2.80 3.00
DECLARATION
We hereby declare that this submission is our own work and that, to the best of our
knowledge and belief, it contains no material previously published or written by another
person nor material which to a substantial extent has been accepted for the award of any
other degree or diploma of the university or other institute of higher learning, except where
due acknowledgment has been made in the text.
Signature: Abhishek
Date :
Signature: Anadi
Date :
Signature: Ashutosh
Date :
Signature: Ayush
Date :
CERTIFICATE
This is to certify that Project Report entitled “Path Finder” which is submitted by Abhishek Singh,
Anadi Sharma, Ashutosh Swarup Srivastava, Ayush Kumar Yadav in partial fulfillment of the
requirement for the award of degree B. Tech. in Department of Computer Science and Engineering
of Dr. APJ Abdul Kalam Technical University, Uttar Pradesh, Lucknow is a record of the candidate’s
own work carried out by him/her under my/our supervision. The matter embodied in this thesis is
original and has not been submitted for the award of any other degree.
Date
ACKNOWLEDGEMENT
It gives us a great sense of pleasure to present the report of the B. Tech Project undertaken during
B. Tech. Final Year. We owe special debt of gratitude to Dr. Rachna Jain, Department of Computer
Science & Engineering, JSS Academy of technical Education, Noida for his constant support and
guidance throughout the course of our work. Her sincerity, thoroughness and perseverance have
been a constant source of inspiration for us. It is only her cognizant efforts that our endeavors have
seen light of the day. We also take the opportunity to acknowledge the contribution of Dr. Rachna
Jain for her full support and assistance during the development of the project. We also do not like
to miss the opportunity to acknowledge the contribution of all faculty members of the department for
their kind assistance and cooperation during the development of our project. Last but not the least,
we acknowledge our friends for their contribution in the completion of the project.
Signature: Abhishek
Date :
Signature: Anadi
Date :
Signature: Ashutosh
Date :
Signature: Ayush
Date :
ABSTRACT
In this report, through observing the blue print map of the building and analyzing all the
different exit evacuation cases and the bumps, corners detention and haste of vehicles
evacuation in the morning peak, common and evening peak. A dynamic blue print model is
created for mortal beings evacuation grounded on Dijkstra algorithm. In this report we have
a general algorithm for exploring and working any kind of line maze with another simple
maze without circles or with circles having two branches none of which are inward or
outward. For the general algorithm, we need a system to analyze the whole floor map, which
is needed if the maze is complex.
The given floor map environment is grounded on the match system also and after analyzing
to the whole floor map with as a graph process in optimal Proximity list representation
system the shortest path and also the least time taking path was uprooted using the Dijkstra's
algorithm. The best working evacuation way is given in three distinct cases. The attained
issues give well accurate predicting what will happen in the future system and theoretical
base for optimal exit evacuation path selection and exit deliverance decision in public
places, especially for those with high population density. So it seems unreal or imaginary
for us to manage with exigency situation or to help and alleviate disasters from the extremity
event.
TABLE OF CONTENTS Page
VISION i
MISSION ii
PROGRAM OUTCOMES iv
COURSE OUTCOMES vi
DECLARATION ................................................................................................... ix
CERTIFICATE ..................................................................................................... x
ACKNOWLEDGEMENTS .................................................................................. xi
CHAPTER 1
1.1. Introduction............................................................................................ 1
CHAPTER 3 Methodology…………………….......................................................... 11
4.2 Flutter…………………………………………………………………. 26
CHAPTER 5 Conclusion……………………………………………………………. 42
APPENDIX A ............................................................................................................ 44
REFERENCES... ....................................................................................................... 50
LIST OF FIGURES
Fig. Figure
TC Time Complexity
Alg. Algorithm
UI User Interface
IP Image Processing
CHAPTER 1
INTRODUCTION
The rescue management of natural disaster or some man-made critical situation we need
some urgent decision for extracting the affected people. The shortest path finding problem
is a problem of finding the shortest path or route from a starting point to a final
destination. Generally, to represent the shortest path problem we use maps or can be depicted
as a graph.
A graph is a mathematical abstract model, which contains sets of vertices and edges. This
design is basically supporting the shortest path algorithm concerned to as “Dijkstra’s
algorithm”. The programming of this design was done by us and thus the design was also
collected by us. Moving on to the small print of this design principally this design i.e., “ Path
Finder”, accepts a picture input and provides the stressed path within the image through
which one can reach from launch line to finish point within the shortest way.
Frequent incidents or emergency situation have caused great detriment to the society. We
need exigency void the large populations from the incident area to a safe area when
emergency happens, so it will cause the civic business traffic and indeed the system. Thus,
it has come an important issue of public safety field that how to use fastest speed void the
crowd to safe area after the incident happen. In the exigency evacuation, it is necessary to
give the shortest path from a specified origin point to other destination point and use the
shortest time in the whole evacuation process.
One of the most usual style to break the shortest path problem is the Dijkstra algorithm. Path
selection of the smallest path or the best and optimal path algorithm solution. The most
generally used algorithm of the optimal path are Dijkstra algorithm, Floyd algorithm, etc.
And some bettered optimal path algorithm for rescue team navigation, similar to as
bidirectional hunt algorithms, hierarchical hunt algorithm, inheritable algorithm and the
shortest path algorithm grounded on neural network, and so on.
1
Voorhe set al. have proposed some other models and put them into practice under different
emergency conditions for estimating evacuation time in statistical total system. It takes a
considerable quantum of calculation for calculating the operating characteristics of
individual. Colorful ways have been proposed for speeding up Dijkstra’s original marker
procedure. For undirected graphs a direct handling time can be achieved by integral lengths
or on average in a randomized setting. For numerous cases that arise in practice, the graphs
will have some underpinning geometric structure which can also be exploited to speed up
the shortest path for calculations. James B. Orlin proposed an effective system for enforcing
Dijkstra algorithm for the Single Source Shortest Path Problem in a graph whose edges is
having positive length, and where there are many distinct edge lengths. Recent papers, for
instance, presents the modified algorithm with the claim that it runs in O(n) steps, where n
is the number of nodes in the network, This assumption comes to false. The number of steps
can also be exponential. While this error does not affect the main result of the paper, it is
important to notice that the modified Dijkstra algorithm can be a poor choice in general case,
although it runs in O(n2) steps (as does the original) when there are no arcs of negative
weights or no weights. Of course, algorithms are known which run in O(n) steps on general
networks, but they are not O(n2) when arcs of negative weight are forbidden. Floyd's
algorithm is an example.
2
CHAPTER 2
Literature Survey
Review:
This paper briefly discusses the Dijkstra and Floyd algorithms adopted in the existing
studies. Feng in 2005 has discussed that the taxonomy of the shortest path algorithms from
the perspective of problem of different type, network characteristics and solution techniques
and compared to the time complexities. However, the most popular sequential shortest path
algorithms are evaluated for their practical efficiency with urban traffic networks. The
advance of time dependent and parallel shortest path algorithms is also discussed in many
studies The earlier studies presented four shortest path algorithms namely Dijkstra’s
Algorithm, Floyd-Warshall Algorithm, Bellman-Ford Algorithm, and Genetic Algorithm
(GA) for intelligent traffic system. In addition, the earlier study finding shortest path from
one node to all other nodes can be derived quickly by using the shortest path algorithm.
Further, the earlier study have analyzed dynamic path of all-pairs using shortest path problem
for recalculation shortest paths after changing the weight of any single edge. Thus, we can
observe two different cases: increasing and decreasing of the weight. The time complexity
is depending on the graph structure and in most of the cases the time complexity is better
than Floyd-Warshall algorithms. In case of decreasing the weight the algorithm which
requires O(n^2) time is described. Moreover the earlier study discussed the shortest path
between two points in a city road net based on the geographic relevance relationship among
roads in the road net. Based on the literature this paper will provides some of instances which
prove applicability and reliability of Dijkstra and Floyd algorithm for national traffic
advisory procedures.
3
Paper 2: Autonomous Maze Solving Robotics: Algorithms and Systems- by Shatha Alamri
, Shuruq Alshehri , Wejdan Alshehri , Hadeel Alamri , Ahad Alaklabi , and Tareq A lhmiedat
Facultyof Computers & Information Technology, University of Tabuk, Tabuk, Saudi Arabia
Industrial Innovation & Robotics Center, University of Tabuk, Tabuk, Saudi Arabia
Review:
For any solver robot, the navigation process is the main task that intends to explore the
possible paths between the source points and the destination points, and may then the employ
routing algorithms to find out the shortest path between any two of the points. In this paper,
the maze solving algorithms has been divided into two of the categories: algorithms for the
already known environments and algorithms for different environments. This section
analyses the existing maze solving algorithms and evaluates the existing solver robot
systems. The dead-end filling algorithm finds all the dead ends in the maze area in order to
explore the path from the source-point to destination-point. However, the dead end algorithm
is inefficient in robotics, since the robot has to look at the entire maze at once
Conclusion:
Several maze solving algorithms have been proposed with diverse structure and efficiency.
However, there is no perfect maze solving algorithm for this purpose. The deployment of a
certain maze solving algorithm depends on several factors including: area size, area
complexity, area structure, deployment cost and complexity. In this paper, we investigated
the maze solving algorithms and categorized them in terms of the deployed maze
environment into two categories
Paper 3: Intelligent Maze Solving Robot Based on Image Processing and Graph Theory
Algorithms by M. Aqel, Ahmed Issa, M. Khdair, Majde El Habbash, Mohammed Abubaker,
Mohammed Massoud 2017 International Conference on Promising Electronic Technologies
(ICPET) At: Deir El-Balah, Palestine
4
Review:
The most important task for maze solving robots is the fast and reliable finding of its shortest
path from its initial point to its final destination point. This paper proposed an intelligent
maze solving robot that is able determine its shortest path on a line maze based on image
processing and artificial intelligence algorithms. The image of the line maze is captured by
a camera and sent to computer that is to be analyzed and processed by a program developed
using Visual C++ and Open CV library and is also based on graph theory algorithms. The
developed program is solving the captured maze by examining all possible paths that exists
in the maze that could able to convey to the robot the required destination point. After then
the best shortest path is determined and then the instructions that guide the car-like robot has
to reach its desired destination point and are sent to the robot through Bluetooth. The robot
follows the received guide path to reach its destination point. The proposed approach has
been working faster than the traditional methods which pushes the robot to move through
the maze cell by cell in order to find its destination point. Moreover, the proposed method
allows us that the maze solving robot can avoid trapping and falling in infinity loops.
Applications of maze solving systems include intelligent traffic control that helps
ambulances, fire fighters, rescuing robots to find their shortest path to their destination.
Paper 4: Autonomously Solving Mazes with Robots by Ishan Arya , Fiona Gillespie, Sohum
Kapoor , Karan Mahesh, Karan Daniella, Jacob Battipaglia New Jersey Governor’s School
of Engineering and Technology 21 July 2017
Review:
The goal of this research project is to map all the unknown field and calculate the best path
to travel from the entrance point to the exit point. A robot is having three sensors (one in the
front and one on each side) scans the various mazes built by using one trial for mapping and
the second is for traveling along the most efficient among all routes. The testing of different
algorithms for mapping the maze and navigating paths is backed by the desire to scale down
real world application of affordable autonomous robots in order to gain the greater
understanding of algorithms and robot development techniques.(26%)
5
Conclusion:
Ultimately, this project will fell short of its goals after the robot is malfunctioning due to
defects in its parts. However, mapping and navigation algorithms were created with all the
successful compilation. Theoretically it is having the sensors working correctly and the
motors has been able to support the weight of the robot, the robot would have correctly
mapped the maze and solved it accordingly. According to prior research all the graphing and
the unknown mapping algorithm would have been most efficient both in terms of memory
usage and in mapping speed. In navigating the maze using this map, A would end up being
the best, especially since A is used to calculate distances between nodes and the graphing
the unknown algorithm is solely comprised of nodes.
Review:
Using traditional image recognition techniques, photographs of patterns seen just ahead of
an agricultural tractor were studied. The varied textures and light conditions in the field make
it challenging to extract reliable information about the machine's course. The authors
describe computer programmes that show promise for completing the guidance task at a
reasonable speed on a low-cost computer. COMPUTER VISION is a strong new technology
that has gotten more cheap in the previous ten years. This innovative technique may be able
to solve the challenge of autonomously steering an agricultural machine along rows or work
edges. This research was driven by the combination of a problem and a solution.
Paper 6: A Method for the Shortest Path Search by Extended Dijkstra Algorithm Smc 2000
conference proceedings. 2000 IEEE international conference on systems, man and
6
cybernetics. 'cybernetics evolving to systems, humans, organizations, and their complex
interactions'
Review: In shortest path search issues, the Dijkstra technique is a well-known algorithm for
determining the best path. However, when the search scope is vast, the time required to
discover the optimum path increases dramatically, making the Djikstra approach unsuitable
for real-time tasks. In this paper, we offer a method for generating a path that is as near as
possible to the Dijkstra path in a short amount of time (the optimum path). The new approach
improves on the traditional Dijkstra method by allowing it to solve a problem in a specific
amount of time, such as path search in an automobile navigation system. Simulations are
used to demonstrate the efficacy of the extended method.
Conclusion:
We presented a shortest path search approach that is an extension of the current method (the
Dijkstra method), and simulations demonstrated its efficacy. The results show that the search
time can be drastically decreased without having a significant impact on the movement cost,
allowing a near-optimal solution to be found quickly. As a result, the novel technology can
be used in car navigation systems and other pathfinding problems that require a real-time
solution. Despite the fact that the new technique is faster than the traditional Dijkstra method,
it is still based on the Dijkstra method, hence the problem of long search times persists for
problems with a broad search scope.
Paper 7: Path Optimization Study for Vehicles Evacuation Based on Dijkstra algorithm
2014 Published by Elsevier Ltd. Open access under CC BY-NC-ND license. Peer-review
under responsibility of School of Engineering of Sun Yat-Sun University
Review:
Emergency situations such as earthquakes, hurricanes, fires, chemical disasters, nuclear
accidents, terror attacks, and other occurrences can hurt or endanger human life and health,
and large crowds must be evacuated by vehicles from a dangerous region to a safe area. In
7
this article, we looked at a real-time road network and analysed three different emergency
evacuation scenarios, as well as the nodes, intersection delays, and vehicle evacuation
velocity in the morning, common, and evening peak periods. The Dijkstra algorithm is being
used to create a dynamic road network model for vehicle evacuation. In three different
scenarios, the best escape path is provided. The findings give a well-predictive approach and
theoretical basis for selecting the best emergency evacuation path and making emergency
rescue decisions in public locations, particularly in areas with high population density. As a
result, it appears to be highly important for us to deal with emergency situations or to prevent
and lessen disasters caused by crisis events.
Conclusion:
In an emergency, the dynamic network is linked to the evacuation time, intersection delay,
and evacuation paths. The results of the evacuation demonstrate that during the morning
peak period, there are morevehicles on the road, requiring a longer evacuation time and a
higher total cost than throughout the rest of the day.
Paper 8: Fuzzy Dijkstra algorithm for shortest path problem under uncertain environment
School of Computer and Information Sciences, Southwest University, Chongqing 400715,
China ,School of Electronics and Information Technology, Shanghai Jiao Tong University,
Shanghai 200240, China Applied Soft Computing Volume 12, Issue 3, March 2012, Pages
1231-1237
Review:
The Dijkstra algorithm is a popular method for solving the shortest route problem (SPP). A
generalized Dijkstra method is proposed in this study to deal with SPP in an uncertain
environment. In SPP with fuzzy parameters, two major concerns must be addressed. One is
figuring out how to add two edges together. The other problem is determining how to
compare the distance between two pathways whose edge lengths are represented by fuzzy
integers. The graded mean integration representation of fuzzy numbers is used to improve
the classical Dijkstra algorithm in order to handle these difficulties.
8
Conclusion:
The Dijkstra algorithm was modified in this study to solve the shortest path problem using
fuzzy arc lengths. Two major issues are discussed. One is figuring out how to add two edges
together. The other problem is determining how to compare the distance between two
pathways whose edge lengths are represented by fuzzy integers. The graded mean integration
representation of fuzzy integers is used in the proposed method to identify the shortest path
under fuzzy arc lengths. To demonstrate the efficacy of the proposed strategy, a numerical
example was used. The proposed method can be used to solve real-world problems in
transportation systems, logistics management, and a variety of other network optimization
problems that can be expressed as a shortest path problem. It's worth noting that the shortest
path problem's uncertainty isn't limited to geometric distance. The trip time from one city to
another, for example, may be represented as a fuzzy variable due to weather and other
unforeseen factors, even if the geometric distance is fixed.(13%)
Paper 9: Mohammad O.A.Aqel, Ahmed Issa, Majde Elhabbash ”Intelligent maze solving
robot based on image processing and graph theory algorithms”, 2017, International
Conference on Promising Electronic Technologies
Review:
This paper has proposed an intelligent maze solving robot that can able to determine its
shortest path on a line maze based on image processing and artificial intelligence algorithms.
The image of the line maze is captured by the camera and then sent to the computer to be
analyzed and processed by a program that has been developed using Visual C++ and
OpenCV libraries and based on graph theory algorithms. . The camera has be calibrated in
order to get its intrinsic and extrinsic parameters as per the requirements. Camera calibration
is a necessary step in computer vision which will provide us the ability to establish a relation
between 2D image pixels coordinates and the real world coordinates given to us. The
developed program solves the captured maze by examining all possible paths existing in the
maze that could able to convey the robot to the required destination point. After that it is
having the best shortest path determined and then the instructions that guide a car like robot
9
to reach its desired destination point are sent to the robot through Bluetooth. It uses Breadth
First Search, Best First Search and A algorithms. The end results of using each algorithm are
compared in order to find the more efficient one
Paper 10: Akib Islam ,Farogh Ahmad ,P.Sathya “Shortest distance path maze solving robot”
,2016, International Journal of Research in Engineering and Technology
Review:
In the given paper, a robot is designed that consists of two infrared sensors one ultrasonic
sensor and other one is Arduino UNO microcontroller, pair of motors, pair of wheels and
wheel rotation encoder. The robot is capable of scanning the area ahead for all the obstacles
with the help of given ultrasonic sensor.. The robot is also equipped with 2 infrared sensors
facing right and left to detect the walls. One infrared sensor has been placed facing the floor.
A wheel rotation encoder is placed near each wheel to measure the extend that how much of
the wheel is rotating. By knowing the diameter of the wheel and the rotation it can be
converted to the distance travelled by the robot. The robot is programmed with an algorithm
that is helping it to navigate the entire maze until it find out the end point. This uses
LSRB(Left straight right back) and RSLB(Right straight left back) algorithms to navigate
through the maze.
10
CHAPTER 3
Dijkstra’s algorithm, brought up by the Dutch computer scientist Edsger Dijkstra in the year
1956 and published in 1959.
Dijkstra algorithm is recognized as the best algorithm at present when all the weight number
is greater than zero. And its basic thought is the process what from the start and then
gradually expand to outward. In the process of exploring the record the path each to a point,
and called label.
For a given source vertex in the graph, the algorithm finds the path with lowest cost (that is
the shortest path) between that vertex and every other vertex. It can also be used for finding
cost of the shortest paths from a single node to the single destination node by stopping the
algorithm once the shortest path to the destination node has been determined. For example,
if the vertices of the graph represent edge path costs represent walking distances between
pairs of points connected by a direct road, Dijkstra’s algorithm can be used to find the
shortest route between one point and any other point.
Let the node at the beginning of the path be called the source node(origin node). Let the
distance of node X be the distance from the origin node to X. Dijkstra’s algorithm will assign
some initial distance values and will try to improve all of them step by step.
Assign to every node a distance and its value set it to zero for the origin node and to infinity
for all other nodes.
Mark all nodes as unvisited. Set initial node as current node. For current nodes, consider all
its unvisited neighbors and calculate their tentative distances. For example, if current node
X has distance of 6, and an edge connecting it with another node Y has length 2, the distance
to Y through X will be 6 + 2 = 8. If this distance is less than the previously recorded distances,
overwrite the distance. Considering all the neighbors of the current node and marking them
as visited. A visited node will not be checked again and its distance recorded is final and
minimal.
The value obtained here is the minimum cost, of movement to the destination. Also, by
storing the previous node in memory when marking a node, it is possible to obtain the
shortest path to the destination.
11
The Algorithm is shown below:
12
Time Complexity:
The run time of the first for loop is O(V). In each iteration of while loop, Extracting
Minimum of the heap is log(V). The inner for loop iterate each adjacent node of the
current node, the total run time is O(E). Therefore, the time complexity of this algorithm
is O(V*log(V) + O(E*log(V) = O(E* log(V)) as E is greater than V. The correctness of
this algorithm is well be proved as the number of nodes in a graph increases the running
time of the applied algorithm will also increase gradually. Usually, a floor network of
the building has more than 10^4 nodes. A fast shortest path algorithm becomes more and
more desirable.
The value obtained here is the minimum cost of movement from source to the destination.
Also, by storing the previous node in memory when marking a node, it is possible to
obtain the shortest path from source to the destination.
13
3.2 Modified Dijkstra Algorithm:
In the modified Dijkstra method, the search generally expands in concentric manner, so
many nodes are checked for each of the searches and the search time is also increased
Because of this feature, this method has the disadvantage that the solution cannot be obtained
in the real time if the distance from the source point to the destination is long. Therefore, we
propose a modified algorithm in which the Dijkstra method is applied from both directions,
which is to say beginning from the starting and also beginning from the destination point,
and the conventional algorithm is extended so as to make it possible to obtain a solution to
the given problem within a specified time. In this way, the concentric expansion of the search
region is restricted and the number of nodes to be. searched can be reduced. In the following
given diagram the problem is shown that why we need the modified Dijkstra algorithm.
The run time of the first for loop is O(V). In each iteration of while loop, Extracting
Minimum of the heap is log(V). The inner for loop iterate each adjacent node of the current
node, the total run time is O(E). Therefore, the time complexity of this algorithm is
O(V*log(V) + O(E*log(V) = O(E* log(V)) as E is greater than V. The correctness of this
algorithm is well be proved as the number of nodes in a graph increases the running time
of the applied algorithm will also increase gradually. Usually, a floor network of the
building has more than 10^4 nodes. A fast shortest path algorithm becomes more and
more desirable. The value obtained here is the minimum cost of movement from source
to the destination. Also, by storing the previous node in memory when marking a node, it
is possible to obtain the shortest path from source to the destination.
Figure 3.5: Comparison of the conventional Dijkstra method and the extended
Dijkstra method.
16
When conducting a path search with this extended algorithm, some time is required
if the search scope becomes too wide, because this algorithm is based on the Dijkstra
method. Therefore, if the search time or the search scope exceeds a certain value, the
search is ended at that point, and another approach in which the remaining search
region is approximated and a genetic algorithm is applied to that region is considered.
Here, due to space restrictions, we report only the simulated comparison of the
conventional Dijkstra method and the extended Dijkstra method.
17
CHAPTER 4
Implementation and Results
Image:
An image is defined as the two-dimensional figure or a function F(x,y), where x and y are
spatial coordinates od the system, and the amplitude of F at any pair of coordinates (x,y)
is called the intensity of that image at that point. When x, y and amplitude values of
the F are finite, we refer it as a digital image.
In other words, an image can be defined by a two-dimensional array specifically arranged
in rows.
Digital Image is composed of a finite number of elements, each of which elements have a
particular value at a particular location. These elements are referred to as picture elements
image elements and pixels. A Pixel is most widely used to denote the elements of a Digital
Image.
TYPES OF AN IMAGE:
BINARY IMAGE–The binary image as its name suggests, contain only two pixel
elements i.e 0 & 1,where 0 refers to black and 1 refers to white. This image is also
known as Monochrome.
BLACK AND WHITE IMAGE–The image which consist of only black and white color
is called BLACK AND WHITE IMAGE.
18
8 bit COLOR FORMAT– It is the most famous image format.It has 256 different
shades of colors in it and commonly known as Grayscale Image. In this format, 0 stands
for Black, and 255 stands for white, and 127 stands for gray.
16 bit COLOR FORMAT–It is a color image format. It has 65,536 different colors in
it.It is also known as High Color Format. In this format the distribution of color is not as
same as Grayscale image.
Image Processing is the combination of the different elements involved in the digital image
processing. Digital image processing is the processing of an image by means of a digital
computer. Digital image processing uses different computer algorithms to perform image
processing on the digital images.
Image Sensors:
Image sensors senses the intensity, amplitude, co-ordinates and other features of the
images and passes the result to the image processing hardware. It includes the problem
domain.
Image processing hardware is the dedicated hardware that is used to process the
instructions obtained from the image sensors. It passes the result to general purpose
computer.
Computer:
Computer used in the image processing system is the general purpose computer that is
used by us in our daily life.
19
Image Processing Software:
Image processing software is the software that includes all the mechanisms and
algorithms that are used in image processing system.
Mass Storage:
Mass storage stores the pixels of the images during the processing.
Once the image is processed then it is stored in the hard copy device. It can be a pen
drive or any external ROM device.
Image Display:
It includes the monitor or display screen that displays the processed images.
Network:
Network is the connection of all the above elements of the image processing system.
Image as a Matrix
As we know, images are represented in rows and columns we have the following syntax
in which images are represented.
The right side of this equation is digital image by definition. Every element of this matrix
is called image element , picture element , or pixel.
20
Figure 4.1 Components of Image Processing
21
IMAGE AS A MATRIX:
ACQUISITION–
IMAGE ENHANCEMENT–
It is amongst the simplest and most appealing in areas of Image Processing it is also used
to extract some hidden details from an image and is subjective.
IMAGE RESTORATION–
It deals with pseudocolor and full color image processing color models are applicable to
digital image processing.
IMAGE COMPRESSION-
It involves in developing some functions to perform this operation. It mainly deals with
image size or resolution.
MORPHOLOGICAL PROCESSING-
It deals with tools for extracting image components that are useful in the representation &
description of shape.
23
SEGMENTATION PROCEDURE-
Image Processing is the combination of the different elements involved in the digital image
processing. Digital image processing is the processing of an image by means of a digital
computer. Digital image processing uses different computer algorithms to perform image
processing on the digital images.The Digital Image Processing System consists of six
stages: image acquisition, pre-processing, feature extraction, associative storage, knowledge
base and recognition as shown in The first step in the process is image acquisition or
capturing of digital image. A digitized image is an image f(x,y) in which both spatial
coordinates and brightness is digitized. The elements of a digitized array are called picture
elements or pixels. The image acquisition stage is concerned with sensors that capture
images. The sensor can be a camera or a scanner. The nature of the sensor and the image it
produces are determined by the application. The pre-processing stage deals with brightness
perception as well as image restoration and reconstruction. Image restoration deals with
estimating an original image
24
OVERLAPPING FIELDS WITH IMAGE PROCESSING
According to block 1,if input is an image and we get out image as a output, then it
is termed as Digital Image Processing.
According to block 2,if input is an image and we get some kind of information or
description as a output, then it is termed as Computer Vision.
According to block 3,if input is some description or code and we get image as an
output, then it is termed as Computer Graphics.
According to block 4,if input is description or some keywords or some code and
we get description or some keywords as a output,then it is termed as Artificial
Intelligence.
25
4.2 FLUTTER:
Flutter is the open source UI software development software created by the Google. It is
used to develop all the cross platform applications for Android, iOS, Linux, macOS,
Windows, Google Fuchsia and the web from the single codebase.
The very first version of Flutter was known as "Sky" and was ran on the Android operating
system. It was unveiled at the 2015 Dart developer summing with the state intent of the being
that able to render consistently at 140 frames per second. During the keynote of the Google
Developer Days in China in September 2019, Google announced Flutter Release Preview 3,
the last major release before Flutter 1.1. On December 5th of that year, Flutter 1.1 was
released at the Flutter Live event, denoting the first stable version of the framework. On
December 12, 2019, Flutter 1.12 was released at the Flutter in an Interactive event.
On May 7, 2020, the Dart software development kit (SDK) version 2.9 and Flutter 1.17.1
all were released, adding support for the Metal API which helps in improving performance
26
on the iOS devices by approximately 51%, as well as new Material widgets and network
tracking develoment tools.
On March 4, 2021, Google then released the Flutter 2 during an online Flutter Engage event.
This major update is to be brought official support for web based applications with all the
new Canvas Kit renderer and web specific widgets, early-access desktop application support
for Windows, macOS, and Linux all were improved Add to App APIs. This release also
used the Dart 2.0 that featured sound null safety, which caused in the breaking of many
changes and issues with many external packages; however, the Flutter team included
instructions and tools to mitigate all these types of issues.
On September 9th, 2021, Dart 2.15 and Flutter 2.5 all were released by the Google. The
update brought many improvements to the Android full screen mode and the latest version
of the Google's Material Design called Material You. Dart received the two new updates,
standardizing the link conditions and marking support for Apple Silicon as stable.
Framework architecture
• Dart platform
• Flutter engine
• Foundation library
• Design-specific widgets
• Flutter Development Tools (Dev Tools)
To the underlying operating system all the Flutter applications are packed in the same way
as any other native application. It is a platform specific embedder that provides an entry
point and the exit too; coordinates with the underlying operating system for access to the
services that like rendering surfaces, accessibility, and input; and also manages the message
event loop. The embedder is written in different languages that is appropriate for the
platform: currently Java and C++ for the Android OS, Objective C Objective C++ for the
iOS and macOS, and C++ for Windows and Linux. Using the embedder, Flutter code can be
integrated into an existing application as the module, or the code may be the entire content
of the application. Flutter includes the number of embedders for common target platforms,
but other embedders also exist there.
27
Figure 4.6 Flutter tree diagram
Flutter is the cross platform UI tool kit that is designed to allow the code to reuse across all
operating systems such as iOS and Android, while also allowing applications to interface
directly with the underlying platform services. The main goal is to enable developers to
deliver high performance type apps that feel natural on different platforms, embracing
differences where they exist while sharing as much code as possible.
During the development the Flutter apps run on a VM that offers a stateful hot reload of
changes without needing a full recompile. For release of the Flutter apps that are compiled
directly to the machine code, whether it is Intel x64 or the ARM instructions, or to the
JavaScript if we all are targeting the web. The framework is open source, with a permissive
28
BSD license with it, and has a thriving ecosystem of third party packages that are supplement
the of core the library functionality.
• The layer model: The pieces from which the Flutter has been constructed.
• Reactive user interfaces: A core concept for Flutter user interface has a development.
• An introduction to widgets: The fundamental building blocks of Flutter user interfaces.
• The rendering process: How Flutter turns UI code into pixels.
• An overview of the platform embedders: The code that leads the mobile and desktop
OSes execute Flutter apps.
• Integrating Flutter with other code: Information about all the different techniques
available to the Flutter apps.
• Support for the web: Concluding remarks about the characteristics of Flutter in a
browser environment.
At the core of Flutter is only the Flutter engine, which is mostly written in C++ and java
and supports the primitives necessary to support all the Flutter applications. The engine is
responsible for compositing the scenes whenever a new frame is needs to be painted. It
provides the low level implementation of Flutter’s core API, including graphics
(through Skia), text layout, file and network I/O, accessibility that supports, plugin
architecture, and a Dart runtime and compile tool chain.
The Flutter framework is relatively small then other frameworks present; many higher level
features that developers might use are implemented as packages and are already present,
including platform plugins like camera and web view, as well as platform features
like characters, http and animations that build upon the core Dart and Flutter libraries. Some
of these packages come from the broader ecosystem, covering services like in-app
payments, Apple authentication, and animations
29
Architectural layers
30
4.3 Socket Programming
Socket program is the key skill that is needed for the communication between 2 systems for
exerting control - in this case the controller running on your laptop will connect to the server
running on the bot.
• What is a socket?
• The client-server model
• Byte order
• TCP socket API
• Concurrent server design
• Example of echo client and the iterative server
• Example of echo client and the concurrent server
1.Socket creation:
31
2. Setsockopt: This helps in manipulating all the options for the socket referred by the file
descriptor sock fd. This process is completely optional, but it helps in reusing of the
address and port. Preventing the errors such as: “address already in use”.
int setsock(int sockfd, int level, int optname, const void *optval optlen);
, while the other socket node will be reaching out to the other to form a connection. Server
will form the listener socket while client reach out for the server.
3. Bind:
After the creation of the socket, bind function will binds up the socket to the address and
the port number specifies in address(custom data structure). In an example code, we bind
the server to the localhost, hence we use INADDR_ANY to specify the IP address.
4. Listen:
It puts the server socket in the passive mode, where it will wait for the client to approach
the server to make the connection. The backlog is defining the maximum length to which
the queue of the pending connections for sockfd will grow. If a connection request arrives
when the queue is full then the client may receive an error with an indication of
ECONNREFUSED.
5. Accept:
int new socket = accept(int sock fd, struct sock addr *addr, sock len_t );
It will extract the first connection request on the queue of pending connections for the
listening socket, sock fd, creates a new connected socket, and will return a new file as the
descriptor referring to that particular socket.
32
The client-server model
The client-server model is one of the most used communication paradigms in networked
systems. Clients normally communicates with only one server at one time. From a server’s
point of view at any point in time, it is not unusual for a server to be communicating with
multiple clients.
33
State diagram for server and client model
The app was built using the flutter framework. The homepage of the app consists of a button
which is pressed to go to the scanning API of the next Page. On the first usage it asks for
permission of camera and storage. After Scanning the QR code or the Bar code the app
moves to its third and stateless final page displaying a message of location sent. The app
works as a client side in the whole project as it is connected to the server using socket
programming which sends the code to the server whatever is scanned.
On Pressing the Scan button as shown above, the app goes into the scanning state and later
goes to final page of the same.
35
Figure 4.11 Final Page of the app
This app can scan QR codes and bar codes both giving the output. The Bar codes for this
app are specially designed to provide the exact location of the scanning device according to
the map. As already stated, this app is based on flutter which uses dart language. The client-
side stream byte code is also written in dart.
The above image shows the image of the floor map with all the positions of QR codes which
displays the exact location of the QR scanned. The above image is read by a python code in
binary format.
This function returns the image back to the server and the image is displayed as for one client
only. The server program helps it to work it out for multiple threaded clients.
For example if in input image QR1 is scanned once and QR3 is scanned twice the final output
that the server will had would be like the figure below.
Thus, as we see this will also tell that how many times a particular QR is scanned by different
devices and which means how many exact people are present at the location of the QR. This
out will be remained back in the server as the server is maintained by a rescuing team so
they can see how many people are in danger and the shortest path to reach them.
41
CHAPTER 5
CONCLUSION
The dynamic network with evacuation time, evacuation paths, and intersection delays are
closely related in case of emergency situations..
Hence, in peak period there is more population flow that would lead to greater impact in
the intersection that evacuation time is longer as compared to other parts of the day. In
normal parts of the day, the intersection delay is only 134s, which is far less as compared
to 243s in morning peak and 319s in evening peak. It can be observed from the above
pictures, the influence of number of people flow to intersection is more apparent than in
the path. Pay attention to intersection factor when makes exigency evacuation plan, and
put forward a solution to the intersection to ensure emergency evacuation go smoothly.
Although the difference in degree is less than the evacuation the evacuation time of paths
have more difference at different periods. Because of the population flow being larger in
morning and evening peaks, and the interference of people is serious each other, so traffic
speed is limited which leads to a decrease in evacuation efficiency. In this study, to obtain
the floor plan of floor 13, MATLAB simulation program have been used. Three main steps
are involved in the generation of result which are Visibility Graph, 2D Building Layout
plan and Dijkstra Algorithm. The first step is converting the original layout plan into a
blueprint layout using software called Auto CAD. Second step is to bring into existence the
visibility of graph according to the matrix data of the floor plan or some blue print and the
last step is finding the shortest path using the Dijkstra Algorithm or applying its modified
version. The shortest path result can assist rescue team to choose a suitable exit route (the
route that leads to exit point in less time) to evacuate. For future advancements, one of the
aim is finding the shortest path dynamically or can be real time by considering the existence
of obstacle or hurdles and other teams information during the evacuation process. This
might involve the shortest and safest route during emergency evacuation by rescue teams.
The needs to enhance the Dijkstra Algorithm by utilizing Artificial Intelligence method
such as Ant Colony Optimization and Particle Swarm
42
Optimization will be also considered. In this paper, we address the subdivision of free space
inside buildings. Firstly we analyze indoor spatial structure and simplify 2D floor plans to
automatically obtain a navigation network.
We have proposed a shortest path search method that is an extension of the conventional
used method (the Dijkstra method) and confirmed its effectiveness by means of simulation.
The result shows us that the search time can be greatly reduced without a large effect on
the movement cost, so that a near optimum solution can be obtained very rapidly. The new
method can thus be applied to car navigation systems or real time evacuation system and
other such path search problems that require a real-time solution. Although the new method
allows us for a fast solution that is done by the conventional Dijkstra method, this method
is based on the Dijkstra method, and so problem of long search time remains a problem that
are having a broad search scope. As an issues to be addressed in future work, because
genetic algorithm are an effective means of obtaining solutions rapidly, we can expect to
achieve an even more effective method by advancing and extending the method reported
here by simulating use together with a genetic algorithm and comparison with conventional
genetic algorithms. It is also needed to be done to conduct simulations in which the results
of this work are applied to actual maps.
The approach in this paper helps us to overcome the problem of distortion or
misrepresentation of the path towards the middle of the open space especially in presence
of obstacle. Moreover, by linking the feature points with the edges which do not crosses
obstacles, the network of floor encompasses the positive aspects of a "door to door"
navigation between intervisible locations. It can also be used for the real time computation.
It takes a little time to run the approach on the small examples presented above. It should be
investigated what strategy should be applied for a huge complexes. An approach would be
to create the network only per room and construct it on the fly when needed (Liu and
Zlatanova, 2013). The approach in this paper can only be used for 2D floor map or blue
prints and path-finding. The simplification of 2D floor plan is currently done manually.
Further more research is need for fully automated simplified model. In the future work, we
will investigated description and processing of 3D indoor models, specifically semantically-
rich building models such as CityGML LoD4 and IFC.
43
Appendix A
A Research Paper written on the same topic. It constitutes the whole researches and outputs
based on the readings and is displayed below.
Path Finder
Ashutosh Swarup Srivastava Ayush Kumar Yadav
Computer Science, JSS Academy of Technical Computer Science , JSS Academy of Technical
Education Education
Noida, India Noida, India
45
shortest paths from a single node to the single
destination node by stopping the algorithm once the
III. Dijkstra’s Algorithm
shortest path to the destination node has been
determined. For example, if the vertices of the graph
Dijkstra’s algorithm, brought up by the Dutch represent edge path costs represent walking
computer scientist Edsger Dijkstra in the year distances between pairs of points connected by a
1956 and published in 1959. direct road, Dijkstra’s algorithm can be used to find
the shortest route between one point and any other
Dijkstra algorithm is recognized as the best point.
algorithm at present when all the weight number
is greater than zero. And its basic thought is the Let the node at the beginning of the path be called
process what from the start and then gradually the source node(origin node). Let the distance of
expand to outward. In the process of exploring the node X be the distance from the origin node to X.
record the path each to a point, and called label. Dijkstra’s algorithm will assign some initial
Let D = (V, A) be an n-node network where V = distance values and will try to improve all of them
{v1,v2,-----,vn} and A { (u, v) I u, v V, u v} are the step by step.
node and arc sets respectively. Let s G V be a Assign to every node a distance and its value set it
designated source node, and let A(u, v) be the weight
to zero for the origin node and to infinity for all
of arc (u, v) A. Then essentially as it appears in, the
other nodes.
modified algorithm is :
Mark all nodes as unvisited. Set initial node as
Modified Dijkstra's Algorithm (Shortest Paths) current node.
For current nodes, consider all its unvisited
neighbors and calculate their tentative distances.
For example, if current node X has distance of 6,
and an edge connecting it with another node Y has
length 2, the distance to Y through X will be 6 + 2
= 8. If this distance is less than the previously
recorded distances, overwrite the distance.
Considering all the neighbors of the current node
and marking them as visited. A visited node will not
be checked again and its distance recorded is final
and minimal.
If all nodes have been visited, stop. Otherwise, set
all the unvisited node with the smallest distance
(from the initial node, considering all nodes in the
graph) as the next “current node” and continue
from step 3.
46
possible to obtain a solution to the given
problem within a specified time. In this way,
the concentric expansion of the search region
is restricted and the number of nodes to be.
searched can be reduced.
In the following, the new algorithm, which is
an extension of the conventional Dijkstra
method, is shown in given below diagram.
Time Complexity:
The run time of the first for loop
is O(V). In each iteration of while loop, Extracting
Minimum of the heap is log(V). The inner for loop
iterate each adjacent node of the current node, the
total run time is O(E). Therefore, the time
complexity of this algorithm is O(V*log(V) +
O(E*log(V) = O(E* log(V)) as E is greater than V.
The correctness of this algorithm is well be proved
as the number of nodes in a graph increases the
running time of the applied algorithm will also Figure 4: Comparison of the conventional Dijkstra
increase gradually. Usually, a floor network of the method and the extended Dijkstra method.
building has more than 10^4 nodes. A fast shortest
path algorithm becomes more and more desirable.
The value obtained here is the minimum cost of In the following, the modified algorithm,
movement from source to the destination. Also, by which is some extension of the Dijkstra
storing the previous node in memory when marking
method, is shown.
a node, it is possible to obtain the shortest path from
source to the destination.
Step l: Calculate the movement
Modified Dijkstra Algorithm: cost for movement from the
starting point to each node
In the modified Dijkstra method, the search connected to the starting point and
generally expands in concentric manner, so for movement from the
destination to each node
many nodes are checked for each of the
connected to the destination, and
searches and the search time is also increased mark the nodes for which those
Because of this feature, this method has the values.are the smallest.
disadvantage that the solution cannot be Step 2: Mark the nodes that have
obtained in the real time if the distance from the smallest movement cost from
the source point to the destination is long. the unmarked nodes that are
Therefore, we propose a modified algorithm connected to the marked nodes to
in which the Dijkstra method is applied from either the starting point or the
destination..
both directions, which is to say beginning
from the starting and also beginning from the Step 3: Repeat Step 2 until the
destination point, and the conventional search from the starting point and
the search from the destination
algorithm is extended so as to make it overlap and then end
47
When conducting a path optimization search the Dijkstra Algorithm by utilising Artificial
with this algorithm, some time is required if Intelligence method such as Ant Colony
the search scope becomes too wide, because Optimization and Particle Swarm
this algorithm is based on the Dijkstra Optimization will be also considered. In this paper,
method. we address the subdivision of free space inside
buildings. Firstly we analyze indoor spatial
IV. Conclusion structure and simplify 2D floor plans to
automatically obtain a navigation network.
The dynamic network with evacuation time, We have proposed a shortest path search method
evacuation paths, and intersection delays are that is an extension of the conventional used
closely related in case of emergency situations.. method (the Dijkstra method) and confirmed its
Hence, in peak period there is more population effectiveness by means of simulation. The result
flow that would lead to greater impact in the shows us that the search time can be greatly
intersection that evacuation time is longer as reduced without a large effect on the movement
compared to other parts of the day. In normal parts cost, so that a near optimum solution can be
of the day, the intersection delay is only 134s, obtained very rapidly. The new method can thus be
which is far less as compared to 243s in morning applied to car navigation systems or real time
peak and 319s in evening peak. It can be observed evacuation system and other such path search
from the above pictures, the influence of number problems that require a real-time solution.
of people flow to intersection is more apparent Although the new method allows us for a fast
than in the path. Pay attention to intersection solution that is done by the conventional Dijkstra
factor when makes exigency evacuation plan, and method, this method is based on the Dijkstra
put forward a solution to the intersection to ensure method, and so problem of long search time
emergency evacuation go smoothly. remains a problem that are having a broad search
Although the difference in degree is less than the scope. As an issues to be addressed in future work,
evacuation the evacuation time of paths have more because genetic algorithm are an effective means of
difference at different periods. Because of the obtaining solutions rapidly, we can expect to
population flow being larger in morning and achieve an even more effective method by
evening peaks, and the interference of people is advancing and extending the method reported here
serious each other, so traffic speed is limited which by simulating use together with a genetic algorithm
leads to a decrease in evacuation efficiency. In this and comparison with conventional genetic
study, to obtain the floor plan of floor 13, algorithms. It is also needed to be done to conduct
MATLAB simulation program have been used. simulations in which the results of this work are
Three main steps are involved in the generation of applied to actual maps.
result which are Visibility Graph, 2D Building The approach in this paper helps us to overcome the
Layout plan and Dijkstra Algorithm. The first step problem of distortion or misrepresentation of the
is converting the original layout plan into a path towards the middle of the open space especially
blueprint layout using software called Auto CAD. in presence of obstacle. Moreover, by linking the
Second step is to bring into existence the visibility feature points with the edges which do not crosses
of graph according to the matrix data of the floor obstacles, the network of floor encompasses the
plan or some blue print and the last step is finding positive aspects of a "door to door" navigation
the shortest path using the Dijkstra Algorithm or between intervisible locations. It can also be used for
applying its modified version. The shortest path the real time computation. It takes a little time to run
result can assist rescue team to choose a suitable the approach on the small examples presented above.
exit route (the route that leads to exit point in less It should be investigated what strategy should be
time) to evacuate. For future advancements, one of applied for a huge complexes. An approach would
the aim is finding the shortest path dynamically or be to create the network only per room and construct
can be real time by considering the existence of it on the fly when needed (Liu and Zlatanova, 2013).
obstacle or hurdles and other teams information The approach in this paper can only be used for 2D
during the evacuation process. This might involve floor map or blue prints and path-finding. The
the shortest and safest route during emergency simplification of 2D floor plan is currently done
evacuation by rescue teams. The needs to enhance
48
manually. Further more research is need for fully 13.I. Chamodrakas, I. Leftheriotis, D. Martakos, In-
automated simplified model. In the future work, we depth analysis and simulation study of an innovative
will investigated description and processing of 3D fuzzy approach for ranking alternatives in
indoor models, specifically semantically-rich multiple attribute decision making
building models such as CityGML LoD4 and IFC. problems based on topsis, Applied Soft Computing
Journal 11 (2011) 900–907.
14.X. Pan, H. Wang, W. Chang, A fuzzy
V References synthetic evaluation method for failure risk of
aviation product R&D project, in: 5th IEEE
1. https://docs.python.org/3/library/intro.html - for International Conference on Management of
the learning of the basics of Python language. Innovation and Technology, ICMIT, 2010, pp.
2.https://docs.opencv.org/4.x/d4/d13/tutorial_py_ 1106– 1111.
f iltering.html - for learning how to finalize and 15, M Xu, Y Liu, Q. Huang, G. Luan, An
smoothen the image for image processing. improved Dijkstra’s shortest path algorithm for
3.“Dijkstra's algorithm,” GeeksforGeeks. sparse network, in: Applied Mathematics and
[Online]. Available: Computation 2007, (185) ,pp.247ˀ254.
http://www.geeksforgeeks.org/greedyalgorithms- 16. Byung-In Kim, Sangwon Jeong. A
set-6-dijkstras-shortest-pathalgorithm. comparison of algorithms\ for origin destination
4.Feng, L. U. (2001). Shortest Path Algorithms: matrix generation on road networks and an
Taxonomy and Advance in Research [J]. Acta approximation approach.in: Computers &
Geodaetica Et Cartographic Sinica, 3, 020. Industrial Engineering, 2009, (56), pp.70ˀ76.
5.Krivoshein D Y, Marchenko A M. Algorithms 17. Sheffi Y, Mahmassni H, Powell W B.
for dynamic all-pairs shortest path Evacuation study for nuclear power plant sites:
problem[C]//Problems of Perspective 6.Micro- A new challenge for transportation engineering.
and In: ITE Journal, 1981, 35(6): pp.2528–2535.
Nanoelectronic Systems Development-2012
18. Kim C. Comparison of traffic assignment in
(ÌÝÑ-
evacuation modeling. In: IEEE Transaction on
2012). 2012: 263-266
Engineering Management, 1998, 45(2):pp 192–198.
7.M. Xu, Y. Liu, Q. Huang, Y. Zhang, G. Luan,
19. Ziliaskopoulos A. Tabu based heuristic
An improved Dijkstra shortest path algorithm for
sparse network, Applied Mathematics and approach for optimization of network path
Computation 185 (2007) 247–254. evacuation contraflow. Transportation Research
8.R. Sadiq, S. Tesfamariam, Developing Record 1964, 2006, pp.157–168.
environmental using fuzzy numbers ordered 20. U. Meyer, Single source shortest path on
weighted averaging (FN-OWA) operators, arbitrary directed graph in linear average time, in:
Stochastic Environmental Research and Risk Proc. 12th Symposium on Discrete Algorithms
Assessment 22 (2008) 495–505. (SODA), 2001, pp. 797ˀ806.
9.D. Dubois, H. Prade, Fuzzy Sets and Systems: 21. U. Lauther, An extremely fast and exact
Theory andApplications,Academic Press, New algorithm for finding shortest paths in static
York, 1980. networks with geographical background, in:
10.C. Lin, M.S. Chern, The fuzzy shortest path Münster, ISBN 3-936616-22-1, 2004, pp. 219ˀ230.
problem and its most vital arcs, Fuzzy Sets and 22. U. S R. Murty, Graph Theory with Applications,
Systems 58 (1993) 343–353. Elsevier North—Holland, 1976.
11.C.C. Chou, An integrated quantitative and 23. Mataso Nato A Method for the Shortest Path
Search by Extended Dijkstra Algorithm.
qualitative fmcdm model for location choices,
24. D. E. Goldberg, Genetic Algorithms in Search,
Soft Computing 14 (2010) 757–771.
Optimization, and Machine Learning, Addison
12.C.C. Chou, A fuzzy backorder inventory model Wesley, 1989.
and application to determining the optimal empty-
container quantity at a port, International Journal
of Innovative Computing, Information and
Control 5 (2009) 4825–4834.
49
References
1. Paper 1- An Investigation of Dijkstra and Floyd Algorithms in National City Traffic
Advisory Procedures- by Arun Kumar Sangaiah1 , Minghao Han2 , Suzi Zhang in IJCSMC,
Vol.
3,Issue.2,February2014,pg.124https://ijcsmc.com/docs/papers/February2014/V3I2201442.
pdf
2. Paper 2-Autonomous Maze Solving Robotics: Algorithms and Systems- by Shatha Alamri
, Shuruq Alshehri , Wejdan Alshehri , Hadeel Alamri , Ahad Alaklabi , and Tareq A lhmiedat
Facultyof Computers & Information Technology, University of Tabuk, Tabuk, Saudi Arabia
Industrial Innovation & Robotics Center, University of Tabuk, Tabuk, Saudi Arabia-
https://www.researchgate.net/publication/316664613_AUTONOMOUS_MAZE_SOLVIN
G_ROBOT
3.Paper 3-Intelligent Maze Solving Robot Based on Image Processing and Graph Theory
Algorithms by M. Aqel, Ahmed Issa, M. Khdair, Majde El Habbash, Mohammed Abubaker,
Mohammed Massoud 2017 International Conference on Promising Electronic Technologies
(ICPET) At:
DeirElBalah,Palestinehttps://www.researchgate.net/publication/321121617_Intelligent_Ma
ze_Solving_Robot_Based_on_Image_Processing_and_Graph_Theory_Algorithms
4. Paper 4-Autonomously Solving Mazes with Robots by Ishan Arya , Fiona Gillespie,
Sohum Kapoor , Karan Mahesh, Karan Daniella, Jacob Battipaglia New Jersey Governor’s
School of Engineering and Technology 21 July 20177.M. Xu, Y. Liu, Q. Huang, Y. Zhang,
G. Luan, An improved Dijkstra shortest path algorithm for sparse network, Applied
MathematicsandComputation1852007::https://soe.rutgers.edu/sites/default/files/imce/gov2
017/Autonomously%20Solving%20Mazes%20with%20Robots.pdf
50
6.Paper 6- A Method for the Shortest Path Search by Extended Dijkstra Algorithm Smc 2000
conference proceedings. 2000 IEEE international conference on systems, man and
cybernetics. 'cybernetics evolving to systems, humans, organizations, and their complex
interactions' -: https://ieeexplore.ieee.org/document/886462
7.Paper 7- Path Optimization Study for Vehicles Evacuation Based on Dijkstra algorithm
2014 Published by Elsevier Ltd. Open access under CC BY-NC-ND license. Peer-review
under responsibility of School of Engineering of Sun Yat-Sun University :-
https://pdf.sciencedirectassets.com/278653/1-s2.0-S1877705814X00044/1-s2.0-
S187770581400441X/main.pdf
8. Paper 8-Fuzzy Dijkstra algorithm for shortest path problem under uncertain environment
School of Computer and Information Sciences, Southwest University, Chongqing 400715,
China ,School of Electronics and Information Technology, Shanghai Jiao Tong University,
Shanghai 200240, China Applied Soft Computing Volume 12, Issue 3, March 2012,
https://www.researchgate.net/publication/220199602_Fuzzy_Dijkstra_algorithm_for_short
est_path_problem_under_uncertain_environment
9. Paper 9- Mohammad O.A.Aqel, Ahmed Issa, Majde Elhabbash ”Intelligent maze solving
robot based on image processing and graph theory algorithms”, 2017, International
ConferenceonPromisingElectronicTechnologies::https://ieeexplore.ieee.org/document/810
9037
10. Paper 10-Akib Islam ,Farogh Ahmad ,P.Sathya “Shortest distance path maze solving
robot” ,2016, International Journal of Research in Engineering and Technology -:
https://scholar.google.co.in/scholar?q=Akib+Islam+,Farogh+Ahmad+,P.Sathya+Shortest+
distance+path+maze+solving+robot+,2016&hl=en&as_sdt=0&as_vis=1&oi=scholart
11.C.C. Chou, An integrated quantitative and qualitative fmcdm model for location choices,
Soft Computing 14 (2010) 757–771.
12.C.C. Chou, A fuzzy backorder inventory model and application to determining the
optimal empty-container quantity at a port, International Journal of Innovative Computing,
Information and Control 5 (2009) 4825–4834.
51
13.I. Chamodrakas, I. Leftheriotis, D. Martakos, In-depth analysis and simulation study of
an innovative fuzzy approach for ranking alternatives in multiple attribute decision making
problems based on topsis, Applied Soft Computing Journal 11 (2011) 900–907.
14.X. Pan, H. Wang, W. Chang, A fuzzy synthetic evaluation method for failure risk of
aviation product R&D project, in: 5th IEEE International Conference on Management of
Innovation and Technology, ICMIT, 2010, pp. 1106– 1111.
15, M Xu, Y Liu, Q. Huang, G. Luan, An improved Dijkstra’s shortest path algorithm for
sparse network, in: Applied Mathematics and Computation 2007, (185) ,pp.247ˀ254.
16. Byung-In Kim, Sangwon Jeong. A comparison of algorithms\ for origin destination
matrix generation on road networks and an approximation approach.in: Computers &
Industrial Engineering, 2009, (56), pp.70ˀ76.
17. Sheffi Y, Mahmassni H, Powell W B. Evacuation study for nuclear power plant sites: A
new challenge for transportation engineering. In: ITE Journal, 1981, 35(6): pp.2528–2535.
18. Kim C. Comparison of traffic assignment in evacuation modeling. In: IEEE Transaction
on Engineering Management, 1998, 45(2):pp 192–198.
19. Ziliaskopoulos A. Tabu based heuristic approach for optimization of network path
evacuation contraflow. Transportation Research Record 1964, 2006, pp.157–168.
20. U. Meyer, Single source shortest path on arbitrary directed graph in linear average time,
in: Proc. 12th Symposium on Discrete Algorithms (SODA), 2001, pp. 797ˀ806.
52