Matrix Representation of Graphs

advertisement
Matrix Representation of Graphs in Network Problems
Jason Wilborn
A matrix is often an eloquent and efficient way of representing a graph for
analysis. There is a correspondence between many graph-theoretic properties and matrix
properties that makes the problem easier to visualize and solve. Matrix representations of
graphs are often used to analyze networks, such as those for communications, power
distribution, transportation, and shipping. Often it is difficult to employ a computer to
analyze a pictorial problem. If computer analysis is desired, converting the pictorial
problem into a matrix is a convenient procedure. Many matrix representations also allow
for easy hand calculations when the problem cannot be solved by inspection. Incidence,
path, circuit, cut-set, and adjacency matrices are useful representations of graphs for
network analysis and similar problems.
The incidence matrix of a non-directed graph G is an n by e binary matrix; where
n is the number of vertices of the graph and e is the number of edges in the graph. It is
constructed such that xij is one if the jth edge is incident on the ith vertex and xij is zero
otherwise [1]. If the incident matrix has no self-loops the incidence matrix will contain
the same information as the corresponding graph. Incidence matrices have the
distinguishing characteristic of having exactly two ones in each column since every edge
is incident on exactly two vertices. When considering an individual vertex, the number
of ones in the corresponding row of the incidence matrix is the degree of the vertex. It is
theorized that the rank of an incidence matrix is the number of edges of the graph minus
one [2]. Incidence matrices are best suited for use with graphs in which most of the
vertices have high degree.
Another convenient tool for analyzing network graphical network problems is the
path matrix. Unlike many other matrix representations of graphs, a path matrix is not
defined for an entire graph. It is only defined for exactly two vertices on a given graph.
The path matrix of a graph G is an n by e matrix where n is the number of paths between
the two vertices and e is the number of edges in G. The xij entry in the path matrix is one
if the jth edge lies in the ith path and the entry is zero otherwise [1]. Path matrices have
several distinct characteristics. A column of all zeros indicates an edge that does not lie
on any path between the two vertices and is most likely inconsequential to the problem.
There will be no row of all zeros since no path can consist of zero edges. A column of all
ones corresponds to an edge that is in every path between the two vertices. Such an edge
is likely to be of critical importance to the graph. Path matrices are most important when
analyzing communication and transportation networks. Path matrices make unnecessary
routes, bottlenecks, and loops obvious.
Circuit matrices can be thought of as path matrices where all the paths are
circuits. The circuit matrix of a graph G is a q by e matrix where q is the number of
distinct circuits in the graph and e is the number of edges in G. The xij entry is one if
edge j is in circuit i [2]. Many of the characteristics of circuit matrices are similar to
those of path matrices. An edge that is not on a circuit produces a column of zeros. The
number of edges in a circuit must be equal to the number of ones in the corresponding
row of the circuit matrix. Unlike an incidence matrix, a circuit matrix can represent a
graph with self loops. A self loop is denoted by a single one in the corresponding row. A
circuit matrix does not fully represent a graph; multiple distinct graphs may have the
produce the same circuit matrix. Circuit matrices are especially useful when the number
of nodes of a network is known, but the connections between them must be determined
experimentally; such as determining the wiring of an enclosed switch box.
Cut-set matrices are defined in a similar manner to path matrices and circuit
matrices. A cut-set matrix of a graph G is an f by e binary matrix such that f is the
number of cut-sets in G and e is the number of edges. The xij entry is one if the ith cutset contains the jth edge and is zero otherwise [1]. Parallel edges in a graph produce
identical columns in the corresponding cut-set set matrix. Cut-set matrices are capable of
representing self-loops and do so in a unique way. A column of all zeros represents an
edge that forms a self loop. Cut-set graphs are often employed when the network being
considered is large enough to be divided into several cut-sets.
The adjacency matrix of a simple graph G with n vertices is an n by n binary
matrix. It is constructed such that xij equals one if there is an edge between the ith and jth
vertices and xij equals zero if there is not an edge between the ith and jth vertices [1].
The defining characteristics and general uses of an adjacency matrix are outlined in the
paper Adjacency Matrices [3]. This paper also discusses the some of the benefits and
limitations of adjacency matrices.
Many common types of matrices used to represent graphs have been discussed.
Their definition, outstanding characteristics, and general uses have been given. The
usefulness of these tools in analyzing graphical network problems has been demonstrated.
References:
1. Deo, Narsingh 1974 “Graph Theory with Applications to Engineering and
Computer Science” London Prentice-Hall International, Inc. pg. 137-164.
2. Henley, Ernest J. and Williams, R. A. “Graph Theory in Modern Engineering”
New York Academic Press pg. 175-188.
3. Wilborn, Jason Adjacency Matrices July 2003
Download