SlideShare a Scribd company logo
Presentation on prolog :
    Dijkstra’s Algorithm
A graph is defined as a set
of nodes and a set of edges, where
each edge is a pair of nodes.
There are several ways to
represent graphs in Prolog.
 One method is to represent each edge separately as one
 clause (fact).
                  • edge(1, 5). edge(1, 7). edge(2, 1). edge(2, 7). edge(3, 1). edge(3, 6).
                    edge(4, 3). edge(4, 5). edge(5, 8). edge(6, 4). edge(6, 5). edge(7, 5).
                    edge(8, 6). edge(8, 7).



                                    We call this edge-clause form
                        W
 Another method is to represent the whole graph as one
 data object. According to the definition of the graph as
 a pair of two sets (nodes and edges).
   EXAMPLE :
        graph([b,c,d,f,g,h,k],[e(b,c),e(b,f),e(c,f),e(f,k),e(g,h)]) .



   We call this graph-term form. Note, that the lists are
    kept sorted, they are really sets, without duplicated
    elements. Each edge appears only once in the edge list.

   The graph-term form is a default representation
 A third representation method is to associate with
 each node the set of nodes that are adjacent to that
 node .

 EXAMPLE:
          [n(b,[c,f]), n(c,[b,f]), n(d,[]), n(f,[b,c,k]), .........].
      
Directed graphs
  These are represented by ordered pairs
  To represent a directed graph, the forms discussed
  above are slightly modified. The example graph is
  represented as follows:
    When the edges are directed we call them arcs
         Arc-clause form
     

                 arc(s,u).
                 arc(u,r).
         Graph-term form
     
                 digraph([r,s,t,u,v],[a(s,r),a(s,u),a(u,r),a(u,s),a(v,u)])
         Adjacency-list form
     

                 [n(r,[]),n(s,[r,u]),n(t,[]),n(u,[r]),n(v,[u])]
Dijkstra
 Dijkstra's algorithm, introduced by the dutch
  computer scientist , is a graph searching algorithm.

 Dijkstra’s algorithm is used to solve the problems of
  finding the shortest path between edge - weighted
  graphs in which all the weights are non-negative.
Basic features of
Dijkstra's algorithm
 For a given source vertices it finds the lowest cost(i.e.
  The shortest path) for every other vertices .

 It can also be used to find the lowest cost for a
  particular destination by the stopping the algorithm in
  between.

 For example:- If the vertices represents the cities and
  the edge path cost represents the distance between
  pair cities then dijkstra’s can be used to find the
  shortest route between one city and all other.
An example of
    Dijkstra’s Algorithm
Dijkstra’s Algorithm can be applied to
   network routing, as it can be used to find
the shortest path from any source computer
      to any other computer in the network .
Basic steps towards the algorithm
 The algorithm begins by initializing any vertex in the graph
 (vertex A, for example) a permanent label with the value of
 0, and all other vertices a temporary label with the value of
 0.
Basic steps towards
 The algorithm then proceeds to select the least cost edge
 connecting a vertex with a permanent label (currently vertex
 A) to a vertex with a temporary label (vertex B, for
 example). Vertex B's label is then updated from a temporary
 to a permanent label. Vertex B's value is then determined by
 the addition of the cost of the edge with vertex A's value
Basic steps towards

 The next step is to find the next least cost edge
  extending to a vertex with a temporary label from
  either vertex A or vertex B (vertex C, for
  example), change vertex C's label to permanent, and
  determine its distance to vertex A.
Basic steps towards
This process is repeated until the labels of all vertices in the
graph are permanent.
Start


                     Identify source node and
                   destination node as V1 and V2


                          Set V1 as T-node



   Set T-node’s label to “permanent” and update
   neighbor's status record set


        Identify the tentative node linked to V1 that has the
        lowest weight and set it as T-node


                           Is T-Node is
                                V2?                             END

