Sie sind auf Seite 1von 167

Graph Theory

By
Chandan Giri
chandangiri@gmail.com
Graph Theory - History
Leonhard Euler's paper on
Seven Bridges of
Knigsberg ,
published in 1736.

Famous problems
The traveling salesman problem
A traveling salesman is to visit a
number of cities; how to plan the trip
so every city is visited once and just
once and the whole trip is as short as
possible ?
Famous problems
In 1852 Francis Guthrie posed the four color problem
which asks if it is possible to color, using only four
colors, any map of countries in such a way as to
prevent two bordering countries from having the
same color.

This problem, which was only solved a century later in
1976 by Kenneth Appel and Wolfgang Haken, can
be considered the birth of graph theory.
Examples
Cost of wiring electronic components
Shortest route between two cities.
Shortest distance between all pairs of cities in
a road atlas.
Matching / Resource Allocation
Task scheduling
Visibility / Coverage

Examples
Flow of material
liquid flowing through pipes
current through electrical networks
information through communication networks
parts through an assembly line
In Operating systems to model resource handling
(deadlock problems)
In compilers for parsing and optimizing the code.

Basics
Graph Definitions and Notation

4
2
5
1
4
2
6 6
1
3
5
3
Definitions
Vertex
Basic Element
Drawn as a node or a dot.
Vertex set of G is usually denoted by V(G), or V
Edge
A set of two elements
Drawn as a line connecting two vertices, called
end vertices, or endpoints.
The edge set of G is usually denoted by E(G), or E.
Graph Definitions and Notation
Let G=(V,E, g) be a graph and e be an edge of this
graph.
Then there are vertices v and w such that
g(e)={v,w}; vertices v and w are end vertices of e
When a vertex v is an end point of some edge e, we
say that e is an incident with the vertex v and v is
incident with the edge e.
Two vertices v and w of G are said to be adjacent if
there exists an edge e E such that g(e)={v,w}.

Graph Definitions and Notation
Two edges are said to be adjacent if they have
a common end vertex.
If e is an edge such that g(e) = {v,w}, where
v=w, then e is an edge from the vertex v to
itself. Such an edge is called a loop on the
vertex v or at the vertex v.
If there is a loop on v, then v is adjacent to
itself.


Graph Definitions and Notation
v
3
e
1
v
1
v
2
v
4
v
6
e
2
e
3
e
5
e
4
e
6 e
7
v
5
v
7
Graph Definitions and Notation
Let G=(V, E, g) be a graph.
The incidence function g need not be one one.
Therefore, there may exist edges e
1
, e
2
, ., e
n-1
, e
n
,
n 2 such that g(e
1
)= g(e
2
) = = g(e
n
) = {v, w}.
Such edges are called parallel edges.

Example:
g(e
1
)=g(e
2
)={v
1
, v
2
}. So edges e
1
and e
2
are parallel. Similarly
edges e
4
, e
6
and e
7
are parallel.
e
1
v
1
v
2
v
4
v
6
e
2
e
3
e
5 e
4
e
6
e
7
v
5
v
7
Graph Definitions and Notation
DEFINITION :: Isolated vertex
DEFINITION :: Degree or valency of a vertex
Let G be a graph and v be a vertex in G. We say that v is an
isolated vertex if it is not incident with any edge.
Let G be a graph and v be a vertex of G. The degree of v,
written as deg(v) or d(v) is the number of edges incident
with v.
We make the convention that each loop on a vertex v
contributes 2 to the degree of v.
Example:
v
5
deg(v
1
)=2
deg (v
2
)= 1
deg (v
3
)=3
deg(v
4
)=2

deg(v
5
)=0
v
1
v
4
v
3
e
1
e
3
e
2
v
2
Graph Definitions and Notation
DEFINITION:: k-regular graph
Let G be graph and k be a nonnegative integer.
G is called a k-regular graph if the degree of each
vertex of G is k
Example:
An interesting k-regular graph is the Petersen 3-
regular graphs follows:
v
1
v
2
v
3
v
10 v
7
v
6
v
9
v
8
v
4
v
5
Graph Definitions and Notation
DEFINITION :: Even (odd ) degree vertex
Let G be a graph and v be a vertex in G.
v is called an even (odd) vertex if the degree of
v is even (odd)
A vertex with degree one is called the pendant
vertex (or leaf vertex).

Example::

deg(v
1
)=2 Even
deg (v
2
)= 1 Odd
deg (v
3
)=3 Odd
deg(v
4
)=2 Even
v
1
v
4
v
3
e
1
e
3
e
2
v
2
Graph Definitions and Notation
DEFINITION :: Degree Sequence
Let n
1
, n
2
, n
3
, , n
k
be the degrees of vertices of a graph G such
that n
1
n
2
n
3
n
k
.
Then the finite sequence n
1
, n
2
, n
3
, , n
k
is called the degree
sequence of the graph
Every graph has a unique degree sequence.
However, we can construct completely different graphs having
same degree sequence.
Example::
The degree sequence of both of these graphs is 2, 3, 3, 4. But
the graphs are different.

v
1
v
2
v
3
v
4
v1

v
4
v
3
v
2
Graph Definitions and Notation
Theorem: The sum of the degrees of all vertices of a graph G is twice the number
of edges.
i.e_ d u
|
= 2. e
n
|=1
, where e is the number of edges of the graph and n is the
number of vertices of the graph G.
Proof:
Corollary: In a graph G, the number of odd degree vertices is even.
Proof:It is known that _ J :

= 2. m
n
=1
, where m is the number of edges of the graph.
Hence _ J :

n
=1
= c:cn
=>_J
odd
+ _J
ccn
= c:cn
Now _J
ccn
is even. As _J
odd
has to be even but J
odd
are odd degree vertices. So
the number of odd degree vertices should be in even numbers. This proves the
statement.
Corollary: The sum of degrees of all of the vertices of a graph G is an even integer.
--- Follows directly from above theorem
Every edge contributes two to the sum of the degrees, one for each of its end points.
Graph Definitions and Notation
DEFINITION :: Simple Graph
A graph is called a simple graph if G does not contain any parallel
edges and any loop
Theorem:: Let G be a simple graph with at least two vertices. Then G has at least
two vertices of same degree
Prove by your own
Graph Definitions and Notation
DEFINITION :: Complete Graph
A simple graph with n vertices in which there is an edge
between every pair of distinct vertices is called a complete
graph on n vertices. This is denoted as K
n.
b
d
e
a
c
K
5
Example:
Graph Definitions and Notation
Theorem: The number of edges in a complete graph with n
vertices is n(n-1)/2
Proof:
Every node in the complete graph with n vertices is connected to
all of the other n1 nodes.

