Mathematics | Independent Sets, Covering and Matching
Last Updated :
11 Jul, 2025
Mathematics | Independent Sets, Covering and Matching
1. Independent Sets
- A set of vertices I is called an independent set if no two vertices in set I are adjacent to each other in other words the set of non-adjacent vertices is called an independent set.
- It is also called a stable set.
- The parameter α0(G) = max { |I|: I is an independent set in G } is called the independence number of G i.e. the maximum number of non-adjacent vertices.
- Any independent set I with |I| = α0(G) is called a maximum independent set.
For above given graph G, Independent sets are:
I1 = {1}, I2 = {2}, I3 = {3}, I4 = {4}
I5 = {1, 3} and I6 = {2, 4}
Therefore, the maximum number of non-adjacent vertices i.e Independence number α
0
(G) = 2.
2. Vertex Covering
- A set of vertices K which can cover all the edges of graph G is called a vertex cover of G i.e. if every edge of G is covered by a vertex in set K.
- The parameter β0(G) = min { |K|: K is a vertex cover of G } is called the vertex covering a number of G i.e. the minimum number of vertices that can cover all the edges.
- Any vertex cover K with |K| = β0(G) is called a minimum vertex cover.

For above given graph G, Vertex cover is:
V1 = {1, 3}, V2 = {2, 4},
V3 = {1, 2, 3}, V4 = {1, 2, 3, 4}, etc.
Therefore, minimum number of vertices which can cover all edges, i.e., Vertex covering number β
0
(G) = 2.

Notes -
- I is an independent set in G if V(G) - I is vertex cover of G.
- For any graph G, α0(G) + β0(G) = n, where n is number of vertices in G.
Edge Covering -
- A set of edges F which can cover all the vertices of graph G is called a edge cover of G i.e. if every vertex in G is incident with a edge in F.
- The parameter β1(G) = min { |F|: F is an edge cover of G } is called edge covering number of G i.e sum of minimum number of edges which can cover all the vertices and number of isolated vertices(if exist).
- Any edge cover F with |F| = β1(G) is called a minimum edge cover.

For above given graph G, Edge cover is:
E1 = {a, b, c, d},
E2 = {a, d} and E3 = {b, c}.
Therefore, minimum number of edges which can cover all vertices, i.e., Edge covering number β
1
(G) = 2.

Note -
For any graph G, α
1
(G) + β
1
(G) = n, where n is number of vertices in G.
3. Matching -
- The set of non-adjacent edges is called matching i.e independent set of edges in G such that no two edges are adjacent in the set.
- he parameter α1(G) = max { |M|: M is a matching in G } is called matching number of G i.e the maximum number of non-adjacent edges.
- Any matching M with |M| = α1(G) is called a maximum matching.

For above given graph G, Matching are:
M1 = {a}, M2 = {b}, M3 = {c}, M4 = {d}
M5 = {a, d} and M6 = {b, c}
Therefore, maximum number of non-adjacent edges i.e matching number α
1
(G) = 2.
Complete Matching:
A matching of a graph G is complete if it contains all of G'svertices. Sometimes this is also called a perfect matching.
HALL’S MARRIAGE THEOREM:
The bipartite graph G =(V, E) with bipartition (V1, V2) has a complete matching from V1 to V2 if and only if |N (A)| > |A| for all subsets A of V1. (This is both necessary and sufficient condition for complete matching.)