Based on information in status record set, do these until u
reach V1. The string of link represents the best route
dijkstra(Graph,MinDist,[],MinDist).
                      dijkstra(Graph,Closed,Open,MinDist):-
                               min(Open,V-D,ReducedOpen),
                           adjacent(Graph,V,AdjacentNodes),
                  diff(AdjacentNodes,Closed,PrunedNodes),
           addDist(PrunedNodes,D,UpdatedPrunedNodes),
nodeMerge(UpdatedPrunedNodes,ReducedOpen,NextOpen),
          dijkstra(Graph,[V-D|Closed],NextOpen,MinDist).
Rules which are used above in the
pesudo code
  min(L,Min,Rest):-
   The method min above takes a list L and puts the smallest
   value in the MIN with the smallest value in L and Rest with
   a list containing all values in L excluding Min.
  adjacent(Graph,Node,Adj) which is true if Adj is a list of all
   nodes reachable from the node Node in one hop in Graph.
   Node is of the form of a single graph vertex label (i.e. the
   minimum cost is not included), Adj should be a list of
   node-cost pairs.
  For example, given the query adjacent([a-b-1,a-c-2,b-a-4,b-
   c-1],a,A) Prolog should return A = [b-1,c-2]
Rules which are used above in the
pesudo code


  diff(L,M,N) takes a list L and a list M and unifies N
   with a list containing all items in L which are not in M.
   The list L is assumed to contain no duplicate elements.

  addDist(Nodes, D, NewNodes) which is true if
   NewNodes is a list containing all the nodes in Nodes
   with their edge cost incremented by D.
Rules which are used above in the
pesudo code
  nodeMerge(A,B,C) which merge lists A and B together
  and unifies the result in C. Lists A, B and C contain no
  duplicate elements: i.e. within the each list there is no
  pair of nodes V1,V2 such that V1=V2.
In today’s world, networking plays an important role in
                         communication between autonomous
     computers. For this many hardware devices and software
                         algorithms have been designed. So far,
  the traditional system used for the communication were the
                              hub networking system and many
other hardware applications present in the market, but as they
                               operate on electricity, it may lead
    to the failure of device due to some malfunctioning in the
          hardware circuitry. Dijkstra Algorithm provides easy
                    understandability and hence its chances of
                                             failure is negligible.
References
http://students.ceid.upatras.gr/~papagel/project/kef5_7_1.htm

 http://www.animal.ahrgr.de/showAnimationDetails.php3?lang=en&anim=
    16

 http://www.cs.sunysb.edu/~skiena/combinatorica/animations/dijkstra.ht
    ml

 http://www.ibiblio.org/links/devmodules/graph_networking/xhtml/page13
    .xml

 Survivable networks: algorithms for diverse routing By Ramesh Bhandari
    Edition: illustrated Published by Springer, 1999 ISBN page 22

More Related Content

What's hot

Prim's algorithm
Prim's algorithmPrim's algorithm
Prim's algorithm
Pankaj Thakur
 
Bellman Ford's Algorithm
Bellman Ford's AlgorithmBellman Ford's Algorithm
Bellman Ford's Algorithm
Tanmay Baranwal
 
Bellman ford Algorithm
Bellman ford AlgorithmBellman ford Algorithm
Bellman ford Algorithmtaimurkhan803
 
Dijkstra's algorithm presentation
Dijkstra's algorithm presentationDijkstra's algorithm presentation
Dijkstra's algorithm presentation
Subid Biswas
 
Graph in data structure
Graph in data structureGraph in data structure
Graph in data structure
Abrish06
 
GRAPH APPLICATION - MINIMUM SPANNING TREE (MST)
GRAPH APPLICATION - MINIMUM SPANNING TREE (MST)GRAPH APPLICATION - MINIMUM SPANNING TREE (MST)
GRAPH APPLICATION - MINIMUM SPANNING TREE (MST)
Madhu Bala
 
Graphs In Data Structure
Graphs In Data StructureGraphs In Data Structure
Graphs In Data StructureAnuj Modi
 
