**1. Independent Sets –**

- A set of vertices I is called independent set if no two vertices in set I are adjacent to each other or in other words the set of non-adjacent vertices is called independent set.
- It is also called a
**stable set.** - The parameter α
_{0}(G) = max { |I|: I is an independent set in G } is called**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:

I_{1}= {1}, I_{2}= {2}, I_{3}= {3}, I_{4}= {4} I_{5}= {1, 3} and I_{6}= {2, 4}

Therefore, 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**vertex covering number**of G i.e the minimum number of vertices which 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:

V_{1}= {1, 3}, V_{2}= {2, 4}, V_{3}= {1, 2, 3}, V_{4}= {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 iff 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:

E_{1}= {a, b, c, d}, E_{2}= {a, d} and E_{3}= {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:

M_{1}= {a}, M_{2}= {b}, M_{3}= {c}, M_{4}= {d} M_{5}= {a, d} and M_{6}= {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.)

Attention reader! Don’t stop learning now. Get hold of all the important CS Theory concepts for SDE interviews with the **CS Theory Course** at a student-friendly price and become industry ready.