Solved Examples
Example 1: Finding an Independent Set
Problem: Find an independent set in the following graph G:
Solution: Independent sets: I1={1}, I2={2}, I3={3}, I4={4}, I5={1,3}, I6={2,4}.
Maximum independent set: I5={1,3}or I6={2,4}
Independence number: α0(G)=2
Example 2: Finding a Vertex Cover
Problem: Find a vertex cover in the same graph G:
Solution: Vertex covers: V1={1,3}, V2={2,4}, V3={1,2,3}, V4={1,2,3,4}.
Minimum vertex cover: V1={1,3} or V2={2,4}
Vertex covering number: β0(G)=2
Related Articles:
Practice Problems
- Problem 1: A graph G has vertices labeled {1,2,3,4,5}{1,2,3,4,5}. The edges are {(1,2),(1,3),(2,4),(3,5)}{(1,2),(1,3),(2,4),(3,5)}. Find the independence number α0(G)α0(G).
- Problem 2: For the same graph G in Problem 1, determine the minimum vertex cover β0(G)β0(G).
- Problem 3: For the same graph G in Problem 1, find the edge covering number β1(G)β1(G).
- Problem 4: For the same graph G in Problem 1, determine the maximum matching α1(G)α1(G).
- Problem 5: A graph G has vertices labeled {A,B,C,D,E,F}{A,B,C,D,E,F}. The edges are {(A,B),(B,C),(C,D),(D,E),(E,F),(F,A)}{(A,B),(B,C),(C,D),(D,E),(E,F),(F,A)}. Find the independent sets of GG.
- Problem 6: For the same graph G in Problem 5, determine the minimum vertex cover.
- Problem 7: For the same graph G in Problem 5, find the edge covering number.
- Problem 8: For the same graph G in Problem 5, determine the maximum matching.
- Problem 9: Consider a complete graph K5 with vertices {1,2,3,4,5}{1,2,3,4,5}. Find the independence number and minimum vertex cover.
- Problem 10: Consider a bipartite graph K3,4K3,4 with partition sets {A,B,C}{A,B,C} and {D,E,F,G}{D,E,F,G}. Determine the matching number and edge covering number.
Similar Reads
Graph Theory Tutorial Graph Theory is a branch of mathematics that is concerned with the study of relationships between different objects. A graph is a collection of various vertexes also known as nodes, and these nodes are connected with each other via edges. In this tutorial, we have covered all the topics of Graph The
1 min read
Basics of Graph Theory
Graph and its representationsA Graph is a non-linear data structure consisting of vertices and edges. The vertices are sometimes also referred to as nodes and the edges are lines or arcs that connect any two nodes in the graph. More formally a Graph is composed of a set of vertices( V ) and a set of edges( E ). The graph is den
12 min read
Mathematics | Graph Theory Basics - Set 1A Graph is just a way to show connections between things. It is set of edges and vertices where each edge is associated with unordered pair of vertices. Graph is a data structure that is defined by two components :Node or Vertex: It is a point or joint between two lines like people, cities, or websi
5 min read
Types of Graphs with ExamplesA graph is a mathematical structure that represents relationships between objects by connecting a set of points. It is used to establish a pairwise relationship between elements in a given set. graphs are widely used in discrete mathematics, computer science, and network theory to represent relation
9 min read
Walks, Trails, Paths, Cycles and Circuits in GraphWalks, trails, paths, cycles, and circuits in a graph are sequences of vertices and edges with different properties. Some allow repetition of vertices and edges, while others do not. In this article, we will explore these concepts with examples.What is Walk?A walk in a graph is a sequence of vertice
6 min read
Graph measurements: length, distance, diameter, eccentricity, radius, centerA graph is defined as a set of points known as 'Vertices' and a line joining these points is known as 'Edges'. It is a set consisting of where 'V' is vertices and 'E' is edge. Vertices: {A, B, C, D, E, F} Edges: {{A, B}, {A, D}, {A, E}, {B, C}, {C, E}, {C, F}, {D, E}, {E, F}} Graph Measurements: The
5 min read
Articulation Points (or Cut Vertices) in a GraphGiven an undirected graph with V vertices and E edges (edges[][]), Your task is to return all the articulation points in the graph. If no such point exists, return {-1}.Note: An articulation point is a vertex whose removal, along with all its connected edges, increases the number of connected compon
15+ min read
Bridges in a graphGiven an undirected Graph, The task is to find the Bridges in this Graph. An edge in an undirected connected graph is a bridge if removing it disconnects the graph. For a disconnected undirected graph, the definition is similar, a bridge is an edge removal that increases the number of disconnected
15+ min read
Mathematics | Independent Sets, Covering and MatchingMathematics | Independent Sets, Covering and Matching1. Independent SetsA set of vertices I is called an independent set if no two vertices in set I are adjacent to each other in other words the set of non-adjacent vertices is called an independent set.It is also called a stable set.The parameter α0
5 min read
Dijkstra's Algorithm to find Shortest Paths from a Source to allGiven a weighted undirected graph represented as an edge list and a source vertex src, find the shortest path distances from the source vertex to all other vertices in the graph. The graph contains V vertices, numbered from 0 to V - 1.Note: The given graph does not contain any negative edge. Example
12 min read
Depth First Search or DFS for a GraphIn Depth First Search (or DFS) for a graph, we traverse all adjacent vertices one by one. When we traverse an adjacent vertex, we completely finish the traversal of all vertices reachable through that adjacent vertex. This is similar to a tree, where we first completely traverse the left subtree and
13 min read
Breadth First Search or BFS for a GraphGiven a undirected graph represented by an adjacency list adj, where each adj[i] represents the list of vertices connected to vertex i. Perform a Breadth First Search (BFS) traversal starting from vertex 0, visiting vertices from left to right according to the adjacency list, and return a list conta
15+ min read
Tree
Introduction to Tree Data StructureTree data structure is a hierarchical structure that is used to represent and organize data in the form of parent child relationship. The following are some real world situations which are naturally a tree.Folder structure in an operating system.Tag structure in an HTML (root tag the as html tag) or
15+ min read
Primâs Algorithm for Minimum Spanning Tree (MST)Primâs algorithm is a Greedy algorithm like Kruskal's algorithm. This algorithm always starts with a single node and moves through several adjacent nodes, in order to explore all of the connected edges along the way.The algorithm starts with an empty spanning tree. The idea is to maintain two sets o
15+ min read
Kruskalâs Minimum Spanning Tree (MST) AlgorithmA minimum spanning tree (MST) or minimum weight spanning tree for a weighted, connected, and undirected graph is a spanning tree (no cycles and connects all vertices) that has minimum weight. The weight of a spanning tree is the sum of all edges in the tree. In Kruskal's algorithm, we sort all edges
9 min read
Huffman Coding | Greedy Algo-3Huffman coding is a lossless data compression algorithm. The idea is to assign variable-length codes to input characters, lengths of the assigned codes are based on the frequencies of corresponding characters. The variable-length codes assigned to input characters are Prefix Codes, means the codes (
12 min read
Tree Traversal TechniquesTree Traversal techniques include various ways to visit all the nodes of the tree. Unlike linear data structures (Array, Linked List, Queues, Stacks, etc) which have only one logical way to traverse them, trees can be traversed in different ways. In this article, we will discuss all the tree travers
5 min read
Travelling Salesman Problem using Dynamic ProgrammingGiven a 2d matrix cost[][] of size n where cost[i][j] denotes the cost of moving from city i to city j. The task is to complete a tour from city 0 (0-based index) to all other cities such that we visit each city exactly once and then at the end come back to city 0 at minimum cost.Note the difference
15 min read
Special Graph
Eulerian Graphs
Matching
Coloring
Planar Graph
Directed Graphs
Degree Centrality (Centrality Measure)Degree In graph theory, the degree (or valency) of a vertex of a graph is the number of edges incident to the vertex, with loops counted twice.[1] The degree of a vertex v is denoted \deg(v) or \deg v. The maximum degree of a graph G, denoted by \Delta (G), and the minimum degree of a graph, denoted
5 min read
Check if a graph is Strongly, Unilaterally or Weakly connectedGiven an unweighted directed graph G as a path matrix, the task is to find out if the graph is Strongly Connected or Unilaterally Connected or Weakly Connected. Strongly Connected: A graph is said to be strongly connected if every pair of vertices(u, v) in the graph contains a path between each othe
12 min read
Strongly Connected ComponentsStrongly Connected Components (SCCs) are a fundamental concept in graph theory and algorithms. In a directed graph, a Strongly Connected Component is a subset of vertices where every vertex in the subset is reachable from every other vertex in the same subset by traversing the directed edges. Findin
15+ min read
Euler and Hamiltonian PathsEuler and Hamiltonian paths are fundamental concepts in graph theory, a branch of mathematics that studies the properties and applications of graphs. An Euler path visits every edge of a graph exactly once, while a Hamiltonian path visits every vertex exactly once. These paths have significant appli
8 min read
Tarjan's Algorithm to find Strongly Connected ComponentsA directed graph is strongly connected if there is a path between all pairs of vertices. A strongly connected component (SCC) of a directed graph is a maximal strongly connected subgraph. For example, there are 3 SCCs in the following graph: We have discussed Kosaraju's algorithm for strongly connec
15+ min read
Handshaking Lemma and Interesting Tree PropertiesIntroduction Trees are an important concept in graph theory, and understanding their properties is crucial in solving many graph-related problems. In this article, we will explore two important properties of trees - the Handshaking Lemma and interesting tree properties. What is Handshaking Lemma? Ha
5 min read
Group Theory
Group in Maths: Group TheoryGroup theory is one of the most important branches of abstract algebra which is concerned with the concept of the group. A group consists of a set equipped with a binary operation that satisfies four key properties: specifically, it includes property of closure, associativity, the existence of an id
13 min read
Homomorphism & Isomorphism of GroupWe can say that  "o" is the binary operation on set G if: G is a non-empty set & G * G = { (a,b) : a , bâ G } and o : G * G --> G. Here, aob denotes the image of ordered pair (a,b) under the function/operation o.Example - "+" is called a binary operation on G (any non-empty set ) if & onl
7 min read
Group Isomorphisms and AutomorphismsIn the study of algebraic structures, group isomorphisms and automorphisms play a fundamental role. By defining internal symmetries inside a group (automorphisms) and when two groups have the same structure (isomorphisms), these ideas aid in our understanding of the structure and symmetry of groups.
7 min read
Mathematics | Rings, Integral domains and FieldsPrerequisite - Mathematics | Algebraic Structure Ring - Let addition (+) and Multiplication (.) be two binary operations defined on a non empty set R. Then R is said to form a ring w.r.t addition (+) and multiplication (.) if the following conditions are satisfied: (R, +) is an abelian group ( i.e c
7 min read