পাঠ ০৭ · ৪৪-এর মধ্যে · মডিউল ২
Home / Courses / Discrete Mathematics / সেট থিওরি

সেট থিওরি — মূল ধারণা ও অপারেশন

Set theory — basics & operations
৮ মিনিট পড়া শুরু · Beginner Python কোডসহ সম্পূর্ণ বাংলায়

এই পাঠে যা শিখবেন

  • সেট নোটেশন — roster ও set-builder ফর্ম, মেম্বারশিপ ও সাবসেট
  • পাওয়ার সেট কী এবং কেন এর আকার সবসময় $2^n$
  • ইউনিয়ন, ইন্টারসেকশন, ডিফারেন্স, কমপ্লিমেন্ট, সিমেট্রিক ডিফারেন্স — পাঁচটি অপারেশনের সঠিক সংজ্ঞা
  • কার্তেসিয়ান প্রোডাক্ট এবং এটি কীভাবে পরের পাঠের "রিলেশন"-কে জন্ম দেয়

১ · সেট নোটেশন ও মূল ধারণা

একটি সেট (Set)Setভিন্ন ভিন্ন (distinct), অর্ডারবিহীন উপাদানের একটি সংগ্রহ। একই উপাদান দুইবার গণনা হয় না, এবং উপাদানগুলোর কোনো নির্দিষ্ট ক্রম নেই। লেখা যায় দুইভাবে — roster নোটেশন: $A = \{1, 2, 3\}$, অথবা set-builder নোটেশন: $A = \{x \mid P(x)\}$ (অর্থাৎ "সব $x$ যা শর্ত $P(x)$ সিদ্ধ করে")। যদি $a$ সেট $A$-এর একটি উপাদান হয়, লেখা হয় $a \in A$ ("$a$ belongs to $A$"), নাহলে $a \notin A$।

$A$ কে $B$-এর সাবসেট ($A \subseteq B$) বলা হয় যদি $A$-এর প্রতিটি উপাদান $B$-তেও থাকে। যদি এর সাথে $A \neq B$ হয়, তাহলে $A$ হলো $B$-এর proper subset ($A \subset B$)। খালি সেট $\emptyset$ প্রতিটি সেটের সাবসেট (কেন — নিচের ভাবনার প্রশ্নে দেখুন)। একটি সসীম সেট $A$-এর কার্ডিনালিটি $|A|$ মানে এর উপাদানসংখ্যা।

মূল পার্থক্য

সেটে উপাদানের ক্রম গুরুত্বপূর্ণ নয় এবং পুনরাবৃত্তি অনুমোদিত নয় — তাই $\{1,2,3\} = \{3,1,2\} = \{1,1,2,3\}$। এই দুটি ধর্মই সেটকে লিস্ট বা অ্যারের থেকে আলাদা করে।

২ · পাওয়ার সেট — সব সাবসেটের সেট

একটি সেট $A$-এর পাওয়ার সেট (Power Set)Power Set$A$-এর সম্ভাব্য সব সাবসেটের (নিজে $A$ ও $\emptyset$ সহ) সেট, লেখা হয় $\mathcal{P}(A)$। $\mathcal{P}(A)$ হলো $A$-এর সম্ভাব্য সব সাবসেটের সেট। উদাহরণ: $A = \{1, 2\}$ হলে $\mathcal{P}(A) = \{\emptyset, \{1\}, \{2\}, \{1,2\}\}$ — মোট ৪টি উপাদান।

সাধারণভাবে $|\mathcal{P}(A)| = 2^{|A|}$। কারণ একটি সাবসেট তৈরি করতে প্রতিটি উপাদানের জন্য ঠিক দুইটি স্বাধীন সিদ্ধান্ত নিতে হয় — "এই উপাদানটি সাবসেটে রাখব, নাকি রাখব না"। $|A|$টি উপাদানের প্রতিটির জন্য ২টি করে সম্ভাবনা, তাই মোট $2 \times 2 \times \cdots \times 2 = 2^{|A|}$টি ভিন্ন সাবসেট। $A=\{1,2\}$-এর জন্য $2^2 = 4$ ✓।

৩ · সেট অপারেশন

দুটি সেট $A$ ও $B$ নিয়ে পাঁচটি মৌলিক অপারেশন সংজ্ঞায়িত করা যায় —