Hence, Since each edge has two endpoints, this implies that the
graph has n(n1)/2 edges.

It is also true that _
n1
I=0
= ( 1)2
Graph Definitions and Notation
DEFINITION :: Bipartite Graph
A simple graph G is called a bipartite graph if the vertex set V of G
can be partitioned into Nonempty subsets V
1
and V
2
such that each
edge of G is incident with one vertex in V
1
and one vertex in V
2
.
V
1
V
2
is called a bipartition of G.
A
B
C
D
X
Y
Z
23
Bipartite Graphs
Example I: Is C
3
bipartite?
v
1
v
2 v
3
No, because there is no way to partition
the vertices into two sets so that there are
no edges with both endpoints in the same
set.
Example II: Is C
6
bipartite?
v
5
v
1
v
2
v
3 v
4
v
6
v
1 v
6
v
2
v
5
v
3
v
4
Yes, because we
can display C
6

like this:
Graph Definitions and Notation
DEFINITION :: Complete Bipartite Graph
A bipartite graph G with bipartition V
1
V
2
is called a complete
bipartite graph on m and n vertices if the subsets V
1
and V
2
contain
m and n vertices, respectively, such that there is an edge between
each pair of vertices v
1
and v
2
, where v
1
V
1
and v
2
V
2
.

A complete bipartite graph on m and n vertices is denoted by K
m,n
v
1 v
6
v
2
v
5
v
3
v
4
Graph Definitions and Notation
DEFINITION :: Sub-graph
Let G= (V, E, g) be a graph. The graph G
1
=(V
1
, E
1
, g
1
) is a sub-graph of G if
a) V
1
V and
b) Every edge of G
1
is also an edge of G.
v
1
v
2
v
3
v
4
v
5
v
6
e
1
e
3
e
4
e
6
e
7
e
5
e
2
v
3
v
2
v
1
v
4
v
5
e
1
e
4
e
2
v
2
v
1
v
4
v
5
v
6
e
1
e
6 e
5
e
2
v
2
v
1
v
3
v
4
e
1
e
3
e
2
G
G1
G2
G3
A complete sub-graph of G is called a clique.
Subgraph::Graph Definitions
Spanning Sub-graph:
If V
1
= V then G
1
is called the spanning sub-graph of
G i.e if every vertex V
1
of G
1
is in G.
Edge disjoint sub-graph:
If G
1
and G
2
are two sub-graphs of G and they have no
edges are in common then G
1
and G
2
are edge disjoint.
Vertex disjoint sub-graph
If G
1
and G
2
are two sub-graphs of G and they have no
vertices are in common then G
1
and G
2
are edge disjoint.

Are vertex disjoint sub-graphs also edge disjoint sub-graphs?
Not all time.
Sub-graph
Few observations:
Every graph is its own sub-graph
A sub-graph of a sub-graph of G is a sub-graph of
G
A single vertex in a graph G is a sub-graph of G
A single edge in G, together with its vertices, is
also a sub-graph of G
Isomorphism of Graphs
Let G=(V,E) and G={V, E} be graphs.
G and G are sais to be isomorphic if there
exist a pair of functions f:V V and g: E
E that associates each element in V with
exactly one element in V and vice versa;
g associates each element in E with exactly one
element in E and vice versa, and
for each v V, and each e E, if v is an end point
of the edge e, then f(v) is an endpoint of the edge
g(e).
Isomorphism of Graphs
If two graphs are isomorphic then they must
have
The same number of vertices
The same number of edges
The same degrees for corresponding vertices
The same number od connected components
The same number of loops
The same number of parallel edges.

Isomorphism of Graphs
Example:
The vertices a, b, c, d, e in the graph (A) corresponds to v
1
, v
2
,
v
3
, v
4
and v
5
of the graph (B) respectively.
The edges 1, 2, 3, 4, 5 and 6 correspond to e
1
, e
2
, e
3
, e
4
, e
5
and
e
6
respectively.
b
e
a
c
d
5
6
4
2
1
3
e
1
e
3
e
2
e
5
e
6
e
4
v
1
v
2
v
3
v
4
v
5
A
B
Except for the labels (i.e. names ) of their vertices and
edges, isomorphic graphs are the same graph.
Walks, Paths, and Cycles
DEFINITION :: Walk
Let u and v be two vertices in a graph G.
A walk from u to v, in G, is an alternating sequence of n+1 vertices and
n edges of G
(u= v
1
, e
1
, v
2
, e
2
, v
3
, e
3
, .., v
n-1
, e
n-1
, v
n
, e
n
, v
n+1
=v)
beginning with vertex u, called the initial vertex, and ending with vertex
v, called the terminal vertex, in which v
i
and v
i+1
are endpoints of edge e
i
for
i=1, 2, ., n.
Example:
Walks:
v
1
, b, v
2
, e, v
3
, h, v
3
, d, v
4

v
4
, c, v
2
, f, v
5
, g, v
6
v
1
, b, v
2
, c, v
4
, a, v
1
v
1
v
4
v
3
v
2
v
5
v
6
a
b
e
d
f
g
c
h
Walks, Paths, and Cycles
DEFINITION :: Directed walk
Let u and v be two vertices in a directed graph G.
A directed walk from u to v in G is an alternating sequence
of n+1 vertices and n arcs of G
(u= v
1
, e
1
, v
2
, e
2
, v
3
, e
3
, .., v
n-1
, e
n-1
, v
n
, e
n
, v
n+1
=v)
beginning with vertex u and ending with vertex v in which
each edge e
i
, for i=1, 2, , n, is an arc from v
i
to v
i+1

Walks, Paths, and Cycles
DEFINITION :: Length of a walk (directed walk)
Open walk
Closed
walk
Walks, Paths, and Cycles
DEFINITION :: Trail and Path
Walks:
v
1
, b, v
2
, e, v
3
, h, v
3
, d, v
4
---- Not a path, trail
v
4
, c, v
2
, f, v
5
, g, v
6
------ Path, trail

v
1
, b, v
2
, c, v
4
, a, v
1
----- Path (also closed path,
cycle), trail (circuit)

v
1
v
4
v
3
v
2
v
5
v
6
a
b
e
d
f
g
c
h
DEFINITION :: Cycle
DEFINITION :: Circuit
Walks, Paths, and Cycles
DEFINITION :: Trivial walk, path or trail
DEFINITION :: k-cycle
Some properties of Walks, Paths, and
Cycles
Vertices Edges Comments
Walks Repetition Allowed Repetition Allowed

Trails Repetition Allowed

No Repetition of
edges
Paths No repetitions of
vertices except possibly
starting and terminal
vertices
No Repetition of
edges