Shortest path algorithms
Shortest path algorithmsShortest path algorithms
Shortest path algorithms
Amit Kumar Rathi
 
Prim's Algorithm on minimum spanning tree
Prim's Algorithm on minimum spanning treePrim's Algorithm on minimum spanning tree
Prim's Algorithm on minimum spanning tree
oneous
 
All pairs shortest path algorithm
All pairs shortest path algorithmAll pairs shortest path algorithm
All pairs shortest path algorithmSrikrishnan Suresh
 
Topological Sort
Topological SortTopological Sort
Topological Sort
Dr Sandeep Kumar Poonia
 
Slides Chapter10.1 10.2
Slides Chapter10.1 10.2Slides Chapter10.1 10.2
Slides Chapter10.1 10.2showslidedump
 
minimum spanning trees Algorithm
minimum spanning trees Algorithm minimum spanning trees Algorithm
minimum spanning trees Algorithm
sachin varun
 
Graph Theory: Trees
Graph Theory: TreesGraph Theory: Trees
Graph Theory: Trees
Ashikur Rahman
 
Algorithms Lecture 7: Graph Algorithms
Algorithms Lecture 7: Graph AlgorithmsAlgorithms Lecture 7: Graph Algorithms
Algorithms Lecture 7: Graph Algorithms
Mohamed Loey
 
Minimum spanning tree
Minimum spanning treeMinimum spanning tree
Minimum spanning tree
Hinal Lunagariya
 
Ford Fulkerson Algorithm
Ford Fulkerson AlgorithmFord Fulkerson Algorithm
Ford Fulkerson Algorithm
Adarsh Rotte
 
Minimum Spanning Tree
Minimum Spanning TreeMinimum Spanning Tree
Minimum Spanning Treezhaokatherine
 
Topological Sorting
Topological SortingTopological Sorting
Topological Sorting
ShahDhruv21
 

What's hot (20)

Prim's algorithm
Prim's algorithmPrim's algorithm
Prim's algorithm
 
Bellman Ford's Algorithm
Bellman Ford's AlgorithmBellman Ford's Algorithm
Bellman Ford's Algorithm
 
Bellman ford Algorithm
Bellman ford AlgorithmBellman ford Algorithm
Bellman ford Algorithm
 
The Floyd–Warshall algorithm
The Floyd–Warshall algorithmThe Floyd–Warshall algorithm
The Floyd–Warshall algorithm
 
Dijkstra's algorithm presentation
Dijkstra's algorithm presentationDijkstra's algorithm presentation
Dijkstra's algorithm presentation
 
Graph in data structure
Graph in data structureGraph in data structure
Graph in data structure
 
GRAPH APPLICATION - MINIMUM SPANNING TREE (MST)
GRAPH APPLICATION - MINIMUM SPANNING TREE (MST)GRAPH APPLICATION - MINIMUM SPANNING TREE (MST)
GRAPH APPLICATION - MINIMUM SPANNING TREE (MST)
 
Graphs In Data Structure
Graphs In Data StructureGraphs In Data Structure
Graphs In Data Structure
 
Shortest path algorithms
Shortest path algorithmsShortest path algorithms
Shortest path algorithms
 
Prim's Algorithm on minimum spanning tree
Prim's Algorithm on minimum spanning treePrim's Algorithm on minimum spanning tree
Prim's Algorithm on minimum spanning tree
 
All pairs shortest path algorithm
All pairs shortest path algorithmAll pairs shortest path algorithm
All pairs shortest path algorithm
 
Topological Sort
Topological SortTopological Sort
Topological Sort
 
Slides Chapter10.1 10.2
Slides Chapter10.1 10.2Slides Chapter10.1 10.2
Slides Chapter10.1 10.2
 
minimum spanning trees Algorithm
minimum spanning trees Algorithm minimum spanning trees Algorithm
minimum spanning trees Algorithm
 
Graph Theory: Trees
Graph Theory: TreesGraph Theory: Trees
Graph Theory: Trees
 
