- Open Access
- Total Downloads : 4124
- Authors : Pranav Patel, Chirag Patel
- Paper ID : IJERTV2IS120024
- Volume & Issue : Volume 02, Issue 12 (December 2013)
- Published (First Online): 19-12-2013
- ISSN (Online) : 2278-0181
- Publisher Name : IJERT
- License: This work is licensed under a Creative Commons Attribution 4.0 International License
Various Graphs and Their Applications in Real World
Pranav Patel
M. Tech. Computer Science and Engineering
Chirag Patel
M. Tech. Computer Science and Engineering
Abstract
This days usage of computers is increasing in human life. Everything is becoming computer oriented. While this advancement is at its peak the most of the largely used applications one way or the other use graph theory, like search engines are largely based on graphs. Due to the gradual research done in graph theory, graph theory has become very large subject in mathematics. Proper understanding of various graphs present in graph theory is required to achieve understanding in real world applications. In this paper we demonstrate various graphs with their definitions, basic understanding and finally their importance and applications in real world. In our research we have identified different graphs that are used in most important real world applications and then tried to give their clear idea from the graph theory.
-
Introduction
Graphs are important because graph is a way of expressing information in pictorial form. A graph shows information that equivalent to many words. A graph can give information that might not be possible to express in words. IN a letter to C. Huygens of 1679,
G.W. Leibniz expressed his dissatisfaction with the standard coordinate geometry treatment of geometric figures and maintained that we need yet another kind of analysis, geometric or linear, which deals directly with position, as algebra deals with magnitude [1]. In fact, Leibniz initiated the study of the so-called
ªgeometry of positionsº (geometria situs) which, as L. Euler clearly put it in his famous 1736 KoÈnigsberg bridges paper which had to mark the beginning of graph theory, is concerned only with the determination of position, and its properties; it does not involve measurements nor calculations made with them [2]. Use of graph theory is extreme when it comes to the computer science application. Many problems that are considered hard to determine or implement can easily solved use of graph theory. There are many types of graphs as a part of graph theory. Each type of graph is associated with a special property. Most application
makes use of one of this graph in order to fine solution to the problems. Because of the representation power of graphs and flexibility many problem can be represented as graphs and easily solved. Problem that are solved by graph theory includes Resource allocation, distance minimization, network formation, optimal path identification, data mining, circuit minimization, image capturing, image processing.
-
Related Work
Due to the gradual research done in graph theory, graph theory has become relatively large subject in mathematics. Graph theory includes different types of graphs, each having basic graph properties plus some additional properties. These properties separates a graph from there type of graphs. These properties arrange vertex and edges of a graph is some specific structure. There are different operations that can be performed over different types of graph. There for graph theory can be considered large and complicated subject. On the other hand graphs are used in many applications as a powerful tool to solve large and complicated problems. The problems that can be solved by graphs cover many fields such as chemistry, biology, computer science, operational research. Hence graphs theory is useful in many applications and these applications are widely used in real world. Almost every field today makes use of graph theory, such as search computer networks. There for to properly implement this applications and to manage them it is necessary to have clear idea of graph theory. Often material are not able to cover all the corners of graph theory. Materials that successfully give every small details of graph theory fail to give brief details about where those concepts are used in real life applications. Materials covering application of graph theory often fail to describe the basics of the graphs and their characteristics. The authors of this paper make an attempt to give basics fundaments of graph theory along with the proper knowledge of where these fundaments are used i.e. their application. This paper contains definitions of different types of graphs by which helps to provide proper understanding on graph theory. After that major application of these graph
theory are given in various subjects. The major areas that widely use graphs are Bio chemistry, Genomics, Electrical engineering – communication networks and coding theory, Computer Science – algorithms and computations, Operation Research – scheduling. Various application of graph theory in real life has been identified and represented along with what type of graphs are used in that application. Authors try to give basic conceptual understanding of all such type of graphs.
-
Basic
Before we can understand application of graphs we need to know some definitions that are part of graphs theory. Authors of this paper has identified this definitions and has represented it in very easy to understand manner.
-
Graph: A graph usually denoted G(V,E) or G= (V,E) consists of set of vertices V together with a set of edges E. The number of vertices in a graph is usually denoted n while the number of edges is usually denoted m [1].
Example: The graph given in figure 1 has vertex set V={1,2,3,4,5,6} and edge set={(1,2),(1,3),(2,3),(3,4),(3,5),(4,5),(5,6)}.
Figure 1: Simple Graph
-
Vertex: The vertex is the point at which two rays (edges) of an angle or two edges of polygon meet.
-
Edge: An edge is a line at which vertices are connected in the graph. Edges are denoted by e= (v, u) it is pair of two vertices.
-
Undirected graph: An undirected graph is one in which edges have no orientation. The edge (a, b) is identical to the edge (b, a), i.e., they are not ordered pairs, but sets {u, v} (or 2- multisets) of vertices.
-
Directed graph: A directed graph in which each edge is represented by an ordered pair of two vertices, e.g. (Vi, Vj) denotes an edge from Vi to Vj (from first vertex to second vertex).
-
Connected graph: A graph G= (V, E) is said to be connected graph if there exists a path between every pair of vertices in graph G.
-
Loop: Edges drown from a vertex to itself is called a loop.
-
Parallel edges: In a graph G= (V, E) if a pair of vertices are allowed to join by more than one edges, those edges are called parallel edges and the resulting graph is called multi graph.
-
Simple graph: A graph G= (V, E) with no loops and no multiple edges (parallel edges) is called simple graph.
-
Adjacent vertices: In a graph G= (V, E) two vertices are said to be adjacent (neighbor), if there exists an edge between the two vertices.
-
Adjacency matrix: Every graph has associated with it an adjacency matrix, which is a binary n×n matrix A in which aij=1 and aji=1 if vertex vi is adjacent to vertex vj, and aij=0 and aji=0 otherwise. The natural graphical representation of an adjacency matrix s a table, such as shown below.
Figure 2: Example of an adjacency matrix.
-
Degree of a vertex: Number of edges that are incident to the vertex is called the degree of the vertex.
-
Regular graph: In a graph if all vertices have same degree (incident edges) k than it is called a regular graph.
-
Complete graph: A simple graph G= (V, E) with n mutually adjacent vertices is caled a complete graph G and it is denoted by Kn. or A simple graph G= (V, E) in which every vertex in mutually adjacent to all other vertices is called a complete graph G.
-
Cycle graph: A simple graph G= (V, E) with n vertices (n3), n edges is called a cycle graph.
-
Wheel graph: A wheel graph G= (V, E) with n vertices (n4), is a simple graph which can be obtained from the cycle graph Cn-1 by adding a
new vertex (as a hub), which is adjacent to all vertices of Cn-1.
-
Cyclic and acyclic graph: A graph G= (V, E) with at least one Cycle is called cyclic graph and a graph with no cycle is called Acyclic graph.
-
Connected graph: A graph G=(V, E) is said to be connected if there exists a path between every pair of vertices in a graph G.
-
Tree: A connected acyclic graph is called tree or a connected graph with no cycle is called tree.
-
Bipartite graph: A simple graph G= (V, E) with vertex partition V= {V1, V2} where V1, V2
is called a bipartite graph if each edge of G joins a vertex in V1 to a vertex in V2. A Bipartite graph is shown in figure 3.
Figure 3: Bipartite graph
-
Complete bipartite graph: A bipartite graph G= (V, E) with vertex partition V1, V2 is called a complete bipartite graph if every vertex in V1 is adjacent to every vertex in V2.
-
Vertex coloring: An assignment of colors to the vertices of a graph G so that no two adjacent vertices of G have same color is called vertex coloring of a graph G.
Figure 4: Vertex coloring
-
Chromatic number: The minimum number of colors required for the vertex coloring of a graph G, is called chromatic number of graph G.
-
Line covering: Let G= (V, E) be a graph. A subset C of E is called a line covering (Edge covering) of a graph G, if every vertex of graph G is incident with at least one edge in C.
-
Vertex covering: Let G= (V, E) be a graph. A subset K of V is called a vertex covering of graph G, if every edge of graph G is incident with a vertex in K.
-
Spanning tree: Let G= (V, E) be a graph. A subset M of G is called a spanning tree of graph G, if M is a tree and M contains all the vertices of graph G.
-
Cut vertex: Let G= (V, E) be a connected graph. A vertex v G is called a cut vertex of graph G, if G – V results in a disconnected graph G.
-
Cut edge: Let G= (V, E) be a connected graph, An edge e G is called a cut edge of graph G, if G-e result in a disconnected graph G.
-
Euler graph: A connected graph G=(V, E) is said to be Euler graph (traversable), if there exists a path which includes, (which contains each edges of the graph G exactly once) and each vertex at least once (if we can draw the graph on a plane paper without repeating any edge or letting the pen). Such a path is called Euler path.
-
Euler circuit: An Euler path in which a starting vertex of the path is same as ending vertex of the path is called as Euler circuit (closed path).
-
Hamiltonian graph: A connected graph G= (V, E) is said to be Hamiltonian graph, if there exists a cycle which contains all vertices of graph G. Such a cycle is called Hamiltonian cycle.
-
-
Applications
Graphs are used to model many problem of the real word in the various fields. Graphs are extremely power full and yet flexible tool to model. Graph theory includes many methodologies by which this modeled problem can be solved. Authors of the paper have identified such problems, some of which are mentioned in this paper.
-
Computer Science
-
Computer networks are extremely popular in todays life. In computer networks nodes are connected to each other via links. This final network of nodes forms a graph. In computer network graph is used to form a network of nodes and enable efficient packet routing in the network. This includes finding the shortest paths between the nodes, analyze the current network traffic and find fasted root between the nodes, finding cost efficient route between the nodes. Standard algorithms such as Dijkstras algorithm, Bellman-Ford algorithm are used to in the various ways with graph to find the solutions.
-
Structure of a websites containing many pages can be represented using a directed graph. Each page can be considered as a vertex. A link between exists if there is a link between two pages. This way it can be identified that which page is accessible form which page.
-
In electronic chip design each component is considered as a vertex of the graph. The machine that creates connection between this components a printed circuit board takes input in the form of a graph where edges denotes that there is a connection between the pair of components. The head that creates this connection on the board then find the optimal to moves across the chip to get the desired resultant circuit.
-
In language processing in the tools like compiler parse tree are used to identify if the input is having correct syntactic structure or not. This parse tree is created from directed acyclic graph created on lexical entities. Graph is here used to identify correct structure of input and to help entire processing of language.
-
The new semantic search engine, which is known as Facebook Graph Search introduce by Facebook in March 2013. In general all search engine gives result in list of link, but Facebook Graph Search give the answer to user in nature language rather than a list of links [10]. In Facebook Graph Search engine graph Search feature combines external data into a search engine providing user-specific search results and the big data acquired from its over one billion users [10]. In Facebook Graph Search engine search algorithm is same, as Google search engine algorithm so searching will very faster in Facebook site.
-
Generally in modern coding theory Bipartite graph is used for decoding the code words,
which are, receives from the channel. For example Factor graph and Tanner graph is manly used for decoding the code. Tanner graph is an application of bipartite graph so, vertices are divided into two parts in which first bipartition represent the digit of code word, and the other side bipartition represent the combination of digits that are expected to sum zero in a code word without errors [3].
-
For probabilistic decoding of LDPC and turbo codes in belief network Factor graph is used. The bipartite graph can also be used in Query Log Analysis, which is used for improve search engine capability [4]. Query Log Analysis would maintain the query with each respective website so searching becomes easy in search engine, the bipartite graph between search engine and URLs (Uniform Resource Locator). In Query Log Analysis method edges connected the query with its appropriate URL and capture some semantic relation between the query and the URLs [4]. Figure 5 shows the example of the Query Log Analysis method in which left partition represents the query and the right partition represent the respective URL. This model is based on the raw click frequency (CF) [4]. Raw click frequency is to weight the query and URL on click graph.
Figure 5: Example of Query Log Analysis
-
The computer has many hardware as well as software component. Among those one of the components is compiler. It is computer program that translate the one computer language into another language. one of the compiler optimization technique for register allocation to improve the execution time is register allocation method, in which most frequently used values of the compiled program are kept in fast processor registers[5].
In general register get actual value when they used for operations. In the textbook the register allocation method is to model as graph coloring model. The compiler is construct an interference graph, where vertices are symbolic registers and an edge can be colored with k colors then the varibles can be stored in k registers [5].
-
-
-
Chemistry
-
Graphs are used to model molecule structures for computer processing. Here atoms can be considered as vertices of a graph the bonds that connects them are represented as edges between them. This structures are created based on the properties of compounds and are taken for analysis and processing. This can be used to study the structure of molecules and to check similarity level between molecules.
-
-
Biology
-
A Graph Theory is a very vast subject; it is also extensively used for the analysis in biological networks. In biology analysis the number of components of the system and their interactions is distinguish as network and they are normally represented as graphs where lots of nodes are connected with thousands of vertices [6]. Graphs are widely used in following biological analysis; Protein-protein interaction (PPI) networks, Regulatory networks (GRNs), Signal transduction networks, and Metabolic and biochemical networks. If we analysis above components than it will be generated the structure network which is similar to one of the graph component in graph theory. Graph isomorphism method can be used for matching two components in
-
In operation research the network flow (also called as transportation network) is directed graph application where each edge has a capacity and each edge receives a flow, where the amount flow cannot be exceed the capacity of the edge [7]. In this operation research directed graph is called network, the vertices are called as node, and the edges are called as arcs. There are many application of the network flow model, like some of them are picture a series of water pipes fitting into a network [7], Kirchhoffs current law, ecology, food web, information theory, thermodynamics,Robert Ulanowicz [7]. The one of simplest and common approach, which is used network flow, is maximum network
the biological analysis. If two graphs are isomorphic to each other than we can conclude that the following biological component like protein interaction, biochemical have same molecular property in the biological component. Likewise isomorphism there is sub graph can also be applied for the biological analysis method. If among two graph one of the graphs is sub graph than in biological analysis the sub graph component formula can be derived from main biological graph component. According above example, we must have knowledge about graph theory then only we can understand the concept of biological analysis in the real world.
-
-
Operation Research
Figure 6: Example of maximum flow network.
flow. In which find out path from source to sink (destination) that is carried out the maximum flow capacity. Figure 6 is example of maximum flow, in which 11 is maximum flow in network.
-
-
Conclusion
In this paper authors have provided basic definitions that are crucial part of graph theory. These definitions are very easy to understand and provide clear idea of different types of graphs. All the necessary terminologies of graph theory are covered by these definitions. Later various applications of graph theory has been identified and divided as per their fields. This paper explains where different graphs of graph theory are used in these real world applications. . Hence this paper gives clear idea of use of terminologies of the graph theory in real world applications, covering both basic knowledge and brief of where these terminologies
are applied. One can easily understand these terminologies and get idea how they are used in real world.
-
References
-
N.L. Biggs, E.K. Lloyd, and R.J. Wilson, Graph Theory: 1736-1936. Oxford, U.K.: Oxford Univ. Press, 1976.
-
L. Euler, ªSolutio Problematis ad Geometriam Situs Pertinentis, Commentarii Academiae Scientiarum Imperialis Petropolitanae, vol. 8, pp. 128-40, 1736 (translated in [1]).
-
http://en.wikipedia.org/wiki/Bipartite_graph#Ad ditional_applications.
-
https://wiki.engr.illinois.edu/download/attachments/1 86384385/Modeling+Bipartite+Graphs_Talk_Hongbo.p df?version=1&modificationDate=1267633396000
-
http://en.wikipedia.org/wiki/Graph_coloring#Applica tion
-
Georgios A Pavlopoulos, Maria Secrier, Charalampos N Moschopoulos, Theodoros G Soldatos, Sophia Kossida, Jan Aerts, Reinhard Schneider and Pantelis G Bagos Using graph theory to analyze biological networks doi: 10.1186/1756-0381-4-10 Cite this article as: Pavlopoulos et al.: Using graph theory to analyze biological networks. BioData Mining 2011 4:10.
-
http://en.wikipedia.org/wiki/Flow_network.