ইউনিয়ন $A \cup B$
$A$ অথবা $B$ (বা উভয়) তে থাকা সব উপাদান।
ইন্টারসেকশন $A \cap B$
$A$ ও $B$ — উভয় সেটেই থাকা উপাদান।
ডিফারেন্স $A - B$
$A$-তে আছে কিন্তু $B$-তে নেই, এমন উপাদান।
কমপ্লিমেন্ট $A^c$
ইউনিভার্সাল সেট $U$-এর সাপেক্ষে, $A$-তে নেই এমন সব উপাদান ($U - A$)।
সিমেট্রিক ডিফারেন্স $A \triangle B$
ঠিক একটি সেটে (দুটোতে নয়) থাকা উপাদান — $(A-B) \cup (B-A)$।

উদাহরণ: $A = \{1,2,3,4\}$, $B = \{3,4,5,6\}$ হলে — $A \cup B = \{1,2,3,4,5,6\}$, $A \cap B = \{3,4\}$, $A - B = \{1,2\}$, $B - A = \{5,6\}$, এবং $A \triangle B = \{1,2,5,6\}$।

Python
A = {1, 2, 3, 4}
B = {3, 4, 5, 6}

print("A ∪ B (ইউনিয়ন):", A | B)
print("A ∩ B (ইন্টারসেকশন):", A & B)
print("A - B (ডিফারেন্স):", A - B)
print("B - A (ডিফারেন্স):", B - A)
print("A △ B (সিমেট্রিক ডিফারেন্স):", A ^ B)

# পাওয়ার সেট — {1,2,3}-এর সব সাবসেট
import itertools
s = [1, 2, 3]
power_set = list(itertools.chain.from_iterable(
    itertools.combinations(s, r) for r in range(len(s) + 1)
))
print("\nP({1,2,3}) =", power_set)
print("মোট সাবসেট:", len(power_set), "= 2^3 =", 2**3)

    
লক্ষ করুন — Python-এর &, |, -, ^ অপারেটর যথাক্রমে ইন্টারসেকশন, ইউনিয়ন, ডিফারেন্স ও সিমেট্রিক ডিফারেন্সের সাথে হুবহু মেলে — এগুলো সেট থিওরির গাণিতিক সংজ্ঞা থেকে সরাসরি নেওয়া।

৪ · কার্তেসিয়ান প্রোডাক্ট

দুটি সেট $A$ ও $B$-এর কার্তেসিয়ান প্রোডাক্ট (Cartesian Product)Cartesian Productদুটি সেটের প্রতিটি সম্ভাব্য অর্ডারড পেয়ারের সেট। এটাই পরের পাঠে "রিলেশন"-এর সংজ্ঞার ভিত্তি হবে। $A \times B = \{(a,b) \mid a \in A, b \in B\}$ — অর্থাৎ প্রথম উপাদান $A$ থেকে, দ্বিতীয় উপাদান $B$ থেকে নিয়ে তৈরি সব অর্ডারড পেয়ার। যেমন $A=\{1,2\}$, $B=\{x,y\}$ হলে $A \times B = \{(1,x),(1,y),(2,x),(2,y)\}$। যেহেতু প্রতিটি জোড়া স্বাধীন একটি নির্বাচন, তাই $|A \times B| = |A| \cdot |B|$ — এখানে $2 \times 2 = 4$ ✓।

মূল কথা · Key takeaway

একটি সেট $A$ থেকে $B$-তে একটি রিলেশন আসলে $A \times B$-এর একটি সাবসেট মাত্র — কার্তেসিয়ান প্রোডাক্ট থেকে বেছে নেওয়া কিছু নির্দিষ্ট জোড়া। পরের পাঠেই (L08) আমরা এই ধারণা দিয়ে "রিলেশন" সংজ্ঞায়িত করব — যা রিলেশনাল ডেটাবেসের সরাসরি গাণিতিক ভিত্তি।

ভাবনার প্রশ্ন

প্রতিটি প্রশ্ন নিজে কিছুক্ষণ ভাবুন — তারপর "→ উত্তর" চাপুন।

প্র ০১ খালি সেট $\emptyset$ কেন সব সময় প্রতিটি সেট $A$-এর সাবসেট — এমনকি যখন $A$ নিজেও খালি?