Circuits Repetition Allowed No Repetition of
edges
A nontrivial closed trail
Cycles No repetitions of
vertices except starting
and terminal vertices
Without repetition of
vertices except starting
and terminal vertices
Walks, Paths, and Cycles
Theorem: Let G be a graph and u and v be two
vertices of G. If there is a walk from u to v, then there is
a path form u to v.
Theorem: Every circuit contains a sub-walk that is a cycle.
Operations on Graph
DEFINITION :: Complement of a simple graph
Operations on Graph
DEFINITION :: Difference operation
If the graphs G=(V, E) and G=(V, E) are simple and V V,
then the difference graph is G- G = (V, E) where E contains
those edges from G that are not in G (simple graph).
Operations on Graph
Operations on Graph
Operations on Graph
DEFINITION ::Removal of a vertex
DEFINITION ::Removal of a edge
If e is an edge of the graph G = (V, E) then G e is graph V, E , where E is obtaied by
removing e form E.
i.e. deletion of a vertex v means the deletion of the vertex v and deletion of
all the edges incident on v.
Connected graph
DEFINITION :: Connectedness
DEFINITION :: Connected Graph
For example, any two computers in a network can communicate if and
only if the graph of this network is connected.
Note: A graph consisting of only one vertex is always connected, because it does
not contain any pair of distinct vertices.
44
Connected graph
Example: Are the following graphs connected?
d

a

b

c

e

Yes.
d

a

b

c

e

No.
d

a

b

c

e

Yes.
d

a

b

c

e

f

No.
Some Theorem
Theorem:
A graph is disconnected if and only if its vertex set V can be partitioned into two
nonempty, disjoint subsets V
1
and V
2
such that there exists no edge in G whose one end
vertex is in subset V
1
and the other in subset V
2
.

Proof:
Suppose that such a partition exists.
Consider two arbitrary vertices a and b of G, such that a V
1
and b V
2
. No path can
exist between vertices a and b; otherwise there would be at least one edge whose one end
vertex would be in V
1
and the other in V
2
. hence, if a partition exists, G is not connected.

Conversely, let G be a disconnected graph.
Consider a vertex a in G. Let V
1
be the set of all vertices that are joined by paths to a.
Since G is disconnected V
1
does not include all vertices of G. The remaining vertices will
form a (nonempty) set V
2
. So no vertex in V
1
is joined to any in V
2
by an edge. Hence the
partition.
Component
DEFINITION :: Component
Connected graph

Theorem: If a graph (connected or disconnected) has only two
odd vertices v
1
and v
2
, then there is a path between v
1
and v
2
.
Proof:
Case 1: G is connected. It is obvious that there is a path
between v1 and v2.

Case 2: G has two or more connected components. For each
of these connected components the theorem which states that
number of odd vertices in a graph is always even is applicable.
As there are only two odd vertices so, v1 and v2 must belong
to the same component. Otherwise the above stated theorem
would be violated. (Proved)
Connected graph
Theorem: If a graph has n vertices & k components then it can
have a maximum of (n-k)(n-k+1)/2 edges.

Proof:
If n
i
(>= 1) is the number of vertices for the i-th component of the
graph,
Then we have n
1
+n
2
+.+n
k
= n for the k component of the graph.
Now maximum number of edges of a component I = n
i
(n
i
-1)/2.
Again maximum number of edges n of G = ( n
i
2
n
i
) =
n
i
2
n
i
Now _ (n

1) = n
k
=1

Taking square at both sides we have (_ (n

1))
k
=1
2
= (n )
2

Equating both sides we can obtain (n-k)(n-k+1)/2 edges.
Euler graph
Euler line and Euler graph
If some closed walk in a graph contains all the
edges of the graph, then the walk is called an Euler
line and the graph an Euler graph.
Walks, Paths, and Cycles
DEFINITION :: Distance
Walks, Paths, and Cycles
Theorem: Let G be a simple graph with at most 2n vertices. If the degree of each
vertex is at least n, then the graph is connected.
Theorem: A graph is bipartite if and only if it does not contain any cycle of odd
length.
Matrix Representation of a Graph
Adjacency Matrix:
Let G be a graph with n vertices, where n>0.
Let V(G) = {v
1
, v
2
, v
3
, , v
n
}.
The adjacency matrix A
G
of G is an nxn matrix [a
ij
] such that the (i, j) ths
entry of A
G
is the number of edges from v
i
to v
j
.
i.e. o
]
=_
p wcrc p s numbcr o cJgcs rom :

to :
]
u tcrwsc


Because a
ij
is the number of edges from v
i
to v
j
, the adjacency matrix A
G
is a square
matrix over the set of non-negative integers.

1
=
u 1 u 1
1
u
1
u
1
u
1
1
1
u
1
u

Example:

2
=
u 1 u 2
1
u
2
u
2
u
2
1
1
u
1
u

v
2
v
1
v
3
v
4
e
1
e
4 e
3
e
2
e
5
G1
e
7
e
6
v
2
v
1
v
3
v
4
e
1
e
4 e
3
e
2
e
5
G2
Properties of Adjacency matrix
The Adjacency matrix A
G
of a graph has the
following property
1. AG is a symmetric matrix
2. If G does not contain any loops and parallel
edges then each element of AG is either 0 or 1
3. If G does not contain any loops, then all of the
diagonal elements of AG are 0.

Matrix Representation of a Graph
Incidence matrix
The all-vertex incidence matrix of a non-empty and loopless graph
G=(V, E) is an nxm matrix [a
ij
], where n is the number of vertices
in G and m is the number of edges of G and

|j
=_
1 |Ju
|
|x end uertex uJ e
j
therw|xe

Properties of Adjacency matrix
The incidence matrix A
G
of a graph has the
following property
Since an edge is incident on two vertices, each column of A
will have exactly two 1s and rest are 0s.
If any row has all entries as 0, then no edge is incident on
that vertex, hence it is an isolated vertex.
The number of 1s is a row indicates the degree od the
corresponding vertex.

