Ilovepdf Merged
Ilovepdf Merged
German mathematician G. Cantor introduced the concept of sets. He had defined a set as a collection
of definite and distinguishable objects selected by the means of certain rules or description.
Set theory forms the basis of several other fields of study like counting theory, relations, graph theory
and finite state machines. In this chapter, we will cover the different aspects of Set Theory.
Set - Definition
A set is an unordered collection of different elements. A set can be written explicitly by listing its
elements using set bracket. If the order of the elements is changed or any element of a set is
repeated, it does not make any changes in the set.
Representation of a Set
Sets can be represented in two ways −
The set is represented by listing all the elements comprising it. The elements are enclosed within
braces and separated by commas.
Explore our latest online courses and learn new skills at your own pace. Enroll and become a certified
expert to boost your career.
Cardinality of a Set
Cardinality of a set S, denoted by | S | , is the number of elements of the set. The number is also
referred as the cardinal number. If a set has an infinite number of elements, its cardinality is ∞.
| X | = | Y | denotes two sets X and Y having same cardinality. It occurs when the number
of elements in X is exactly equal to the number of elements in Y. In this case, there exists a
bijective function ‘f’ from X to Y.
| X | ≤ | Y | denotes that set X’s cardinality is less than or equal to set Y’s cardinality. It
occurs when number of elements in X is less than or equal to that of Y. Here, there exists an
injective function ‘f’ from X to Y.
| X | < | Y | denotes that set X’s cardinality is less than set Y’s cardinality. It occurs when
number of elements in X is less than that of Y. Here, the function ‘f’ from X to Y is injective
function but not bijective.
Types of Sets
Sets can be classified into many types. Some of which are finite, infinite, subset, universal, proper,
singleton set, etc.
Finite Set
A set which contains a definite number of elements is called a finite set.
Infinite Set
A set which contains infinite number of elements is called an infinite set.
Subset
A set X is a subset of set Y (Written as X ⊆ Y) if every element of X is an element of set Y.
Example 1 − Let, X = {1, 2, 3, 4, 5, 6} and Y = {1, 2}. Here set Y is a subset of set X as all the
elements of set Y is in set X. Hence, we can write Y ⊆ X.
Example 2 − Let, X = {1, 2, 3} and Y = {1, 2, 3}. Here set Y is a subset (Not a proper subset) of
set X as all the elements of set Y is in set X. Hence, we can write Y ⊆ X.
Proper Subset
The term “proper subset” can be defined as “subset of but not equal to”. A Set X is a proper subset of
set Y (Written as X ⊂ Y) if every element of X is an element of set Y and | X | < | Y | .
Example − Let, X = {1, 2, 3, 4, 5, 6} and Y = {1, 2}. Here set Y ⊂ X since all elements in Y are
contained in X too and X has at least one element is more than set Y.
Universal Set
It is a collection of all elements in a particular context or application. All the sets in that context or
application are essentially subsets of this universal set. Universal sets are represented as U.
Example − We may define U as the set of all animals on earth. In this case, set of all mammals is
a subset of U, set of all fishes is a subset of U, set of all insects is a subset of U, and so on.
Equal Set
If two sets contain the same elements they are said to be equal.
Example − If A = {1, 2, 6} and B = {6, 1, 2}, they are equal as every element of set A is an
element of set B and every element of set B is an element of set A.
Equivalent Set
If the cardinalities of two sets are same, they are called equivalent sets.
Example − If A = {1, 2, 6} and B = {16, 17, 22}, they are equivalent as cardinality of A is equal to
the cardinality of B. i.e. | A | = | B | = 3
Overlapping Set
Two sets that have at least one common element are called overlapping sets.
Example − Let, A = {1, 2, 6} and B = {6, 12, 42}. There is a common element ‘6’, hence these sets are
overlapping sets.
Disjoint Set
Two sets A and B are called disjoint sets if they do not have even one element in common. Therefore,
disjoint sets have the following properties −
n(A ∩ B) = ∅
Example − Let, A = {1, 2, 6} and B = {7, 9, 14}, there is not a single common element, hence these
sets are overlapping sets.
Venn Diagrams
Venn diagram, invented in 1880 by John Venn, is a schematic diagram that shows all possible logical
relations between different mathematical sets.
Examples
Set Operations
Set Operations include Set Union, Set Intersection, Set Difference, Complement of Set, and Cartesian
Product.
Set Union
The union of sets A and B (denoted by A ∪ B) is the set of elements which are in A, in B, or in both A
and B. Hence, A ∪ B = {x | x ∈ A OR x ∈ B}.
Example − If A = {10, 11, 12, 13} and B = {13, 14, 15}, then A ∪ B = {10, 11, 12, 13, 14, 15}. (The
common element occurs only once)
Set Intersection
The intersection of sets A and B (denoted by A ∩ B) is the set of elements which are in both A and B.
Hence, A ∩ B = {x | x ∈ A AND x ∈ B}.
Example − If A = {11, 12, 13} and B = {13, 14, 15}, then A ∩ B = {13}.
Example − If A = {10, 11, 12, 13} and B = {13, 14, 15}, then (A − B) = {10, 11, 12} and
(B − A) = {14, 15}. Here, we can see (A − B) ≠ (B − A)
Complement of a Set
The complement of a set A (denoted by A ′ ) is the set of elements which are not in set A. Hence,
A ′ = {x | x ∉ A}.
The Cartesian product of A and B is written as − A × B = {(a, 1), (a, 2), (b, 1), (b, 2)}
The Cartesian product of B and A is written as − B × A = {(1, a), (1, b), (2, a), (2, b)}
Power Set
Power set of a set S is the set of all subsets of S including the empty set. The cardinality of a power
set of a set S of cardinality n is 2 n. Power set is denoted as P(S).
Example −
Subsets with 2 elements − {a, b}, {a, c}, {a, d}, {b, c}, {b, d}, {c, d}
Subsets with 3 elements − {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}
Hence, P(S) =
{ {∅}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {a, d}, {b, c}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b,
| P(S) | = 2 4 = 16
| P({∅}) | = 2 0 = 1
Partitioning of a Set
Partition of a set, say S, is a collection of n disjoint subsets, say P 1, P 2, …P n that satisfies the
following three conditions −
The union of the subsets must equal the entire original set.
[P 1 ∪ P 2 ∪ ⋯ ∪ P n = S]
Example
Let S = {a, b, c, d, e, f, g, h}
Bell Numbers
Bell numbers give the count of the number of ways to partition a set. They are denoted by B n where n
is the cardinality of the set.
Example −
1. ∅, {1, 2, 3}
2. {1}, {2, 3}
Hence B 3 = 5
Discrete Mathematics - Relations
Whenever sets are being discussed, the relationship between the elements of the sets is the next
thing that comes up. Relations may exist between objects of the same set or between objects of two
or more sets.
Generally an n-ary relation R between sets A 1, …, and A n is a subset of the n-ary product A 1 × ⋯ × A n
. The minimum cardinality of a relation R is Zero and maximum is n 2 in this case.
For two distinct sets, A and B, having cardinalities m and n respectively, the maximum cardinality of a
relation R from A to B is mn.
Examples
Let, A = {1, 2, 9} and B = {1, 3, 7}
Case 3 − If relation R is 'greater than' then R = {(2, 1), (9, 1), (9, 3), (9, 7)}
Dom(R) = {2, 9}, Ran(R) = {1, 3, 7}
Explore our latest online courses and learn new skills at your own pace. Enroll and become a certified
expert to boost your career.
The number of vertices in the graph is equal to the number of elements in the set from which the
relation has been defined. For each ordered pair (x, y) in the relation R, there will be a directed edge
from the vertex ‘x’ to vertex ‘y’. If there is an ordered pair (x, x), there will be self- loop on vertex ‘x’.
Suppose, there is a relation R = {(1, 1), (1, 2), (3, 2)} on set S = {1, 2, 3}, it can be represented by the
following graph −
Types of Relations
A relation R on set A is called Transitive if xRy and yRz implies xRz, ∀x, y, z ∈ A.
Example − The relation R = {(1, 2), (2, 3), (1, 3)} on set A = {1, 2, 3} is transitive.
Function - Definition
A function or mapping (Defined as f : X → Y ) is a relationship from elements of one set X to
elements of another set Y (X and Y are non-empty sets). X is called Domain and Y is called Codomain
of function ‘f’.
Function ‘f’ is a relation on X and Y such that for each x ∈ X, there exists a unique y ∈ Y such that
(x, y) ∈ R. ‘x’ is called pre-image and ‘y’ is called image of function f.
A function can be one to one or many to one but not one to many.
Example
f : N → N, f(x) = 5x is injective.
f : N → N, f(x) = x2 is injective.
f : R → R, f(x) = x2 is not injective as (−x)2 = x2
Explore our latest online courses and learn new skills at your own pace. Enroll and become a certified
expert to boost your career.
Example
f : N → N, f(x) = x + 2 is surjective.
f : R → R, f(x) = x2 is not surjective since we cannot find a real number whose square
is negative.
Problem
Prove that a function f : R → R defined by f(x) = 2x– 3 is a bijective function.
Hence, f is injective.
Here, 2x– 3 =y
Hence, f is surjective.
Inverse of a Function
The inverse of a one-to-one corresponding function f : A → B, is the function g : B → A, holding
the following property −
f(x) = y ⇔ g(y) = x
Example
Composition of Functions
Two functions f : A → B and g : B → C can be composed to give a composition gof . This is a
function from A to C defined by (gof)(x) = g(f(x))
Example
Let f(x) = x + 2 and g(x) = 2x + 1, find (fog)(x) and (gof)(x) .
Solution
(fog)(x) = f(g(x)) = f(2x + 1) = 2x
+ 1 + 2 = 2x + 3
(gof)(x) = g(f(x)) = g(x + 2)
= 2(x + 2) + 1 = 2x + 5
Composition always holds associative property but does not hold commutative property.
Discrete Mathematics - Propositional Logic
The rules of mathematical logic specify methods of reasoning mathematical statements. Greek
philosopher, Aristotle, was the pioneer of logical reasoning. Logical reasoning provides the theoretical
base for many areas of mathematics and consequently computer science. It has many practical
applications in computer science like design of computing machines, artificial intelligence, definition
of data structures for programming languages etc.
Propositional Logic is concerned with statements to which the truth values, “true” and “false”, can be
assigned. The purpose is to analyze these statements either individually or in a composite manner.
"A is less than 2". It is because unless we give a specific value of A, we cannot say whether
the statement is true or false.
Connectives
In propositional logic generally we use five connectives which are −
OR (∨)
AND (∧)
A B A∨B
AND (∧) − The AND operation of two propositions A and B (written as A ∧ B ) is true if both the
propositional variable A and B is true.
A B A∧B
Negation (¬) − The negation of a proposition A (written as ¬A) is false when A is true and is true
when A is false.
A ¬A
True False
False True
Implication / if-then (→) − An implication A → B is the proposition “if A, then B”. It is false if A is
true and B is false. The rest cases are true.
A B A→B
True True True
If and only if (⇔) − A ⇔ B is bi-conditional logical connective which is true when p and q are same,
i.e. both are false or both are true.
A B A⇔B
Explore our latest online courses and learn new skills at your own pace. Enroll and become a certified
expert to boost your career.
Tautologies
A Tautology is a formula which is always true for every value of its propositional variables.
A B A→B (A → B) ∧ A [( A → B ) ∧ A] → B
Contradictions
A Contradiction is a formula which is always false for every value of its propositional variables.
A B A∨B ¬A ¬B (¬ A) ∧ ( ¬ B) (A ∨ B) ∧ [( ¬ A) ∧ (¬ B)]
Contingency
A Contingency is a formula which has both some true and some false values for every value of its
propositional variables.
A B A∨B ¬A (A ∨ B) ∧ (¬ A)
As we can see every value of (A ∨ B) ∧ (¬A) has both “True” and “False”, it is a contingency.
Propositional Equivalences
Two statements X and Y are logically equivalent if any of the following two conditions hold −
The truth tables of each statement have the same truth values.
Here, we can see the truth values of ¬(A ∨ B)and[(¬A) ∧ (¬B)] are same, hence the statements
are equivalent.
Hypothesis, p
Conclusion, q
Example of Conditional Statement − “If you do your homework, you will not be punished.” Here, "you
do your homework" is the hypothesis, p, and "you will not be punished" is the conclusion, q.
Inverse − An inverse of the conditional statement is the negation of both the hypothesis and the
conclusion. If the statement is “If p, then q”, the inverse will be “If not p, then not q”. Thus the inverse
of p → q is ¬p → ¬q.
Example − The inverse of “If you do your homework, you will not be punished” is “If you do not do your
homework, you will be punished.”
Converse − The converse of the conditional statement is computed by interchanging the hypothesis
and the conclusion. If the statement is “If p, then q”, the converse will be “If q, then p”. The converse of
p → q is q → p.
Example − The converse of "If you do your homework, you will not be punished" is "If you will not be
punished, you do your homework”.
Example − The Contra-positive of " If you do your homework, you will not be punished” is "If you are
punished, you did not do your homework”.
Duality Principle
Duality principle states that for any true statement, the dual statement obtained by interchanging
unions into intersections (and vice versa) and interchanging Universal set into Null set (and vice
versa) is also true. If dual of any statement is the statement itself, it is said self-dual statement.
Normal Forms
We can convert any proposition in two normal forms −
Examples
(A ∨ B) ∧ (A ∨ C) ∧ (B ∨ C ∨ D)
(P ∪ Q) ∩ (Q ∪ R)
Disjunctive Normal Form
A compound statement is in disjunctive normal form if it is obtained by operating OR among variables
(negation of variables included) connected with ANDs. In terms of set operations, it is a compound
statement obtained by Union among variables connected with Intersections.
Examples
(A ∧ B) ∨ (A ∧ C) ∨ (B ∧ C ∧ D)
(P ∩ Q) ∪ (Q ∩ R)
Discrete Mathematics - Predicate Logic
Predicate Logic deals with predicates, which are propositions containing variables.
Explore our latest online courses and learn new skills at your own pace. Enroll and become a certified
expert to boost your career.
Quantifiers
The variable of predicates is quantified by quantifiers. There are two types of quantifier in predicate
logic − Universal Quantifier and Existential Quantifier.
Universal Quantifier
Universal quantifier states that the statements within its scope are true for every value of the specific
variable. It is denoted by the symbol ∀ .
Existential Quantifier
Existential quantifier states that the statements within its scope are true for some values of the
specific variable. It is denoted by the symbol ∃ .
Example − "Some people are dishonest" can be transformed into the propositional form ∃xP (x)
where P(x) is the predicate which denotes x is dishonest and the universe of discourse is some
people.
Nested Quantifiers
If we use a quantifier that appears within the scope of another quantifier, it is called nested quantifier.
Example
An argument is a sequence of statements. The last statement is the conclusion and all its preceding
statements are called premises (or hypothesis). The symbol “∴”, (read therefore) is placed before the
conclusion. A valid argument is one where the conclusion follows from the truth values of the
premises.
Rules of Inference provide the templates or guidelines for constructing valid arguments from the
statements that we already have.
P P ∨Q
Disjunctive
∴P Addition ¬P
Syllogism
∨Q ∴Q
P P →Q
Q
Conjunction
Q→R Hypothetical
∴P ∴P Syllogism
∧Q →R
(P
→ Q)
∧ (R
P ∧Q Constructive
Simplification → S)
∴P Dilemma
P ∨R
∴Q
∨S
(P
→ Q)
P →Q ∧ (R
Modus → S) Destructive
P
Ponens Dilemma
∴Q ¬Q
∨ ¬S
∴ ¬P
∨ ¬R
P →Q
Modus
¬Q
Tollens
∴ ¬P
Explore our latest online courses and learn new skills at your own pace. Enroll and become a certified
expert to boost your career.
Addition
If P is a premise, we can use Addition rule to derive P ∨ Q.
P
∴P ∨Q
Example
Let P be the proposition, “He studies very hard” is true
Therefore − "Either he studies very hard Or he is a very bad student." Here Q is the proposition “he is a
very bad student”.
Conjunction
If P and Q are two premises, we can use Conjunction rule to derive P ∧ Q.
P
Q
∴P ∧Q
Example
Therefore − "He studies very hard and he is the best boy in the class"
Simplification
If P ∧ Q is a premise, we can use Simplification rule to derive P.
P ∧Q
∴P
Example
"He studies very hard and he is the best boy in the class", P ∧Q
Modus Ponens
If P and P → Q are two premises, we can use Modus Ponens to derive Q.
P →Q
P
∴Q
Example
Modus Tollens
If P → Q and ¬Q are two premises, we can use Modus Tollens to derive ¬P .
P →Q
¬Q
∴ ¬P
Example
"If you have a password, then you can log on to facebook", P →Q
"You cannot log on to facebook", ¬Q
Disjunctive Syllogism
If ¬P and P ∨ Q are two premises, we can use Disjunctive Syllogism to derive Q.
¬P
P ∨Q
∴Q
Example
"The ice cream is not vanilla flavored", ¬P
Hypothetical Syllogism
If P → Q and Q → R are two premises, we can use Hypothetical Syllogism to derive P → R
P →Q
Q→R
∴P →R
Example
Constructive Dilemma
If (P
→ Q) ∧ (R → S) and P ∨ R are two premises, we can use constructive dilemma to derive
Q ∨ S.
(P → Q) ∧ (R → S)
P ∨R
∴Q∨S
Example
“If it rains, I will take a leave”, (P → Q)
Destructive Dilemma
If (P → Q) ∧ (R → S) and ¬Q ∨ ¬S are two premises, we can use destructive dilemma to
derive ¬P ∨ ¬R.
(P → Q) ∧ (R → S)
¬Q ∨ ¬S
∴ ¬P ∨ ¬R
Example
“If it rains, I will take a leave”, (P → Q)
In 1854, Arthur Cayley, the British Mathematician, gave the modern definition of group for the first time
−
“A set of symbols all of them different, and such that the product of any two of them (no
matter in what order), or the product of any one of them into itself, belongs to the set, is
said to be a group. These symbols are not in general convertible [commutative], but are
associative.”
In this chapter, we will know about operators and postulates that form the basics of set theory, group
theory and Boolean algebra.
Any set of elements in a mathematical system may be defined with a set of operators and a number
of postulates.
A binary operator defined on a set of elements is a rule that assigns to each pair of elements a unique
element from that set. For example, given the set A = {1, 2, 3, 4, 5}, we can say ⊗ is a binary
operator for the operation c = a ⊗ b, if it specifies a rule for finding c for the pair of (a, b), such that
a, b, c ∈ A.
The postulates of a mathematical system form the basic assumptions from which rules can be
deduced. The postulates are −
Closure
A set is closed with respect to a binary operator if for every pair of elements in the set, the operator
finds a unique element from that set.
Example
Let A = {0, 1, 2, 3, 4, 5, …}
This set is closed under binary operator into ( ∗ ), because for the operation c = a ∗ b, for any a, b ∈ A
, the product c ∈ A.
The set is not closed under binary operator divide ( ÷ ), because, for the operation c = a ÷ b, for any
a, b ∈ A, the product c may not be in the set A. If a = 7, b = 2, then c = 3.5. Here a, b ∈ A but c ∉ A.
Associative Laws
A binary operator ⊗ on a set A is associative when it holds the following property −
(x ⊗ y) ⊗ z = x ⊗ (y ⊗ z), where x, y, z ∈ A
Example
Let A = {1, 2, 3, 4}
The operator plus ( + ) is associative because for any three elements, x, y, z ∈ A, the property
(x + y) + z = x + (y + z) holds.
(x − y) − z ≠ x − (y − z)
Explore our latest online courses and learn new skills at your own pace. Enroll and become a certified
expert to boost your career.
Commutative Laws
A binary operator ⊗ on a set A is commutative when it holds the following property −
x ⊗ y = y ⊗ x, where x, y ∈ A
Example
Let A = {1, 2, 3, 4}
The operator plus ( + ) is commutative because for any two elements, x, y ∈ A, the property
x + y = y + x holds.
x−y≠y−x
Distributive Laws
Two binary operators ⊗ and ⊛ on a set A, are distributive over operator ⊛ when the following
property holds −
x ⊗ (y ⊛ z) = (x ⊗ y) ⊛ (x ⊗ z), where x, y, z ∈ A
Example
Let A = {1, 2, 3, 4}
The operators into ( ∗ ) and plus ( + ) are distributive over operator + because for any three elements,
x, y, z ∈ A, the property x ∗ (y + z) = (x ∗ y) + (x ∗ z) holds.
x + (y ∗ z) ≠ (x + y) ∗ (x + z)
Identity Element
A set A has an identity element with respect to a binary operation ⊗ on A, if there exists an element
e ∈ A, such that the following property holds −
e ⊗ x = x ⊗ e, where x ∈ A
Example
Let Z = {0, 1, 2, 3, 4, 5, …}
The element 1 is an identity element with respect to operation ∗ since for any element x ∈ Z,
1∗x=x∗1
On the other hand, there is no identity element for the operation minus ( − )
Inverse
If a set A has an identity element e with respect to a binary operator ⊗ , it is said to have an inverse
whenever for every element x ∈ A, there exists another element y ∈ A, such that the following
property holds −
x⊗y=e
Example
Let A = {⋯ − 4, − 3, − 2, − 1, 0, 1, 2, 3, 4, 5, …}
Given the operation plus ( + ) and e = 0, the inverse of any element x is ( − x) since x + (x) = 0
De Morgan's Law
De Morgan’s Laws gives a pair of transformations between union and intersection of two (or more)
sets in terms of their complements. The laws are −
(A ∪ B) ′ = A ′ ∩ B ′
(A ∩ B) ′ = A ′ ∪ B ′
Example
Let A = {1, 2, 3, 4}, B = {1, 3, 5, 7}, and
A ′ = {5, 6, 7, 8, 9, 10}
B ′ = {2, 4, 6, 8, 9, 10}
A ∪ B = {1, 2, 3, 4, 5, 7}
A ∩ B = {1, 3}
(A ∪ B) ′ = {6, 8, 9, 10}
A ′ ∩ B ′ = {6, 8, 9, 10}
(A ∩ B) ′ = {2, 4, 5, 6, 7, 8, 9, 10}
A ′ ∪ B ′ = {2, 4, 5, 6, 7, 8, 9, 10}
Example
Question − A boy lives at X and wants to go to School at Z. From his home X he has to first reach Y
and then Y to Z. He may go X to Y by either 3 bus routes or 2 train routes. From there, he can either
choose 4 bus routes or 5 train routes to reach Z. How many ways are there to go from X to Z?
Permutations
A permutation is an arrangement of some elements in which order matters. In other words a
Permutation is an ordered Combination of elements.
Examples
Number of Permutations
The number of permutations of ‘n’ different things taken ‘r’ at a time is denoted by n P
r
n!
nP =
r (n − r) !
There are n number of ways to fill up the first place. After filling the first place (n-1) number of
elements is left. Hence, there are (n-1) ways to fill up the second place. After filling the first and
second place, (n-2) number of elements is left. Hence, there are (n-2) ways to fill up the third place. We
can now generalize the number of ways to fill up r-th place as [n – (r–1)] = n–r+1
So, the total no. of ways to fill up from first place up to r-th-place −
Hence,
n P = n ! / (n − r) !
r
If there are n elements of which a 1 are alike of some kind, a 2 are alike of another kind; a 3 are
alike of third kind and so on and a r are of r th kind, where (a 1 + a 2 + . . . a r) = n.
Then, number of permutations of these n objects is = n ! / [(a 1 !(a 2 !)…(a r !)].
The number of permutations of n dissimilar elements when r specified things always come
together is − r !(n − r + 1) !
The number of permutations of n dissimilar elements when r specified things never come
together is − n !– [r !(n − r + 1) !]
Some Problems
Problem 1 − From a bunch of 6 different cards, how many ways we can permute it?
Solution − As we are taking 6 cards at a time from a deck of 6 cards, the permutation will be
6
P 6 = 6 ! = 720
Problem 2 − In how many ways can the letters of the word 'READER' be arranged?
Solution − There are 6 letters word (2 E, 1 A, 1D and 2R.) in the word 'READER'.
Problem 3 − In how ways can the letters of the word 'ORANGE' be arranged so that the consonants
occupy only the even positions?
Solution − There are 3 vowels and 3 consonants in the word 'ORANGE'. Number of ways of arranging
the consonants among themselves = 3P 3 = 3 ! = 6. The remaining 3 vacant places will be filled up by
3 vowels in 3P 3 = 3 ! = 6 ways. Hence, the total number of permutation is 6 × 6 = 36
Explore our latest online courses and learn new skills at your own pace. Enroll and become a certified
expert to boost your career.
Combinations
A combination is selection of some given elements in which order does not matter.
nC n!
r =
r !(n − r) !
Problem 1
Solution
The cardinality of the set is 6 and we have to choose 3 elements from the set. Here, the ordering does
not matter. Hence, the number of subsets will be 6C 3 = 20.
Problem 2
There are 6 men and 5 women in a room. In how many ways we can choose 3 men and 2 women from
the room?
Solution
The number of ways to choose 3 men from 6 men is 6C 3 and the number of ways to choose 2 women
from 5 women is 5C 2
Problem 3
How many ways can you choose 3 distinct groups of 3 students from total 9 students?
Solution
The number of ways for choosing 3 students for 2nd group after choosing 1st group − 6C 3
The number of ways for choosing 3 students for 3rd group after choosing 1st and 2nd group − 3C 3
Pascal's Identity
Pascal's identity, first derived by Blaise Pascal in 17th century, states that the number of ways to
choose k elements from n elements is equal to the summation of number of ways to choose (k-1)
elements from (n-1) elements and the number of ways to choose elements from n-1 elements.
1 1
Mathematically, for any positive integers k and n: nC k = n − C k − 1 + n − C k
Proof −
n − 1C 1
+n − Ck
k−1
(n−1) ! (n−1) !
= (k−1) ! (n−k) !
+ k! (n−k−1) !
k n−k
= (n − 1) !( + )
k! (n−k) ! k! (n−k) !
n
= (n − 1) ! k ! ( n − k ) !
n!
= k! (n−k) !
= nC
k
Pigeonhole Principle
In 1834, German mathematician, Peter Gustav Lejeune Dirichlet, stated a principle which he called the
drawer principle. Now, it is known as the pigeonhole principle.
Pigeonhole Principle states that if there are fewer pigeon holes than total number of pigeons and
each pigeon is put in a pigeon hole, then there must be at least one pigeon hole with more than one
pigeon. If n pigeons are put into m pigeonholes where n > m, there's a hole with more than one pigeon.
Examples
Ten men are in a room and they are taking part in handshakes. If each person shakes hands
at least once and no man shakes the same man’s hand more than once then two men took
part in the same number of handshakes.
There must be at least two people in a class of 30 whose names start with the same
alphabet.
|A ∪ B| = |A| + |B| − |A ∩ B|
| ⋃ ni= 1A i | = ∑ | Ai ∩ Aj | + ∑ | A i ∩ A j ∩ A k | − ⋯ + ( − 1) \n − 1 | A 1 ∩ ⋯ ∩ A 2 |
1≤i<j<k≤n 1≤i<j<k≤n
Problem 1
Solution
| A ∪ B | = | A | + | B | − | A ∩ B | = 25 + 16 − 8 = 33
Problem 2
In a group of 50 students 24 like cold drinks and 36 like hot drinks and each student likes at least one
of the two drinks. How many like both coffee and tea?
Solution
Let X be the set of students who like cold drinks and Y be the set of people who like hot drinks.
| X ∩ Y | = | X | + | Y | − | X ∪ Y | = 24 + 36 − 50 = 60 − 50 = 10
Hence, there are 10 students who like both tea and coffee.
Mathematical Induction
Mathematical induction, is a technique for proving results or establishing statements for natural
numbers. This part illustrates the method through a variety of examples.
Definition
Mathematical Induction is a mathematical technique which is used to prove a statement, a formula or
a theorem is true for every natural number.
Step 1(Base step) − It proves that a statement is true for the initial value.
Step 2(Inductive step) − It proves that if the statement is true for the nth iteration (or number n), then
it is also true for (n+1)th iteration ( or number n+1).
How to Do It
Step 1 − Consider an initial value for which the statement is true. It is to be shown that the statement
is true for n = initial value.
Step 2 − Assume the statement is true for any value of n = k. Then prove the statement is true for n =
k+1. We actually break n = k+1 into two parts, one part is n = k (which is already proved) and try to
prove the other part.
Problem 1
3n − 1 is a multiple of 2 for n = 1, 2, ...
Solution
3k+1 − 1 = 3 × 3k − 1 = (2 × 3k )
+ (3k − 1)
The first part (2 × 3k) is certain to be a multiple of 2 and the second part (3k − 1) is also true as
our previous assumption.
Problem 2
Solution
1 + 3 + 5 + ⋯ + (2(k + 1) − 1)
= 1 + 3 + 5 + ⋯ + (2k + 2 − 1)
= 1 + 3 + 5 + ⋯ + (2k + 1)
= 1 + 3 + 5 + ⋯ + (2k − 1)
+ (2k + 1)
= k2 + (2k + 1)
= (k + 1)2
Problem 3
Solution
Step 2 − Let us assume the statement is true for n = k, Hence, (ab)k = ak bk is true (It is an
assumption).
Given, (ab)k = ak bk
Or, (ab)k (ab) = (ak bk )(ab) [Multiplying both side by 'ab']
Explore our latest online courses and learn new skills at your own pace. Enroll and become a certified
expert to boost your career.
Strong Induction
Strong Induction is another form of mathematical induction. Through this induction technique, we can
prove that a propositional function, P (n) is true for all positive integers, n , using the following steps
−
Step 1(Base step) − It proves that the initial proposition P (1) true.
Step 2(Inductive step) − It proves that the conditional statement
[P (1) ∧ P (2) ∧ P (3) ∧ ⋯ ∧ P (k)] is true for positive integers k .
→ P (k + 1)
Discrete Mathematics - Recurrence Relation
In this chapter, we will discuss how recursive techniques can derive sequences and be used for
solving counting problems. The procedure for finding the terms of a sequence in a recursive manner
is called recurrence relation. We study the theory of linear recurrence relations and their solutions.
Finally, we introduce generating functions for solving recurrence relations.
Definition
A recurrence relation is an equation that recursively defines a sequence where the next term is a
function of the previous terms (Expressing F n as some combination of F i with i < n).
Suppose, a two ordered linear recurrence relation is − F n = AF n − 1 + BF n − 2 where A and B are real
numbers.
x 2 − Ax − B = 0
Case 2 − If this equation factors as (x − x 1) 2 = 0 and it produces single real root x 1, then
n n
F n = ax 1 + bnx 1 is the solution.
Case 3 − If the equation produces two distinct complex roots, x 1 and x 2 in polar form x 1 = r∠θ and
x 2 = r∠( − θ), then F n = r n(acos(nθ) + bsin(nθ)) is the solution.
Problem 1
Solution
x 2 − 5x + 6 = 0,
So, (x − 3)(x − 2) = 0
x 1 = 3 and x 2 = 2
The roots are real and distinct. So, this is in the form of case 1
n n
F n = ax 1 + bx 2
Therefore,
1 = F 0 = a3 0 + b2 0 = a + b
4 = F 1 = a3 1 + b2 1 = 3a + 2b
Problem 2
Solution
The characteristic equation of the recurrence relation is −
x 2 − 10x − 25 = 0
So (x − 5) 2 = 0
F n = ax n1 + bnx n1
3 = F 0 = a.5 0 + (b)(0.5) 0 = a
17 = F 1 = a.5 1 + b.1.5 1 = 5a + 5b
Problem 3
Solution
x 2 − 2x − 2 = 0
x 1 = 1 + i and x 2 = 1 − i
In polar form,
π
x 1 = r∠θ and x 2 = r∠( − θ), where r = √2 and θ = 4
Explore our latest online courses and learn new skills at your own pace. Enroll and become a certified
expert to boost your career.
First part is the solution (a h) of the associated homogeneous recurrence relation and the second part
is the particular solution (a t).
an = ah + at
Solution to the first part is done using the procedures discussed in the previous section.
If x ≠ x 1 and x ≠ x 2, then a t = Ax n
If x = x 1, x ≠ x 2, then a t = Anx n
If x = x 1 = x 2, then a t = An 2x n
Example
Let a non-homogeneous recurrence relation be F n = AF n – 1 + BF n − 2 + f(n) with characteristic roots
x 1 = 2 and x 2 = 5. Trial solutions for different possible values of f(n) are as follows −
4 A
5.2n An2n
8.5n An5n
4n A4n
2n2+3n+1 An2+Bn+C
Problem
Solution
x 2 − 3x − 10 = 0
Or, (x − 5)(x + 2) = 0
Or, x 1 = 5 and x 2 = − 2
Since f(n) = 7.5 n, i.e. of the form c. x n, a reasonable trial solution of at will be Anx n
a t = Anx n = An5 n
Or, A=5
Fn = ah + at
= a.5 n + b. ( − 2) n + n5 n + 1
F n = n5 n + 1 + 6.( − 2) n − 2.5 n
Generating Functions
Generating Functions represents sequences where each term of a sequence is expressed as a
coefficient of a variable x in a formal power series.
∞
G x = a 0 + a 1 x + a 2 x + ⋯ + a kx + ⋯ =
2 k
∑ a kx k
k=0
For solving a variety of counting problems. For example, the number of ways to make change
for a Rs. 100 note with the notes of denominations Rs.1, Rs.2, Rs.5, Rs.10, Rs.20 and Rs.50
For solving recurrence relations
Problem 1
What are the generating functions for the sequences {a k} with a k = 2 and a k = 3k?
Solution
Problem 2
Solution
Here, a k = 1, for 0 ≤ k ≤ ∞
1
Hence, G(x) = 1 + x + x 2 + x 3 + …⋯ = (1−x)
Some Useful Generating Functions
For a k = a k, G(x) = ∑ ∞
k=0
a kx k = 1 + ax + a 2x 2 + ……⋯ = 1 / (1 − ax)
∞ 1
For a k = (k + 1), G(x) = ∑ k = 0(k + 1)x k = 1 + 2x + 3x 2……⋯ =
( 1 − x )2
1 xk x2 x3
For a k = , G(x) = ∑ ∞
k=0
=1+x+ + ……⋯ = e x
k! k! 2! 3!
Graph & Graph Models
The previous part brought forth the different tools for reasoning, proofing and problem solving. In this
part, we will study the discrete structures that form the basis of formulating many a real-life problem.
The two discrete structures that we will cover are graphs and trees. A graph is a set of points, called
nodes or vertices, which are interconnected by a set of lines called edges. The study of graphs, or
graph theory is an important part of a number of disciplines in the fields of mathematics, engineering
and computer science.
What is a Graph?
Definition − A graph (denoted as G = (V , E)) consists of a non-empty set of vertices or nodes V
and a set of edges E.
Degree of a Vertex − The degree of a vertex V of a graph G (denoted by deg (V)) is the number of
edges incident with the vertex V.
a 2 even
b 2 even
c 3 odd
d 1 odd
Even and Odd Vertex − If the degree of a vertex is even, the vertex is called an even vertex and if the
degree of a vertex is odd, the vertex is called an odd vertex.
Degree of a Graph − The degree of a graph is the largest vertex degree of that graph. For the above
graph the degree of the graph is 3.
The Handshaking Lemma − In a graph, the sum of all the degrees of all the vertices is equal to twice
the number of edges.
Types of Graphs
There are different types of graphs, which we will learn in the following section.
Null Graph
Simple Graph
A graph is called simple graph/strict graph if the graph is undirected and does not contain any loops
or multiple edges.
Multi-Graph
If in a graph multiple edges between the same set of vertices are allowed, it is called Multigraph. In
other words, it is a graph having at least one loop or multiple edges.
Directed and Undirected Graph
A graph G = (V , E) is called a directed graph if the edge set is made of ordered vertex pair and a
graph is called undirected if the edge set is made of unordered vertex pair.
A graph is regular if all the vertices of the graph have the same degree. In a regular graph G of degree
r, the degree of each vertex of G is r.
Complete Graph
A graph is called complete graph if every two vertices pair are joined by exactly one edge. The
complete graph with n vertices is denoted by Kn
Cycle Graph
If a graph consists of a single cycle, it is called cycle graph. The cycle graph with n vertices is denoted
by Cn
Bipartite Graph
If the vertex-set of a graph G can be split into two disjoint sets, V1 and V2 , in such a way that each
edge in the graph joins a vertex in V1 to a vertex in V2 , and there are no edges in G that connect two
vertices in V1 or two vertices in V2 , then the graph G is called a bipartite graph.
Complete Bipartite Graph
A complete bipartite graph is a bipartite graph in which each vertex in the first set is joined to every
single vertex in the second set. The complete bipartite graph is denoted by Kx,y where the graph G
contains x vertices in the first set and y vertices in the second set.
Explore our latest online courses and learn new skills at your own pace. Enroll and become a certified
expert to boost your career.
Representation of Graphs
There are mainly two ways to represent a graph −
Adjacency Matrix
Adjacency List
Adjacency Matrix
An Adjacency Matrix A[V ][V ] is a 2D array of size V × V where V is the number of vertices in a
undirected graph. If there is an edge between Vx to Vy then the value of A[Vx ][Vy ] = 1 and
A[Vy ][Vx ] = 1 , otherwise the value will be zero. And for a directed graph, if there is an edge between
Vx to Vy , then the value of A[Vx ][Vy ] = 1 , otherwise the value will be zero.
Let us consider the following undirected graph and construct the adjacency matrix −
a b c d
a 0 1 1 0
b 1 0 1 0
c 1 1 0 1
d 0 0 1 0
Let us consider the following directed graph and construct its adjacency matrix −
a 0 1 1 0
b 0 0 1 0
c 0 0 0 1
d 0 0 0 0
Adjacency List
In adjacency list, an array (A[V ]) of linked lists is used to represent the graph G with V number of
vertices. An entry A[Vx ] represents the linked list of vertices adjacent to the V x − th vertex. The
adjacency list of the undirected graph is as shown in the figure below −
Isomorphism
If two graphs G and H contain the same number of vertices connected in the same way, they are
called isomorphic graphs (denoted by G ≅H ).
It is easier to check non-isomorphism than isomorphism. If any of these following conditions occurs,
then two graphs are non-isomorphic −
Example
The following graphs are isomorphic −
Homomorphism
A homomorphism from a graph G to a graph H is a mapping (May not be a bijective mapping)
h : G → H such that − (x, y) ∈ E(G) → (h(x), h(y)) ∈ E(H) . It maps adjacent vertices of
graph G to the adjacent vertices of the graph H .
Properties of Homomorphisms
To find out if there exists any homomorphic graph of another graph is a NPcomplete problem.
Euler Graphs
A connected graph G is called an Euler graph, if there is a closed trail which includes every edge of
the graph G. An Euler path is a path that uses every edge of a graph exactly once. An Euler path starts
and ends at different vertices.
An Euler circuit is a circuit that uses every edge of a graph exactly once. An Euler circuit always starts
and ends at the same vertex. A connected graph G is an Euler graph if and only if all vertices of G are
of even degree, and a connected graph G is Eulerian if and only if its edge set can be decomposed
into cycles.
The above graph is an Euler graph as “a 1 b 2 c 3 d 4 e 5 c 6 f 7 g” covers all the edges of the
graph.
Hamiltonian Graphs
A connected graph G is called Hamiltonian graph if there is a cycle which includes every vertex of G
and the cycle is called Hamiltonian cycle. Hamiltonian walk in graph G is a walk that passes through
each vertex exactly once.
n
If G is a simple graph with n vertices, where n ≥ 3 If deg(v) ≥ 2
for each vertex v, then the graph
G is Hamiltonian graph. This is called Dirac's Theorem.
If G is a simple graph with n vertices, where n ≥ 2 if deg(x) + deg(y) ≥ n for each pair of non-
adjacent vertices x and y, then the graph G is Hamiltonian graph. This is called Ore's theorem.
Discrete Mathematics - More On Graphs
Graph Coloring
Graph coloring is the procedure of assignment of colors to each vertex of a graph G such that no
adjacent vertices get same color. The objective is to minimize the number of colors while coloring a
graph. The smallest number of colors required to color a graph G is called its chromatic number of
that graph. Graph coloring problem is a NP Complete problem.
The steps required to color a graph G with n number of vertices are as follows −
Step 2 − Choose the first vertex and color it with the first color.
Step 3 − Choose the next vertex and color it with the lowest numbered color that has not been colored
on any vertices adjacent to it. If all the adjacent vertices are colored with this color, assign a new color
to it. Repeat this step until all the vertices are colored.
Example
In the above figure, at first vertex a is colored red. As the adjacent vertices of vertex a are again
adjacent, vertex b and vertex d are colored with different color, green and blue respectively. Then
vertex c is colored as red as no adjacent vertex of c is colored red. Hence, we could color the graph by
3 colors. Hence, the chromatic number of the graph is 3.
Map Coloring
Graph Traversal
Graph traversal is the problem of visiting all the vertices of a graph in some systematic order. There
are mainly two ways to traverse a graph.
BFS Algorithm
The concept is to visit all the neighbor vertices before visiting other neighbor vertices of neighbor
vertices.
Remove the first vertex from the queue and mark it as “Visited”.
Add to the rear of queue all neighbors of the removed vertex whose status is
“Ready”. Mark their status as “Waiting”.
Problem
Let us take a graph (Source vertex is ‘a’) and apply the BFS algorithm to find out the traversal order.
Solution −
Remove b from queue, mark it as “Visited”, put its “Ready” neighbor c at end of queue and
mark c as “Waiting”.
Remove d from queue and mark it as “Visited”. It has no neighbor in “Ready” state.
Remove e from queue and mark it as “Visited”. It has no neighbor in “Ready” state.
Remove c from queue and mark it as “Visited”. It has no neighbor in “Ready” state.
a→b→d→e→c
a→b→e→d→c
Or, a→d→b→e→c
Or, a→e→b→d→c
Or, a→b→e→d→c
Or, a→d→e→b→c
Application of BFS
Finding the shortest path
Complexity Analysis
Let G(V , E) be a graph with |V | number of vertices and |E| number of edges. If breadth first search
algorithm visits every vertex in the graph and checks every edge, then its time complexity would be −
If at any vertex, it encounters that all the adjacent vertices are visited, then it backtracks until it finds
the first vertex having an adjacent vertex that has not been traversed before. Then, it traverses that
vertex, continues with its adjacent vertices until it traverses all visited vertices and has to backtrack
again. In this way, it will traverse all the vertices reachable from the initial vertex v.
DFS Algorithm
The concept is to visit all the neighbor vertices of a neighbor vertex before visiting the other neighbor
vertices.
Pop the top vertex from the stack and mark it as “Visited”
Push onto the top of the stack all neighbors of the removed vertex whose status is
“Ready”. Mark their status as “Waiting”.
Problem
Let us take a graph (Source vertex is ‘a’) and apply the DFS algorithm to find out the traversal order.
Solution
Pop b from stack, mark it as “Visited”, push its “Ready” neighbor c onto stack.
Pop c from stack and mark it as “Visited”. It has no “Ready” neighbor.
a→b→c→d→e
a→e→b→c→d
Or, a→b→e→c→d
Or, a→d→e→b→c
Or, a→d→c→e→b
Or, a→d→c→b→e
Complexity Analysis
Let G(V , E) be a graph with |V | number of vertices and |E| number of edges. If DFS algorithm
visits every vertex in the graph and checks every edge, then the time complexity is −
⊝(|V | + |E|)
Applications
Step 1 − Remove all the vertices of degree 1 from the given tree and also remove their incident edges.
Step 2 − Repeat step 1 until either a single vertex or two vertices joined by an edge is left. If a single
vertex is left then it is the center of the tree and if two vertices joined by an edge is left then it is the bi-
center of the tree.
Problem 1
At first, we will remove all vertices of degree 1 and also remove their incident edges and get the
following tree −
Again, we will remove all vertices of degree 1 and also remove their incident edges and get the
following tree −
Finally we got a single vertex ‘c’ and we stop the algorithm. As there is single vertex, this tree has one
center ‘c’ and the tree is a central tree.
Problem 2
At first, we will remove all vertices of degree 1 and also remove their incident edges and get the
following tree −
Again, we will remove all vertices of degree 1 and also remove their incident edges and get the
following tree −
Finally, we got two vertices ‘c’ and ‘d’ left, hence we stop the algorithm. As two vertices joined by an
edge is left, this tree has bi-center ‘cd’ and the tree is bi-central.
Explore our latest online courses and learn new skills at your own pace. Enroll and become a certified
expert to boost your career.
Labeled Trees
Definition − A labeled tree is a tree the vertices of which are assigned unique numbers from 1 to n. We
can count such trees for small values of n by hand so as to conjecture a general formula. The number
of labeled trees of n number of vertices is nn−2 . Two labeled trees are isomorphic if their graphs are
isomorphic and the corresponding points of the two trees have the same labels.
Example
Unlabeled Trees
Definition − An unlabeled tree is a tree the vertices of which are not assigned any numbers. The
(2n)!
number of labeled trees of n number of vertices is (nth Catalan number)
(n+1)!n!
Example
Rooted Tree
A rooted tree G is a connected acyclic graph with a special node that is called the root of the tree and
every edge directly or indirectly originates from the root. An ordered rooted tree is a rooted tree where
the children of each internal vertex are ordered. If every internal vertex of a rooted tree has not more
than m children, it is called an m-ary tree. If every internal vertex of a rooted tree has exactly m
children, it is called a full m-ary tree. If m = 2, the rooted tree is called a binary tree.
So, the value of all the vertices of the left sub-tree of an internal node V are less than or equal to V
and the value of all the vertices of the right sub-tree of the internal node V are greater than or equal to
V . The number of links from the root node to the deepest node is the height of the Binary Search Tree.
Example
BST_Search(x, k)
if ( x = NIL or k = Value[x] )
return x;
if ( k < Value[x])
return BST_Search (left[x], k);
else
return BST_Search (right[x], k)
Example
Example
Kruskal's Algorithm
Kruskal's algorithm is a greedy algorithm that finds a minimum spanning tree for a connected
weighted graph. It finds a tree of that graph which includes every vertex and the total weight of all the
edges in the tree is less than or equal to every possible spanning tree.
Algorithm
Step 1 − Arrange all the edges of the given graph G(V , E) in ascending order as per their edge
weight.
Step 2 − Choose the smallest weighted edge from the graph and check if it forms a cycle with the
spanning tree formed so far.
Step 3 − If there is no cycle, include this edge to the spanning tree else discard it.
Step 4 − Repeat Step 2 and Step 3 until (V − 1) number of edges are left in the spanning tree.
Problem
Suppose we want to find minimum spanning tree for the following graph G using Kruskal’s algorithm.
Solution
E1 (a, b) 20
E2 (a, c) 9
E3 (a, d) 13
E4 (b, c) 1
E5 (b, e) 4
E6 (b, f) 5
E7 (c, d) 2
E8 (d, e) 3
E9 (d, f) 14
Now we will rearrange the table in ascending order with respect to Edge weight −
E7 (c, d) 2
E8 (d, e) 3
E5 (b, e) 4
E6 (b, f) 5
E2 (a, c) 9
E3 (a, d) 13
E9 (d, f) 14
E1 (a, b) 20
Since we got all the 5 edges in the last figure, we stop the algorithm and this is the minimal spanning
tree and its total weight is (1 + 2 + 3 + 5 + 9) = 20 .
Explore our latest online courses and learn new skills at your own pace. Enroll and become a certified
expert to boost your career.
Prim's Algorithm
Prim's algorithm, discovered in 1930 by mathematicians, Vojtech Jarnik and Robert C. Prim, is a
greedy algorithm that finds a minimum spanning tree for a connected weighted graph. It finds a tree
of that graph which includes every vertex and the total weight of all the edges in the tree is less than
or equal to every possible spanning tree. Prim’s algorithm is faster on dense graphs.
Algorithm
Initialize the minimal spanning tree with a single vertex, randomly chosen from the graph.
Repeat steps 3 and 4 until all the vertices are included in the tree.
Select an edge that connects the tree with a vertex not yet in the tree, so that the weight of
the edge is minimal and inclusion of the edge does not form a cycle.
Add the selected edge and the vertex that it connects to the tree.
Problem
Suppose we want to find minimum spanning tree for the following graph G using Prim’s algorithm.
Solution