Algorithms Lecture 7: Graph Algorithms
Algorithms Lecture 7: Graph AlgorithmsAlgorithms Lecture 7: Graph Algorithms
Algorithms Lecture 7: Graph Algorithms
 
Minimum spanning tree
Minimum spanning treeMinimum spanning tree
Minimum spanning tree
 
Ford Fulkerson Algorithm
Ford Fulkerson AlgorithmFord Fulkerson Algorithm
Ford Fulkerson Algorithm
 
Minimum Spanning Tree
Minimum Spanning TreeMinimum Spanning Tree
Minimum Spanning Tree
 
Topological Sorting
Topological SortingTopological Sorting
Topological Sorting
 

Viewers also liked

Dijkstra’S Algorithm
Dijkstra’S AlgorithmDijkstra’S Algorithm
Dijkstra’S Algorithm
ami_01
 
Shortest Path Problem: Algoritma Dijkstra
Shortest Path Problem: Algoritma DijkstraShortest Path Problem: Algoritma Dijkstra
Shortest Path Problem: Algoritma Dijkstra
Onggo Wiryawan
 
Dijkstra's Algorithm
Dijkstra's AlgorithmDijkstra's Algorithm
Dijkstra's Algorithmguest862df4e
 
Dijkstra & flooding ppt(Routing algorithm)
Dijkstra & flooding ppt(Routing algorithm)Dijkstra & flooding ppt(Routing algorithm)
Dijkstra & flooding ppt(Routing algorithm)
Anshul gour
 
Dijkstra's Algorithm
Dijkstra's Algorithm Dijkstra's Algorithm
Dijkstra's Algorithm
Rashik Ishrak Nahian
 
Networks dijkstra's algorithm- pgsr
Networks  dijkstra's algorithm- pgsrNetworks  dijkstra's algorithm- pgsr
Networks dijkstra's algorithm- pgsrLinawati Adiman
 
Application of Dijkstra Algorithm in Robot path planning
Application of Dijkstra Algorithm in Robot path planningApplication of Dijkstra Algorithm in Robot path planning
Application of Dijkstra Algorithm in Robot path planning
Darling Jemima
 
Dijkstra algorithm
Dijkstra algorithmDijkstra algorithm
Dijkstra algorithmare you
 
Shortest path problem
Shortest path problemShortest path problem
Shortest path problem
Ifra Ilyas
 
Dijkstra's Algorithm - Colleen Young
Dijkstra's Algorithm  - Colleen YoungDijkstra's Algorithm  - Colleen Young
Dijkstra's Algorithm - Colleen Young
Colleen Young
 
Dijkastra’s algorithm
Dijkastra’s algorithmDijkastra’s algorithm
Dijkastra’s algorithm
Pulkit Goel
 
Basics of data structure
Basics of data structureBasics of data structure
Basics of data structure
Rajendran
 
Face recogniton based digital signature for email encryption and signing
Face recogniton based digital signature for email encryption and signingFace recogniton based digital signature for email encryption and signing
Face recogniton based digital signature for email encryption and signing
Chimi Wangmo
 
Graph & Heap in Data Structure (Basic Information)
Graph & Heap in Data Structure (Basic Information)Graph & Heap in Data Structure (Basic Information)
Graph & Heap in Data Structure (Basic Information)
Daffodil International University
 
Walking ...
Walking ...Walking ...
Walking ...
vlastos
 
A neural ada boost based facial expression recogniton System
A neural ada boost based facial expression recogniton SystemA neural ada boost based facial expression recogniton System
A neural ada boost based facial expression recogniton System
International Islamic University
 
Lewis Dijkstra, DG Regional Policy
Lewis Dijkstra, DG Regional PolicyLewis Dijkstra, DG Regional Policy
Lewis Dijkstra, DG Regional Policyplan4all
 
Path cycle part1
Path cycle part1Path cycle part1
Path cycle part1
guestb63941
 

Viewers also liked (20)

