0% found this document useful (0 votes)
46 views65 pages

Path Finder Report

The document describes a project on developing a path finder tool. It includes details about the vision, mission and objectives of the computer science department. The tool will help rescue teams in evacuating injured people from danger areas like during earthquakes or fires to safer areas by finding best paths.

Uploaded by

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

Path Finder Report

The document describes a project on developing a path finder tool. It includes details about the vision, mission and objectives of the computer science department. The tool will help rescue teams in evacuating injured people from danger areas like during earthquakes or fires to safer areas by finding best paths.

Uploaded by

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

PATH FINDER

by

Abhishek Singh(1809110011)

Anadi Sharma(1809110029)

Ashutosh Swarup Srivastava(1809110047)

Ayush Kumar Yadav(1809110051)

Department of Computer Science and Engineering

J.S.S. ACADEMY OF TECHNICAL EDUCATION

C-20/1, SECTOR-62, NOIDA-201301

2021-2022
PATH FINDER

by

Abhishek Singh(1809110011)

Anadi Sharma(1809110029)

Ashutosh Swarup Srivastava(1809110047)

Ayush Kumar Yadav(1809110051)

Submitted to the Department of Computer Science and Engineering

in partial fulfillment of the requirements

for the degree of

Bachelor of Technology

in

Computer Science

J.S.S. ACADEMY OF TECHNICAL EDUCATION

Dr. A.P.J Abdul Kalam Technical University, Uttar Pradesh, Lucknow

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 OF THE DEPARTMENT:

Mission 1: To inculcate creative thinking and problem-solving skills through effective


teaching, learning and research.

Mission 2: To empower professionals with core competency in the field of Computer


Science and Engineering.

Mission 3: To foster independent and life-long learning with ethical and social
responsibilities.

PROGRAMME EDUCATIONAL OBJECTIVES:

PEO1: To empower students with effective computational and problem-solving skills.

PEO2: To enable students with core skills for employment and entrepreneurship.

PEO3: To imbibe students with ethical values and leadership qualities.

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:

PSO1: An ability to apply foundation of Computer Science and Engineering, algorithmic


principles and theory in designing and modelling computation-based systems.

PSO2: The ability to demonstrate software development skills.


COURSE OUTCOMES
C 410.1 Identify, formulate, design and analyze a research-based/web-based problem to
address societal and environmental issues.

C 410.2 Communicate effectively in verbal and written form.

C 410.3 Apply appropriate computing, engineering principle and management skills for
obtaining effective solution to the formulated problem within a stipulated time.

C 410.4 Work effectively as a part of team in multi-disciplinary areas.

C 410.5 Consolidate the final outcome in the form of a publication.

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

Name : Abhishek Singh

Roll No.: 1809110011

Date :

Signature: Anadi

Name : Anadi Sharma

Roll No.: 1809110029

Date :

Signature: Ashutosh

Name : Ashutosh Swarup Srivastava

Roll No.: 1809110047

Date :

Signature: Ayush

Name : Ayush Kumar Yadav

Roll No.: 1809110051

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.

Supervisor: Dr. Rachna Jain

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

Name : Abhishek Singh

Roll No.: 1809110011

Date :

Signature: Anadi

Name : Anadi Sharma

Roll No.: 1809110029

Date :

Signature: Ashutosh

Name : Ashutosh Swarup Srivastava

Roll No.: 1809110047

Date :

Signature: Ayush

Name : Ayush Kumar Yadav

Roll No.: 1809110051

Date :
ABSTRACT

Exigency events, similar as earthquakes, hurricanes, fires, chemical accidents, nuclear


accidents, terror attacks and other events may lead to the injured or jeopardize of the life
and the health of beings and the large scale crowds may have to void from that area to a
safer area by our rescue teams.

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

PROGRAMME EDUCATIONAL OBJECTIVES iii

PROGRAM OUTCOMES iv

PROGRAM SPECFIC OUTCOMES v

COURSE OUTCOMES vi

CO-PO-PSO MAPPING vii

DECLARATION ................................................................................................... ix

CERTIFICATE ..................................................................................................... x

ACKNOWLEDGEMENTS .................................................................................. xi

ABSTRACT ........................................................................................................... xii

LIST OF TABLES.................................................................................................. xiii

LIST OF FIGURES................................................................................................ xiv

LIST OF ABBREVIATIONS ................................................................................ xv

CHAPTER 1

1.1. Introduction............................................................................................ 1

CHAPTER 2 Literary Survey…………………………................................................ 3

2.1. Paper 1…............................................................................................... 3

2.2. Paper 2.................................................................................................... 4

2.3. Paper 3…............................................................................................... 4

2.4. Paper 4.................................................................................................... 5

2.5. Paper 5…............................................................................................... 6