Cut-edge, Cut Vertex
A cut-edge or cut-vertex of a graph is an edge
or vertex whose deletion increases the number
of components
Not a Cut-vertex
Cut-edge
Cut-edge
Cut-vertex
Cut-edge, Cut Vertex
G-e or G-M : The subgraph obtained by
deleting an edge e or set of edges M
G-v or G-S : The subgraph obtained by deleting
a vertex v or set of vertices S
e
G-e
G
Cut-edge, Cut Vertex
Theorem: An edge e is a cut-edge if and only if e
belongs to no cycles. 1.2.14
Proof :
Let e= (x, y) be an edge in a graph G and H be the
component containing e.
Since deletion of e effects no other component, it
suffices to prove that H-e is connected if and only if e
belongs to a cycle.
First suppose that H-e is connected.
This implies that H-e contains an x, y-path,
This path completes a cycle with e.
Cut-edge, Cut Vertex
Proof :2/2
Now suppose that e lies in a cycle C.
Choose u, vV(H)
Since H is connected, H has a u, v-path P
If P does not contain e
Then P exists in H-e
Otherwise (P contains e)
Suppose by symmetry that x is between u and y on P
Since H-e contains a u, x-path along P, the
transitivity of the connection relation implies that H-e has a
u, v-path
We did this for all u, v V(H), so H-e is connected.
Cut-edge, Cut Vertex
u
x y
e
P
C
v
An Example:
Eulerian Circuits
A graph is Eulerian if it has a closed trail
containing all edges.
We call a closed trail a circuit when we do not
specify the first vertex but keep the list in
cyclic order.
An Eulerian circuit or Eulerian trail in a
graph is a circuit or trail containing all the
edges.
Even Graph, Even Vertex
An even graph is a graph with vertex degrees
all even.
A vertex is odd [even] when its degree is odd
[even].
Maximal Path
A maximal path in a graph G is a path P in G
that is not contained in a longer path.
When a graph is finite, no path can extend forever ,
so maximal (non-extendible) paths exist.
Lemma: If every vertex of graph G has degree at
least 2, then G contains a cycle.
Proof:
Let P be a maximal path in G, and let u be an endpoint of P
Since P cannot be extended, every neighbor of u must already be a
vertex of P
Since u has degree at least 2, it has a neighbor v in V (P ) via an
edge not in P
The edge uv completes a cycle with the portion of P from v to u
u
P
Impossible
v
P
u
Must
Theorem: A graph G is Eulerian if and only if it has at most one
nontrivial component and its vertices all have even degree.
Proof: (Necessity)
Suppose that G has an Eulerian circuit C
Each passage of C through a vertex uses two incident
edges
And the first edge is paired with the last at the first vertex
Hence every vertex has even degree
In
Out
Start (The 1
st
)
End (The last)
Theorem: A graph G is Eulerian if and only if it has at most one
nontrivial component and its vertices all have even degree.
Proof: (Necessity)
Assume that all vertices of G are of even degree.
Now we can construct a walk starting at an arbitrary vertex v and going
through the edges of G such that no edge is traced more than once.
We continue tracing as far as possible. Since every vertex is of even degree,
we can exit from every vertex we enter; the tracing can cannot stop at any
vertex but v.
Since v is also of even degree, we shall eventually reach v when the tracing
comes to an end.
If this closed walk h we just traced includes all the edges of G, G is an
Euler graph.
If not, we remove from G all the edges in h and obtain a sub-graph h of G
formed by the remaining edges.
Theorem: A graph G is Eulerian if and only if it has at most one
nontrivial component and its vertices all have even degree
Proof:
Since both G and h have all their vertices of even degree,
degree of vertices of h is also even. Moreover, h must touch
h at least at one vertex a, because G is connected.
Starting from a, we can cistruct a new walk in h. Since. All
the vertices of h are of even degree, this walk in h must
terminate at vertex a. but this walk in h can not be combined
with h to form a new walk, which starts and ends at vertex v
and has more edges than h.
This process can not be repeated until we obtain a closed
walk that traverses all the edges of G.
Thus G is an Euler graph.
Hamiltonian Circuit
A Hamilton circuit in a graph is a circuit that
visits each vertex exactly once (returning to
the starting vertex to complete the circuit).
Example: Identifying Hamilton Circuits
A
B
C
D
F E
Refer to the graph below. Which of the following are Hamilton circuits?
b) A B C D E F C
E B F A


a) A B E D C F A
c) B C D E F B
Example: Identifying Hamilton Circuits
a) It is a Hamilton circuit for the graph.
b) It is not a Hamilton circuit since it visits B
more than once.
c) It is not a Hamilton circuit since it does not
visit all the vertices.
Solution
Hamiltonian Path
If we remove any one edge from a
Hamiltonian circuit, we are left with a path.
This path is called a Hamiltonian path. .
Clearly, a Hamiltonian path in a graph G
traverses every vertex of G.
Since a Hamiltonian path is a sub-graph of a
Hamiltonian circuit, every graph that has a
Hamiltonian circuit also has a Hamiltonian
path.
Hamiltonian Circuits
There are, however, many graphs with
Hamiltonian paths that have no Hamiltonian
circuits.
The length of a Hamiltonian path (if there
exists) in a connected graph of n vertices is (n-
1).
Graph with no Hamiltonian
Circuits
Hamiltonian Circuits
A given graph may contain more than one
Hamiltonian circuit.
The determination of the exact number of
edge-disjoint Hamiltonian circuits in a graph in
general is a unsolved problem.
However, Hamiltonian circuits in a complete
graph with odd number of vertices (n>=3)
are (n-1)/2.
Planar Graph
Planar Graphs and Graph Coloring
A graph is a planar graph if
and only if it has a pictorial
representation in a plane
which is a plane graph. This
pictorial representation of a
planar graph G as a plane
graph is called a planar
representation of G.
Let G denote the plane graph
in Figure 10.111. Graph G,
in Figure 10.111, divides the
plane into different regions,
called the faces of G.

Planar Graphs and Graph Coloring
Planar Graphs and Graph Coloring
Planar Graphs and Graph Coloring
Planar Graphs and Graph Coloring
Graph Coloring
Basics
Assignment of "colors" to certain objects in
a graph subject to certain constraints
Vertex coloring (the default)
Edge coloring
Face coloring (planar)
Not Graph Labeling
Graph coloring
Just markers to keep track of adjacency or
incidence
Graph labeling
Calculable problems that satisfy a numerical
condition
Vertex coloring
In its simplest form, it is a way of coloring
the vertices of a graph such that no two
adjacent vertices share the same color
Edge and Face coloring can be transformed
into Vertex version
Vertex Color example
Anything less results in adjacent vertices
with the same color
Known as proper
3-color example
Vertex coloring
A k-coloring of a graph G is a labeling f:
V(G) S, where |S| = k (often we use S =
[k]). The labels are colors; the vertices of
one color form a color class.
A k-coloring is proper if adjacent vertices
have different labels.
A graph is k-colorable if it has a proper k-
coloring. The chromatic number (G) is
the least k such that G is k-colorable.
k-chromatic
A graph G is k-chromatic if (G) =k.
A proper k-coloring of a k-chromatic graph
is an optimal coloring.
If (H) < (G) = k for every proper
subgraph H of G, then G is color-critical or
k-critical.
Chromatic number of a complete graph:
(G) = n

Tree
Definition:
A tree is a connected graph without any circuit.
Mathematically it can be defined as:

Tree
Null tree: A tree without any vertex.
As there is no circuit in the tree so a tree has to
be a simple graph, that is, having neither a
self-loop nor parallel edges.
Properties
Theorem:
There is one and only one path between every pair of
vertices in a tree, T.
Proof:
Since T is a connected graph, there must exist at least one path between every
pair of vertices in T.

Now suppose that between two vertices a and b of T there are two distinct
paths. The union of these two paths will contain a circuit and T cannot be a
tree.
Properties
Theorem: If in a graph G there is one and only one path
between every pair of vertices, G is a tree.
Proof:
Existence of a path between every pair of vertices assures that
G is connected.

A circuit in a graph (with two or more vertices) implies that
there is at least one pair od vertices a, b such that there are two
distinct paths between a and b.

Since G has one and only one path between every pair of
vertices, G can have no circuit. Therefore G is a tree.
Properties
Theorem
A tree with n vertices has n-1 edges
Proof:
The theorem will be proved by induction on the number of vertices.
It is easy to see that the theorem is true for n= 1, 2,3.
Assume that the theorem holds for all trees with fewer than n vertices.
Let us now consider a tree T with ne vertices. In T let e
k
be an edge with end vertices vi
and v
j
.

According to previon theorem the only path exist from v
i
to v
j
is e
k
.
Therefore deletion of e
k
from T will disconnect the graph as shown in the figure.
Furthermore, T- e
k
consists of exactly two components, and since there are no circuits in T
to begin with, each of these component is a tree.

Both of these trees t
1
and t
2
, have fewer than n vertices each, and therefore, by the
induction hypothesis, each contains one less edge than the number of vertices in it.
Thus T-e
k
consists of (n-2) edges (and n vertices). Hence T has exactly (n-1) edges.
t1
t2
vj vi
ek
Definitions
Minimally connected:
A connected graph is said to be minimally
connected if removal of any edge from it
disconnects the graph.
A minimally connected graph can not have a
circuit; otherwise, we could remove one of the
edges in the circuit and still leave the graph
connected.
Properties
Theorem:
A graph is a tree if and only if it is minimally
connected.
Proof: *********************** HOME WORK ***************************
Properties
Theorem: A graph G with n vertices, n-1 edges, and
no circuits is connected.
Proof:
Suppose there exists a circuit less graph G with n vertices and n-1
edges which is disconnected.
In that case G will consist of two or more circuit less components.
Without loss of generality, let G consists of 2 components, g1 and
g2.
Add an edge e between a vertex v1 in g1 and v2 in g2. Since there
was no path between v1 and v2 in G, adding e did not create a
circuit.
Thus G U e is a circuit less, connected graph of n vertices and n
edges., which is not possible.

Distance And Centers in a Tree
Distance:
Ina connected graph G, the distance d(v
i
, v
j
) between
two of its vertices v
i
and v
j
is the length of the shortest
path (i.e. the number of edges in the shortest path)
between them.
This definition is valid for any connected graph (not
necessarily a tree)
Eccentricity E(v):
The eccentricity E(v) of a vertex v in a graph G is the
distance from v to the vertex farthest from v in G.
i.e E(v)= max d(v, v
i
) for all v
i
belongs to G
Center
Center:
A vertex with minimum eccentricity in graph is
called a center of G.
It is possible that more than one vertex can have same
eccentricity values i.e more than one center can be
possible in a tree.
Tree
Theorem: Every tree has either one or two centers.
Proof:
The maximum distance, max d(v, vi) from a given vertex v to any
other vertex vi occurs only when vi is a pendent vertex.

Assume that a tree T having more than two vertices. Now it is known that in
any tree T there must have two or more pendant vertices. Now delete all the
pendant vertices from T. The resulting graph T is still a tree.

Now deletion of pendant vertices from T uniformly reduces the eccentricities
of the remaining vertices by 1. Therefore, all vertices that T had as centers will
still remain centers in T. Continue this process until there is left either a
vertex (which is the center of the tree T) or an edge (whose end vertices are the
two centers of T). This proves the theorem.
Radius and Diameter
Corollary:
If a tree T has two centers, the two centers must be
adjacent.
Radius: The eccentricity of a center in a tree is
defined as the radius of the tree.
Diameter: The diameter of a tree is defined as
the longest path in the tree.
It is not necessary that diameter of a tree is the half
of the radius.
Rooted and Binary Tree
Rooted tree:
A tree in which one vertex is distinguished from all the
other is called a rooted tree.
Generally the term tree means trees without any root.
Sometimes it is also called free trees.
Binary trees:
A special class of rooted trees which are used
extensively on computer science.
Definition:
It is a tree in which there is exactly one vertex of
degree two, and each of the remaining vertices is of
degree one or three.
Properties of binary trees
The number of vertices in a binary tree is always
odd.
This is because there is exactly one vertex of even
degree, and the remaining n-1 vertices are of odd
degrees. Since the number of vertices of odd degrees is
even, n-1 is even. Hence n is odd.
Let p be the number of pendant vertices in a
binary tree T. Then n-p-1 is the number of vertices
of degree three. Thus the number of edges in T
equals
[p+3(n-p-1)+2)]= n p = (n+1)/2
Tree
A nonpendant vertex in a tree is called an
internal vertex.
Number of internal vertices in a binary tree is
one less than the number of pendant vertices.
Level of node:
In a binary tree a vertex vi is said to be at level li if
vi is at a distance of li forom the root. Thus the
root is considered is at level 0.
Tree
Maximum number of possble nodes in a k level
binary tree:
2
0
+ 2
1
+ 2
2
+ .. + 2
k
>= n.
The maximum level, l
max
of any vertex in a binary tree
is called the height of an n- vertex binary tree.
Minimum possible height of an n-vertex binary tree is
min l
max
= log
2
(n+1) -1
Similarly
max l
max
= (n-1)/2
Spanning Trees
Definition:
A tree T is said to be a spanning tree of a
connected graph G if T is a subgraph of G and T
contains all the vertices of G.
3
15
14
10
6 4
5
2
9
8
Spanning Tree
Since the vertices of G are barely hanging
together is a panning tree, it is a sort of skeleton
of the original graph G.
This is why a spanning tree is sometimes refereed
to as a skeleton or scaffolding of G.
Since spanning trees are the largest (with
maximum number of edges) trees among all trees
in G. it is also quite appropriate to call a spanning
tree a maximal tree subgraph or maximal tree of
G.
Spanning Tree
Theorem:
Every connected graph has at least one spanning
tree.
Theorem:
With respect to any of its spanning trees, a connected
graph of n vertices and e edges has (n-1) tree
branches and (e-n+1) chords.
106
Finding a spanning tree
To find a spanning tree of a graph,
pick an initial node and call it part of the spanning tree
do a search from the initial node:
each time you find a node that is not in the spanning tree, add to the spanning tree both
the new node and the edge you followed to get to it
An undirected graph One possible
result of a BFS
starting from top
One possible
result of a DFS
starting from top
107
Minimizing costs
Suppose you want to supply a set of houses (say, in a
new subdivision) with:
electric power
water
sewage lines
telephone lines
To keep costs down, you could connect these houses
with a spanning tree (of, for example, power lines)
However, the houses are not all equal distances apart
To reduce costs even further, you could connect the
houses with a minimum-cost spanning tree
108
Minimum-cost spanning trees
Suppose you have a connected undirected graph with a weight (or
cost) associated with each edge
The cost of a spanning tree would be the sum of the costs of its
edges
A minimum-cost spanning tree is a spanning tree that has the
lowest cost
A B
E D
F C
16
19
21 11
33 14
18
10
6
5
A connected, undirected graph
A B
E D
F C
16
11
18
6
5
A minimum-cost spanning tree
109
Finding spanning trees
There are two basic algorithms for finding minimum-cost
spanning trees, and both are greedy algorithms