Dijkstra’S Algorithm
Dijkstra’S AlgorithmDijkstra’S Algorithm
Dijkstra’S Algorithm
 
Shortest Path Problem: Algoritma Dijkstra
Shortest Path Problem: Algoritma DijkstraShortest Path Problem: Algoritma Dijkstra
Shortest Path Problem: Algoritma Dijkstra
 
Dijkstra's Algorithm
Dijkstra's AlgorithmDijkstra's Algorithm
Dijkstra's Algorithm
 
Dijkstra & flooding ppt(Routing algorithm)
Dijkstra & flooding ppt(Routing algorithm)Dijkstra & flooding ppt(Routing algorithm)
Dijkstra & flooding ppt(Routing algorithm)
 
Dijkstra's Algorithm
Dijkstra's Algorithm Dijkstra's Algorithm
Dijkstra's Algorithm
 
Networks dijkstra's algorithm- pgsr
Networks  dijkstra's algorithm- pgsrNetworks  dijkstra's algorithm- pgsr
Networks dijkstra's algorithm- pgsr
 
Application of Dijkstra Algorithm in Robot path planning
Application of Dijkstra Algorithm in Robot path planningApplication of Dijkstra Algorithm in Robot path planning
Application of Dijkstra Algorithm in Robot path planning
 
Dijkstra algorithm
Dijkstra algorithmDijkstra algorithm
Dijkstra algorithm
 
Shortest path problem
Shortest path problemShortest path problem
Shortest path problem
 
Dijkstra's Algorithm - Colleen Young
Dijkstra's Algorithm  - Colleen YoungDijkstra's Algorithm  - Colleen Young
Dijkstra's Algorithm - Colleen Young
 
Dijkastra’s algorithm
Dijkastra’s algorithmDijkastra’s algorithm
Dijkastra’s algorithm
 
Basics of data structure
Basics of data structureBasics of data structure
Basics of data structure
 
Face recogniton based digital signature for email encryption and signing
Face recogniton based digital signature for email encryption and signingFace recogniton based digital signature for email encryption and signing
Face recogniton based digital signature for email encryption and signing
 
Graph & Heap in Data Structure (Basic Information)
Graph & Heap in Data Structure (Basic Information)Graph & Heap in Data Structure (Basic Information)
Graph & Heap in Data Structure (Basic Information)
 
Walking ...
Walking ...Walking ...
Walking ...
 
A neural ada boost based facial expression recogniton System
A neural ada boost based facial expression recogniton SystemA neural ada boost based facial expression recogniton System
A neural ada boost based facial expression recogniton System
 
CSE240 Doubly Linked Lists
CSE240 Doubly Linked ListsCSE240 Doubly Linked Lists
CSE240 Doubly Linked Lists
 
Lewis Dijkstra, DG Regional Policy
Lewis Dijkstra, DG Regional PolicyLewis Dijkstra, DG Regional Policy
Lewis Dijkstra, DG Regional Policy
 
Lecture set 5
Lecture set 5Lecture set 5
Lecture set 5
 
Path cycle part1
Path cycle part1Path cycle part1
Path cycle part1
 

Similar to Dijkstra

Lecture 5b graphs and hashing
Lecture 5b graphs and hashingLecture 5b graphs and hashing
Lecture 5b graphs and hashingVictor Palmar
 
Graph terminology and algorithm and tree.pptx
Graph terminology and algorithm and tree.pptxGraph terminology and algorithm and tree.pptx
Graph terminology and algorithm and tree.pptx
asimshahzad8611
 
Algorithms Design Exam Help
Algorithms Design Exam HelpAlgorithms Design Exam Help
Algorithms Design Exam Help
Programming Exam Help
 
Lecture_10_Parallel_Algorithms_Part_II.ppt
Lecture_10_Parallel_Algorithms_Part_II.pptLecture_10_Parallel_Algorithms_Part_II.ppt
Lecture_10_Parallel_Algorithms_Part_II.ppt
WahyuAde4
 
