Você está na página 1de 42

APPLICATIONS OF GRAPHS

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.Dijkstras algorithm 2. Fingerprint classification using graph theory

DIJKSTRAS ALGORITHM

DIJKSTRAS ALGORITHM
Djikstra's 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.

Given a network of cities and the distances between them, the objective of the singlesource, 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.

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

3
20

30

2
40

4 1

70

SOURCE

20

5
110

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. Dijkstras algorithm has a complexity of O(N2) where N is the number of vertices (cities) in the weighted digraph

DIJKSTRAS ALGORITHM
Procedure 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};

source vertex */

/* initialize T to

for i = 2 to N do DISTANCE [i] = COST [1,i];

for i = 1 to N-1 do Choose a vertex u in V T such that DISTANCE [u] is a minimum; 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

EXAMPLE
Consider the weighted graph of cities and its cost matrix given below.
3
20

1 1 2
70

2 20 0

3 60 0 30

4 40 0

5 110 20 70 0

60

30

2
40

4 1

3 5 4 5

SOURCE

20
WEIGHTED GRAPH

COST MATRIX C5X5

Trace of The Table following that shows the trace of the Dijkstras algorithm

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

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

EXAMPLE
To trace the paths of the vertices from vertex 1 using Dijkstras algorithm, inclusion of the statement updating PREDECESSOR vector results in

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 4

FINGERPRINT RECOGNITION USING GRAPH REPRESENTAT ION

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.

FINGERPRINT TYPES

The lines that flow in various patterns across fingerprints are called Ridges and the space between ridges are Valleys.

Cont..

Minute The places at which the ridges intersects or ends.

Core The places where the ridges form a half circle. Delta The places where the ridges form a triangle.

DIFFERENT CLASSIFICATION

OLD METHOD

NEW METHOD

PROCESS FLOW

SEGMENTATION

CONSTRUCTION OF RELATED WEIGHT GRAPH

Graph can be shown by G index including four parameters of G= (V, E, ,). where V is number of nodes. E is number of edges. is weight of nodes. is weight of edges.

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.

n i

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 two regions of block directional image.

The nodes are placed in the centre of gravity of each region. The nodes size vary according to the weight. The edges are shown by the lines and the thickness is proportional to the weight .

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.

WEIGHTAGE TO sNODES AND W = Area sEDGES (R )

sn n i=1 i

Where Area (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 two regions.

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.

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.

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

SOME MORE INTERESTING APPLICATIONS..

EPIDEMOLOGY
Networks model used to represent the spread of infectious diseases and design prevention and response strategies. Vertices represent individuals, and edges their possible contacts. It is useful to calculate how a particular individual is connected to others. Knowing the shortest path lengths to other individuals can be a relevant indicator of the

SOCIAL NETWORKS