মূল উত্তর — vacuous truth। $A \subseteq B$ সংজ্ঞা অনুযায়ী সত্য হয় যদি "$A$-এর প্রতিটি উপাদান $B$-তে আছে" — এই শর্তটি সত্য হয়। কিন্তু $\emptyset$-এর কোনো উপাদানই নেই, তাই শর্তটি স্বয়ংক্রিয়ভাবে সত্য হয়ে যায় — এটি পরীক্ষা করার মতো কোনো উপাদানই নেই বলে দাবিটি খণ্ডন করা অসম্ভব। এই ধরনের যুক্তিকে vacuous truth বলা হয় — L02-তে conditional $p \to q$-এর ক্ষেত্রেও একই যুক্তি দেখেছিলাম।

প্র ০২ $|\mathcal{P}(A)| = 2^{|A|}$ — এই সূত্রটি কেন সবসময় সত্য, এমনকি $A$ অনেক বড় হলেও?

একটি সাবসেট তৈরি হয় $A$-এর প্রতিটি উপাদান সম্পর্কে একটি স্বাধীন বাইনারি সিদ্ধান্তের মাধ্যমে — "এই উপাদানটি সাবসেটে থাকবে (হ্যাঁ) নাকি থাকবে না (না)"। যেহেতু $|A|$টি উপাদান আছে এবং প্রতিটির জন্য ঠিক ২টি সম্ভাবনা, এবং সিদ্ধান্তগুলো পরস্পর স্বাধীন, তাই গুণের নিয়ম (product rule, M3-তে বিস্তারিত) অনুযায়ী মোট সম্ভাব্য সাবসেট $= 2 \times 2 \times \cdots \times 2$ ($|A|$ বার) $= 2^{|A|}$। এটি $A$-এর আকারের উপর নির্ভর করে না — যেকোনো সসীম সেটের জন্য প্রযোজ্য।

প্র ০৩ কার্তেসিয়ান প্রোডাক্টে জোড়ার ক্রম (order) কেন গুরুত্বপূর্ণ, যেখানে সেটে নিজে ক্রম গুরুত্বপূর্ণ নয়?

$A \times B$-এর উপাদান হলো অর্ডারড পেয়ার $(a,b)$ — এখানে $a$ অবশ্যই $A$ থেকে ও $b$ অবশ্যই $B$ থেকে আসতে হবে, এই ক্রমটি অর্থবহ। $(1,x)$ এবং $(x,1)$ সম্পূর্ণ ভিন্ন বস্তু (এমনকি $(x,1)$ হয়তো সংজ্ঞায়িতই নয় যদি $x \notin A$)। এই ক্রম-নির্ভরতাই কার্তেসিয়ান প্রোডাক্টকে পরের পাঠের রিলেশন সংজ্ঞায়নের জন্য উপযোগী করে তোলে — একটি রিলেশনে "কে কার সাথে সম্পর্কিত" এই দিকনির্দেশনা (direction) গুরুত্বপূর্ণ।

অনুশীলন

  1. হাতে হিসাব করুন: $A = \{a, b\}$-এর পাওয়ার সেট $\mathcal{P}(A)$ লিখুন এবং যাচাই করুন এতে ঠিক ৪টি উপাদান আছে কি না।

    $\mathcal{P}(\{a,b\}) = \{\emptyset, \{a\}, \{b\}, \{a,b\}\}$ — মোট ৪টি উপাদান, যা $2^2=4$-এর সাথে মিলে যায়।

  2. গণনা করুন: $A = \{1,3,5,7\}$ ও $B = \{2,3,4,5\}$ হলে $A \cup B$, $A \cap B$, $A - B$, এবং $A \triangle B$ হাতে বের করুন, তারপর কোড সেলে বসিয়ে যাচাই করুন।

    $A \cup B = \{1,2,3,4,5,7\}$, $A \cap B = \{3,5\}$, $A - B = \{1,7\}$, $A \triangle B = \{1,2,4,7\}$ (ইন্টারসেকশন $\{3,5\}$ বাদে বাকি সব)।

আরও পড়ুন · ABCL TECH-এ আপনার পরবর্তী পদক্ষেপ

আগের পাঠ
গাণিতিক ইনডাকশন