Lecture 14 data structures and algorithms
Lecture 14 data structures and algorithmsLecture 14 data structures and algorithms
Lecture 14 data structures and algorithmsAakash deep Singhal
 
Chap10 slides
Chap10 slidesChap10 slides
Chap10 slides
HJ DS
 
graph ASS (1).ppt
graph ASS (1).pptgraph ASS (1).ppt
graph ASS (1).ppt
ARVIND SARDAR
 
Chap10 slides
Chap10 slidesChap10 slides
Chap10 slides
BaliThorat1
 
1535 graph algorithms
1535 graph algorithms1535 graph algorithms
1535 graph algorithms
Dr Fereidoun Dejahang
 
Algorithms Design Assignment Help
Algorithms Design Assignment HelpAlgorithms Design Assignment Help
Algorithms Design Assignment Help
Programming Homework Help
 
Graph ASS DBATU.pptx
Graph ASS DBATU.pptxGraph ASS DBATU.pptx
Graph ASS DBATU.pptx
ARVIND SARDAR
 
Data Structures and Agorithm: DS 21 Graph Theory.pptx
Data Structures and Agorithm: DS 21 Graph Theory.pptxData Structures and Agorithm: DS 21 Graph Theory.pptx
Data Structures and Agorithm: DS 21 Graph Theory.pptx
RashidFaridChishti
 
Graph_data_structure_information_engineering.pptx
Graph_data_structure_information_engineering.pptxGraph_data_structure_information_engineering.pptx
Graph_data_structure_information_engineering.pptx
sahilpawar2426
 
Lecture 2.3.1 Graph.pptx
Lecture 2.3.1 Graph.pptxLecture 2.3.1 Graph.pptx
Lecture 2.3.1 Graph.pptx
king779879
 
Cnetwork
CnetworkCnetwork
Cnetwork
ADARSHN40
 
Graph Analyses with Python and NetworkX
Graph Analyses with Python and NetworkXGraph Analyses with Python and NetworkX
Graph Analyses with Python and NetworkX
Benjamin Bengfort
 
Graph theory concepts complex networks presents-rouhollah nabati
Graph theory concepts   complex networks presents-rouhollah nabatiGraph theory concepts   complex networks presents-rouhollah nabati
Graph theory concepts complex networks presents-rouhollah nabati
nabati
 

Similar to Dijkstra (20)

Lecture 5b graphs and hashing
Lecture 5b graphs and hashingLecture 5b graphs and hashing
Lecture 5b graphs and hashing
 
Graph terminology and algorithm and tree.pptx
Graph terminology and algorithm and tree.pptxGraph terminology and algorithm and tree.pptx
Graph terminology and algorithm and tree.pptx
 
Algorithms Design Exam Help
Algorithms Design Exam HelpAlgorithms Design Exam Help
Algorithms Design Exam Help
 
Lecture_10_Parallel_Algorithms_Part_II.ppt
Lecture_10_Parallel_Algorithms_Part_II.pptLecture_10_Parallel_Algorithms_Part_II.ppt
Lecture_10_Parallel_Algorithms_Part_II.ppt
 
Lecture 14 data structures and algorithms
Lecture 14 data structures and algorithmsLecture 14 data structures and algorithms
Lecture 14 data structures and algorithms
 
Chap10 slides
Chap10 slidesChap10 slides
Chap10 slides
 
Weighted graphs
Weighted graphsWeighted graphs
Weighted graphs
 
graph ASS (1).ppt
graph ASS (1).pptgraph ASS (1).ppt
graph ASS (1).ppt
 
Chap10 slides
Chap10 slidesChap10 slides
Chap10 slides
 
1535 graph algorithms
1535 graph algorithms1535 graph algorithms
1535 graph algorithms
 
Algorithms Design Assignment Help
Algorithms Design Assignment HelpAlgorithms Design Assignment Help
Algorithms Design Assignment Help
 
