A REPORT ON DISCRETE MATHEMATICS
A PROJECT REPORT
Submitted by
ANNIMESH SASMAL
in partial fulfilment for the award of the
degree of
BACHELOR OF TECHNOLOGY
in
COMPUTER SCIENCE AND ENGINEEERING
DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING
SCHOOL OF ENGINEERING AND TECHNOLOGY
BHUBANESWAR CAMPUS
CENTURION UNIVERSITY OF TECHNOLOGY AND MANAGEMENT
ODISHA
DEPARTMENT OF COMPUTER SCIENCE AND
ENGINEERING
SCHOOL OF ENGINEERING AND TECHNOLOGY
BHUBANESWAR CAMPUS
BONAFIDE CERTIFICATE
Certified that this project report ON DISCRETE MATHEMATICS is the
Bonafide work of “ANNIMESH SASMAL” who carried out the project work under
my supervision. This is to further certify to the best of my knowledge, that this project
has not been carried out earlier in this institute and the university.
SIGNATURE
Mrs. Tejaswini Pradhan
Faculty of Computer Science and Engineering
Certified that the above-mentioned project has been duly carried out as per the norms
of the college and statutes of the university.
SIGNATURE
(Prof. Raj Kumar Mohanta)
HEAD OF THE DEPARTMENT / DEAN OF THE SCHOOL
Professor of Computer Science and Engineering
DEPARTMENT SEAL
DECLARATION
I hereby declare that the project entitled “A REPORT ON DISCRETE
MATHEMATICS” submitted for the “Project” of 2nd semester B. Tech in Computer
Science and Engineering is my original work and the project has not formed the basis
for the award of any Degree / Diploma or any other similar titles in any other University
/ Institute.
Name of the Student: Annimesh Sasmal
Signature of the Student:
Registration No: 230301120173
Place: Bhubaneswar
Date:
ACKNOWLEDGEMENTS
I wish to express my profound and sincere gratitude to Mrs. Tejaswini
Pradhan, Faculty of Computer Science and Engineering, SoET, Bhubaneswar
Campus, who guided me into the intricacies of this project nonchalantly with
matchless magnanimity.
I thank Prof. Raj Kumar Mohanta, Head of the Dept. of Department of
Computer Science and Engineering, SoET, Bhubaneswar Campus and Prof. Sujata
Chakravarty, Dean, School of Engineering and Technology, Bhubaneswar
Campus for extending their support during Course of this investigation.
I would be failing in my duty if I didn’t acknowledge the cooperation
rendered during various stages of image interpretation by Asst. Prof. Sasi Bhusan
Padhi.
I am highly grateful to Mrs. Tejaswini Pradhan who evinced keen interest
and invaluable support in the progress and successful completion of my project
work.
Name of the Student: Annimesh Sasmal
Signature of the Student:
Registration No: 230301120173
Place: Bhubaneswar
Date:
TABLE OF CONTENTS
Sl. No. Topic Page No.
01 STUDY ON Propositional Logic 1
02 Build valid arguments of a given set of propositional logics and
quantified statements using rules of inferences
4
03 Define the properties of a relation on a set using the matrix
representation of that relation with examples
6
04 Find a Topological Sort of a Poset 9
05 Bipartite, complete bipartite graphs are used in Job Assignment,
Model, Local Area Networks and Parallel Processing
12
06 NON - Isomorphic graphs 16
07 Kruskal’s Algorithm on MST
1
PROJECT-1
STUDY ON PROPOSITIONAL LOGIC
INTRODUCTION:
Propositional logic is a branch of logic that deals with propositions or statements and their
logical connections. In this report, we will explore the truth values of propositions p and q and
investigate how different logical operations manipulate and combine these propositions.
o Truth Values of Propositions p and q:
Before delving into logical operations, it is essential to establish the truth values of the
propositions p and q. Truth values are typically denoted as either true (T) or false (F). Depending
on the given values for p and q, we can construct truth tables to represent all possible combinations.
o Truth Table for p and q:
p q
T T
T F
F T
F F
o Logical Operations:
Now, let's explore various logical operations and understand how they affect the truth values
of propositions p and q.
o Conjunction (AND):
The conjunction of propositions p and q, denoted as p AND q, is true (T) only when both p and
q are true. Otherwise, it is false (F).
o Truth Table for p AND q:
o Disjunction (OR):
The disjunction of propositions p and q, denoted as p OR q, is true (T) when at least one of p
or q is true. It is false (F) only when both p and q are false.
P q P and q
T T T
T F F
F T F
F F F
2
o Truth Table for p OR q:
P q P or q
T T T
T F T
F T T
F F F
o Implication (→):
The implication of propositions p and q, denoted as p → q, is false (F) only when p is true and
q is false. In all other cases, it is true (T).
o Truth Table for p → q:
P q p→q
T T T
T F F
F T T
F F T
o Bi-Implication (↔):
The bi-implication of propositions p and q, denoted as p ↔ q, is true (T) only when both p and
q have the same truth value (both true or both false). Otherwise, it is false (F).
o Truth Table for p ↔ q:
P q p↔q
T T T
T F F
F T F
F F T
o Converse:
The converse of the implication p → q is q → p. It is false (F) only when q is true and p is false.
In all other cases, it is true (T).
o Truth Table for q → p:
P q p→q
T T T
T F T
F T F
F F T
o Contrapositive:
The contrapositive of the implication p → q is ¬q → ¬p, where ¬ denotes negation. It has the
same truth values as the implication's converse.
3
o Truth Table for ¬q → ¬p:
P q ¬q ¬p ¬q → ¬p
T T F F T
T F T F F
F T F T T
F F T T T
o Inverse:
The inverse of the implication p → q is ¬p → ¬q. Like the contrapositive, it shares truth
values with the converse of the implication.
o Truth Table for ¬p → ¬q:
P q ¬p ¬q ¬p → ¬q
T T F F T
T F F T T
F T T F F
F F T T T
4
PROJECT- 2
BUILD VALID ARGUMENTS OF A GIVEN SET OF A GIVEN SET
OF PROPOSITIONAL LOGICS AND QUANTIFIED STATEMENTS
USING RULES OF INFERENCES
INTRODUCTION:
Valid arguments form the backbone of logical reasoning, playing a crucial role in diverse fields
such as mathematics, computer science, and philosophy. In this report, we delve into the construction
of valid arguments within the realms of propositional logics and quantified statements. By employing
rules of inference, we aim to showcase the systematic approach to building sound and compelling
logical reasoning.
o Propositional Logic:
Propositional logics deal with propositions or statements, treating them as atomic units.
The basic building blocks are connected through logical operators, such as conjunction,
disjunction, and implication. Constructing valid arguments within propositional logics involves
applying rules of inference to draw conclusions from given premises.
o Modus Ponen:
Modus Ponens is a fundamental rule of inference in propositional logic. It asserts that if we
have a true implication (p → q) and the premise p is true, then we can conclude that q is true.
Symbolically, if (p → q) and p are true, then q is true.
 Example:
1. If it is raining, then the ground is wet. (p → q)
2. It is raining. (p)
3. Therefore, the ground is wet. (q)
o Modus Tollens:
Modus Tollens is another essential rule of inference. It states that if we have a false consequent
(q is false) in an implication (p → q), and the premise q is false, then we can conclude that the
antecedent p is false. Symbolically, if (p → q) and ¬q are true, then ¬p is true.
 Example:
1. If it is raining, then the ground is wet. (p → q)
2. The ground is not wet. (¬q)
3. Therefore, it is not raining. (¬p)
5
o Quantified Statement:
Quantified statements introduce the concept of variables and quantify over them using
universal (∀) or existential (∃) quantifiers. Valid arguments involving quantified statements require
rules of inference tailored to handle these complexities.
o Universal Instantiation:
Universal Instantiation allows us to instantiate a universally quantified statement for a specific
element. If ∀x P(x) is true for all x, then P(c) is true for a particular element c.
 Example:
