1 Chapter 1 Graph Matching: An Introduction Graph theory is a branch of mathematics that deals with graphs which are sets of vertices (or nodes) represented as V(={v 1 ,v 2, …,v n }) and the associated set of edges represented by E(={e 1 ,e 2 ,…,e k }), where e i =<v i ,v j >. Graphs are flexible structures that can be used to model real world entities as well as processes in different domains. The problems in various domains can be modeled as analogous problems on graphs and solutions to these graph problems give the solutions to the original problems. This has resulted in widespread use of graphs in obtaining solutions to problems in various domains. Hence, graph theory has grown into a significant area of research in mathematics with applications in chemistry, physics, operations research, social science, biology, computer science etc. The advances in computer technology and increased applications of graphs have spawned a renewed interest amongst mathematicians and computer scientists in graph theory. Graphs have, of late gained significance in solving problems in diverse areas because of the ease of their representation and manipulation, in computers [Narasingh Deo, 2004]. The problem of graph matching / similarity of graphs/ graph isomorphism have attracted researchers in mathematics and computer science from the day Graph theory as discipline has started to gain importance. The importance of Graph theory and Graph Matching in the current context is brought out in the ensuing section which also emphasizes the need for addressing the problem. 1.1 Introduction to Graph Theory and Graph Matching The paper written by Leonhard Euler on the “Seven Bridges of Konigsberg” and published in 1736 is regarded as the first paper in the history of graph theory [Narasingh Deo, 2004]. In 1878, Sylvester introduced the term Graph in a paper published in the famous scientific journal “Nature”, where he draws an analogy between "quantic invariants" and "co-
28
Embed
Chapter 1 Graph Matching: An Introduction - Shodhgangashodhganga.inflibnet.ac.in/bitstream/10603/24029/5/chapter1.pdf · Chapter 1 Graph Matching: An Introduction Graph theory is
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
1
Chapter 1
Graph Matching: An Introduction
Graph theory is a branch of mathematics that deals with graphs which are sets of vertices
(or nodes) represented as V(={v1,v2,…,vn}) and the associated set of edges represented by
E(={e1,e2,…,ek}), where ei=<vi,vj>. Graphs are flexible structures that can be used to model
real world entities as well as processes in different domains. The problems in various
domains can be modeled as analogous problems on graphs and solutions to these graph
problems give the solutions to the original problems. This has resulted in widespread use of
graphs in obtaining solutions to problems in various domains. Hence, graph theory has
grown into a significant area of research in mathematics with applications in chemistry,
physics, operations research, social science, biology, computer science etc.
The advances in computer technology and increased applications of graphs have spawned a
renewed interest amongst mathematicians and computer scientists in graph theory. Graphs
have, of late gained significance in solving problems in diverse areas because of the ease of
their representation and manipulation, in computers [Narasingh Deo, 2004]. The problem
of graph matching / similarity of graphs/ graph isomorphism have attracted researchers in
mathematics and computer science from the day Graph theory as discipline has started to
gain importance. The importance of Graph theory and Graph Matching in the current
context is brought out in the ensuing section which also emphasizes the need for
addressing the problem.
1.1 Introduction to Graph Theory and Graph Matching
The paper written by Leonhard Euler on the “Seven Bridges of Konigsberg” and published in
1736 is regarded as the first paper in the history of graph theory [Narasingh Deo, 2004]. In
1878, Sylvester introduced the term Graph in a paper published in the famous scientific
journal “Nature”, where he draws an analogy between "quantic invariants" and "co-
2
variants" of algebra and molecular diagrams and this lead to different applications of Graph
Theory [Sylvester John Joseph, 1878.] The first textbook on graph theory was written
by Dénes Kőnig, and published in 1936 [Tute W T, 2001]. A later textbook by Frank Harary,
published in 1969, was popular, and enabled mathematicians, chemists, electrical engineers
and social scientists to talk to each other [Harary Frank, 1969]. Today there are innumerable
number of books on Graph Theory that describe the fundamentals and applications.
The subject of graph theory had its beginning in recreational math problems but it has now
grown in to a significant area of mathematical research. Basically graph theory is a study of
graphs which mathematically model pair wise relations between objects. In all the domains
where graphs are employed for modeling, the vertices or nodes; model the objects whereas
the edges model the relationship. Graphs by their inherent characteristics have been found
to be versatile tools for applications in science and engineering [Narasingh Deo, 2004]. Their
flexibility and robustness in modeling various scenarios and concepts has led to their
popularity. The edges in the graphs may be undirected, representing bidirectional
relationship or they may be directional representing unidirectional relationship. Graphs
which have only undirected edges are referred to as “Undirected Graphs”, whereas the
graphs which consist of directed edges only are “Directed Graphs or Digraphs”. Further
graphs which consist of both the types of edges are “Mixed Graphs”. Graphs are also
categorized as “Simple Graphs” and “Multi Graphs”. Graphs which do not have self loops
and parallel edges are simple graphs [Chartrand, 2012]. The graphs having self loops and /
or parallel edges are multi graphs. The various definitions and concepts about graphs are
brought out in section 1.1.1.
1.1.1 Definitions and Concepts
This section provides the necessary definitions and introduces the conventions followed in
the thesis.
3
Graph : A graph is an ordered pair G = (V, E) comprising of a set V of vertices or
nodes together with a set E of edges or lines/arcs. The edges may be
directed (asymmetric) or undirected (symmetric).
Vertex set : The set of vertices in a graph is denoted by V (G) or V
Edge set : The set of edges in a graph is denoted by E (G) or E
Degree : The degree of a vertex is the number of edges that are incident to it.
Size : A graph's size is |E|, the number of edges
Order : The order of a graph is |V|, the number of vertices
Distance : The distance d (x, y) in G between two vertices x, y is the length of a
shortest x –y path in G
Eccentricity : The eccentricity, e(x), of the vertex x is the maximum value of d(x, y),
where y is allowed to range over all of the vertices of the graph
OR
The eccentricity, e(x), of the vertex x in a graph G is the distance from x
to the vertex farthest from x i.e. e (x) = max d (x, xi), i
Diameter : The greatest distance between any two vertices in G is the diameter of
G, denoted by diam(G)
Center : A vertex with minimum eccentricity in a graph G is referred to as the
center of graph, such a vertex is also called Central Vertex
Radius : The greatest distance between the central vertex and any other vertex
is the radius of the graph and is denoted rad G. It should be obvious that
rad G ≤ diam G ≤ 2*radG
4
Complete
Graph / clique
If all vertices of G are pair wise adjacent, then G is a complete graph or
clique
Walk : A walk is an alternating sequence of vertices and edges, with each edge
being incident to the vertices immediately preceding and succeeding it
in the sequence. A walk of length k is a non-empty alternating sequence
of k+1 vertices and k edges in G
Trail : A trail is a walk with no repeated edges
Path : A path is a walk with no repeated vertices
Closed Walk : A walk is closed if the initial vertex is also the terminal vertex
Cycle : A cycle is a closed trail with at least one edge and with no repeated
vertices except that the initial vertex is also the terminal vertex
Length of a walk: The length of a walk is the number of edges in the sequence defining
the walk
Connected
Graph
A non-empty graph G is called connected if any two of its vertices are
linked by a path in G. A connected graph is a graph with exactly one
connected component
Undirected
Graph
An undirected graph is one in which all edges have no orientation.
Directed graph : A directed graph or digraph is an ordered pair D = (V, A) where each
edge has a direction
:
:
:
:
5
Adjacent : Two vertices x, y of G are adjacent if <x, y> is an edge in G in other
words two vertices are adjacent if they are incident to a common edge.
Similarly two edges are adjacent if they are incident to a common vertex
Incident : A vertex v is incident with an edge e if v ∈ e that is e is an edge at v
Independent : A set of vertices or edges are independent if no two of its elements are
adjacent
Isomorphic : G1 and G2 are isomorphic, if there exist a bijection φ: V1 → V2 such
that<x, y> ∈ E1⇐⇒ <φ(x), φ(y)> ∈ E2 x, y in V1
Invariant : A mapping taking graphs/ graph parameters as arguments is called a
graph invariant if it assigns equal values to isomorphic graphs
A simple graph : A simple graph is a triple G= (V,E,I), where V and E are disjoint finite sets
and I is an incidence relation such that every element of E is incident
with exactly two distinct elements of V and no two elements of E are
incident to the same pair of elements of V
Connectivity : A graph G has connectivity k if G is k-connected but not (k+1)-
connected. A complete graph on k+1 vertices is defined to have
connectivity k.
Neighbours : The set of neighbours, N(v), of a vertex v is the set of vertices which are
adjacent to v. The degree of a vertex is also the Cardinality of its
neighbour set.
Induced Sub-
Graph :
For a set of vertices X, we use G to denote the induced sub
graph of G whose vertex set is X and whose edge set is the subset
of E(G) consisting of those edges with both ends in X
:
6
These are some of the definitions in graph theory that will be used in this dissertation.
Many efficient representation techniques are available for representing graphs in
computers and are briefly described in the next section.
1.1.2 Computer Representation and Graph Spectra
The availability of robust computer representation scheme for graphs and flexibility of
processing them has furthered the use and applications of graphs. The graphs are
represented by various matrices such as adjacency matrix; incidence matrix, path matrix etc
[Narasingh Deo, 2004]. These matrices characterize the various properties of the graphs
and can be processed by a computer for extracting various specific characteristics of the
graphs. The properties of these matrices can be abstracted using the spectrum of the
matrices represented by sets of eigenvalues and eigenvectors [Chung Fan R K, 1994].
The discipline of spectral graph theory emerged in the 1950s and 1960s. It is a theory of
matrices applicable to graphs and their applications. It has the various features that some of
the results, although purely combinatorial in nature, seem in the present state of
knowledge to be unobtainable without employing the matrices that can describe the
characteristic of the graph it represents. Such properties are referred to as spectral
properties.
Besides graph theoretic research on the relationship between structural and spectral
properties of graphs, another major source of advancement in graph theory was research
in quantum chemistry. But the connections between these two lines of work were not
Edge Induced
Sub-Graph
For a set S of edges, we use G[S] to denote the edge induced sub-
graph of G whose edge set is S and whose vertex set is the
subset of V(G) consisting of those vertices incident with any edge in S.
:
7
discovered until much later. The 1980 monograph “Spectra of Graphs” by Cvetkovid, Doob,
and Sachs summarized nearly all research till the date in the area [Cvetkovid etal, 1980]. In
1988 it was updated by their Survey of Recent Results in the Theory of Graph Spectra
[Cvetkovid etal, 1988]. These concepts and theoretical foundations have formed a sound
basis for development of applications of graphs/graph theory and an important few are
described in section 1.1.3.
1.1.3. Applications of Graphs/Graph Theory
Various problems in Graph theory such as Euler Circuits, Hamiltonian Circuits, 4 Color
problem, Planarity of graphs and Kurtowski’s graphs have been well researched and have
found applications in different domains [Chartrand, 2012]. One of the domains, where
graph theory has found large number of applications is computer science. In computer
science, graphs are used to represent communication networks, data organization,
computational devices, the flow of data/information, computational control flows, objects
to be recognized etc. The graph theoretic approach can be applied to problems in travel,
biology, computer chip design, and many other fields [W1].
Topology is a major application area of graphs. Euler’s formula relating the number of
edges, vertices, and faces of a convex polyhedron was studied and generalized by
Cauchy and L'Huillier, and is at the origin of topology. More than a century after Euler's
paper on the bridges of Königsberg, Cayley was motivated by the study of particular
analytical forms arising from differential calculus namely the trees. The techniques evolved
were mainly concerned with the enumeration of graphs having particular properties
(analogous to finding chemical isomers). Enumerative graph theory then rose from the
results of Cayley and the fundamental results published by Pólya between 1935 and 1937
and the generalization of these by De Bruijn in 1959 [W1]. Cayley linked his results on trees
with the contemporary studies of chemical composition.