Graph ASS DBATU.pptx
Graph ASS DBATU.pptxGraph ASS DBATU.pptx
Graph ASS DBATU.pptx
 
Data Structures and Agorithm: DS 21 Graph Theory.pptx
Data Structures and Agorithm: DS 21 Graph Theory.pptxData Structures and Agorithm: DS 21 Graph Theory.pptx
Data Structures and Agorithm: DS 21 Graph Theory.pptx
 
Graph_data_structure_information_engineering.pptx
Graph_data_structure_information_engineering.pptxGraph_data_structure_information_engineering.pptx
Graph_data_structure_information_engineering.pptx
 
Lecture 2.3.1 Graph.pptx
Lecture 2.3.1 Graph.pptxLecture 2.3.1 Graph.pptx
Lecture 2.3.1 Graph.pptx
 
Cnetwork
CnetworkCnetwork
Cnetwork
 
10.graph
10.graph10.graph
10.graph
 
Graph Analyses with Python and NetworkX
Graph Analyses with Python and NetworkXGraph Analyses with Python and NetworkX
Graph Analyses with Python and NetworkX
 
Twopi.1
Twopi.1Twopi.1
Twopi.1
 
Graph theory concepts complex networks presents-rouhollah nabati
Graph theory concepts   complex networks presents-rouhollah nabatiGraph theory concepts   complex networks presents-rouhollah nabati
Graph theory concepts complex networks presents-rouhollah nabati
 

Recently uploaded

FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
Frank van Harmelen
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
DianaGray10
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Elena Simperl
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Jeffrey Haguewood
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
RTTS
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Inflectra
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Product School
 

Recently uploaded (20)

FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 