2.6 Paper 6.................................................................................................... 6

2.7. Paper 7…............................................................................................... 7

2.8. Paper 8.................................................................................................... 8


2.9. Paper 9…............................................................................................... 9

2.10. Paper 10............................................................................................... 9

CHAPTER 3 Methodology…………………….......................................................... 11

3.1. Dijkstra Algorithm................................................................................. 11

3.2. Modified Dijkstra Algorithm................................................................ 14

CHAPTER 4 Implementation and Result.................................................................... 18

4.1 Image Processing……………………………………………………… 18

4.2 Flutter…………………………………………………………………. 26

4.3 Socket Programming…………………………………………………. 31

4.4 Practical Implementation………………………………………...……. 35

CHAPTER 5 Conclusion……………………………………………………………. 42

APPENDIX A ............................................................................................................ 44

REFERENCES... ....................................................................................................... 50
LIST OF FIGURES

Figure Number Figure Name Page no.

3.1 Dijkstra Algorithm 12


3.2 Dijkstra node links 13

3.3 Route diagram 14


3.4 Modified Dijkstra Algorithm 15
3.5 Comparison of the conventional Dijkstra method and the 16
extended Dijkstra method.
4.1 Components of Image Processing 21
4.2 Representation of image as a matrix 22

4.3 digital image representation 22


4.4 Image Processing block diagram 24
4.5 Flutter Logo 26
4.6 Flutter tree diagram 28
4.7 Architectural Layer of flutter 30
4.8 Client server model 33
4.9 State diagram of client server model 34
4.10 Homepage of the app 35
4.11 Final Page of the app 36
4.12 Socket in Dart App 36
4.13 Server-side socket Programming 37
4.14 Input Map with QR placement 38
4.15 Image Reading 38
4.16 Dijkstra Applied 39
4.17 Highlighting the shortest Path in the image 40
4.18 Output for One client 40
4.19 Final Output 41
LIST OF ABBREVIATIONS

Fig. Figure

TC Time Complexity

Alg. Algorithm

FWA Framework Architecture

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

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, February 2014, pg.124 – 138

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.

Paper 5: Path-finding by Image Processing in Agricultural Field Operations, John B. Gerrish


SAE Transactions Vol. 95, Section 5 (1986), pp. 540-554 (15 pages)Published By: SAE
International

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

3.1 Dijkstra Algorithm:

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:

Figure 3.1: Dijkstra Algorithm

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.

Figure 3.2. Dijkstra node links

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.

Figure 3.3: Route diagram


14
The algorithm is shown below:

Figure 3.4: Modified Dijkstra Algorithm


15
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.

Comparison between Dijkstra algorithm and modified Dijkstra algorithm:

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

4.1 Image Processing:


Image processing mainly include the following steps:
1.Importing the image via different types of the image acquisition tools.
2.Analyzing and manipulating ant type of the image by various means.
3.Output in which result can be able to alter the image or a report which is based on
analyzing that image.

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.

It consist of following components:

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:

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.

Hard Copy Device:

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.

In MATLAB the start index is from 1 instead of 0. Therefore, f(1,1) = f(0,0).


henceforth the two representation of image are identical, except for the shift in origin.
In MATLAB, matrices are stored in a variable i.e X,x,input_image , and so on. The
variables must be a letter as same as other programming languages.

20
Figure 4.1 Components of Image Processing

21
IMAGE AS A MATRIX:

Figure 4.2 Representation of image as a matrix

DIGITAL IMAGE REPRESENTATION IN MATLAB:

Figure 4.3 digital image representation


22
PHASES OF IMAGE PROCESSING:

ACQUISITION–

It could be as simple as being given an image which is in digital form.

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 also deals with appealing of an image but it is objective(Restoration is based on


mathematical or probabilistic model or image degradation).

COLOR IMAGE PROCESSING–

It deals with pseudocolor and full color image processing color models are applicable to
digital image processing.

WAVELETS AND MULTI-RESOLUTION PROCESSING–

It is foundation of representing images in various degrees.

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-

It includes partitioning an image into its constituent parts or objects. Autonomous


segmentation is the most difficult task in Image Processing.

REPRESENTATION & DESCRIPTION-

It follows output of segmentation stage, choosing a representation is only the part of


solution for transforming raw data into processed data.

OBJECT DETECTION AND RECOGNITION-

It is a process that assigns a label to an object based on its descriptor.

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

Figure 4.4 Image Processing block diagram

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:

Figure 4.5 Flutter Logo

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

The major components of Flutter are:

• 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 architectural overview

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.

This overview is divided into a number of different sections:

• 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

Figure 4.7 Architectural Layer of flutter

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.

We plan to learn the following from these following points:

• 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

