Applications of graphs


Published on

Published in: Technology
1 Comment
No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Applications of graphs

  2. 2. GRAPHS• Graph theory has turned out to be a vast area with innumerable applications in the field of social networks , data organization , communication network and so on…• We have considered here 1.Dijkstra’s algorithm 2. Fingerprint classification using graph theory
  4. 4. DIJKSTRA’S ALGORITHM• Djikstras algorithm (named after its discover, E.W. Dijkstra) solves the problem of finding the shortest path from a point in a graph (the source) to a destination.• It turns out that one can find the shortest paths from a given source to all points in a graph in the same time, hence this problem is sometimes called the single- source shortest paths problem.
  5. 5. • Given a network of cities and the distances between them, the objective of the single-source, shortest- path problem is to find the shortest path from a city to all other cities connected to it.• The network of cities with their distances is represented as a weighted graph.
  6. 6. • Let V be a set of N cities (vertices) of the digraph. Here the source city is 1.• The set T is initialized to city 1.• The DISTANCE vector, DISTANCE [2:N] initially records the distances of cities 2 to N connected to the source by an edge (not path!) 60 2 3 30 20 40 4 20 1 70 110 SOURCE 5
  7. 7. • If there is no edge directly connecting the city to source, then we initialize its DISTANCE value to ‘∞’• Once the algorithm completes iterations, the DISTANCE vector holds the shortest distance of two cities 2 to N from the source city 1• It is convenient to represent the weighted digraph using its cost matrix COSTN x N• The cost matrix records the distances between cities connected by an edge.• Dijkstra’s algorithm has a complexity of O(N 2) where N is the number of vertices (cities) in the weighted digraph
  8. 8. DIJKSTRA’S ALGORITHMProcedure DIJKSTRA_SSSP(N, COST)/* N is the number of vertices labeled {1,2,3,….,N} of the weighted digraph. If there is no edge then COST [I, j] = ∞ *//* The procedure computes the cost of the shortest path from vertex 1 the source, to every other vertex of the weighted digraph */T = {1}; /* initialize T to source vertex */for i = 2 to N do DISTANCE [i] = COST [1,i];/* initialize DISTANCE vector to the cost of the edges connecting vertex I with the source vertex 1. If there is no edge then COST[1,i] = ∞ */
  9. 9. for i = 1 to N-1 do Choose a vertex u in V – T such that DISTANCE [u] is aminimum; Add u to T; for each vertex w in V – T do DISTANCE [w] = minimum ( DISTANCE [w] , DISTANCE [u] + COST [u ,w]); end end end DIJKSTRA_SSSP
  10. 10. EXAMPLE • Consider the weighted graph of cities and its cost matrix given below. 60 1 2 3 4 5 2 3 1 0 20 ∞ 40 110 2 ∞ 0 60 ∞ ∞ 3020 40 4 20 3 ∞ ∞ 0 ∞ 20 1 4 ∞ ∞ 30 0 70 70 5 ∞ ∞ ∞ ∞ 0SOURCE 5 WEIGHTED GRAPH COST MATRIX C5X5
  11. 11. Trace of The Table following that shows the trace of theDijkstra’s algorithm
  12. 12. • The DISTANCE vector in the last iteration records the shortest distance of the vertices {2,3,4,5} from the source vertex 1.• To reconstruct the shortest path from the source vertex to all other vertices, a vector PREDECESSOR [1:N] where PREDECESSOR [v] records the predecessor of vertex v in the shortest path, is maintained.• PREDECESSOR [1:N] is initialized to source for all v != source
  13. 13. • PREDECESSOR [1:N] is updated by if (( DISTANCE [u] + COST [u, w]) < DISTANCE [w]) then PREDECESSOR [w] = u soon after DISTANCE [w] = minimum ( DISTANCE [w] , DISTANCE [u] + COST [u ,w]) is computed in procedure DIJKSTRA_SSS• To trace the shortest path we move backwards from the destination vertex, hopping on the predecessors recorded by the PREDECESSOR vector until the source vertex is reached
  14. 14. EXAMPLE• To trace the paths of the vertices from vertex 1 using Dijkstra’s algorithm, inclusion of the statement updating PREDECESSOR vector results in
  15. 15. • To trace the shortest path from source 1 to vertex 5, we move in the reverse direction from vertex 5 hopping on the predecessors until the source vertex is reached. The shortest path is given by PREDECESSOR(5)=3 PREDECESSOR(3)=4 PREDECESSOR(4)=1 Vertex 5 Vertex 3 Vertex 4 Source Vertex 1 Thus the shortest path between vertex 1 and vertex 5 is 1-4-3-5 and the distance is given by DISTANCE [5] is 90
  17. 17. The three characteristics of FINGER PRINTS are:1. There are no similar fingerprints in the world.2. Fingerprints are unchangeable.3. Fingerprints are one of the unique features for identification systems.
  18. 18. FINGERPRINT TYPESThe lines that flow in various patterns across fingerprintsare called Ridges and the space between ridges areValleys.
  19. 19. Cont..Types of patterns in 1 and 2 are terminations.Fingerprint. 3 is bifurcation.
  20. 20. MINUTE, CORE AND DELTA Core – The places where the ridgesMinute – The places at which form a half circle.the ridges intersects or ends. Delta – The places where the ridges form a triangle.
  22. 22. OLD METHOD
  23. 23. NEW METHOD
  24. 24. PROCESS FLOW
  28. 28. CONSTRUCTION OF RELATED WEIGHT GRAPH Graph can be shown by G index including fourparameters of G= (V, E, μ,υ).whereV is number of nodes.E is number of edges.μ is weight of nodes.υ is weight of edges.
  29. 29. Some information can be used in constructing the graph related to a finger print like:• Centre of gravity of regions.• The direction related to the elements of the various regions.• The area of all the regions.• The distance between centres of gravity.• The perimeter of regions.
  30. 30. WEIGHTAGE TO NODES AND EDGESWn = Area (Ri)where i = 1,2,3,……,n. Wn is the weight of nodes . Ri is the specified region in block directional image.We = (Adj − p) × (Node − d) × (Diff −v)where Adj-p is the boundary of two adjacent regions linking with an edge. Node-d is the distance difference between nodes that links by an edge Diff-v is the phase difference or direction difference between tworegions of block directional image.
  31. 31. The nodes are placed in the centre of gravity ofeach region. The nodes size vary according to theweight. The edges are shown by the lines and thethickness is proportional to the weight .
  32. 32. CONSTRUCTING SUPER GRAPH We combine the properties of the Graph and model of the Super Graph to form,• A node for region with similar directions.• Its co-ordinates is the centre of gravity related to those regions of the graph.
  33. 33. WEIGHTAGE TO sNODES AND sEDGESWsn = nΣi=1 Area (Ri)WhereArea (Ri) is the area of all regions with similar directions.Ri includes regions with similar directions.Wse = dis(sn) + Σ Adj-p(Ri,Rj)Where Wse is the weight of edges in super graph. dis(sn) is the distance between nodes of a super graph. Adj-p is the sum of the adjacent perimeter between tworegions.
  34. 34. SUPER GRAPH  The obtained block directional image have four directions, so we have four nodes.  All the nodes are connected with the other three edges.  If the number of nodes are high, its takes much time to find a match.
  35. 35. RETRIEVING THE FINGERPRINTS• Fingerprints are classified according to their structure.• A sample from each structure is taken for comparison. Cost Function = (Σi (Wi.node – *Wi.node )) * (Σj (Wj.edge - *Wj.edge)) where Wi.node and Wj.edge are the node weight and edge weight of the Super graph. * Wi.node and *Wj.edge are the node weight and edge weight of model super graph.
  36. 36. • Different classifications give different cost value.Among that the lowest cost value function is taken and the comparison of the fingerprint proceeds in that class.• By this method high accuracy is achieved in short comparison time.• Previously FBI used 3 major classifications for matching the fingerprints and they had many sub-classifications.• But now they use around 10 major classifications and many sub-classifications which gives them a fast result.
  38. 38. EPIDEMOLOGY• Networks model used to represent thespread of infectious diseases and designprevention and response strategies.• Vertices represent individuals, and edgestheir possible contacts. It is useful tocalculate how a particular individual isconnected to others.• Knowing the shortest path lengths toother individuals can be a relevantindicator of the potential of a particularindividual to infect others.
  41. 41. THANK YOU!!!