Dijkstra

  • 1. Presentation on prolog : Dijkstra’s Algorithm
  • 2. A graph is defined as a set of nodes and a set of edges, where each edge is a pair of nodes.
  • 3. There are several ways to represent graphs in Prolog.  One method is to represent each edge separately as one clause (fact). • edge(1, 5). edge(1, 7). edge(2, 1). edge(2, 7). edge(3, 1). edge(3, 6). edge(4, 3). edge(4, 5). edge(5, 8). edge(6, 4). edge(6, 5). edge(7, 5). edge(8, 6). edge(8, 7). We call this edge-clause form W
  • 4.  Another method is to represent the whole graph as one data object. According to the definition of the graph as a pair of two sets (nodes and edges).  EXAMPLE :  graph([b,c,d,f,g,h,k],[e(b,c),e(b,f),e(c,f),e(f,k),e(g,h)]) .  We call this graph-term form. Note, that the lists are kept sorted, they are really sets, without duplicated elements. Each edge appears only once in the edge list.  The graph-term form is a default representation
  • 5.  A third representation method is to associate with each node the set of nodes that are adjacent to that node .  EXAMPLE: [n(b,[c,f]), n(c,[b,f]), n(d,[]), n(f,[b,c,k]), .........]. 
  • 6. Directed graphs  These are represented by ordered pairs  To represent a directed graph, the forms discussed above are slightly modified. The example graph is represented as follows:  When the edges are directed we call them arcs Arc-clause form  arc(s,u). arc(u,r). Graph-term form  digraph([r,s,t,u,v],[a(s,r),a(s,u),a(u,r),a(u,s),a(v,u)]) Adjacency-list form  [n(r,[]),n(s,[r,u]),n(t,[]),n(u,[r]),n(v,[u])]
  • 7. Dijkstra  Dijkstra's algorithm, introduced by the dutch computer scientist , is a graph searching algorithm.  Dijkstra’s algorithm is used to solve the problems of finding the shortest path between edge - weighted graphs in which all the weights are non-negative.
  • 8. Basic features of Dijkstra's algorithm  For a given source vertices it finds the lowest cost(i.e. The shortest path) for every other vertices .  It can also be used to find the lowest cost for a particular destination by the stopping the algorithm in between.  For example:- If the vertices represents the cities and the edge path cost represents the distance between pair cities then dijkstra’s can be used to find the shortest route between one city and all other.
  • 9. An example of Dijkstra’s Algorithm
  • 10. Dijkstra’s Algorithm can be applied to network routing, as it can be used to find the shortest path from any source computer to any other computer in the network .
  • 11. Basic steps towards the algorithm  The algorithm begins by initializing any vertex in the graph (vertex A, for example) a permanent label with the value of 0, and all other vertices a temporary label with the value of 0.
  • 12. Basic steps towards  The algorithm then proceeds to select the least cost edge connecting a vertex with a permanent label (currently vertex A) to a vertex with a temporary label (vertex B, for example). Vertex B's label is then updated from a temporary to a permanent label. Vertex B's value is then determined by the addition of the cost of the edge with vertex A's value
  • 13. Basic steps towards  The next step is to find the next least cost edge extending to a vertex with a temporary label from either vertex A or vertex B (vertex C, for example), change vertex C's label to permanent, and determine its distance to vertex A.
  • 14. Basic steps towards This process is repeated until the labels of all vertices in the graph are permanent.
  • 15. Start Identify source node and destination node as V1 and V2 Set V1 as T-node Set T-node’s label to “permanent” and update neighbor's status record set Identify the tentative node linked to V1 that has the lowest weight and set it as T-node Is T-Node is V2? END Based on information in status record set, do these until u reach V1. The string of link represents the best route
  • 16.
  • 17. dijkstra(Graph,MinDist,[],MinDist). dijkstra(Graph,Closed,Open,MinDist):- min(Open,V-D,ReducedOpen), adjacent(Graph,V,AdjacentNodes), diff(AdjacentNodes,Closed,PrunedNodes), addDist(PrunedNodes,D,UpdatedPrunedNodes), nodeMerge(UpdatedPrunedNodes,ReducedOpen,NextOpen), dijkstra(Graph,[V-D|Closed],NextOpen,MinDist).
  • 18. Rules which are used above in the pesudo code  min(L,Min,Rest):- The method min above takes a list L and puts the smallest value in the MIN with the smallest value in L and Rest with a list containing all values in L excluding Min.  adjacent(Graph,Node,Adj) which is true if Adj is a list of all nodes reachable from the node Node in one hop in Graph. Node is of the form of a single graph vertex label (i.e. the minimum cost is not included), Adj should be a list of node-cost pairs. For example, given the query adjacent([a-b-1,a-c-2,b-a-4,b- c-1],a,A) Prolog should return A = [b-1,c-2]
  • 19. Rules which are used above in the pesudo code  diff(L,M,N) takes a list L and a list M and unifies N with a list containing all items in L which are not in M. The list L is assumed to contain no duplicate elements.  addDist(Nodes, D, NewNodes) which is true if NewNodes is a list containing all the nodes in Nodes with their edge cost incremented by D.
  • 20. Rules which are used above in the pesudo code  nodeMerge(A,B,C) which merge lists A and B together and unifies the result in C. Lists A, B and C contain no duplicate elements: i.e. within the each list there is no pair of nodes V1,V2 such that V1=V2.
  • 21. In today’s world, networking plays an important role in communication between autonomous computers. For this many hardware devices and software algorithms have been designed. So far, the traditional system used for the communication were the hub networking system and many other hardware applications present in the market, but as they operate on electricity, it may lead to the failure of device due to some malfunctioning in the hardware circuitry. Dijkstra Algorithm provides easy understandability and hence its chances of failure is negligible.
  • 22. References http://students.ceid.upatras.gr/~papagel/project/kef5_7_1.htm  http://www.animal.ahrgr.de/showAnimationDetails.php3?lang=en&anim= 16  http://www.cs.sunysb.edu/~skiena/combinatorica/animations/dijkstra.ht ml  http://www.ibiblio.org/links/devmodules/graph_networking/xhtml/page13 .xml  Survivable networks: algorithms for diverse routing By Ramesh Bhandari Edition: illustrated Published by Springer, 1999 ISBN page 22