Socket programming is the way of connecting two nodes of a network to communicate


with each other. One socket will be listening on the particular port of an IP, 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.

1.Socket creation:

int sockfd = socket(domain, type, protocol)

sockfd: socket descriptor is an integer.


domain: integer that specifies communication domains. We use AF_ LOCAL as defined
as the POSIX standard for communication between processes of the same as the host. For
communicating between all the processes on the different hosts connected by IPV4, we
use AF_I NET 5 and AF_I NET 6 for all the processes connected by IPV6.
type: communicationtypeSOCK_STREAMTCP(reliable,connectionoriented)SOCK_DG
RAM UDP(unreliable, connectionless)
protocol: Protocol value for the Internet Protocol(IP), which is 0. This is the same number
that appears on protocol field of the IP header of a packet (man protocols for more details)

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:

int bind (int sockfd, const struct , socklen_t addrlen);

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:

int listen (int sockfd, int backlog);

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.

Figure 4.8 Client server model

33
State diagram for server and client model

Figure 4.9 State diagram of client server model


34
4.4 Practical Implementation of the Project

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.

Figure 4.10 Homepage of the app

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.

Figure 4.12 Socket in Dart App


36
The server side of the project is basically the processing part and backend of the
programming. First the server file is written in python language and works on the basics of
Socket programming. The Server starts and wait for the device connected to send them the
specific QR code scanned details. As soon as the details are received the server waits for
another thread to work for the other clients connected to it.

Figure 4.13 Server-side socket Programming


37
The processing part of the project comes into action after this process. The processing part
consists of Image Processing and Dijkstra algorithm part. The basic input is needed to the
program which is a floor map i.e. an image which is a black and white image of a maze map.

Figure 4.14 Input Map with QR placement

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.

Figure 4.15 Image Reading


38
The image is read and the passed to follow the written Dijkstra alogorithm.

Figure 4.16 Dijkstra Applied


39
The Dijkstra applied on the binary converted image is in the form of array. The shortest path
from the position to the end is given in the form of array. The array is then converted into
the highlighted path in the input image.

Figure 4.17 Highlighting the shortest Path in the image

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.

Figure 4.18 Output for One client


40
The output returned to server is for single client from a single starting point. The server
maintains the client requests in a waiting list and carries out it in a loop to work it out for
each and every client. Every time a changed image is passed and the image shortest path is
highlighted.

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.

Figure 4.19 Final Output

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

Abhishek Singh Anadi Sharma


Computer Science , JSS Academy of Technical Computer Science, JSS Academy of Technical
Education Education
Noida, India Noida, India

Abstract—Exigency events, similar as Keywords—Dijkstra algorithm ,emergency