Kruskals algorithm: Start with no nodes or edges in the
spanning tree, and repeatedly add the cheapest edge that does
not create a cycle
Here, we consider the spanning tree to consist of edges only

Prims algorithm: Start with any one node in the spanning tree,
and repeatedly add the cheapest edge, and the node it leads to,
for which the node is not already in the spanning tree.
Here, we consider the spanning tree to consist of both nodes and edges
Kruskals Algorithm
Kruskal()
{
T = ;
for each v V
MakeSet(v);
sort E by increasing edge weight w
for each (u,v) E (in sorted order)
if FindSet(u) FindSet(v)
T = T U {{u,v}};
Union(FindSet(u), FindSet(v));
}
Kruskals Algorithm
Kruskal()
{
T = ;
for each v V
MakeSet(v);
sort E by increasing edge weight w
for each (u,v) E (in sorted order)
if FindSet(u) FindSet(v)
T = T U {{u,v}};
Union(FindSet(u), FindSet(v));
}
2 19
9
1
5
13
17
25
14
8
21
Run the algorithm:
Kruskals Algorithm
Kruskal()
{
T = ;
for each v V
MakeSet(v);
sort E by increasing edge weight w
for each (u,v) E (in sorted order)
if FindSet(u) FindSet(v)
T = T U U {{u,v}};
Union(FindSet(u), FindSet(v));
}
2 19
9
1
5
13
17
25
14
8
21
Run the algorithm:
Kruskals Algorithm
Kruskal()
{
T = ;
for each v V
MakeSet(v);
sort E by increasing edge weight w
for each (u,v) E (in sorted order)
if FindSet(u) FindSet(v)
T = T U {{u,v}};
Union(FindSet(u), FindSet(v));
}
2 19
9
1
5
13
17
25
14
8
21
Run the algorithm:
Kruskals Algorithm
Kruskal()
{
T = ;
for each v V
MakeSet(v);
sort E by increasing edge weight w
for each (u,v) E (in sorted order)
if FindSet(u) FindSet(v)
T = T U U {{u,v}};
Union(FindSet(u), FindSet(v));
}
2 19
9
1?
5
13
17
25
14
8
21
Run the algorithm:
Kruskals Algorith
Kruskal()
{
T = ;
for each v V
MakeSet(v);
sort E by increasing edge weight w
for each (u,v) E (in sorted order)
if FindSet(u) FindSet(v)
T = T U {{u,v}};
Union(FindSet(u), FindSet(v));
}
2 19
9
1
5
13
17
25
14
8
21
Run the algorithm:
Kruskals Algorithm
Kruskal()
{
T = ;
for each v V
MakeSet(v);
sort E by increasing edge weight w
for each (u,v) E (in sorted order)
if FindSet(u) FindSet(v)
T = T U {{u,v}};
Union(FindSet(u), FindSet(v));
}
2? 19
9
1
5
13
17
25
14
8
21
Run the algorithm:
Kruskals Algorithm
Kruskal()
{
T = ;
for each v V
MakeSet(v);
sort E by increasing edge weight w
for each (u,v) E (in sorted order)
if FindSet(u) FindSet(v)
T = T U {{u,v}};
Union(FindSet(u), FindSet(v));
}
2 19
9
1
5
13
17
25
14
8
21
Run the algorithm:
Kruskals Algorithm
Kruskal()
{
T = ;
for each v V
MakeSet(v);
sort E by increasing edge weight w
for each (u,v) E (in sorted order)
if FindSet(u) FindSet(v)
T = T U {{u,v}};
Union(FindSet(u), FindSet(v));
}
2 19
9
1
5?
13
17
25
14
8
21
Run the algorithm:
Kruskals Algorithm
Kruskal()
{
T = ;
for each v V
MakeSet(v);
sort E by increasing edge weight w
for each (u,v) E (in sorted order)
if FindSet(u) FindSet(v)
T = T U {{u,v}};
Union(FindSet(u), FindSet(v));
}
2 19
9
1
5
13
17
25
14
8
21
Run the algorithm:
Kruskals Algorithm
Kruskal()
{
T = ;
for each v V
MakeSet(v);
sort E by increasing edge weight w
for each (u,v) E (in sorted order)
if FindSet(u) FindSet(v)
T = T U {{u,v}};
Union(FindSet(u), FindSet(v));
}
2 19
9
1
5
13
17
25
14
8?
21
Run the algorithm:
Kruskals Algorithm
Kruskal()
{
T = ;
for each v V
MakeSet(v);
sort E by increasing edge weight w
for each (u,v) E (in sorted order)
if FindSet(u) FindSet(v)
T = T U {{u,v}};
Union(FindSet(u), FindSet(v));
}
2 19
9
1
5
13
17
25
14
8
21
Run the algorithm:
Kruskals Algorithm
Kruskal()
{
T = ;
for each v V
MakeSet(v);
sort E by increasing edge weight w
for each (u,v) E (in sorted order)
if FindSet(u) FindSet(v)
T = T U {{u,v}};
Union(FindSet(u), FindSet(v));
}
2 19
9?
1
5
13
17
25
14
8
21
Run the algorithm:
Kruskals Algorithm
Kruskal()
{
T = ;
for each v V
MakeSet(v);
sort E by increasing edge weight w
for each (u,v) E (in sorted order)
if FindSet(u) FindSet(v)
T = T U {{u,v}};
Union(FindSet(u), FindSet(v));
}
2 19
9
1
5
13
17
25
14
8
21
Run the algorithm:
Kruskals Algorithm
Kruskal()
{
T = ;
for each v V
MakeSet(v);
sort E by increasing edge weight w
for each (u,v) E (in sorted order)
if FindSet(u) FindSet(v)
T = T U {{u,v}};
Union(FindSet(u), FindSet(v));
}
2 19
9
1
5
13?
17
25
14
8
21
Run the algorithm:
Kruskals Algorithm
Kruskal()
{
T = ;
for each v V
MakeSet(v);
sort E by increasing edge weight w
for each (u,v) E (in sorted order)
if FindSet(u) FindSet(v)
T = T U {{u,v}};
Union(FindSet(u), FindSet(v));
}
2 19
9
1
5
13
17
25
14
8
21
Run the algorithm:
Kruskals Algorithm
Kruskal()
{
T = ;
for each v V
MakeSet(v);
sort E by increasing edge weight w
for each (u,v) E (in sorted order)
if FindSet(u) FindSet(v)
T = T U {{u,v}};
Union(FindSet(u), FindSet(v));
}
2 19
9
1
5
13
17
25
14?
8
21
Run the algorithm:
Kruskals Algorithm
Kruskal()
{
T = ;
for each v V
MakeSet(v);
sort E by increasing edge weight w
for each (u,v) E (in sorted order)
if FindSet(u) FindSet(v)
T = T U {{u,v}};
Union(FindSet(u), FindSet(v));
}
2 19
9
1
5
13
17
25
14
8
21
Run the algorithm:
Kruskals Algorithm
Kruskal()
{
T = ;
for each v V
MakeSet(v);
sort E by increasing edge weight w
for each (u,v) E (in sorted order)
if FindSet(u) FindSet(v)
T = T U {{u,v}};
Union(FindSet(u), FindSet(v));
}
2 19
9
1
5
13
17?
25
14
8
21
Run the algorithm:
Kruskals Algorithm
Kruskal()
{
T = ;
for each v V
MakeSet(v);
sort E by increasing edge weight w
for each (u,v) E (in sorted order)
if FindSet(u) FindSet(v)
T = T U {{u,v}};
Union(FindSet(u), FindSet(v));
}
2 19?
9
1
5
13
17
25
14
8
21
Run the algorithm:
Kruskals Algorithm
Kruskal()
{
T = ;
for each v V
MakeSet(v);
sort E by increasing edge weight w
for each (u,v) E (in sorted order)
if FindSet(u) FindSet(v)
T = T U {{u,v}};
Union(FindSet(u), FindSet(v));
}
2 19
9
1
5
13
17
25
14
8
21?
Run the algorithm:
Kruskals Algorithm
Kruskal()
{
T = ;
for each v V
MakeSet(v);
sort E by increasing edge weight w
for each (u,v) E (in sorted order)
if FindSet(u) FindSet(v)
T = T U {{u,v}};
Union(FindSet(u), FindSet(v));
}
2 19
9
1
5
13
17
25?
14
8
21
Run the algorithm:
Kruskals Algorithm
Kruskal()
{
T = ;
for each v V
MakeSet(v);
sort E by increasing edge weight w
for each (u,v) E (in sorted order)
if FindSet(u) FindSet(v)
T = T U {{u,v}};
Union(FindSet(u), FindSet(v));
}
2 19
9
1
5
13
17
25
14
8
21
Run the algorithm:
Kruskals Algorithm
Kruskal()
{
T = ;
for each v V
MakeSet(v);
sort E by increasing edge weight w
for each (u,v) E (in sorted order)
if FindSet(u) FindSet(v)
T = T {{u,v}};
Union(FindSet(u), FindSet(v));
}
2 19
9
1
5
13
17
25
14
8
21
Run the algorithm:
134
Prims algorithm
T = a spanning tree containing a single node s;
E = set of edges adjacent to s;
while T does not contain all the nodes {
remove an edge (v, w) of lowest cost from E
if w is already in T then discard edge (v, w)
else {
add edge (v, w) and node w to T
add to E the edges adjacent to w
}
}
An edge of lowest cost can be found with a priority queue
Testing for a cycle is automatic
Hence, Prims algorithm is far simpler to implement than Kruskals
algorithm
Walk-Through
Initialize array
K d
v
p
v
A F
B F
C F
D F
E F
F F
G F
H F
4
25
A
H
B
F
E
D
C
G
7
2
10
18
3
4
3
7
8
9
3
10
2
4
25
A
H
B
F
E
D
C
G
7
2
10
18
3
4
3
7
8
9
3
10
Start with any node, say D
K d
v
p
v
A
B
C
D T 0
E
F
G
H
2
4
25
A
H
B
F
E
D
C
G
7
2
10
18
3
4
3
7
8
9
3
10
Update distances of
adjacent, unselected nodes
K d
v
p
v
A
B
C 3 D
D T 0
E 25 D
F 18 D
G 2 D
H
2
4
25
A
H
B
F
E
D
C
G
7
2
10
18
3
4
3
7
8
9
3
10
Select node with minimum
distance
K d
v
p
v
A
B
C 3 D
D T 0
E 25 D
F 18 D
G T 2 D
H
2
4
25
A
H
B
F
E
D
C
G
7
2
10
18
3
4
3
7
8
9
3
10
Update distances of
adjacent, unselected nodes
K d
v
p
v
A
B
C 3 D
D T 0
E 7 G
F 18 D
G T 2 D
H 3 G
2
4
25
A
H
B
F
E
D
C
G
7
2
10
18
3
4
3
7
8
9
3
10
Select node with minimum
distance
K d
v
p
v
A
B
C T 3 D
D T 0
E 7 G
F 18 D
G T 2 D
H 3 G
2
4
25
A
H
B
F
E
D
C
G
7
2
10
18
3
4
3
7
8
9
3
10
Update distances of
adjacent, unselected nodes
K d
v
p
v
A
B 4 C
C T 3 D
D T 0
E 7 G
F 3 C
G T 2 D
H 3 G
2
4
25
A
H
B
F
E
D
C
G
7
2
10
18
3
4
3
7
8
9
3
10
Select node with minimum
distance
K d
v
p
v
A
B 4 C
C T 3 D
D T 0
E 7 G
F T 3 C
G T 2 D
H 3 G
2
4
25
A
H
B
F
E
D
C
G
7
2
10
18
3
4
3
7
8
9
3
10
Update distances of
adjacent, unselected nodes
K d
v
p
v
A 10 F
B 4 C
C T 3 D
D T 0
E 2 F
F T 3 C
G T 2 D
H 3 G
2
4
25
A
H
B
F
E
D
C
G
7
2
10
18
3
4
3
7
8
9
3
10
Select node with minimum
distance
K d
v
p
v
A 10 F
B 4 C
C T 3 D
D T 0
E T 2 F
F T 3 C
G T 2 D
H 3 G
2
4
25
A
H
B
F
E
D
C
G
7
2
10
18
3
4
3
7
8
9
3
10
Update distances of
adjacent, unselected nodes
K d
v
p
v
A 10 F
B 4 C
C T 3 D
D T 0
E T 2 F
F T 3 C
G T 2 D
H 3 G
2
Table entries unchanged
4
25
A
H
B
F
E
D
C
G
7
2
10
18
3
4
3
7
8
9
3
10
Select node with minimum
distance
K d
v
p
v
A 10 F
B 4 C
C T 3 D
D T 0
E T 2 F
F T 3 C
G T 2 D
H T 3 G
2
4
25
A
H
B
F
E
D
C
G
7
2
10
18
3
4
3
7
8
9
3
10
Update distances of
adjacent, unselected nodes
K d
v
p
v
A 4 H
B 4 C
C T 3 D
D T 0
E T 2 F
F T 3 C
G T 2 D
H T 3 G
2
4
25
A
H
B
F
E
D
C
G
7
2
10
18
3
4
3
7
8
9
3
10
Select node with minimum
distance
K d
v
p
v
A T 4 H
B 4 C
C T 3 D
D T 0
E T 2 F
F T 3 C
G T 2 D
H T 3 G
2
4
25
A
H
B
F
E
D
C
G
7
2
10
18
3
4
3
7
8
9
3
10
Update distances of
adjacent, unselected nodes
K d
v
p
v
A T 4 H
B 4 C
C T 3 D
D T 0
E T 2 F
F T 3 C
G T 2 D
H T 3 G
2
Table entries unchanged
4
25
A
H
B
F
E
D
C
G
7
2
10
18
3
4
3
7
8
9
3
10
Select node with minimum
distance
K d
v
p
v
A T 4 H
B T 4 C
C T 3 D
D T 0
E T 2 F
F T 3 C
G T 2 D
H T 3 G
2
4
A
H
B
F
E
D
C
G
2
3
4
3
3
Cost of Minimum Spanning
Tree = d
v
= 21
K d
v
p
v
A T 4 H
B T 4 C
C T 3 D
D T 0
E T 2 F
F T 3 C
G T 2 D
H T 3 G
2
Done
Group Theory
Closed binary operation
Vending Machine:
A={One Rs coin, Two Rupee coin}
B={Gum, candy, coke}
The operation of the vending machine can be
formally AxA to B.
As (one rs coin, one rs coin) gum
(one rs coin, two rs coin) candy
(two rs coin, one rs coin) candy
(two rs coin, two rs coin) coke
Closed binary operation
Suppose the hair color of a child is determined by
that of her parents.
Clearly, the relationship between the hair color of
a child and that of her parents can b described by
a function from AxA to A, where
A={light, dark}
If color pair is considered as (father, mother) then
(light, light) light
(light, dark) dark
(dark, light) dark
(dark, dark) dark
Algabraic systems
In the second example the function be a binary
operation that is closed.
The definition of the binary operation can be
extended for more than one operation also.
So a set together with a number of operations
on the set is called an algebraic system.
We will use a notation (A, *, #, $) for an algbraic
system where A is a set and *, #, $ are operations
on A.
Semigroup
Let * be a binary operation on a set A.
The operation * is said to be associative if
(a*b)*c = a*(b*c).
Now (A,*) be an algebraic system is called a
semigroup if the following property holds:
* is closed operation and
* is an associative operation.

Semigroup Example
Let A be a set of all positive even integers {2,
4, 6, ..) and + be ordinary binary operations on
integers.
Since + is closed operations on A and + is also
associative so (A, +) is semigroup.
Definition
Left identity:
Let (A, *) be an algebraic system.
An element in A, e is said to be left identity if for all x in A,
e*x=x
Right identity
An element in A, e is said to be right identity if for all x in
A, x*e=x
Identity:
An element in A is said to be an identity if it is both a left
identity and a right identity
It can be shown that with respect to a binary
operation there is at most one identity.
Monoid
Let (A,*) be an algebraic system, where * is a
binary operation on A.
(A, *) is called a monoid if the following
conditions hold:
* is a closed operation
* is an associative operation.
There is an identity.
Definitions
Let (A, *) be a binary operation. Let a and b are
the elements of A.
Left inverse:
Element b is said to be the left inverse of a if b*a=e
Right inverse:
Element b is said to be the right inverse of a if a*b=e
Inverse:
Element b is said to be the inverse of a if b is both left
and right inverse.

Group
Let (A, *) be an algebraic system, where * is a
binary operation.
(A, *) is called a group if the following
conditions hold:
* is a closed operation
* is an associative operation
There is an identity
Every element in A has a left inverse.
Group
Because of associativity, a left inverse of an element is
also a right inverse of the element in a group.
Let b be a left inverse of a and c be a left inverse of b.
Let e be the identity.
Since (b * a) *b = e * b = b
We have c* ((b *a) * b) = c * b = e
From c* ((b * a) * b) = (( c*b) * a) * b
= ( e * a) * b
= a * b = e b is also a right inverse
of a.
So in general there exists unique inverse elements.
Group Examples
Assume (I, +) , where I is the set of all integers and + is
the ordinary addition operation on integer.
It is clear that (I, +) is a group with 0 being the identity and
the inverse of n being n.
Let (R, *) be an algebraic systems where R={0
0
, 60
0
,
12
0
, 180
0
, 240
0
, 300
0
} denote six possible ways of
rotate geometric objects drawn on a plane.
If a, b belongs R then a*b denotes the overall angular
rotation corresponding to the successive rotations by a
and then b.
Here (R, *) is a group with 0
0
being the identity.
The inverse of 60
0
being 300
0
, the inverse of 1800 being
itself and so on.
Abelian group
A group (A, *) is called a commutative group
or an abelian group.
Example: (Zn, +) is a commutative group.
Zn ={, , , , n-1} and the operation (+) is called as
integers modulo n and be defined as
a + b =
+ + <
+ +

A group (A, *) is said to be finite if A is a finite
set, and infinite if A is an infinite set.
The size of A is referred to as order of the group.
Subgroup
Let (A, *) be an algebraic system and B be a
subset of A.
The algebraic system (B, *) is said to be a
subsystem of (A, *).
Example:
Suppose, (A, *) is an algebraic system describing the
interaction of a set of atomic particles.
If we are only interested in the interaction of some of
the particles, we can consider only a subsystem of (A,
*).
Subgroup
Let (N, +) be an algebraic system describing
the addition of natural numbers.
Clearly, (E, +) is a subsystem of (N, +) if E is the set
of all even numbers.
Subgroup
Let (A, *) be a group and B be a subset of A.
(B, *) is said to be a subgroup of A if (B, *) is
also a group itself.

Das könnte Ihnen auch gefallen