1. ∀x (x is even → x + 2 is even)
2. For a specific x (let's say 4), we can infer: 4 is even → 6 is even.
o Universal Generalization:
Universal Generalization allows us to generalize a statement for all elements. If P(c) is true for
a particular element c, then ∀x P(x) is true for all x.
 Example:
1. For a specific x (let's say 4), we know: 4 is even → 6 is even.
2. Therefore, ∀x (x is even → x + 2 is even) holds for all x.
o Existential Instantiation:
Existential Instantiation allows us to instantiate an existentially quantified statement by
introducing a specific element c for which P(c) is true.
 Example:
1. ∃x (x + 3 = 7)
2. Introduce a specific element (let's say x = 4): 4 + 3 = 7.
o Existential Generalization:
Existential Generalization allows us to generalize a statement that is true for a specific element
to an existential quantification.
o Example:
1. P (4 + 3 = 7)
2. Therefore, ∃x (x + 3 = 7)
6
PROJECT- 3
DEFINE THE PROPERTIES OF A RELATION ON A SET USING
THE MATRIX REPRESENTATION OF THAT RELATION WITH
EXAMPLES
INTRODUCTION:
Relations are a fundamental concept in mathematics, providing a means to explore and
comprehend the connections between elements within a set. The study of relations not only enriches
our understanding of mathematical structures but also finds wide-ranging applications in computer
science, social networks, and various real-world scenarios. This project aims to delve into the
properties of relations on sets, with a specific focus on the powerful and insightful matrix
representation.
o BRIEF OVERVIEW OF RELATIONS AND SETS:
In the realm of mathematics, a set is a collection of distinct elements, and relations are
established to describe the associations or interactions between these elements. This project begins
with a foundational exploration of sets and relations, elucidating their significance in mathematical
reasoning and modeling.
o IMPORTANCE OF MATRIX REPRESENTATION:
The matrix representation of relations emerges as a crucial tool for analysis and visualization.
By encoding the relationships between elements in a concise and systematic form, matrices provide
a framework to study and comprehend the properties inherent in relations. This section introduces
the matrix representation, shedding light on its advantages and suitability for capturing the intricate
nature of relations within sets.
o PURPOSE AND SCOPE OF THE PROJECT:
The overarching goal of this project is to equip readers with a comprehensive understanding of
the properties of relations on sets, as revealed through their matrix representations. Through a
systematic exploration of reflexivity, symmetry, and transitivity, this project aims to elucidate the
essential characteristics that define relations within the matrix framework. Beyond the theoretical
realm, the project endeavors to showcase the practical applications of these concepts in diverse
fields, underlining their relevance in both mathematical abstraction and real-world problem
solving.
7
As we embark on this journey through the matrix representation of relations, we invite readers
to unravel the intricate tapestry of connections that exist within sets, fostering an appreciation for
the elegance and utility of this mathematical tool. From the abstract realm of mathematical relations
to the tangible applications in various domains, this project aims to illuminate the multifaceted
nature of relations on sets and their representation through matrices.
o PROPERTIES OF A RELATION:
Understanding the properties of relations is essential in discerning the nature of connections
between elements within a set. In this section, we delve into three fundamental properties of
relations—reflexivity, symmetry, and transitivity— examining their significance and exploring
how they manifest within the matrix representation.
o MATRIX REPRESENTATION OF A RELATION:
To facilitate a systematic examination of relations, matrices serve as a powerful representation.
For a set A with n elements, the matrix MR representing the relation R is an n × n matrix, where
the entry MR[i][j] is 1 if (ai, aj) € R, and 0 otherwise. This matrix encapsulates the relationships
between elements, paving the way for a detailed analysis of various properties.
o PROPERTIES OF A RELATION MATRIX:
REFLEXIVITY:
Reflexivity is a fundamental property of relations that captures the notion that every element is
related to itself. In the context of a matrix MR, a relation R is reflexive if and only if MR[i][i] = 1
for every i in the range 1 ≤ i ≤ n. In other words, the diagonal elements of the matrix must be filled
with 1s.
 Examples:
Consider a set A = {a, b, c} with a reflexive relation R = {(a, a), (b, b), (c, c)}. The matrix
representation MR would be:
MR=[
𝟏 𝟎 𝟎
𝟎 𝟏 𝟎
𝟎 𝟎 𝟏
]
SYMMETRY:
Symmetry in a relation signifies that if (ai, aj) is in the relation, then (aj, ai) must also be present.
In matrix terms, a relation R is symmetric if MR[i][j] = MR[j][i] for all i and j.
 Examples:
Let A = {a, b, c} with a symmetric relation R = {(a, b), (b, a), (b, c), (c, b)}. The matrix
8
representation MR would be:
MR= [
𝟎 𝟏 𝟎
𝟏 𝟎 𝟏
𝟎 𝟏 𝟎
]
TRANSITIVITY:
Transitivity asserts that if (ai, aj) and (aj, ak) are in the relation, then (ai, ak) must also be
present. In terms of matrices, a relation R is transitive if MR[i][j] = 1 and MR[j][k] = 1 imply
MR[i][k] = 1.
 Examples:
Consider A = {a, b, c} with a transitive relation R = {(a, b), (b, c), (a, c)}. The matrix
representation MR would be:
MR=[
𝟎 𝟏 𝟏
𝟎 𝟎 𝟏
𝟎 𝟎 𝟎
]
9
PROJECT-4
FIND A TOPOLOGICAL SORT OF A POSET
INTRODUCTION:
In the realm of mathematics and computer science, understanding and organizing relationships
between elements is a fundamental challenge. While total orders provide a strict arrangement for all
elements, many scenarios demand a more nuanced approach where not all pairs of elements can be
compared. This is where partially ordered sets (posets) emerge as a versatile mathematical structure,
allowing for a more flexible representation of relationships.
This project delves into the world of posets, specifically focusing on the concept of topological
sorting. Partially ordered sets provide a natural framework for modeling situations where certain
elements may have precedence or dependence relationships, but a complete ordering is not feasible.
Topological sorting, a graph-based algorithm, enables us to establish a linear ordering of elements
within a poset while respecting the partial order. The goal of this project is to comprehensively explore
the theoretical foundations of posets, delve into the intricacies of the topological sorting algorithm, and
shed light on its applications in diverse fields.
o BACKGROUND: PARTIALLY ORDERED SETS:
The concept of order is fundamental in mathematics, providing a structure that aids in reasoning
and analysis. Partially ordered sets extend this concept, acknowledging that not all elements need
to be directly comparable. This background is crucial for understanding the motivation behind
developing topological sorting algorithms in the context of posets.
o OBJECTIVE: EXPLORING TOPOLOGICAL SORTING IN POSETS:
The primary objective of this project is to unravel the mysteries of topological sorting within
partially ordered sets. By doing so, we aim to:
• Understand the theoretical foundations of partially ordered sets.
• Investigate the intricacies of topological sorting algorithms.
• Showcase the practical applications of this algorithm in various domains.
o SIGNIFICANCE OF THE PROJECT:
Understanding and implementing topological sorting in posets are not merely academic
exercises; they hold practical significance in a myriad of real-world scenarios. Whether it's
scheduling tasks in a project, determining dependencies in software development, or analyzing
10
prerequisites in academic courses, the ability to linearly order elements in a way that respects the
inherent partial order is invaluable.
o THEORETICAL FOUNDATIONS:
 PARTIALLY ORDERED SETS (POSETS):
At the core of our exploration lies the concept of partially ordered sets (posets). A poset is a
mathematical structure comprising a set S and a partial order relation , satisfying three
fundamental properties: reflexivity, transitivity, and antisymmetry. Reflexivity ensures that every
element is related to itself, transitivity dictates the flow of relations, and antisymmetry ensures
that if a b and b a, then a and b are the same element. The Hasse diagram, a graphical
representation of a poset, aids in visualizing the order structure without explicitly representing all
relations.
 TOPOLOGICAL SORTING ALGORITHM:
The crux of our project lies in the topological sorting algorithm. Operating on directed acyclic
graphs (DAGs), the algorithm efficiently computes a linear ordering of the vertices such that for
every directed edge (u, v), u precedes v in the ordering. The algorithm involves iteratively
selecting vertices with no incoming edges, removing them from the graph, and updating the
ordering until all vertices are processed. Importantly, this algorithm is applicable only to acyclic
graphs, making it a potent tool for scenarios where a partial order is inherently acyclic.
 PROPERTIES OF TOPOLOGICAL SORTING IN POSETS:
The application of topological sorting within posets inherits several key properties. The
resulting linear order respects the original partial order, meaning that if a b in the poset, then a
precedes b in the topological order. Additionally, topological sorting facilitates the identification
of maximal and minimal elements within a poset. A maximal element is one with no successor,
while a minimal element has no predecessor. These properties make topological sorting a powerful
algorithm for understanding and manipulating partially ordered structures.
 COMPLEXITY ANALYSIS:
The time complexity of the topological sorting algorithm is O (V + E), where V is the number
of vertices and E is the number of edges in the graph. The linear nature of this algorithm
underscores its efficiency, particularly in scenarios where the graph is sparse. However, it is
crucial to note that the algorithm is applicable only to acyclic graphs. If cycles are present, it
becomes impossible to establish a consistent linear ordering.
 RELATIONSHIP WITH DIRECTED ACYCLIC GRAPHS (DAGS):
The correlation between topological sorting and directed acyclic graphs is fundamental. Given
11
that the algorithm exclusively operates on DAGs, understanding the characteristics of acyclic
graphs is paramount. The absence of cycles ensures that the algorithm can consistently derive a
linear ordering, providing insights into the acyclic nature inherent in many partial orders.
Understanding these theoretical foundations is essential for grasping the algorithm's principles
and appreciating its applications in various real-world scenarios. The subsequent sections will
further explore how these foundations are practically employed in diverse domains, reinforcing
the significance of topological sorting in partially ordered sets.
 APPLICATIONS AND CONCLUSION
i. APPLICATIONS:
The versatility of topological sorting in the realm of partially ordered sets finds practical
applications across diverse domains.
ii. TASK SCHEDULING:
In project management, where tasks have dependencies, topological sorting aids in scheduling.
Tasks with no dependencies can be executed first, and subsequent tasks follow in a manner that
respects the partial order. This ensures optimal utilization of resources and efficient project
completion.
iii. DEPENDENCY RESOLUTION IN SOFTWARE DEVELOPMENT:
In software development, modules or components often have dependencies on others. By
employing topological sorting, developers can identify and resolve dependencies, ensuring that
modules are compiled or executed in the correct order.
12
PROJECT-5
BIPARTITE, COMPLETE BIPARTITE GRAPHS ARE USED IN JOB
ASSIGNMENT, MODEL, LOCAL AREA NETWORKS AND PARALLEL
PROCESSING
INTRODUCTION:
Graph theory, a powerful mathematical discipline, provides a versatile framework for modeling
relationships and solving complex problems in various domains. Among the myriad types of graphs,
bipartite graphs and their specialized counterpart, complete bipartite graphs, stand out for their unique
structures and wide-ranging applications. This project delves into the significance of bipartite and
complete bipartite graphs, exploring their pivotal roles in job assignment, modeling, local area
networks (LANs), and parallel processing.
 BACKGROUND AND MOTIVATION:
Graph theory has proven instrumental in addressing problems related to connectivity,
allocation, and optimization. In practical scenarios, the need to model and analyze relationships
between entities often arises. Bipartite graphs, characterized by two disjoint sets of vertices and
edges connecting only vertices from different sets, offer a natural representation for diverse
applications.
The motivation for this project stems from the increasing demand for efficient solutions in job
assignment, system modeling, and network optimization. As organizations seek streamlined
processes, and technology evolves, understanding the applications of bipartite and complete
bipartite graphs becomes paramount. These graph types present elegant solutions to complex
problems, contributing significantly to the advancement of diverse fields.
 OBJECTIVES:
i. Explore Bipartite Graphs: Investigate the fundamental properties and characteristics
of bipartite graphs, understanding how they facilitate the representation of relationships
between two distinct sets of entities.
ii. Examine Complete Bipartite Graphs: Delve into the specialized realm of complete
bipartite graphs, where every vertex in one set is connected to every vertex in the other
set. Explore the unique attributes that make complete bipartite graphs suitable for
specific applications.
iii. Applications in Job Assignment: Analyze how bipartite graphs aid in solving job
assignment problems by representing workers and tasks, and explore algorithms for
optimizing task assignments.
iv. Modeling Relationships: Investigate the use of bipartite graphs in modeling
13
relationships, such as user-item interactions in recommendation systems and actor-
movie relationships in the entertainment industry.
v. Applications in Local Area Networks: Explore the role of bipartite graphs in
designing and optimizing local area networks, where devices and communication links
are efficiently represented and analyzed.
vi. Applications in Parallel Processing: Investigate the application of completebipartite
graphs in parallel processing systems, where processors and tasks are optimally
assigned to enhance overall system efficiency.
 SIGNIFICANCE:
Understanding and harnessing the power of bipartite and complete bipartite graphs have
profound implications for industries and fields requiring efficient resource allocation, relationship
modeling, and system optimization. This project aims to shed light on the practical applications
of these graph types, providing insights that can be leveraged for real-world problem-solving and
technological advancements. As we navigate the complexities of modern systems, the insights
gained from this exploration can pave the way for more efficient, streamlined processes across
various domains.
 APPLICATIONS OF BIPARTITE GRAPHS IN JOB ASSIGNMENT AND
MODELING:
JOB ASSIGNMENT:
Bipartite graphs offer a powerful framework for solving job assignment problems, where the
goal is to optimally allocate tasks to a group of workers based on their skills, preferences, or other
relevant criteria. In this context, one set of vertices represents the workers, another set represents
the tasks, and edges indicate the compatibility or suitability of a worker for a specific task.
Algorithmic Solutions: Algorithms designed for bipartite graphs, such as the Hungarian
algorithm, provide efficient solutions to the job assignment problem. These algorithms aim to find
a maximum matching, ensuring that each worker is assigned to at most one task, and vice versa.
This optimization helps in achieving an overall assignment that maximizes productivity or
minimizes costs.
Practical Scenario: Consider a project management scenario where tasks need to be assigned
to a team of developers with different skill sets. By modeling this scenario as a bipartite graph, the
project manager can use graph algorithms to determine the optimal assignment, considering factors
like skill compatibility and workload distribution.
14
 MODELING RELATIONSHIPS:
Bipartite graphs are versatile tools for modeling various relationships in different domains,
offering a clear and intuitive representation of connections between two distinct sets of entities.
Recommendation Systems: In recommendation systems, bipartite graphs can model user-item
interactions. Users and items are represented by the two sets of vertices, and edges indicate user
preferences or interactions with specific items. Analyzing the graph structure helps in making
personalized recommendations by identifying potential items of interest based on similar user
preferences.
Entertainment Industry: In the entertainment industry, bipartite graphs can model relationships
between actors and movies. One set represents actors, the other set represents movies, and edges
connect actors to the movies they have worked on. This modeling approach facilitates the analysis
of actor collaborations, movie genres, and other patterns within the industry.
 CASE STUDY: TASK ALLOCATION IN A SOFTWARE DEVELOPMENT
TEAM:
Consider a software development team with developers possessing different programming
language skills. Tasks can be categorized based on the required expertise in specific languages. By
representing developers and tasks as two sets in a bipartite graph, the edges capture the
compatibility between each developer's skills and the tasks' requirements.
Optimizing Task Assignment: Using bipartite graph algorithms, the project manager can
efficiently assign tasks to developers, maximizing overall productivity. The graph structure ensures
that each developer is assigned tasks aligned with their skills, leading to a well-balanced
distribution of workload.
 APPLICATIONS OF BIPARTITE AND COMPLETE BIPARTITE GRAPHS
IN LOCAL AREA NETWORKS AND PARALLEL PROCESSING:
O LOCAL AREA NETWORKS (LANS):
NETWORK DESIGN:
Bipartite graphs play a significant role in the design and optimization of Local Area Networks
(LANs). In a network scenario, one set of vertices can represent the devices (computers, routers,
etc.), and the other set can represent the communication links between them. Edges in the bipartite
graph denote the connections or links between devices.
Optimizing Connectivity: Using bipartite graphs, network architects can model and analyze the
connectivity within LANs. This aids in optimizing the placement of devices and ensuring efficient
15
communication pathways. By identifying and addressing bottlenecks through graph algorithms,
the overall performance and reliability of the network can be improved.
RESOURCE ALLOCATION:
Bipartite graphs are employed to model resource allocation in LANs, where resources such as
bandwidth or processing power need to be distributed efficiently among connected devices.
o Bandwidth Allocation: One set of vertices can represent devices, and the other set can
represent available bandwidth. Edges then represent the allocation of bandwidth to specific
devices. This modeling allows for the optimization of bandwidth distribution, ensuring that
critical devices receive the necessary resources while preventing congestion.
 PARALLEL PROCESSING:
O Task and processor assignment: Complete bipartite graphs find applications in parallel
processing systems, where tasks need to be efficiently distributed among processors. In this
context, one set of vertices represents processors, and the other set represents tasks that need
to be executed in parallel.
o Optimizing Parallel Execution: Algorithms based on complete bipartite graphs assist in
finding optimal task assignments to processors, minimizing execution times, and maximizing
overall system efficiency. This is crucial in parallel processing environments where tasks can
be divided and executed simultaneously across multiple processors.
O LOAD BALANCING: Complete bipartite graphs are instrumental in load balancing in
parallel processing systems. The even distribution of tasks among processors helps avoid
bottlenecks and ensures that the computational workload is evenly distributed.
o Efficient Resource Utilization: By modeling the parallel processing system as a complete
bipartite graph, it becomes possible to balance the load across processors. This prevents
scenarios where some processors are idle while others are overloaded, thus maximizing the
utilization of computational resources.
 CASE STUDY: LAN OPTIMIZATION AND TASK DISTRIBUTION IN
PARALLEL PROCESSING:
Consider a corporate LAN where departments with specialized needs share network resources.
By representing devices and communication links as a bipartite graph, network administrators can
identify areas for optimization, ensuring efficient resource allocation.
In a parallel processing system, tasks with varying computational requirements need to be
distributed among processors. Utilizing a complete bipartite graph, algorithms can determine the
optimal assignment of tasks to processors, reducing overall processing time and enhancing system
performance.
16
PROJECT-6
NON–ISOMORPHIC GRAPHS
INTRODUCTION:
Graph theory is a fundamental field in mathematics that deals with the study of graphs, which
consist of vertices and edges connecting these vertices. Two graphs are considered isomorphic if there
exists a bijective function between their vertex sets that preserves edge adjacency. This report focuses
on non-isomorphic graphs, showcasing 10 pairs and analyzing the reasons for their structural
dissimilarity.
Non-Isomorphic Graph Pairs:
For brevity, we will present a concise description of five non-isomorphic graph pairs. A visual
representation of each graph is provided for clarity.
Pair-01:
Graph G1: A simple cycle of length 4.
Graph G2: Two disconnected edges.
Explanation:
The first graph contains a cycle, while the second graph consists of two disconnected edges.
No bijective function can preserve adjacency between these structures, making them non-isomorphic.
Pair-02:
Graph G3: A star graph with 5 vertices.
Graph G4: A path graph with 5 vertices.
Explanation:
The third graph has a central vertex connected to all other vertices, forming a star pattern. In
contrast, the fourth graph is a simple linear path. The difference in connectivity patterns renders them
non-isomorphic.
Pair-03:
Graph G5: A complete bipartite graph with 3 vertices in each part.
Graph G6: Two disjoint triangles.
Explanation:
The fifth graph exhibits complete bipartiteness, with vertices in two disjoint sets connected to
each other. The sixth graph, on the other hand, comprises two separate triangles. The dissimilarity in
structure precludes isomorphism.
Pair-04:
Graph G7: A complete graph with 4 vertices.
17
Graph G8: A path graph with 4 vertices.
Explanation:
The seventh graph is a fully connected graph with every pair of vertices connected by an edge.
In contrast, the eighth graph is a linear path with sequential vertices. Their distinct connectivity patterns
establish non-isomorphism.
Pair-05:
Graph G9: A tree with 5 vertices.
Graph G10: A cycle graph with 5 vertices.
Explanation:
The ninth graph is a tree structure, lacking any cycles, while the tenth graph forms a closed
cycle. The presence of a cycle in one and its absence in the other makes them non-isomorphic.
18
PROJECT-7
KRUSKAL’S ALGORITHM
What is Kruskal’s Algorithm?
Kruskal's Algorithm is a method for finding minimal spanning trees in connected, undirected graphs. It is
categorized as a greedy algorithm because it makes decisions based on immediate gain without considering
the consequences of those decisions on future steps.
In the context of finding minimal spanning trees, Kruskal's Algorithm works by iteratively selecting the edges
of the graph with the smallest weight, while ensuring that no cycles are formed. This process continues until
all vertices are connected, resulting in a minimal spanning tree that spans all vertices with the minimum total
edge weight possible.
MST: Minimum Spanning Tree
• Definition: A spanning tree in a graph is a subgraph that contains all the vertices of the original
graph, connecting them without forming any cycles. Minimal spanning trees (MSTs) are spanning
trees with the minimum possible total edge weight.
• Significance: MSTs play a crucial role in various fields such as network design, resource allocation,
and optimization problems. They help in identifying the most efficient way to connect a network
while minimizing costs or distances.
• Importance: Understanding minimal spanning trees allows us to solve complex problems in real-
world scenarios, ranging from infrastructure planning to data analysis and clustering.
• Objective: The objective of this presentation is to explore Kruskal's Algorithm, a fundamental
method for efficiently finding minimal spanning trees in connected, undirected graphs. Through this
algorithm, we aim to understand the principles behind MST construction and its practical applications.
Kruskal’s Algorithm is a Algorithm for computing the minimal spanning tree of a Weighted Graph
What is a Weighted graph?
A weighted graph is a graph who’s vertices or edges have been assigned weights.
Weight
Vertices
D
A B
C
1 5
2
2
3
Edges
1
19
STEPS OF KRUSKAL ALGORITHM
Edges: AD AC CD BD AB
WEIGHT 1 2 2 3 5
Since AD is the least Weight, lets draw that edge:
Since AC Is the next least weight so let’s draw that next:
Even though CD is the next least one, but we will not be using that since it creates a cycle
D
A
1
D
A
C
1
2
D
A B
C
1
2
2
20
Then BD Is the next least weight so let’s draw next
Since ALL the Vertices are connected and it does not make a cycle, we will not go further with AB
So
we have our Minimum Spanning Tree using Kruskal’s Algorithm:
Applications:
 Network Design: Kruskal's algorithm is widely used in network design problems, such as
laying out electrical grids, designing computer networks, or constructing transportation
networks. In these applications, the algorithm helps in connecting all nodes while minimizing
the total cost or distance.
 Telecommunications: In telecommunications, Kruskal's algorithm can be used to establish
reliable communication channels between different locations while minimizing infrastructure
costs.
 Routing Algorithms: Kruskal's algorithm serves as a foundational component in routing
algorithms for finding the shortest paths between network nodes.
 Spanning Tree Protocols: In computer networking, spanning tree protocols like Rapid
Spanning Tree Protocol (RSTP) and Multiple Spanning Tree Protocol (MSTP) utilize
Kruskal's algorithm to create loop-free network topologies.
 Urban Planning: Kruskal's algorithm can aid urban planners in optimizing the layout of
roads, railways, or utility lines to ensure efficient connectivity and minimize construction
costs.
 Supply Chain Management: In supply chain management, Kruskal's algorithm helps in
optimizing transportation routes and logistics networks to minimize transportation costs and
delivery times.
D
A B
C
1
2 3
21
CONCLUSION
Our exploration of various mathematical concepts has revealed the intricate and interconnected
nature of these fundamental principles. Starting with truth values and logical operations, we delved
into the construction of valid arguments in propositional logics and quantified statements,
demonstrating the power of rules of inferences in sound reasoning.
The matrix representation of relations on a set provided a clear and concise way to define
properties such as reflexivity, symmetry, and transitivity. Moving on to partially ordered sets (posets),
the topological sorting of posets illuminated a methodical approach to organizing elements in a linear
order.
The practical applications of special types of graphs, including bipartite and complete bipartite
graphs, showcased their relevance in job assignments, modeling scenarios, local area networks, and
parallel processing. Finally, our exploration of non-isomorphic graphs emphasized the diverse
structural possibilities within graph theory.
Collectively, these topics underscore the versatility of mathematical concepts, offering
valuable tools for logical reasoning, relationship representation, organizational structuring, and real-
world problem-solving. As we conclude, we recognize the broad impact and applicability of these
mathematical principles across various disciplines.
22
FUTURE SCOPE
The exploration of truth values, logical operations, propositional logics, and related
mathematical concepts opens the door to a promising future in several domains. The ongoing
advancements in artificial intelligence, machine learning, and computational logic highlight the
relevance of understanding and manipulating truth values for more sophisticated reasoning systems.
As technology evolves, the application of propositional logics and quantified statements in
building valid arguments becomes increasingly crucial. The future scope involves the integration of
these logical constructs into advanced decision-making systems, knowledge representation in artificial
intelligence, and the development of more efficient algorithms.
The matrix representation of relations on sets has implications for database management,
network analysis, and optimization problems. Future research may explore novel applications in fields
like data science, where efficient handling of relationships between entities is paramount.
The topological sorting of posets has applications in project scheduling, task optimization, and
resource allocation. Further developments could lead to enhanced algorithms for managing complex
dependencies in evolving systems.
The utilization of special types of graphs, such as bipartite and complete bipartite graphs, is
poised to expand in job assignment algorithms, modeling diverse scenarios, optimizing local area
networks, and enhancing parallel processing systems. The future holds potential for refining these
applications and developing new use cases as technology continues to progress.
In the realm of non-isomorphic graphs, ongoing research may delve into more advanced
algorithms for graph isomorphism testing and contribute to fields like cryptography, network security,
and data structure optimization.
The future scope of these mathematical concepts extends to cutting-edge applications, ensuring
that their relevance and impact will continue to grow as technology advances and new challenges
emerge.
23
ASSESSMENT
Internal:
SL
NO
RUBRICS
FULL
MARK
MARKS OBTAINED
REMARK
S
1
Understanding the relevance, scope and
dimension of the project
10
2 Methodology 10
3 Quality of Analysis and Results 10
4 Interpretations and Conclusions 10
5 Report 10
Total 50
Date: Signature of the Faculty
COURSE OUTCOME (COs) ATTAINMENT
➢ Expected Course Outcomes (COs):
(Refer to COs Statement in the Syllabus)
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
➢ Course Outcome Attained:
How would you rate your learning of the subject based on the specified COs?
1 2 3 4 5 6 7 8 9 10
LOW HIGH
➢ Learning Gap (if any):
__________________________________________________________________________
➢ Books / Manuals Referred:
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
Date: Signature of the Student
➢ Suggestions / Recommendations:
(By the Course Faculty)
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
Date: Signature of the Faculty
Discrete_Mathmatics Projects report.docx

Discrete_Mathmatics Projects report.docx

  • 1.
    A REPORT ONDISCRETE MATHEMATICS A PROJECT REPORT Submitted by ANNIMESH SASMAL in partial fulfilment for the award of the degree of BACHELOR OF TECHNOLOGY in COMPUTER SCIENCE AND ENGINEEERING DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING SCHOOL OF ENGINEERING AND TECHNOLOGY BHUBANESWAR CAMPUS CENTURION UNIVERSITY OF TECHNOLOGY AND MANAGEMENT ODISHA
  • 2.
    DEPARTMENT OF COMPUTERSCIENCE AND ENGINEERING SCHOOL OF ENGINEERING AND TECHNOLOGY BHUBANESWAR CAMPUS BONAFIDE CERTIFICATE Certified that this project report ON DISCRETE MATHEMATICS is the Bonafide work of “ANNIMESH SASMAL” who carried out the project work under my supervision. This is to further certify to the best of my knowledge, that this project has not been carried out earlier in this institute and the university. SIGNATURE Mrs. Tejaswini Pradhan Faculty of Computer Science and Engineering Certified that the above-mentioned project has been duly carried out as per the norms of the college and statutes of the university. SIGNATURE (Prof. Raj Kumar Mohanta) HEAD OF THE DEPARTMENT / DEAN OF THE SCHOOL Professor of Computer Science and Engineering DEPARTMENT SEAL
  • 3.
    DECLARATION I hereby declarethat the project entitled “A REPORT ON DISCRETE MATHEMATICS” submitted for the “Project” of 2nd semester B. Tech in Computer Science and Engineering is my original work and the project has not formed the basis for the award of any Degree / Diploma or any other similar titles in any other University / Institute. Name of the Student: Annimesh Sasmal Signature of the Student: Registration No: 230301120173 Place: Bhubaneswar Date:
  • 4.
    ACKNOWLEDGEMENTS I wish toexpress my profound and sincere gratitude to Mrs. Tejaswini Pradhan, Faculty of Computer Science and Engineering, SoET, Bhubaneswar Campus, who guided me into the intricacies of this project nonchalantly with matchless magnanimity. I thank Prof. Raj Kumar Mohanta, Head of the Dept. of Department of Computer Science and Engineering, SoET, Bhubaneswar Campus and Prof. Sujata Chakravarty, Dean, School of Engineering and Technology, Bhubaneswar Campus for extending their support during Course of this investigation. I would be failing in my duty if I didn’t acknowledge the cooperation rendered during various stages of image interpretation by Asst. Prof. Sasi Bhusan Padhi. I am highly grateful to Mrs. Tejaswini Pradhan who evinced keen interest and invaluable support in the progress and successful completion of my project work. Name of the Student: Annimesh Sasmal Signature of the Student: Registration No: 230301120173 Place: Bhubaneswar Date:
  • 5.
    TABLE OF CONTENTS Sl.No. Topic Page No. 01 STUDY ON Propositional Logic 1 02 Build valid arguments of a given set of propositional logics and quantified statements using rules of inferences 4 03 Define the properties of a relation on a set using the matrix representation of that relation with examples 6 04 Find a Topological Sort of a Poset 9 05 Bipartite, complete bipartite graphs are used in Job Assignment, Model, Local Area Networks and Parallel Processing 12 06 NON - Isomorphic graphs 16 07 Kruskal’s Algorithm on MST
  • 6.
    1 PROJECT-1 STUDY ON PROPOSITIONALLOGIC INTRODUCTION: Propositional logic is a branch of logic that deals with propositions or statements and their logical connections. In this report, we will explore the truth values of propositions p and q and investigate how different logical operations manipulate and combine these propositions. o Truth Values of Propositions p and q: Before delving into logical operations, it is essential to establish the truth values of the propositions p and q. Truth values are typically denoted as either true (T) or false (F). Depending on the given values for p and q, we can construct truth tables to represent all possible combinations. o Truth Table for p and q: p q T T T F F T F F o Logical Operations: Now, let's explore various logical operations and understand how they affect the truth values of propositions p and q. o Conjunction (AND): The conjunction of propositions p and q, denoted as p AND q, is true (T) only when both p and q are true. Otherwise, it is false (F). o Truth Table for p AND q: o Disjunction (OR): The disjunction of propositions p and q, denoted as p OR q, is true (T) when at least one of p or q is true. It is false (F) only when both p and q are false. P q P and q T T T T F F F T F F F F
  • 7.
    2 o Truth Tablefor p OR q: P q P or q T T T T F T F T T F F F o Implication (→): The implication of propositions p and q, denoted as p → q, is false (F) only when p is true and q is false. In all other cases, it is true (T). o Truth Table for p → q: P q p→q T T T T F F F T T F F T o Bi-Implication (↔): The bi-implication of propositions p and q, denoted as p ↔ q, is true (T) only when both p and q have the same truth value (both true or both false). Otherwise, it is false (F). o Truth Table for p ↔ q: P q p↔q T T T T F F F T F F F T o Converse: The converse of the implication p → q is q → p. It is false (F) only when q is true and p is false. In all other cases, it is true (T). o Truth Table for q → p: P q p→q T T T T F T F T F F F T o Contrapositive: The contrapositive of the implication p → q is ¬q → ¬p, where ¬ denotes negation. It has the same truth values as the implication's converse.
  • 8.
    3 o Truth Tablefor ¬q → ¬p: P q ¬q ¬p ¬q → ¬p T T F F T T F T F F F T F T T F F T T T o Inverse: The inverse of the implication p → q is ¬p → ¬q. Like the contrapositive, it shares truth values with the converse of the implication. o Truth Table for ¬p → ¬q: P q ¬p ¬q ¬p → ¬q T T F F T T F F T T F T T F F F F T T T
  • 9.
    4 PROJECT- 2 BUILD VALIDARGUMENTS OF A GIVEN SET OF A GIVEN SET OF PROPOSITIONAL LOGICS AND QUANTIFIED STATEMENTS USING RULES OF INFERENCES INTRODUCTION: Valid arguments form the backbone of logical reasoning, playing a crucial role in diverse fields such as mathematics, computer science, and philosophy. In this report, we delve into the construction of valid arguments within the realms of propositional logics and quantified statements. By employing rules of inference, we aim to showcase the systematic approach to building sound and compelling logical reasoning. o Propositional Logic: Propositional logics deal with propositions or statements, treating them as atomic units. The basic building blocks are connected through logical operators, such as conjunction, disjunction, and implication. Constructing valid arguments within propositional logics involves applying rules of inference to draw conclusions from given premises. o Modus Ponen: Modus Ponens is a fundamental rule of inference in propositional logic. It asserts that if we have a true implication (p → q) and the premise p is true, then we can conclude that q is true. Symbolically, if (p → q) and p are true, then q is true.  Example: 1. If it is raining, then the ground is wet. (p → q) 2. It is raining. (p) 3. Therefore, the ground is wet. (q) o Modus Tollens: Modus Tollens is another essential rule of inference. It states that if we have a false consequent (q is false) in an implication (p → q), and the premise q is false, then we can conclude that the antecedent p is false. Symbolically, if (p → q) and ¬q are true, then ¬p is true.  Example: 1. If it is raining, then the ground is wet. (p → q) 2. The ground is not wet. (¬q) 3. Therefore, it is not raining. (¬p)
  • 10.
    5 o Quantified Statement: Quantifiedstatements introduce the concept of variables and quantify over them using universal (∀) or existential (∃) quantifiers. Valid arguments involving quantified statements require rules of inference tailored to handle these complexities. o Universal Instantiation: Universal Instantiation allows us to instantiate a universally quantified statement for a specific element. If ∀x P(x) is true for all x, then P(c) is true for a particular element c.  Example: 1. ∀x (x is even → x + 2 is even) 2. For a specific x (let's say 4), we can infer: 4 is even → 6 is even. o Universal Generalization: Universal Generalization allows us to generalize a statement for all elements. If P(c) is true for a particular element c, then ∀x P(x) is true for all x.  Example: 1. For a specific x (let's say 4), we know: 4 is even → 6 is even. 2. Therefore, ∀x (x is even → x + 2 is even) holds for all x. o Existential Instantiation: Existential Instantiation allows us to instantiate an existentially quantified statement by introducing a specific element c for which P(c) is true.  Example: 1. ∃x (x + 3 = 7) 2. Introduce a specific element (let's say x = 4): 4 + 3 = 7. o Existential Generalization: Existential Generalization allows us to generalize a statement that is true for a specific element to an existential quantification. o Example: 1. P (4 + 3 = 7) 2. Therefore, ∃x (x + 3 = 7)
  • 11.
    6 PROJECT- 3 DEFINE THEPROPERTIES OF A RELATION ON A SET USING THE MATRIX REPRESENTATION OF THAT RELATION WITH EXAMPLES INTRODUCTION: Relations are a fundamental concept in mathematics, providing a means to explore and comprehend the connections between elements within a set. The study of relations not only enriches our understanding of mathematical structures but also finds wide-ranging applications in computer science, social networks, and various real-world scenarios. This project aims to delve into the properties of relations on sets, with a specific focus on the powerful and insightful matrix representation. o BRIEF OVERVIEW OF RELATIONS AND SETS: In the realm of mathematics, a set is a collection of distinct elements, and relations are established to describe the associations or interactions between these elements. This project begins with a foundational exploration of sets and relations, elucidating their significance in mathematical reasoning and modeling. o IMPORTANCE OF MATRIX REPRESENTATION: The matrix representation of relations emerges as a crucial tool for analysis and visualization. By encoding the relationships between elements in a concise and systematic form, matrices provide a framework to study and comprehend the properties inherent in relations. This section introduces the matrix representation, shedding light on its advantages and suitability for capturing the intricate nature of relations within sets. o PURPOSE AND SCOPE OF THE PROJECT: The overarching goal of this project is to equip readers with a comprehensive understanding of the properties of relations on sets, as revealed through their matrix representations. Through a systematic exploration of reflexivity, symmetry, and transitivity, this project aims to elucidate the essential characteristics that define relations within the matrix framework. Beyond the theoretical realm, the project endeavors to showcase the practical applications of these concepts in diverse fields, underlining their relevance in both mathematical abstraction and real-world problem solving.
  • 12.
    7 As we embarkon this journey through the matrix representation of relations, we invite readers to unravel the intricate tapestry of connections that exist within sets, fostering an appreciation for the elegance and utility of this mathematical tool. From the abstract realm of mathematical relations to the tangible applications in various domains, this project aims to illuminate the multifaceted nature of relations on sets and their representation through matrices. o PROPERTIES OF A RELATION: Understanding the properties of relations is essential in discerning the nature of connections between elements within a set. In this section, we delve into three fundamental properties of relations—reflexivity, symmetry, and transitivity— examining their significance and exploring how they manifest within the matrix representation. o MATRIX REPRESENTATION OF A RELATION: To facilitate a systematic examination of relations, matrices serve as a powerful representation. For a set A with n elements, the matrix MR representing the relation R is an n × n matrix, where the entry MR[i][j] is 1 if (ai, aj) € R, and 0 otherwise. This matrix encapsulates the relationships between elements, paving the way for a detailed analysis of various properties. o PROPERTIES OF A RELATION MATRIX: REFLEXIVITY: Reflexivity is a fundamental property of relations that captures the notion that every element is related to itself. In the context of a matrix MR, a relation R is reflexive if and only if MR[i][i] = 1 for every i in the range 1 ≤ i ≤ n. In other words, the diagonal elements of the matrix must be filled with 1s.  Examples: Consider a set A = {a, b, c} with a reflexive relation R = {(a, a), (b, b), (c, c)}. The matrix representation MR would be: MR=[ 𝟏 𝟎 𝟎 𝟎 𝟏 𝟎 𝟎 𝟎 𝟏 ] SYMMETRY: Symmetry in a relation signifies that if (ai, aj) is in the relation, then (aj, ai) must also be present. In matrix terms, a relation R is symmetric if MR[i][j] = MR[j][i] for all i and j.  Examples: Let A = {a, b, c} with a symmetric relation R = {(a, b), (b, a), (b, c), (c, b)}. The matrix
  • 13.
    8 representation MR wouldbe: MR= [ 𝟎 𝟏 𝟎 𝟏 𝟎 𝟏 𝟎 𝟏 𝟎 ] TRANSITIVITY: Transitivity asserts that if (ai, aj) and (aj, ak) are in the relation, then (ai, ak) must also be present. In terms of matrices, a relation R is transitive if MR[i][j] = 1 and MR[j][k] = 1 imply MR[i][k] = 1.  Examples: Consider A = {a, b, c} with a transitive relation R = {(a, b), (b, c), (a, c)}. The matrix representation MR would be: MR=[ 𝟎 𝟏 𝟏 𝟎 𝟎 𝟏 𝟎 𝟎 𝟎 ]
  • 14.
    9 PROJECT-4 FIND A TOPOLOGICALSORT OF A POSET INTRODUCTION: In the realm of mathematics and computer science, understanding and organizing relationships between elements is a fundamental challenge. While total orders provide a strict arrangement for all elements, many scenarios demand a more nuanced approach where not all pairs of elements can be compared. This is where partially ordered sets (posets) emerge as a versatile mathematical structure, allowing for a more flexible representation of relationships. This project delves into the world of posets, specifically focusing on the concept of topological sorting. Partially ordered sets provide a natural framework for modeling situations where certain elements may have precedence or dependence relationships, but a complete ordering is not feasible. Topological sorting, a graph-based algorithm, enables us to establish a linear ordering of elements within a poset while respecting the partial order. The goal of this project is to comprehensively explore the theoretical foundations of posets, delve into the intricacies of the topological sorting algorithm, and shed light on its applications in diverse fields. o BACKGROUND: PARTIALLY ORDERED SETS: The concept of order is fundamental in mathematics, providing a structure that aids in reasoning and analysis. Partially ordered sets extend this concept, acknowledging that not all elements need to be directly comparable. This background is crucial for understanding the motivation behind developing topological sorting algorithms in the context of posets. o OBJECTIVE: EXPLORING TOPOLOGICAL SORTING IN POSETS: The primary objective of this project is to unravel the mysteries of topological sorting within partially ordered sets. By doing so, we aim to: • Understand the theoretical foundations of partially ordered sets. • Investigate the intricacies of topological sorting algorithms. • Showcase the practical applications of this algorithm in various domains. o SIGNIFICANCE OF THE PROJECT: Understanding and implementing topological sorting in posets are not merely academic exercises; they hold practical significance in a myriad of real-world scenarios. Whether it's scheduling tasks in a project, determining dependencies in software development, or analyzing
  • 15.
    10 prerequisites in academiccourses, the ability to linearly order elements in a way that respects the inherent partial order is invaluable. o THEORETICAL FOUNDATIONS:  PARTIALLY ORDERED SETS (POSETS): At the core of our exploration lies the concept of partially ordered sets (posets). A poset is a mathematical structure comprising a set S and a partial order relation , satisfying three fundamental properties: reflexivity, transitivity, and antisymmetry. Reflexivity ensures that every element is related to itself, transitivity dictates the flow of relations, and antisymmetry ensures that if a b and b a, then a and b are the same element. The Hasse diagram, a graphical representation of a poset, aids in visualizing the order structure without explicitly representing all relations.  TOPOLOGICAL SORTING ALGORITHM: The crux of our project lies in the topological sorting algorithm. Operating on directed acyclic graphs (DAGs), the algorithm efficiently computes a linear ordering of the vertices such that for every directed edge (u, v), u precedes v in the ordering. The algorithm involves iteratively selecting vertices with no incoming edges, removing them from the graph, and updating the ordering until all vertices are processed. Importantly, this algorithm is applicable only to acyclic graphs, making it a potent tool for scenarios where a partial order is inherently acyclic.  PROPERTIES OF TOPOLOGICAL SORTING IN POSETS: The application of topological sorting within posets inherits several key properties. The resulting linear order respects the original partial order, meaning that if a b in the poset, then a precedes b in the topological order. Additionally, topological sorting facilitates the identification of maximal and minimal elements within a poset. A maximal element is one with no successor, while a minimal element has no predecessor. These properties make topological sorting a powerful algorithm for understanding and manipulating partially ordered structures.  COMPLEXITY ANALYSIS: The time complexity of the topological sorting algorithm is O (V + E), where V is the number of vertices and E is the number of edges in the graph. The linear nature of this algorithm underscores its efficiency, particularly in scenarios where the graph is sparse. However, it is crucial to note that the algorithm is applicable only to acyclic graphs. If cycles are present, it becomes impossible to establish a consistent linear ordering.  RELATIONSHIP WITH DIRECTED ACYCLIC GRAPHS (DAGS): The correlation between topological sorting and directed acyclic graphs is fundamental. Given
  • 16.
    11 that the algorithmexclusively operates on DAGs, understanding the characteristics of acyclic graphs is paramount. The absence of cycles ensures that the algorithm can consistently derive a linear ordering, providing insights into the acyclic nature inherent in many partial orders. Understanding these theoretical foundations is essential for grasping the algorithm's principles and appreciating its applications in various real-world scenarios. The subsequent sections will further explore how these foundations are practically employed in diverse domains, reinforcing the significance of topological sorting in partially ordered sets.  APPLICATIONS AND CONCLUSION i. APPLICATIONS: The versatility of topological sorting in the realm of partially ordered sets finds practical applications across diverse domains. ii. TASK SCHEDULING: In project management, where tasks have dependencies, topological sorting aids in scheduling. Tasks with no dependencies can be executed first, and subsequent tasks follow in a manner that respects the partial order. This ensures optimal utilization of resources and efficient project completion. iii. DEPENDENCY RESOLUTION IN SOFTWARE DEVELOPMENT: In software development, modules or components often have dependencies on others. By employing topological sorting, developers can identify and resolve dependencies, ensuring that modules are compiled or executed in the correct order.
  • 17.
    12 PROJECT-5 BIPARTITE, COMPLETE BIPARTITEGRAPHS ARE USED IN JOB ASSIGNMENT, MODEL, LOCAL AREA NETWORKS AND PARALLEL PROCESSING INTRODUCTION: Graph theory, a powerful mathematical discipline, provides a versatile framework for modeling relationships and solving complex problems in various domains. Among the myriad types of graphs, bipartite graphs and their specialized counterpart, complete bipartite graphs, stand out for their unique structures and wide-ranging applications. This project delves into the significance of bipartite and complete bipartite graphs, exploring their pivotal roles in job assignment, modeling, local area networks (LANs), and parallel processing.  BACKGROUND AND MOTIVATION: Graph theory has proven instrumental in addressing problems related to connectivity, allocation, and optimization. In practical scenarios, the need to model and analyze relationships between entities often arises. Bipartite graphs, characterized by two disjoint sets of vertices and edges connecting only vertices from different sets, offer a natural representation for diverse applications. The motivation for this project stems from the increasing demand for efficient solutions in job assignment, system modeling, and network optimization. As organizations seek streamlined processes, and technology evolves, understanding the applications of bipartite and complete bipartite graphs becomes paramount. These graph types present elegant solutions to complex problems, contributing significantly to the advancement of diverse fields.  OBJECTIVES: i. Explore Bipartite Graphs: Investigate the fundamental properties and characteristics of bipartite graphs, understanding how they facilitate the representation of relationships between two distinct sets of entities. ii. Examine Complete Bipartite Graphs: Delve into the specialized realm of complete bipartite graphs, where every vertex in one set is connected to every vertex in the other set. Explore the unique attributes that make complete bipartite graphs suitable for specific applications. iii. Applications in Job Assignment: Analyze how bipartite graphs aid in solving job assignment problems by representing workers and tasks, and explore algorithms for optimizing task assignments. iv. Modeling Relationships: Investigate the use of bipartite graphs in modeling
  • 18.
    13 relationships, such asuser-item interactions in recommendation systems and actor- movie relationships in the entertainment industry. v. Applications in Local Area Networks: Explore the role of bipartite graphs in designing and optimizing local area networks, where devices and communication links are efficiently represented and analyzed. vi. Applications in Parallel Processing: Investigate the application of completebipartite graphs in parallel processing systems, where processors and tasks are optimally assigned to enhance overall system efficiency.  SIGNIFICANCE: Understanding and harnessing the power of bipartite and complete bipartite graphs have profound implications for industries and fields requiring efficient resource allocation, relationship modeling, and system optimization. This project aims to shed light on the practical applications of these graph types, providing insights that can be leveraged for real-world problem-solving and technological advancements. As we navigate the complexities of modern systems, the insights gained from this exploration can pave the way for more efficient, streamlined processes across various domains.  APPLICATIONS OF BIPARTITE GRAPHS IN JOB ASSIGNMENT AND MODELING: JOB ASSIGNMENT: Bipartite graphs offer a powerful framework for solving job assignment problems, where the goal is to optimally allocate tasks to a group of workers based on their skills, preferences, or other relevant criteria. In this context, one set of vertices represents the workers, another set represents the tasks, and edges indicate the compatibility or suitability of a worker for a specific task. Algorithmic Solutions: Algorithms designed for bipartite graphs, such as the Hungarian algorithm, provide efficient solutions to the job assignment problem. These algorithms aim to find a maximum matching, ensuring that each worker is assigned to at most one task, and vice versa. This optimization helps in achieving an overall assignment that maximizes productivity or minimizes costs. Practical Scenario: Consider a project management scenario where tasks need to be assigned to a team of developers with different skill sets. By modeling this scenario as a bipartite graph, the project manager can use graph algorithms to determine the optimal assignment, considering factors like skill compatibility and workload distribution.
  • 19.
    14  MODELING RELATIONSHIPS: Bipartitegraphs are versatile tools for modeling various relationships in different domains, offering a clear and intuitive representation of connections between two distinct sets of entities. Recommendation Systems: In recommendation systems, bipartite graphs can model user-item interactions. Users and items are represented by the two sets of vertices, and edges indicate user preferences or interactions with specific items. Analyzing the graph structure helps in making personalized recommendations by identifying potential items of interest based on similar user preferences. Entertainment Industry: In the entertainment industry, bipartite graphs can model relationships between actors and movies. One set represents actors, the other set represents movies, and edges connect actors to the movies they have worked on. This modeling approach facilitates the analysis of actor collaborations, movie genres, and other patterns within the industry.  CASE STUDY: TASK ALLOCATION IN A SOFTWARE DEVELOPMENT TEAM: Consider a software development team with developers possessing different programming language skills. Tasks can be categorized based on the required expertise in specific languages. By representing developers and tasks as two sets in a bipartite graph, the edges capture the compatibility between each developer's skills and the tasks' requirements. Optimizing Task Assignment: Using bipartite graph algorithms, the project manager can efficiently assign tasks to developers, maximizing overall productivity. The graph structure ensures that each developer is assigned tasks aligned with their skills, leading to a well-balanced distribution of workload.  APPLICATIONS OF BIPARTITE AND COMPLETE BIPARTITE GRAPHS IN LOCAL AREA NETWORKS AND PARALLEL PROCESSING: O LOCAL AREA NETWORKS (LANS): NETWORK DESIGN: Bipartite graphs play a significant role in the design and optimization of Local Area Networks (LANs). In a network scenario, one set of vertices can represent the devices (computers, routers, etc.), and the other set can represent the communication links between them. Edges in the bipartite graph denote the connections or links between devices. Optimizing Connectivity: Using bipartite graphs, network architects can model and analyze the connectivity within LANs. This aids in optimizing the placement of devices and ensuring efficient
  • 20.
    15 communication pathways. Byidentifying and addressing bottlenecks through graph algorithms, the overall performance and reliability of the network can be improved. RESOURCE ALLOCATION: Bipartite graphs are employed to model resource allocation in LANs, where resources such as bandwidth or processing power need to be distributed efficiently among connected devices. o Bandwidth Allocation: One set of vertices can represent devices, and the other set can represent available bandwidth. Edges then represent the allocation of bandwidth to specific devices. This modeling allows for the optimization of bandwidth distribution, ensuring that critical devices receive the necessary resources while preventing congestion.  PARALLEL PROCESSING: O Task and processor assignment: Complete bipartite graphs find applications in parallel processing systems, where tasks need to be efficiently distributed among processors. In this context, one set of vertices represents processors, and the other set represents tasks that need to be executed in parallel. o Optimizing Parallel Execution: Algorithms based on complete bipartite graphs assist in finding optimal task assignments to processors, minimizing execution times, and maximizing overall system efficiency. This is crucial in parallel processing environments where tasks can be divided and executed simultaneously across multiple processors. O LOAD BALANCING: Complete bipartite graphs are instrumental in load balancing in parallel processing systems. The even distribution of tasks among processors helps avoid bottlenecks and ensures that the computational workload is evenly distributed. o Efficient Resource Utilization: By modeling the parallel processing system as a complete bipartite graph, it becomes possible to balance the load across processors. This prevents scenarios where some processors are idle while others are overloaded, thus maximizing the utilization of computational resources.  CASE STUDY: LAN OPTIMIZATION AND TASK DISTRIBUTION IN PARALLEL PROCESSING: Consider a corporate LAN where departments with specialized needs share network resources. By representing devices and communication links as a bipartite graph, network administrators can identify areas for optimization, ensuring efficient resource allocation. In a parallel processing system, tasks with varying computational requirements need to be distributed among processors. Utilizing a complete bipartite graph, algorithms can determine the optimal assignment of tasks to processors, reducing overall processing time and enhancing system performance.
  • 21.
    16 PROJECT-6 NON–ISOMORPHIC GRAPHS INTRODUCTION: Graph theoryis a fundamental field in mathematics that deals with the study of graphs, which consist of vertices and edges connecting these vertices. Two graphs are considered isomorphic if there exists a bijective function between their vertex sets that preserves edge adjacency. This report focuses on non-isomorphic graphs, showcasing 10 pairs and analyzing the reasons for their structural dissimilarity. Non-Isomorphic Graph Pairs: For brevity, we will present a concise description of five non-isomorphic graph pairs. A visual representation of each graph is provided for clarity. Pair-01: Graph G1: A simple cycle of length 4. Graph G2: Two disconnected edges. Explanation: The first graph contains a cycle, while the second graph consists of two disconnected edges. No bijective function can preserve adjacency between these structures, making them non-isomorphic. Pair-02: Graph G3: A star graph with 5 vertices. Graph G4: A path graph with 5 vertices. Explanation: The third graph has a central vertex connected to all other vertices, forming a star pattern. In contrast, the fourth graph is a simple linear path. The difference in connectivity patterns renders them non-isomorphic. Pair-03: Graph G5: A complete bipartite graph with 3 vertices in each part. Graph G6: Two disjoint triangles. Explanation: The fifth graph exhibits complete bipartiteness, with vertices in two disjoint sets connected to each other. The sixth graph, on the other hand, comprises two separate triangles. The dissimilarity in structure precludes isomorphism. Pair-04: Graph G7: A complete graph with 4 vertices.
  • 22.
    17 Graph G8: Apath graph with 4 vertices. Explanation: The seventh graph is a fully connected graph with every pair of vertices connected by an edge. In contrast, the eighth graph is a linear path with sequential vertices. Their distinct connectivity patterns establish non-isomorphism. Pair-05: Graph G9: A tree with 5 vertices. Graph G10: A cycle graph with 5 vertices. Explanation: The ninth graph is a tree structure, lacking any cycles, while the tenth graph forms a closed cycle. The presence of a cycle in one and its absence in the other makes them non-isomorphic.
  • 23.
    18 PROJECT-7 KRUSKAL’S ALGORITHM What isKruskal’s Algorithm? Kruskal's Algorithm is a method for finding minimal spanning trees in connected, undirected graphs. It is categorized as a greedy algorithm because it makes decisions based on immediate gain without considering the consequences of those decisions on future steps. In the context of finding minimal spanning trees, Kruskal's Algorithm works by iteratively selecting the edges of the graph with the smallest weight, while ensuring that no cycles are formed. This process continues until all vertices are connected, resulting in a minimal spanning tree that spans all vertices with the minimum total edge weight possible. MST: Minimum Spanning Tree • Definition: A spanning tree in a graph is a subgraph that contains all the vertices of the original graph, connecting them without forming any cycles. Minimal spanning trees (MSTs) are spanning trees with the minimum possible total edge weight. • Significance: MSTs play a crucial role in various fields such as network design, resource allocation, and optimization problems. They help in identifying the most efficient way to connect a network while minimizing costs or distances. • Importance: Understanding minimal spanning trees allows us to solve complex problems in real- world scenarios, ranging from infrastructure planning to data analysis and clustering. • Objective: The objective of this presentation is to explore Kruskal's Algorithm, a fundamental method for efficiently finding minimal spanning trees in connected, undirected graphs. Through this algorithm, we aim to understand the principles behind MST construction and its practical applications. Kruskal’s Algorithm is a Algorithm for computing the minimal spanning tree of a Weighted Graph What is a Weighted graph? A weighted graph is a graph who’s vertices or edges have been assigned weights. Weight Vertices D A B C 1 5 2 2 3 Edges 1
  • 24.
    19 STEPS OF KRUSKALALGORITHM Edges: AD AC CD BD AB WEIGHT 1 2 2 3 5 Since AD is the least Weight, lets draw that edge: Since AC Is the next least weight so let’s draw that next: Even though CD is the next least one, but we will not be using that since it creates a cycle D A 1 D A C 1 2 D A B C 1 2 2
  • 25.
    20 Then BD Isthe next least weight so let’s draw next Since ALL the Vertices are connected and it does not make a cycle, we will not go further with AB So we have our Minimum Spanning Tree using Kruskal’s Algorithm: Applications:  Network Design: Kruskal's algorithm is widely used in network design problems, such as laying out electrical grids, designing computer networks, or constructing transportation networks. In these applications, the algorithm helps in connecting all nodes while minimizing the total cost or distance.  Telecommunications: In telecommunications, Kruskal's algorithm can be used to establish reliable communication channels between different locations while minimizing infrastructure costs.  Routing Algorithms: Kruskal's algorithm serves as a foundational component in routing algorithms for finding the shortest paths between network nodes.  Spanning Tree Protocols: In computer networking, spanning tree protocols like Rapid Spanning Tree Protocol (RSTP) and Multiple Spanning Tree Protocol (MSTP) utilize Kruskal's algorithm to create loop-free network topologies.  Urban Planning: Kruskal's algorithm can aid urban planners in optimizing the layout of roads, railways, or utility lines to ensure efficient connectivity and minimize construction costs.  Supply Chain Management: In supply chain management, Kruskal's algorithm helps in optimizing transportation routes and logistics networks to minimize transportation costs and delivery times. D A B C 1 2 3
  • 26.
    21 CONCLUSION Our exploration ofvarious mathematical concepts has revealed the intricate and interconnected nature of these fundamental principles. Starting with truth values and logical operations, we delved into the construction of valid arguments in propositional logics and quantified statements, demonstrating the power of rules of inferences in sound reasoning. The matrix representation of relations on a set provided a clear and concise way to define properties such as reflexivity, symmetry, and transitivity. Moving on to partially ordered sets (posets), the topological sorting of posets illuminated a methodical approach to organizing elements in a linear order. The practical applications of special types of graphs, including bipartite and complete bipartite graphs, showcased their relevance in job assignments, modeling scenarios, local area networks, and parallel processing. Finally, our exploration of non-isomorphic graphs emphasized the diverse structural possibilities within graph theory. Collectively, these topics underscore the versatility of mathematical concepts, offering valuable tools for logical reasoning, relationship representation, organizational structuring, and real- world problem-solving. As we conclude, we recognize the broad impact and applicability of these mathematical principles across various disciplines.
  • 27.
    22 FUTURE SCOPE The explorationof truth values, logical operations, propositional logics, and related mathematical concepts opens the door to a promising future in several domains. The ongoing advancements in artificial intelligence, machine learning, and computational logic highlight the relevance of understanding and manipulating truth values for more sophisticated reasoning systems. As technology evolves, the application of propositional logics and quantified statements in building valid arguments becomes increasingly crucial. The future scope involves the integration of these logical constructs into advanced decision-making systems, knowledge representation in artificial intelligence, and the development of more efficient algorithms. The matrix representation of relations on sets has implications for database management, network analysis, and optimization problems. Future research may explore novel applications in fields like data science, where efficient handling of relationships between entities is paramount. The topological sorting of posets has applications in project scheduling, task optimization, and resource allocation. Further developments could lead to enhanced algorithms for managing complex dependencies in evolving systems. The utilization of special types of graphs, such as bipartite and complete bipartite graphs, is poised to expand in job assignment algorithms, modeling diverse scenarios, optimizing local area networks, and enhancing parallel processing systems. The future holds potential for refining these applications and developing new use cases as technology continues to progress. In the realm of non-isomorphic graphs, ongoing research may delve into more advanced algorithms for graph isomorphism testing and contribute to fields like cryptography, network security, and data structure optimization. The future scope of these mathematical concepts extends to cutting-edge applications, ensuring that their relevance and impact will continue to grow as technology advances and new challenges emerge.
  • 28.
    23 ASSESSMENT Internal: SL NO RUBRICS FULL MARK MARKS OBTAINED REMARK S 1 Understanding therelevance, scope and dimension of the project 10 2 Methodology 10 3 Quality of Analysis and Results 10 4 Interpretations and Conclusions 10 5 Report 10 Total 50 Date: Signature of the Faculty COURSE OUTCOME (COs) ATTAINMENT ➢ Expected Course Outcomes (COs): (Refer to COs Statement in the Syllabus) ________________________________________________________________________________ ________________________________________________________________________________ ________________________________________________________________________________ ➢ Course Outcome Attained: How would you rate your learning of the subject based on the specified COs? 1 2 3 4 5 6 7 8 9 10 LOW HIGH ➢ Learning Gap (if any): __________________________________________________________________________ ➢ Books / Manuals Referred: ________________________________________________________________________________ ________________________________________________________________________________ ________________________________________________________________________________ ________________________________________________________________________________ Date: Signature of the Student ➢ Suggestions / Recommendations: (By the Course Faculty) ________________________________________________________________________________ ________________________________________________________________________________ ________________________________________________________________________________ Date: Signature of the Faculty