Material Unit v DMS Graph Structures Copy
Material Unit v DMS Graph Structures Copy
Explain the properties and differences between (a) directed and undirected graphs (b) simple and
multiple graphs (c) connected and disconnected graphs with suitable examples.
Solution. Directed Graphs (Digraphs): A directed graph (digraph) is a graph where each edge has
a specified direction, represented as an ordered pair of vertices (𝑢, 𝑣), meaning there is an edge going
from vertex 𝑢 to vertex 𝑣.
Properties:
1. Each edge points from one vertex to another. The edge (𝑢, 𝑣) is distinct from (𝑣, 𝑢).
2. In-degree of a vertex is the number of edges coming into it. Out-degree of a vertex is the
number of edges going out of it.
3. Each vertex is associated with a list of vertices to which it points. Adjacency Matrix: A matrix
𝐴[𝑖][𝑗] = 1 if there is an edge from vertex 𝑖 to vertex 𝑗, otherwise 𝐴[𝑖][𝑗] = 0.
4. Traversal is restricted to follow the edge direction. A path from 𝑢 to 𝑣 must respect the edge
orientations.
5. A directed graph may have loops (edges where 𝑢 = 𝑣).
Undirected Graphs: An undirected graph is a graph in which edges have no direction. An edge
between two vertices 𝑢 and 𝑣 is represented as an unordered pair {𝑢, 𝑣}, meaning 𝑢 is connected to
𝑣 and vice versa.
Properties:
1. Edges are bidirectional. If there is an edge between 𝑢 and 𝑣, it connects both ways: 𝑢 ↔ 𝑣.
2. The degree of a vertex is the number of edges connected to it.
3. Adjacency List: Each vertex is associated with a list of its neighbouring vertices. Adjacency
Matrix: A symmetric matrix where 𝐴[𝑖][𝑗] = 1 if there is an edge between vertices 𝑖 and 𝑗, and
𝐴[𝑖][𝑗] = 0 otherwise.
4. Traversal does not depend on edge orientation; paths can be traversed in either direction.
5. A loop (an edge that connects a vertex to itself) may or may not be allowed, depending on the
type of graph.
Directed vs. Undirected Graphs
Simple Graphs:
1. No Loops: An edge does not connect a vertex to itself (no {𝒗, 𝒗}).
2. No Multiple Edges: There is at most one edge between any pair of vertices {𝒖, 𝒗}.
Properties:
1. A simple graph is defined by a set of vertices (𝑉) and a set of edges (𝐸), where each edge is a
pair of distinct vertices {𝑢, 𝑣}, with 𝑢, 𝑣 ∈ 𝑉.
2. The degree of a vertex 𝑣 is the number of edges connected to it.
3. A simple graph can be connected (every vertex can be reached from any other vertex) or
disconnected.
4. A simple graph can be planar (can be drawn on a plane without edges crossing) or non-planar.
5. In any simple graph, all edges are symmetric and undirected.
Undirected Graphs:
A multigraph is a graph where:
1. Multiple Edges: There can be more than one edge (also called parallel edges) between the
same pair of vertices.
2. Loops: A multigraph may allow or disallow loops, depending on the specific context.
Properties:
1. An edge is represented as a multiset of vertex pairs: 𝐸 = {{𝑢, 𝑣}, {𝑢, 𝑣}, … }, allowing multiple
edges between the same vertices.
2. The degree of a vertex is the total number of edges (including multiple edges) connected to it.
Loops, if allowed, count twice toward the degree.
3. Adjacency List: Each vertex lists all its neighbours, including repetitions for multiple edges.
Adjacency Matrix: Entries 𝐴[𝑖][𝑗] represent the number of edges between vertices 𝑖 and 𝑗.
4. Multiple edges between the same pair of vertices distinguish a multigraph from a simple graph.
Simple Graphs vs. Multiple (Multigraphs)
At most one edge between any pair of Multiple edges (parallel edges) and
Definition
vertices, no loops. loops are allowed.
Each pair of vertices has at most one A pair of vertices can have multiple
Edges
connecting edge. connecting edges.
A path in a graph is a sequence of vertices in which each consecutive pair of vertices is connected by
an edge. It represents a traversal from one vertex to another, following the edges of the graph. So, a
path in a graph is a sequence of vertices 𝑣0 , 𝑣1 , 𝑣2 , ..., 𝑣𝑘 such that each pair (𝑣𝑖 , 𝑣𝑖+1 ) is an edge in the
graph. A closed path (or cycle) is a path that starts and ends at the same vertex, and no other vertex is
repeated except the starting/ending vertex.
A connected graph is an undirected graph in which there is a path between every pair of vertices. This
means that for any two vertices 𝑢 and 𝑣 in the graph, there is a sequence of edges that connects 𝑢 to 𝑣.
In other words, a graph is connected if it is possible to travel from any vertex to any other vertex in
the graph via the edges. Otherwise graph is called disconnected graph.
Properties:
1. A path in a graph is a sequence of vertices where each consecutive pair of vertices is connected
by an edge. In a connected graph, there must exist a path between every pair of vertices.
2. A connected graph always has a spanning tree (a subgraph that includes all the vertices and is
connected, with no cycles). A spanning tree contains exactly V−1V - 1V−1 edges if the graph
has VVV vertices.
3. A connected subgraph of a graph is a subgraph that is itself a connected graph. A disconnected
graph can be split into multiple connected subgraphs (also called components).
4. If you remove any edge from a connected graph and it causes the graph to break into separate
components, the graph was originally critical at that edge.
5. If a vertex is removed and the graph splits into separate components, the vertex is called a cut-
vertex.
A graph is disconnected if there exists at least one pair of vertices with no path between them. A
directed graph is strongly connected if there is a directed path from every vertex to every other vertex.
A directed graph is weakly connected if there is a path (ignoring direction) between any pair of vertices.
Path Between Every pair of vertices is connected by a At least one pair of vertices is not
Vertices path. connected by any path.
Can traverse all vertices from any Not all vertices can be reached from a
Traversal
starting point. single starting point.
Trees, cycles, and complete graphs are Forests (disjoint trees) and subgraphs of
Graph Types
always connected. connected graphs are disconnected.
Adjacency No rows/columns of all zeros (every Rows/columns of all zeros exist for
Matrix vertex has at least one connection). isolated vertices.
Provide the details of the terms degree of a vertex, path, and cycle with suitable diagrams. Prove that
the sum of the degrees of all vertices in an undirected graph is twice the number of edges. Can a simple
graph exist with 15 vertices each of degree five?
Solution.
Degree of a Vertex
The degree of a vertex in a graph refers to the number of edges incident to the vertex. It represents the
number of edges that are connected to the vertex. In an undirected graph: Each edge contributes 1 to
the degree of both its endpoints.
Property Explanation
Regular Graph A graph where all vertices have the same degree.
1. A path starts at one vertex and proceeds through a series of vertices, with each consecutive pair
of vertices being connected by an edge.
2. Paths can be categorized based on whether they repeat vertices or edges.
The length of a path is the number of edges in the path. For a path
A simple path is a path that does not visit any vertex more than once. Each vertex in the path is distinct.
A walk is a sequence of vertices where each consecutive pair of vertices is connected by an edge, but a
walk may repeat vertices and edges. A walk does not require the vertices to be distinct. A closed path
(also called a cycle) starts and ends at the same vertex and does not repeat any vertex other than the
starting/ending vertex. Trail: A trail is a path in which no edge is repeated, but vertices may be repeated.
Circuit: A circuit is a closed trail, meaning a trail that starts and ends at the same vertex but does not
repeat any edges. Hamiltonian Path: A path in a graph that visits every vertex exactly once. Eulerian
Path: A path that uses every edge of a graph exactly once.
Properties of a Path
1. Simple Path: A simple path does not revisit any vertex. It only passes through each vertex
once.
2. Connectedness: A path is one way of showing that a graph is connected. If there is a path
between every pair of vertices, the graph is connected.
3. Cycle: A path that forms a loop where the first vertex is the same as the last vertex is a cycle.
4. Path in Directed Graphs: In a directed graph (digraph), a path is a sequence of directed edges
from one vertex to another. Each edge in the path must be directed in the direction from one
vertex to the next.
Cycle in Graphs
Closed Path: A cycle starts and ends at the same vertex. No Repeated Edges: Each edge in the cycle
is distinct. No Repeated Vertices (Except the Start/End): A cycle does not visit any vertex more than
once, except the starting vertex. In an undirected graph, a cycle is a set of vertices connected in such
a way that the path forms a loop. In a directed graph, a cycle is a directed path that starts and ends at
the same vertex, with all edges directed consistently. A simple cycle is a cycle that does not revisit any
vertex other than the starting vertex. A Hamiltonian cycle is a cycle that visits every vertex in the graph
exactly once (except for the starting/ending vertex). A Eulerian cycle is a cycle that uses every edge of
the graph exactly once.
Even or Odd Cycles: A cycle can have an even or odd number of vertices/edges. Cycles with an odd
number of vertices are called odd cycles, and those with an even number are called even cycles.
Relationship to Connectivity: The presence of a cycle in a graph does not necessarily imply
connectivity. A disconnected graph may still have cycles within its components. Network Design:
Cycles help in redundancy for fault-tolerant designs. Graph Traversal Algorithms: Detecting cycles
is crucial in graph algorithms like depth-first search (DFS) and detecting deadlocks. Scheduling: In
directed acyclic graphs (DAGs), the absence of cycles is essential for defining task precedence.
Theorem (Handshaking Theorem) Sum of the Degrees of All Vertices is Twice the Number of Edges.
Proof. Let 𝐺 = (𝑉, 𝐸) be an undirected graph where 𝑉 is the set of vertices and 𝐸 is the set of edges.
1. Degree of a vertex: The degree of a vertex 𝑣, denoted 𝑑𝑒𝑔(𝑣), is the number of edges incident
to 𝑣.
2. Counting the edges: Each edge in the graph connects two vertices. Therefore, when counting
the total degree of all vertices, we are counting each edge twice—once for each of its two
endpoints.
∑𝑑𝑒𝑔(𝑣) = 2 ∣ 𝐸 ∣
This proves that the sum of the degrees of all vertices in an undirected graph is twice the number of
edges.
The total sum of the degrees of all vertices in the graph is 15 × 5 = 75.
Since the sum of the degrees of all vertices equals twice the number of edges, we have:
2|𝐸| = 75
75
|𝐸| = = it is not an integer.
2
But the number of edges |𝐸| must be an integer. Therefore, a simple graph with 15 vertices, each of
degree 5, cannot exist. It is impossible to create a simple graph with 15 vertices, each having a degree
of 5, because it leads to a fractional number of edges, which is not possible in a simple graph.
Describe adjacency matrix and incidence matrix for representing graphs, with examples. Discuss the
advantages and disadvantages of representing graphs using an adjacency matrix and an incidence
matrix. Construct the adjacency matrix and incidence matrix for the graph with vertices 𝑉 =
{𝐴, 𝐵, 𝐶, 𝐷} and edges 𝐸 = {(𝐴, 𝐵), (𝐴, 𝐶), (𝐵, 𝐷), (𝐶, 𝐷)}.
Solution.
Adjacency Matrix
An adjacency matrix is a square matrix used to represent a graph, where the rows and columns
represent the vertices. The entries in the matrix indicate whether a pair of vertices is connected by an
edge. Adjacency Matrix is more intuitive and ideal for dense graphs or when quick edge checks are
required.
For a graph 𝐺 = (𝑉, 𝐸) with 𝑛 vertices:
Edges: 𝐸 = {(𝐴, 𝐶), (𝐴, 𝐷), (𝐴, 𝐸) (𝐵, 𝐸), (𝐶, 𝐴), (𝐶, 𝐵), (𝐶, 𝐷), (𝐷, 𝐶), (𝐸, 𝐷) }
Advantages:
Incidence Matrix
An incidence matrix is a rectangular matrix used to represent a graph, where rows correspond to
vertices, and columns correspond to edges. For a graph 𝐺 = (𝑉, 𝐸),
1. 𝐼[𝑖][𝑗] = 1 if vertex 𝑖 is incident to edge 𝑗.
2. 𝐼[𝑖][𝑗] = 0 otherwise.
3. For directed graphs, 𝐼[𝑖][𝑗] = −1 if 𝑖 is the tail of the edge 𝑗 and 𝐼[𝑖][𝑗] = 1 if 𝑖 is the head.
Incidence Matrix is compact for sparse graphs and particularly useful for algorithms involving edges
rather than direct vertex adjacency.
Advantages
1. Edge-Centric Representation: Useful for algorithms where edges are the primary focus.
2. Compact for Sparse Graphs: Requires 𝑂(𝑉 × 𝐸) space, which is efficient for sparse graphs.
3. Clear Representation of Directed Graphs: Distinguishes between the head and tail of an
edge.
Discuss complete graphs, bipartite graphs, and complete bipartite graphs with suitable diagrams
and write their properties and differences.
Solution.
Complete Graphs
A complete graph, denoted by 𝐾𝑛 , is a type of graph in which every pair of distinct vertices is
connected by a unique edge. It represents the most connected form of a graph for a given number of
vertices.
Properties of Complete Graphs
𝑛 𝑛(𝑛−1)
1. For the complete graph 𝐾𝑛 , the order ( number of vertices) is 𝑛 and its size is ( ) = .
2 2
2. Every vertex has a degree of 𝑛 − 1, as it connects to all other vertices.
3. Graph 𝐾𝑛 is (𝑛 − 1)-regular graph.
4. Complete graphs are symmetric, meaning the structure looks the same from the perspective of
any vertex.
5. Contains multiple cycles of varying lengths, including all possible lengths from 3 to 𝑛.
6. 𝐾3 (Triangle); 𝐾4 (Tetrahedron); 𝐾5 (Pentagon).
Bipartite Graphs
A bipartite graph is a special type of graph in which the vertices can be divided into two distinct sets,
𝑉1 and 𝑉2 , such that every edge connects a vertex in 𝑉1 to a vertex in 𝑉2 . No edges exist between vertices
within the same set. These graphs are widely used in modeling real-world problems where relationships
exist between two distinct groups of entities.
A bipartite graph is a graph 𝐺 = (𝑉, 𝐸), where the vertex set 𝑉 can be partitioned into two disjoint
subsets 𝑉1 and 𝑉2 such that:
1. Partitioning of Vertices:
𝑉 = 𝑉1 ∪ 𝑉2 , and 𝑉1 ∩ 𝑉2 = ∅.
2. Edge Constraints:
3. Cycle Condition:
Figure 1
Figure 2
Every pair of Vertex set can be divided into two Bipartite graph where all
Definition vertices is disjoint subsets with no intra-set possible edges between
connected. edges. subsets exist.
Chromatic
𝑛. At most 2. At most 2.
Number
Contains cycles of
Cycles No odd-length cycles. No odd-length cycles.
any length ≥ 3.
Each vertex
Vertex Each vertex in 𝑉1 connects
connects to 𝑛 − 1 Only vertices in 𝑉1 connect to 𝑉2 .
Connections to all in 𝑉2
others.
Explain the concept of a degree sequence of a graph and discuss its importance. What is the degree
sequence of 𝐾𝑛 and 𝐾𝑚,𝑛 . How many edges does a graph have if its degree sequence is 4, 3, 3, 2, 2?
Draw such a graph.
Solution.
Degree Sequence of a Graph
The degree sequence of a graph is the list of degrees of all its vertices, typically written in non-
increasing order. For a graph 𝐺 = (𝑉, 𝐸) , if 𝑑𝑒𝑔(𝑣1 ), 𝑑𝑒𝑔(𝑣2 ),…, 𝑑𝑒𝑔(𝑣𝑛 ) are the degrees of the
vertices 𝑣1 , 𝑣2 ,…,𝑣𝑛 , the degree sequence is
Degree sequence= (𝑑𝑒𝑔(𝑣1 ), 𝑑𝑒𝑔(𝑣2 ),…, 𝑑𝑒𝑔(𝑣𝑛 )),
sorted as (𝑑𝑒𝑔(𝑣1 ) ≥ 𝑑𝑒𝑔(𝑣2 ) ≥ ⋯ ≥ 𝑑𝑒𝑔(𝑣𝑛 )).
Example. In a complete graph 𝐾𝑛 , every vertex is connected to every other vertex. Degree of each
vertex: 𝑛 − 1, and
Degree sequence: (𝑛 − 1, 𝑛 − 1, … , 𝑛 − 1)(repeated 𝑛 times).
Example. In a complete bipartite graph 𝐾𝑚,𝑛 , we have
Degree sequence: (𝑛, 𝑛,…, 𝑛, 𝑚, 𝑚,…,𝑚)(with 𝑚 repeated n times and 𝑛 repeated m times).
Properties
1. The degree sequence provides important structural information about the graph. However, it
does not uniquely determine the graph, as non-isomorphic graphs can share the same degree
sequence.
2. The degree sequence helps determine whether a sequence of integers can represent the degrees
of a simple graph, known as the graph realization problem.
3. From the degree sequence, one can infer whether the graph is connected, bipartite, or regular.
Number of Edges from the given Degree Sequence
The total number of edges in a graph can be computed from its degree sequence using the handshaking
lemma, which states:
Sum of degrees of all vertices=2×Number of edges.
For the degree sequence (4,3,3,2,2):
Sum of degrees= 4 + 3 + 3 + 2 + 2 = 14.
Number of edges= 14/2 = 7.
Adjacency List:
𝐴: {𝐵, 𝐶, 𝐷, 𝐸},
𝐵: {𝐴, 𝐶, 𝐸},
𝐶: {𝐴, 𝐵},
𝐷: {𝐴, 𝐵},
𝐸: {𝐴, 𝐵}.
Define graph isomorphism. Explain the necessary and sufficient conditions for two graphs to be
isomorphic. List and explain at least three invariants (graph properties) that must hold for isomorphic
graphs. Determine whether the following graphs G and H are isomorphic.
Solution.
Graph Isomorphism
Graph isomorphism is a fundamental concept in graph theory that establishes whether two graphs are
essentially the same, differing only in the labelling of their vertices or edges. It provides a way to
identify structural equivalence between graphs without being concerned about the specific names or
labels of vertices and edges.
In practical terms, if two graphs are isomorphic, they have the same shape or structure, even though the
way they are drawn or labelled may differ. This concept is widely used in various fields, including
chemistry (for comparing molecular structures), computer science (network analysis), and mathematics
(graph classification).
Definition. Two graphs 𝐺1 = (𝑉1, 𝐸1) and 𝐺2 = (𝑉2, 𝐸2) are said to be isomorphic if there exists a
function 𝑓: 𝑉1 → 𝑉2 such that
This means the connectivity (adjacency) between vertices in 𝐺1 is preserved under the mapping 𝑓 in
𝐺2, and this can be written as 𝐺1 ≅ 𝐺2. Otherwise, 𝐺1 ≇ 𝐺2.
To determine whether two graphs 𝐺1 and 𝐺2 are isomorphic(𝐺1 ≅ 𝐺2), several conditions must be
checked. These conditions are both necessary (must be true for isomorphism) and sufficient (if true,
ensure isomorphism). Here's a detailed explanation:
Step 1. Order of 𝐺1 is equal to order of 𝐺2, and size of 𝐺1 is equal to size of 𝐺2.
Step 2. The degree sequence (list of vertex degrees sorted in non-increasing order) of 𝐺1 must match
the degree sequence of 𝐺2. The degree of a vertex is preserved under isomorphism. A mismatch in
degree sequences disqualifies isomorphism, that is,
𝑨(𝑮𝟏) = 𝑨(𝑮𝟐)
Step 4. Subgraphs (smaller graphs derived from removing vertices and edges) in 𝐺1 must correspond
to equivalent subgraphs in 𝐺2 under isomorphism, that is
Step 5. The number of cycles and their respective lengths must match in both graphs. For instance, if
one graph has a cycle of length 3 (triangle), the other must have an equivalent cycle under isomorphism,
that is,
Graph invariants are properties that remain unchanged under isomorphism. The following three
invariants must hold for two isomorphic graphs:
Graph invariants are properties that do not change under isomorphism. Checking these invariants helps
further verify isomorphism:
Solution. To verify whether the given graphs 𝐺 and 𝐻 (depicted in the image) are isomorphic, we follow
a systematic approach:
Step 1: Count the Vertices and Edges
Graph 𝑮: Vertices: 𝑢1, 𝑢2, 𝑢3, 𝑢4, 𝑢5, 𝑢6 (|𝑉(𝐺)| = 6).
Edges: |𝐸(𝐺)| = 7 (count all edges shown in 𝐺).
Graph 𝑯: Vertices: 𝑣1, 𝑣2, 𝑣3, 𝑣4, 𝑣5, 𝑣6 (|𝑉(𝐻)| = 6).
Edges: |𝐸(𝐻)| = 7.
Therefore, |𝑉(𝐺)| = |𝑉(𝐻)| and |𝐸(𝐺)| = |𝐸(𝐻)|, so the graphs could potentially be isomorphic.
Proceed to the next step.
Step 2: Compare Degree Sequences
Degree sequence of 𝐺: {3,3,2,2,2,2} (sorted non-increasing).
Degree sequence of 𝐻: {3,3,2,2,2,2} (sorted non-increasing).
Therefore, the degree sequences match, proceed to the next step.
Step 3: Check Adjacency Structure
We need to verify whether the adjacency relationships in 𝐺 can be mapped to those in 𝐻.
Adjacency List of 𝑮:
Adjacency List of 𝑯:
The adjacency structure of 𝐺 and 𝐻 matches, indicating that they may be isomorphic.
Since adjacency is preserved under this mapping, the graphs 𝑮 and 𝑯 are isomorphic.
Solution.
Step 1. Both graphs have the same number of vertices and edges, so they could be isomorphic. We will
continue to the next steps.
Step 2. Both graphs have the same degree sequence: 3, 3, 3, 3, 3, 3. This is a necessary condition for
isomorphism.
Step 3: Check Adjacency Structure
Graph 1:
o 𝑢1 is adjacent to 𝑢2, 𝑢5, 𝑢6
o 𝑢2 is adjacent to 𝑢1, 𝑢3, 𝑢5
o 𝑢3 is adjacent to 𝑢2, 𝑢4, 𝑢6
o 𝑢4 is adjacent to 𝑢3, 𝑢5, 𝑢6
o 𝑢5 is adjacent to 𝑢1, 𝑢2, 𝑢4
o 𝑢6 is adjacent to 𝑢1, 𝑢3, 𝑢4
Graph 2:
o 𝑣1 is adjacent to 𝑣2, 𝑣5, 𝑣6
o 𝑣2 is adjacent to 𝑣1, 𝑣3, 𝑣5
o 𝑣3 is adjacent to 𝑣2, 𝑣4, 𝑣6
o 𝑣4 is adjacent to 𝑣3, 𝑣5, 𝑣6
o 𝑣5 is adjacent to 𝑣1, 𝑣2, 𝑣4
o 𝑣6 is adjacent to 𝑣1, 𝑣3, 𝑣4
The adjacency structures are identical, confirming that the graphs are likely isomorphic.
We can attempt a mapping between the vertices of Graph 1 and Graph 2. One possible mapping that
preserves adjacency might look like:
𝑢1 maps to 𝑣1
𝑢2 maps to 𝑣2
𝑢3 maps to 𝑣3
𝑢4 maps to 𝑣4
𝑢5 maps to 𝑣5
𝑢6 maps to 𝑣6
The two graphs are isomorphic since they satisfy the necessary conditions for isomorphism:
Distinguish between isomorphic and non-isomorphic graphs with detailed examples. Verify whether
the given graphs are isomorphic or non-isomorphic, providing a thorough explanation for your
reasoning.
Solution.
Isomorphic Graphs: Two graphs are said to be isomorphic if there is a one-to-one correspondence
between their vertices and edges such that the adjacency structure (connections between vertices) is
preserved. In other words, one graph can be transformed into the other by simply renaming the vertices
while preserving the edge connections. Mathematical Definition: Two graphs 𝑮 = (𝑽𝑮 , 𝑬𝑮 ) and 𝑯 =
(𝑽𝑯 , 𝑬𝑯 ) are isomorphic if there is a bijection 𝒇: 𝑽𝑮 → 𝑽𝑯 such that for any two vertices 𝒖, 𝒗 ∈ 𝑽𝑮 ,
there exists the corresponding edge {𝒖, 𝒗} ∈ 𝑬𝑮 if and only if {𝒇(𝒖), 𝒇(𝒗)} ∈ 𝑬𝑯 .
Here is a detailed differences table that distinguishes between isomorphic and non-isomorphic
graphs:
This table outlines the key differences between isomorphic and non-isomorphic graphs based on
structural, edge, and vertex properties.
Describe how the degree sequence can help determine if two graphs are not isomorphic. Using this
method, verify whether the following graphs are isomorphic:
Graph 1: 𝑉 = {𝑎, 𝑏, 𝑐, 𝑑}, 𝐸 = {(𝑎, 𝑏), (𝑏, 𝑐), (𝑐, 𝑑), (𝑑, 𝑎)}
Solution.
In graph theory, the degree sequence of a graph is a sequence of the degrees of its vertices, arranged
in a non-increasing order. The degree of a vertex is defined as the number of edges incident to it. The
degree sequence provides essential information about the overall structure of the graph and serves as a
tool for analyzing and characterizing graphs.
The degree sequence is crucial in many areas of graph theory, as it allows us to understand the
relationships between the vertices in a graph, make inferences about graph properties, and even
determine if two graphs are isomorphic. It is also an important factor in determining the feasibility of
constructing a graph with a given degree sequence.
The degree of a vertex reflects how connected the vertex is to the rest of the graph, and by analyzing
the degree sequence, one can gain insights into various graph properties such as whether the graph is
connected, regular, bipartite, or complete.
Definition. The degree sequence of a graph 𝐺 is defined as the list of the degrees of all vertices in the
graph.
Let 𝐺 = (𝑉, 𝐸) be a graph, where 𝑉 = {𝑣1, 𝑣2, … , 𝑣𝑛} is the set of vertices and 𝐸 is the set of edges.
For each vertex 𝑣𝑖 ∈ 𝑉, let 𝑑𝑒𝑔(𝑣𝑖) denote the degree of vertex 𝑣𝑖, which is the number of edges
incident to 𝑣𝑖. The degree sequence 𝐷(𝐺) of a graph 𝐺 is the list of degrees of all vertices in 𝐺, denoted
as:
where the degree sequence is typically ordered in non-increasing order, meaning that
𝐷(𝐺) = (2,2,2,2)
This sequence tells us that all vertices in this graph have the same degree, which in this case is 2.
A degree sequence is graphical if there exists a simple graph whose degree sequence is exactly the
same. There are various algorithms (e.g., the Havel-Hakimi algorithm) for checking if a degree
sequence is graphical.
The degree sequence of a graph is a list of the degrees of the vertices in the graph, sorted in non-
increasing order. It provides important information about the structure of the graph and plays a
significant role in graph theory, especially in determining graph properties and graph isomorphism.
1. Non-Increasing Order:
o The degree sequence is typically written in non-increasing order, i.e., 𝒅𝟏 ≥ 𝒅𝟐 ≥ ⋯ ≥
𝒅𝒏, where 𝒅𝒊 represents the degree of the 𝒊-th vertex. For example, the degree sequence
of a graph might be [𝟒, 𝟑, 𝟑, 𝟐], indicating that the graph has four vertices with degrees
4, 3, 3, and 2, respectively.
2. Sum of Degrees and Number of Edges:
o
The sum of the degrees of all vertices in a graph is always equal to twice the number
of edges. This is a direct consequence of the Handshaking Lemma, which states:
o ∑𝑛 𝑖=1 𝑑𝑒𝑔(𝒗𝒊) = 𝟐|𝑬|
o where |𝐸| is the number of edges in the graph, and 𝑑𝑒𝑔(𝒗𝒊) is the degree of vertex 𝒗𝒊.
3. Parity of the Degree Sequence: The degree sequence of any graph must have an even sum,
since each edge contributes 2 to the total degree count. Therefore, the sum of the degrees of the
vertices must always be an even number. This is an important check to verify if a degree
sequence is valid for some graph.
4. Implications for Graph Type:
o Connected Graph: If the degree sequence has large degrees compared to the smaller
ones, the graph is more likely to be connected.
o Regular Graph: If the degree sequence has all identical values, the graph is said to be
regular. A 𝑘-regular graph has all vertices with degree 𝒌.
o Tree: A tree with 𝒏 vertices always has a degree sequence where the sum of the degrees
equals 𝟐(𝒏 − 𝟏) (since a tree has 𝒏 − 𝟏 edges). Also, one vertex will often have degree
1 (leaf nodes).
o Complete Graph: The degree sequence of a complete graph 𝐾𝑛 is [𝒏 − 𝟏, 𝒏 −
𝟏, . . . , 𝒏 − 𝟏], where each vertex is connected to every other vertex, and the degree of
every vertex is 𝒏 − 𝟏.
5. Unique Graphs: For some degree sequences, there may be a unique graph structure that
satisfies that sequence, while for others, there could be multiple graphs with the same degree
sequence. For example, two graphs with the same degree sequence could still be non-
isomorphic, as their structures might differ.
This degree sequence can be realized by a graph with 4 vertices and 4 edges, and it suggests that the
vertex with degree 4 is connected to the other vertices, one vertex with degree 3 is connected to three
vertices, and the other vertex with degree 3 is connected to three vertices as well, and the vertex with
degree 2 is connected to two vertices.
Therefore, the degree sequence is a fundamental concept in graph theory that helps characterize the
structure of a graph. It is used to determine properties of the graph, verify if a sequence can form a valid
graph, and in the analysis of graph isomorphism. Understanding the degree sequence can provide
insights into the overall structure and behavior of the graph.
Importance:
1. The degree sequence provides key information about the structure of the graph, such as whether
it is regular (all vertices have the same degree).
2. The degree sequence can be used to test whether two graphs are isomorphic (by comparing
their degree sequences).
3. The degree sequence plays a role in determining whether a given degree sequence is graphical,
meaning it can represent the degree sequence of some graph. This is crucial in constructing
specific types of graphs.
1. Matching Degree Sequences: If two graphs are isomorphic, their degree sequences must be
identical. This is a necessary (but not sufficient) condition.
2. Degree Sequence Differences: If the degree sequences of two graphs differ, the graphs are not
isomorphic.
Graph 1: 𝑉 = {𝑎, 𝑏, 𝑐, 𝑑}, 𝐸 = {(𝑎, 𝑏), (𝑏, 𝑐), (𝑐, 𝑑), (𝑑, 𝑎)}. Here, all vertices are connected in a cyclic
manner.
Degree Sequence:
Graph 2: 𝑉 = {1,2,3,4}, 𝐸 = {(1,2), (2,3), (3,4), (4,1)}. Here, all vertices are connected in a cyclic
manner, just like Graph 1. Therefore, Degree Sequence: {2,2,2,2}.
Both graphs have the same degree sequence {2,2,2,2}, and since they have identical degree sequences,
the graphs can be isomorphic. However, since both graphs are just simple cycles C4C_4C4, they are
isomorphic by the structure of the cycle, meaning the degree sequence alone is sufficient to suggest that
they could be isomorphic. Thus, Graph 1 and Graph 2 are isomorphic.
Define subgraph, induced subgraph, and spanning subgraph, and explain each with suitable examples.
Highlight the key differences between subgraph, induced subgraph, spanning subgraph, and the original
graph. Draw all possible subgraphs of the given graphs, explaining your approach.
Solution.
Subgraph of a Graph
In graph theory, a subgraph is an important concept that allows us to explore parts of a larger graph by
selecting specific vertices and edges. Understanding subgraphs is fundamental in various areas of
mathematics, computer science, and network analysis, as they help break down complex systems into
smaller, manageable components for analysis.
Definition. A subgraph of a graph 𝐺 is another graph formed by selecting a subset of the vertices and
edges from 𝐺.
The key idea is that a subgraph must preserve the connectivity of the selected vertices, meaning that if
there is an edge between two vertices in the original graph, this edge must appear in the subgraph if
both vertices are included. In simpler terms, a subgraph is formed by choosing a set of vertices from
the original graph and including all edges that connect the selected vertices.
Subgraphs play a key role in understanding the structure and relationships within a graph, and they are
a foundational concept for more advanced topics such as graph isomorphism, connectivity, and
optimization problems. A subgraph is a graph formed from a subset of vertices and edges of a given
graph 𝐺 = (𝑉, 𝐸). Below are its key properties:
1. The vertex set of a subgraph 𝐺′ is a subset of the vertex set of the original graph 𝐺, i.e., 𝑉(𝐺′) ⊆
𝑉(𝐺).
2. The edge set of a subgraph 𝐺′ is a subset of the edge set of the original graph 𝐺, i.e., 𝐸(𝐺′) ⊆
𝐸(𝐺).
3. An edge in the subgraph 𝐺′ must connect vertices that are in the vertex set 𝑉(𝐺′).
4. A subgraph does not necessarily need to include all edges between the vertices in 𝑉(𝐺′). It may
include only a partial set of edges.
5. A subgraph can be disconnected, even if the original graph is connected.
6. A graph can have multiple subgraphs, depending on the choice of subsets of vertices and edges.
Induced Subgraph
An induced subgraph 𝐺[𝑉′] of a graph 𝐺 = (𝑉, 𝐸) is the subgraph that is formed by selecting a subset
of the vertices 𝑉′ ⊆ 𝑉, and then including all edges from 𝐺 that have both endpoints in 𝑉′. It is the
subgraph induced by the set of vertices 𝑉′, where the edges are taken as those present in the original
graph between the selected vertices.
1. 𝑉′ ⊆ 𝑉
2. 𝐸′ = {(𝑢, 𝑣) ∈ 𝐸: 𝑢, 𝑣 ∈ 𝑉′}.
Example. Graph
Induced subgraphs
Properties of Induced Subgraphs
An induced subgraph is a special type of subgraph that is formed by a subset of vertices 𝑉′ of the
original graph 𝐺 = (𝑉, 𝐸) and all edges from 𝑮 that exist between the vertices in 𝑉′. Below are its key
properties:
1. The vertex set of the induced subgraph 𝐺′ is a subset of the vertex set of the original graph 𝐺,
i.e., 𝑉(𝐺′) ⊆ 𝑉(𝐺).
2. The induced subgraph 𝐺′ contains all edges from 𝑮 that connect pairs of vertices in 𝑉(𝐺′). No
edges are omitted between the vertices in 𝑉(𝐺′).
3. For a given vertex subset 𝑉′ ⊆ 𝑉(𝐺), there is exactly one induced subgraph. It is uniquely
determined by 𝑉′.
4. If two vertices in 𝑉′ are adjacent in 𝐺, then they are also adjacent in the induced subgraph 𝐺′.
5. An induced subgraph is defined solely by the vertex subset 𝑉′. The edges are determined
automatically based on 𝑉′.
6. Among all subgraphs with vertex set 𝑉′, the induced subgraph contains the maximum possible
number of edges.
Spanning Subgraph
A spanning subgraph is a concept in graph theory where a subgraph retains all the vertices of the
original graph but includes only a subset of its edges. In simple terms, it is a subgraph that "spans" the
entire vertex set of the original graph. The spanning subgraph provides a way to simplify or analyze the
structure of a graph by focusing on specific connections (edges) while ensuring that all nodes (vertices)
are preserved.
Spanning subgraphs are useful for applications in networking, optimization, and combinatorics, where
maintaining node integrity is essential while exploring edge reductions or specific substructures.
Definition. Let 𝐺 = (𝑉, 𝐸) be a graph where 𝑉 is the set of vertices and 𝐸 is the set of edges. A
subgraph 𝐺′ = (𝑉′, 𝐸′) is a spanning subgraph of GGG if:
Example.
A spanning subgraph of a graph 𝐺 = (𝑉, 𝐸) is a subgraph that includes all the vertices of 𝐺 but may
include only a subset of its edges. Below are the key properties of spanning subgraphs:
1. A spanning subgraph contains all vertices of the original graph 𝐺, i.e., 𝑉(𝐺′) = 𝑉(𝐺).
2. The edge set of a spanning subgraph 𝐺′ is a subset of the edge set of the original graph 𝐺, i.e.,
𝐸(𝐺′) ⊆ 𝐸(𝐺).
3. A spanning subgraph can have fewer edges than the original graph, but it cannot add edges that
are not present in 𝐺.
4. A spanning subgraph may retain the type of the original graph (e.g., connected, disconnected,
weighted, etc.), depending on the edges it retains.
5. If 𝐺 is connected, a spanning subgraph that is also a tree is called a spanning tree. A spanning
tree is an acyclic, connected subgraph.
6. The number of possible spanning subgraphs depends on the number of edges in 𝐺. For every
edge in 𝐺, it can either be included or excluded in a spanning subgraph.
7. The original graph 𝐺 is itself a spanning subgraph, and the subgraph containing all vertices and
no edges is a trivial spanning subgraph (in disconnected graphs).
8. Spanning subgraphs are used in applications such as network design, transportation systems,
and electrical circuits where certain connections need to be preserved.
Key Differences
Differentiate between Eulerian paths and Hamiltonian paths with appropriate examples. State the
necessary and sufficient conditions for the existence of a Eulerian path in a graph. Explain why graphs
with Hamiltonian paths may not necessarily have Hamiltonian cycles, supporting your explanation with
examples. Demonstrate that the given graphs do not possess Hamiltonian cycles, providing detailed
reasoning.
Solution.
A Eulerian Path is a fundamental concept in graph theory, named after the Swiss mathematician
Leonhard Euler, who first studied it in 1736 while solving the famous Königsberg Bridge Problem.
The problem asked whether it was possible to walk through the city of Königsberg in such a way that
one crossed each of its seven bridges exactly once. Euler’s solution laid the foundation for graph theory.
Definition: An Eulerian path is a path in a graph that visits every edge exactly once, without repeating
any edge.
Let 𝐺 = (𝑉, 𝐸) be a graph where 𝑉 is the set of vertices and 𝐸 is the set of edges. An Eulerian Path is
a sequence of edges (𝑒1, 𝑒2, … , 𝑒𝑘) such that
1. Each edge in 𝐸 is included exactly once in the sequence.
2. The path may visit vertices multiple times, but it does not repeat any edge.
3. The path may start and end at different vertices.
A Eulerian Cycle (or Eulerian Circuit) is a fundamental concept in graph theory, named after the
mathematician Leonhard Euler, who introduced it in 1736 while solving the famous Königsberg
Bridge Problem. Eulerian cycles highlight the traversal of all edges in a graph while respecting specific
connectivity and degree properties.
Unlike other types of graph traversals, a Eulerian cycle focuses solely on edges, ensuring no edge is
repeated, though vertices can be revisited.
Importance of Eulerian Cycles: Eulerian cycles have practical applications in real-world problems
such as:
1. It is connected (in undirected graphs, every vertex is reachable; for directed graphs, it is
strongly connected).
2. Every vertex has an even degree (undirected graph) or in-degree equals out-degree (directed
graph).
A Hamiltonian Path is a key concept in graph theory, named after the mathematician Sir William
Rowan Hamilton, who studied such paths in the 19th century. These paths are concerned with visiting
all vertices of a graph exactly once, focusing on vertex traversal rather than edge traversal like in
Eulerian paths.
Definition. A Hamiltonian Path is a path in a graph that:
If the Hamiltonian Path is also a cycle (i.e., it starts and ends at the same vertex), it is called a
Hamiltonian Cycle.
Applications of Hamiltonian Paths: Hamiltonian paths have various practical applications, such
as:
1. Traveling Salesperson Problem (TSP): Finding the shortest route to visit a set of cities and
return to the starting point.
2. DNA sequencing: Assembling genetic sequences by visiting all fragments exactly once.
3. Scheduling: Solving problems where tasks must be executed in a specific sequence without
repetition.
Unlike Eulerian paths, finding Hamiltonian paths is a more complex problem. In fact, determining
whether a Hamiltonian Path exists in a general graph is an NP-complete problem. This complexity
makes the study of Hamiltonian paths both challenging and valuable for theoretical and applied
research.
Understanding Hamiltonian paths is crucial for solving problems in transportation networks, circuit
design, bioinformatics, and many other fields.
Verifying Hamiltonian Cycles for a Given Graph: To demonstrate that the provided graph lacks
Hamiltonian cycles:
Steps to Verify:
Eulerian and Hamiltonian cycles are two fundamental concepts in graph theory that describe distinct
ways to traverse a graph. Below is a detailed comparison:
A closed path that traverses each edge A closed path that visits each vertex of the
Definition of the graph exactly once and returns graph exactly once and returns to the starting
to the starting vertex. vertex.
Every vertex must have an even The graph must contain a Hamiltonian path
Requirements degree, and the graph must be that forms a cycle, but no specific degree
connected. condition applies.
A graph where each vertex has an A graph forming a closed loop that visits
Illustrative
even degree (e.g., a complete graph every vertex exactly once (e.g., K4K_4K4
Example
K4K_4K4 with all edges used once). with vertices connected in sequence).
Describe colouring of the graph and its corresponding chromatic number. Determine a proper coloring
for the graph with 𝑉 = {𝑎, 𝑏, 𝑐, 𝑑}, 𝐸 = {(𝑎, 𝑏), (𝑏, 𝑑), (𝑏, 𝑐), (𝑐, 𝑑), (𝑑, 𝑎), (𝑎, 𝑐)}, and compute its
chromatic number. Provide a step-by-step explanation of your approach.
Solution.
Graph Coloring
Graph coloring is a fundamental concept in graph theory that involves assigning colors to the elements
of a graph, typically its vertices, edges, or regions, under certain constraints. The most common form
of graph coloring is vertex coloring, where the goal is to assign colors to the vertices of a graph such
that no two adjacent vertices (connected by an edge) share the same color. This type of coloring is
known as a proper coloring.
Graph coloring is widely used in various fields, including scheduling, register allocation in compilers,
frequency assignment in telecommunications, and solving Sudoku puzzles. The minimum number of
colors required for a proper vertex coloring of a graph is called the chromatic number of the graph,
denoted as 𝜒(𝐺).
Graph coloring problems are challenging and often require creative strategies to determine the
chromatic number or to find a proper coloring.
Definition. Let 𝐺 = (𝑉, 𝐸) be a graph, where 𝑉 is the set of vertices and 𝐸 is the set of edges.
Vertex Coloring: A vertex coloring of a graph 𝐺 is a function 𝑓: 𝑉 → 𝐶, where 𝐶 is a set of colors,
such that for every edge (𝑢, 𝑣) ∈ 𝐸, 𝑓(𝑢) ≠ 𝑓(𝑣). In other words, adjacent vertices must have different
colors.
The chromatic number of the graph, denoted by 𝜒(𝐺), is the minimum number of colors required to
achieve a proper vertex coloring.
Edge Coloring: An edge coloring of a graph 𝐺 is a function 𝑔: 𝐸 → 𝐶, where 𝐶 is a set of colors, such
that for any two adjacent edges 𝑒1, 𝑒2 ∈ 𝐸, 𝑔(𝑒1) ≠ 𝑔(𝑒2).
The edge chromatic number, denoted by 𝜒′(𝐺), is the minimum number of colors needed for a proper
edge coloring.
Example.
Graph coloring has several important properties that are useful for analyzing graphs and solving
coloring problems. Here are some of the key properties:
1. Chromatic Number 𝜒(𝐺)): The chromatic number of a graph 𝐺 is the minimum number of
colors required for a proper vertex coloring.
Complete Graph: For a complete graph 𝐾𝑛 , 𝜒(𝐾𝑛 ) = 𝑛, because each vertex is adjacent to all
other vertices.
Bipartite Graph: For a bipartite graph 𝐺, 𝜒(𝐺) = 2, if it contains at least one edge.
2. Cycle Graph:
o If the cycle has an even number of vertices, 𝜒(𝐺) = 2.
o If the cycle has an odd number of vertices, 𝜒(𝐺) = 3.
3. Subgraph Property: If 𝐻 is a subgraph of 𝐺, then 𝜒(𝐻) ≤ 𝜒(𝐺).
This means that the chromatic number of a subgraph cannot exceed that of the original graph.
4. Relation to Maximum Degree (𝛥(𝐺)): For a graph 𝐺, the chromatic number satisfies:
𝜒(𝐺) ≤ 𝛥(𝐺) + 1
5. Acyclic Graphs (Trees): For a tree 𝑇 with 𝑛 vertices, we have the chromatic number is 𝜒(𝑇) =
2 if 𝑛 > 1, and this is because a tree is a bipartite graph.
6. Uniqueness of Coloring: The number of ways to color a graph depends on the graph's structure
and the number of colors available, and for some graphs, the coloring is unique (up to
permutation of colors), while for others, multiple valid coloring may exist.
7. Chromatic Polynomial: The chromatic polynomial 𝑃(𝐺, 𝑘) counts the number of ways to
properly color a graph 𝐺 using 𝑘 colors. It is a polynomial in 𝑘 and provides insights into the
graph's structure.
Example. Graph Description
Vertices: 𝑽 = {𝒂, 𝒃, 𝒄, 𝒅} and Edges: 𝑬 = {(𝒂, 𝒃), (𝒃, 𝒅), (𝒃, 𝒄), (𝒄, 𝒅), (𝒅, 𝒂), (𝒂, 𝒄)}.
This graph represents a complete graph 𝑲𝟒 , meaning every pair of vertices is connected by an
edge.
Step-by-Step Solution
The graph 𝑮 can be visualized as a triangle with diagonals (a fully connected graph on 4 vertices). Each
vertex is connected to all others:
Vertex 𝒂 is adjacent to 𝑏, 𝑐, 𝑑
Vertex 𝒃 is adjacent to 𝑎, 𝑐, 𝑑
Vertex 𝒄 is adjacent to 𝑎, 𝑏, 𝑑
Vertex 𝒅 is adjacent to 𝑎, 𝑏, 𝑐
We assign colors step by step, ensuring no two adjacent vertices share the same color.
𝑪𝒐𝒍𝒐𝒓(𝒂) = 𝟏
𝑪𝒐𝒍𝒐𝒓(𝒃) = 𝟐
3. Assign color 3 to vertex 𝑐: Vertex ccc is adjacent to both 𝒂 and 𝒃, so it needs a third color:
𝑪𝒐𝒍𝒐𝒓(𝒄) = 𝟑
𝑪𝒐𝒍𝒐𝒓(𝒅) = 𝟒
The chromatic number of the graph is the minimum number of colors used in a proper coloring. Since
all four vertices are mutually connected, the chromatic number is:
𝝌(𝑮) = 𝟒
Explanation of Approach
1. Graph Representation: By visualizing or listing adjacency relations, it is clear that the graph
is complete (𝐾4 ).
2. Color Assignment: Colors were assigned iteratively, ensuring no two adjacent vertices share
the same color.
3. Chromatic Number: Since all vertices are connected to each other, each vertex requires a
unique color.