Title: Design of a Simple Social Network Model Using Discrete Structures
1. Introduction
In this project, we will design a simple conceptual social network using the principles of discrete
mathematics, specifically sets, logic, graphs, and counting principles. The model will represent
users, friendships, and some basic functionalities such as blocking and friend suggestions. This
project will help illustrate how discrete structures are used in real-world applications, especially
in social media platforms.
2. User Categories (Sets)
In this social network, we categorize users using sets. We define two main sets:
A: the set of all active users.
B: the set of all blocked users.
We can perform operations such as:
Union (A ∪ B): This operation will represent all users in the network.
Difference (A – B): This operation represents the active users who are not blocked and
thus can interact on the platform.
Example:
Let’s assume the following users:
Set A (Active Users): {Alice, Bob, Charlie, David}
Set B (Blocked Users): {Charlie}
A ∪ B = {Alice, Bob, Charlie, David}
A – B = {Alice, Bob, David}
This shows that Alice, Bob, and David are active and can interact, while Charlie is blocked.
3. Friendships and Connections (Graphs)
Friendships between users can be modeled using graphs, where:
Nodes represent users.
Edges represent friendships between them.
We can represent a simple social network using the following graph:
Graph Example:
Users: Alice, Bob, Charlie, and David.
Friendships:
o Alice ↔ Bob
o Bob ↔ Charlie
o Charlie ↔ David
In graph form, this could be represented as:
Alice ↔ Bob ↔ Charlie ↔ David.
Friend Suggestion Example: If Alice wants a new friend suggestion, the graph shows that Alice
and Charlie have a common friend (Bob), so Charlie can be suggested as a new friend to Alice.
4. User Permissions (Logic)
We use propositional logic to define user permissions and interactions.
Active User Rule: "If a user is active, they can post updates."
o Proposition: Let P represent "User is active" and Q represent "User can post
updates."
o The logical expression: P → Q (If P is true, then Q is true).
Blocked User Rule: "If a user is blocked, they cannot send messages."
o Proposition: Let R represent "User is blocked" and S represent "User cannot send
messages."
o The logical expression: R → S (If R is true, then S is true).
Example:
For Charlie (who is blocked), we use R → S to determine that Charlie cannot send messages.
Meanwhile, Alice (who is active) can post updates, as P → Q holds true.
5. Friend Suggestions (Functions and Counting Principles)
We can suggest new friends using functions based on mutual connections. If Alice is friends
with Bob and Bob is friends with Charlie, then Charlie could be suggested as a friend to Alice.
Additionally, we can use counting principles to determine the number of possible new
connections or groups.
Example:
If Alice, Bob, and Charlie want to form a group chat, the possible number of ways to
choose 2 members from these 3 users is given by the combination formula C(n, r):
o C(3, 2) = 3.
Thus, there are 3 possible pairs (Alice-Bob, Alice-Charlie, Bob-Charlie).
6. Conclusion
This project demonstrates how discrete mathematics principles such as sets, graphs, logic, and
counting can be applied to a simple conceptual model of a social network. These mathematical
tools provide a framework for understanding relationships, permissions, and interactions between
users in social media, showing their relevance in technology applications.