earthquakes, hurricanes, fires, chemical event, evacuation path optimization
accidents, nuclear accidents, terror attacks and
other events may lead to the injured or I. INTRODUCTION
jeopardize of the life and the health of beings and The rescue management of natural disaster or some
the large scale crowds may have to void from that man made critical situation we need some urgent
area to a safer area by our rescue teams. In this decision for extracting the affected people. The
paper, through observing the blue print map of shortest path finding problem is a problem of finding
the building and analyzing all the different exit the shortest path or route from a starting point to
evacuation cases and the bumps, corners a final destination. Generally, to represent the
detention and haste of vehicles evacuation in the shortest path problem we use maps or can be
depicted as a graph. A graph is a mathematical
morning peak, common and evening peak. A
abstract model, which contains sets of vertices and
dynamic blue print model is created for mortal
edges. This design is basically supports the shortest
beings evacuation grounded on Dijkstra
path algorithm concerned to as “Dijkstra’s
algorithm. In this paper we have a general
algorithm”. The programming of this design was
algorithm for exploring and working any kind of done by us and thus the design was also collected by
line maze with another simple maze without us. Moving on to the small print of this design
circles or with circles having two branches none principally this design i.e., “ Path Finder”, accepts a
of which are inward or outward. For the general picture input and provides the stressed path within
algorithm, we need a system to analyze the whole the image through which one can reach from launch
floor map, which is needed if the maze is line to finish point within the shortest way.
complex. The given floor map environment is Frequent incidents or emergency situation have
grounded on the match system also and after caused great detriment to the society. We need
analyzing to the whole floor map with as a graph exigency void the large populations from the
process in optimal Proximity list representation incident area to a safe area when emergency
system the shortest path and also the least time happens, so it will cause the civic business traffic
taking path was uprooted using the Dijkstra's and indeed the system. Thus, it has come an
algorithm. The best working evacuation way is important issue of public safety field that how to use
given in three distinct cases. The attained issues fastest speed void the crowd to safe area after the
give well accurate predicting what will happen in incident happen. In the exigency evacuation, it is
the future system and theoretical base for necessary to give the shortest path from a specified
optimal exit evacuation path selection and exit origin point to other destination point and use the
deliverance decision in public places, especially shortest time in the whole evacuation process. One
for those with high population density. So it of the most usual style to break the shortest path
seems unreal or imaginary for us to manage with problem is the Dijkstra algorithm. Path selection of
exigency situation or to help and alleviate the smallest path or the best and optimal path
disasters from the extremity events 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
44
algorithms, hierarchical hunt algorithm, Therefore, transform multi source network problem
inheritable algorithm and the shortest path of more than one start point Si and end point Dj to
algorithm grounded on neural network, and so on. network problem of single start s and end d by use
Voorhe set al. have proposed some other models the method of add virtual nodes.
and put them into practice under different
Build the model system represented by G=(V, E, L,
emergency conditions for estimating evacuation
J, s, d) including set V= {I | I = 1, 2,…, n} as the
time in statistical total system. It takes a
network intersection set, E= { ( I , j )̮ I , j = 1 , 2
considerable quantum of calculation for
,…, n} as the network path set, L= { Lij | i , j =1,
calculating the operating characteristics of
2,…, n} as the floor path impedance set and J= { Ji
individual. Colorful ways have been proposed for
| i =1, 2,…, n} as the floor path impedance set of
speeding up Dijkstra’s original marker procedure.
intersection. In addition, set s as a start point and d
For undirected graphs a direct handling time can
as the destination point. In the equation, set F= {fi,
be achieved by integral lengths or on average in a
j = 1 , 2 ,…, n} as the flow of path(i, j), fij(tj) as the
randomized setting. For numerous cases that arise
flow of the node i to k and by j, D= { dij̮ , j = 1 , 2
in practice, the graphs will have some
,…, n} as the length of path (i, j), C= {cij̮ , j = 1 , 2
underpinning geometric structure which can also
,…, n} as the traffic capacity of path(i, j), cij(tj) as
be exploited to speed up the shortest path for
the traffic capacity of the node from i to k and by j,
calculations. James B. Orlin proposed an effective
O= {Oij(ti)̮i , j = 1 , 2 ,…, n} as the of rescue team
system for enforcing Dijkstra algorithm for the
working from the leave time ti in path (i, j), and so
Single Source Shortest Path Problem in a graph
on.
whose edges is having positive length, and where
there are many distinct edge lengths. Recent
papers, for instance, presents the modified
The model is formulated as:
algorithm with the claim that it runs in O(n) steps,
where n is the number of nodes in the network, Recursive formulas:
This assumption comes to false. The number of
fun(U, v) = length of shortest path to v that only
steps can also be exponential. While this error
does not affect the main result of the paper, it is goes via vertices in U,
important to notice that the modified Dijkstra for each vertex v ∈ V \ U.
algorithm can be a poor choice in general case,
although it runs in O(n 2) steps (as does the = minimum {c(u, v) + du}
original) when there are no arcs of negative U ← U ∪ arg. \U {fun(U, v)} .
weights or no weights. Of course, algorithms are
known which run in O(n ) steps on general
networks, but they are not O(n 2) when arcs of
negative weight are forbidden. Floyd's algorithm
is an example.

II. Model Formulation


Using rescue team for evacuating crowds from
source Si to destination Di by the guidance of path
network when in the exigency event. Floor map
relate to path impedance Li and intersection
impedance Ji. Assigned each of the Ai to correspond
an evacuation path, and the evacuation time is ti.
The construction of the model is to look for the
optimal evacuation path, which is a vector set to
minimize the time taken by rescue team to reach the
destination point.
The floor map can be multi source as the sources are
those points where the QR codes are present.

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.

The algorithm is shown below:


Step0: Mark the starting point,.
Step1: Calculate the movement cost for movement
from the starting point of each node connected to the
starting point, and mark the node for which that
value is the smallest.
Step2: Calculate the movement cost for movement
between the starting point and each node connected
to the marked node and mark the node for which that
Figure 2. Dijkstra node links
value is the smallest.
Step3: Repeat Step 2 until the destination is marked.
For a given source vertex in the graph, the The value obtained here is the minimum cost, of
algorithm finds the path with lowest cost (that is the movement to the destination. Also, by storing the
shortest path) between that vertex and every other previous node in memory when marking a node, it is
vertex. It can also be used for finding cost of the possible to obtain the shortest path to the destination.

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.

Figure 3: Route 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

5. Paper 5-Path-finding by Image Processing in Agricultural Field Operations, John B.


Gerrish SAE Transactions Vol. 95, Section 5 (1986), pp. 540-554 (15 pages)Published By:
SAE International -: https://www.jstor.org/stable/44470965

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

You might also like