পাঠ ০৮ · ৪৪-এর মধ্যে · মডিউল ২
Home / Courses / Discrete Mathematics / রিলেশন

রিলেশন — সংজ্ঞা ও বৈশিষ্ট্য

Relations — definitions & properties
৭ মিনিট পড়া শুরু · Beginner Python কোডসহ সম্পূর্ণ বাংলায়

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

  • বাইনারি রিলেশনের আনুষ্ঠানিক সংজ্ঞা — কার্তেসিয়ান প্রোডাক্টের সাবসেট হিসেবে
  • reflexive, symmetric, antisymmetric, transitive — চারটি বৈশিষ্ট্যের সঠিক সংজ্ঞা ও উদাহরণ
  • "$\leq$", "$=$", ও "divides" রিলেশনের বৈশিষ্ট্য বিশ্লেষণ
  • Python দিয়ে একটি রিলেশনের বৈশিষ্ট্য প্রোগ্রামেটিকভাবে যাচাই করা

১ · রিলেশনের সংজ্ঞা

$A$ থেকে $B$-তে একটি বাইনারি রিলেশন (Binary Relation)Binary Relationদুটি সেট $A$ ও $B$-এর কার্তেসিয়ান প্রোডাক্ট $A \times B$-এর যেকোনো সাবসেট। প্রতিটি জোড়া $(a,b) \in R$ বোঝায় "$a$, $b$-এর সাথে সম্পর্কিত"। $R$ হলো $A \times B$-এর একটি সাবসেট — অর্থাৎ $R \subseteq A \times B$। যদি $(a,b) \in R$ হয়, লেখা হয় $a \mathrel{R} b$। যখন $A = B$, তখন $R$-কে বলা হয় $A$-এর উপর একটি রিলেশন।

২ · চারটি মূল বৈশিষ্ট্য

একটি সেট $A$-এর উপর সংজ্ঞায়িত রিলেশন $R$-এর চারটি গুরুত্বপূর্ণ বৈশিষ্ট্য থাকতে পারে —

ReflexiveReflexive$\forall a \in A,\ (a,a) \in R$ — প্রতিটি উপাদান নিজের সাথে সম্পর্কিত।
$\forall a,\ (a,a) \in R$
SymmetricSymmetric$\forall a,b,\ (a,b) \in R \Rightarrow (b,a) \in R$ — সম্পর্ক দ্বিমুখী।
$(a,b) \in R \Rightarrow (b,a) \in R$
AntisymmetricAntisymmetric$\forall a,b,\ (a,b) \in R \wedge (b,a) \in R \Rightarrow a=b$ — দ্বিমুখী সম্পর্ক শুধু তখনই যখন $a=b$।
$(a,b),(b,a) \in R \Rightarrow a=b$
TransitiveTransitive$\forall a,b,c,\ (a,b) \in R \wedge (b,c) \in R \Rightarrow (a,c) \in R$ — সম্পর্ক শৃঙ্খল ধরে চলে।
$(a,b),(b,c) \in R \Rightarrow (a,c) \in R$

৩ · উদাহরণ — পরিচিত রিলেশন বিশ্লেষণ

পূর্ণসংখ্যার উপর "$\leq$" রিলেশন বিবেচনা করুন। এটি reflexive ($a \leq a$ সবসময় সত্য), antisymmetric ($a \leq b$ ও $b \leq a$ একসাথে সত্য হলে অবশ্যই $a=b$), এবং transitive ($a \leq b$ ও $b \leq c$ হলে $a \leq c$)। কিন্তু এটি symmetric নয় — $2 \leq 3$ সত্য হলেও $3 \leq 2$ মিথ্যা। reflexive+antisymmetric+transitive একসাথে থাকলে সেটিকে বলা হয় পার্শিয়াল অর্ডার — L10-এ এর পূর্ণাঙ্গ আলোচনা।

"$=$" রিলেশন reflexive ($a=a$), symmetric ($a=b \Rightarrow b=a$), ও transitive ($a=b, b=c \Rightarrow a=c$) — তিনটিই সিদ্ধ করে, তাই এটি একটি ইকুইভ্যালেন্স রিলেশন — L09-এ বিস্তারিত।

ধনাত্মক পূর্ণসংখ্যার উপর "divides" রিলেশন ($a \mid b$, অর্থাৎ $a$, $b$-কে নিঃশেষে ভাগ করে) reflexive ($a \mid a$), antisymmetric ($a \mid b$ ও $b \mid a$ হলে $a=b$, যেহেতু উভয়ে ধনাত্মক), এবং transitive ($a \mid b, b \mid c \Rightarrow a \mid c$) — অর্থাৎ এটিও একটি পার্শিয়াল অর্ডার (L10-তে এই রিলেশন দিয়েই Hasse ডায়াগ্রামের উদাহরণ দেখব)।

৪ · রিলেশন উপস্থাপনের তিনটি পদ্ধতি

একটি রিলেশন তিনভাবে উপস্থাপন করা যায় — অর্ডারড পেয়ারের সেট (যেমন $\{(1,1),(1,2),(2,1)\}$), ০/১ ম্যাট্রিক্স (সারি ও কলাম $A$-এর উপাদান, ঘরে ১ থাকলে সেই জোড়া রিলেশনে আছে), অথবা ডিরেক্টেড গ্রাফ (প্রতিটি উপাদান একটি নোড, $(a,b) \in R$ হলে $a$ থেকে $b$-তে একটি তীর) — M4-এ গ্রাফ থিওরিতে এই উপস্থাপনা পুরোপুরি কাজে লাগবে।

Python
A = {1, 2}
R = {(1, 1), (2, 2), (1, 2), (2, 1)}

def is_reflexive(R, A):
    return all((a, a) in R for a in A)

def is_symmetric(R):
    return all((b, a) in R for (a, b) in R)

def is_transitive(R):
    for (a, b) in R:
        for (c, d) in R:
            if b == c and (a, d) not in R:
                return False
    return True

print("Reflexive:", is_reflexive(R, A))
print("Symmetric:", is_symmetric(R))
print("Transitive:", is_transitive(R))

    
উপরের $R$ আসলে $\{1,2\}$-এর উপর সম্পূর্ণ রিলেশন ($A \times A$ নিজেই) — তাই স্বাভাবিকভাবেই এটি reflexive, symmetric ও transitive তিনটিই। নিচের অনুশীলনে নিজে ভিন্ন একটি $R$ বসিয়ে দেখুন কোন বৈশিষ্ট্য ভেঙে যায়।
মূল কথা · Key takeaway

reflexive+symmetric+transitive $\Rightarrow$ ইকুইভ্যালেন্স রিলেশন (L09)। reflexive+antisymmetric+transitive $\Rightarrow$ পার্শিয়াল অর্ডার (L10)। একই চারটি বিল্ডিং ব্লক থেকে দুটি সম্পূর্ণ ভিন্ন গাণিতিক কাঠামো তৈরি হয় — শুধু symmetric-এর বদলে antisymmetric বসিয়ে।

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

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

প্র ০১ "$\leq$" antisymmetric কিন্তু symmetric নয় কেন — দুটোর সংজ্ঞার পার্থক্য ব্যাখ্যা করুন।

Symmetric দাবি করে $a \leq b \Rightarrow b \leq a$ — অর্থাৎ প্রতিটি সম্পর্ক দ্বিমুখী হতে হবে, যা মিথ্যা ($2 \leq 3$ সত্য, $3 \leq 2$ মিথ্যা)। কিন্তু antisymmetric দাবি করে শুধু যখন $a \leq b$ এবং $b \leq a$ দুটোই একসাথে সত্য হয়, তখনই $a=b$ হতে হবে — এটি একটি শর্তসাপেক্ষ দাবি, "সব জোড়া দ্বিমুখী হতে হবে" এমন নয়। $2 \leq 3$ সত্য কিন্তু $3 \leq 2$ মিথ্যা বলে antisymmetric-এর শর্ত (উভয় দিক সত্য হওয়া) এখানে প্রযোজ্যই নয় — তাই লঙ্ঘিত হয় না।

প্র ০২ "$=$" রিলেশনকে কেন একটি ইকুইভ্যালেন্স রিলেশনের "সবচেয়ে সহজ উদাহরণ" বলা হয়?

"$=$" reflexive ($a=a$ সবসময় সত্য), symmetric ($a=b \Rightarrow b=a$ — সমতা স্বাভাবিকভাবেই দ্বিমুখী), এবং transitive ($a=b, b=c \Rightarrow a=c$) — তিনটি শর্তই তুচ্ছভাবে (trivially) সিদ্ধ হয়, কোনো বাড়তি প্রমাণের প্রয়োজন নেই। L09-এ আমরা দেখব প্রতিটি ইকুইভ্যালেন্স রিলেশন আসলে "$=$"-এর একটি সাধারণীকরণ — সঠিক অর্থে সমান না হয়েও "একই শ্রেণীর" বলে গণ্য করার একটি পদ্ধতি (যেমন "একই mod 3 রিমাইন্ডার")।

প্র ০৩ একটি রিলেশনকে ম্যাট্রিক্স হিসেবে উপস্থাপন করার সুবিধা কী — কেন এটি শুধু অর্ডারড পেয়ারের তালিকার চেয়ে বেশি কাজে লাগে?

ম্যাট্রিক্স উপস্থাপনা কম্পিউটারের জন্য দ্রুত লুকআপ দেয় — "$a$ কি $b$-এর সাথে সম্পর্কিত?" প্রশ্নের উত্তর $O(1)$ সময়ে (সরাসরি ইনডেক্স করে) পাওয়া যায়, যেখানে জোড়ার তালিকায় খুঁজতে $O(n)$ সময় লাগতে পারে। এছাড়া reflexive/symmetric-এর মতো বৈশিষ্ট্য ম্যাট্রিক্সে দৃশ্যত সহজে দেখা যায় (symmetric মানে ম্যাট্রিক্স তার ট্রান্সপোজের সমান)। M4-এ গ্রাফ থিওরিতে এই একই ম্যাট্রিক্স ধারণাকে বলা হয় adjacency matrix।

অনুশীলন

  1. হাতে বিশ্লেষণ করুন: $\{1,2,3,4,6\}$ সেটের উপর "divides" রিলেশন reflexive, antisymmetric ও transitive কি না তা যাচাই করুন এবং প্রতিটির জন্য একটি উদাহরণ জোড়া লিখুন।

    Reflexive: প্রতিটি $a$-এর জন্য $a \mid a$ (যেমন $2 \mid 2$)। Antisymmetric: $a \mid b$ ও $b \mid a$ একসাথে সত্য হলে অবশ্যই $a=b$ (ধনাত্মক সংখ্যায় এটি সবসময় সত্য, যেমন $2 \mid 4$ কিন্তু $4 \nmid 2$, তাই দ্বন্দ্ব নেই)। Transitive: $2 \mid 4$ ও $4 \mid$ ... এই সেটে $4$ কাউকে ভাগ করে না ছাড়া নিজেকে, তবে $1 \mid 2$ ও $2 \mid 4$ হলে $1 \mid 4$ ✓ — সেটে আছে। তিনটি বৈশিষ্ট্যই সিদ্ধ, তাই এটি একটি পার্শিয়াল অর্ডার (L10)।

  2. পরীক্ষা করুন: উপরের কোড সেলে $R$ পরিবর্তন করে $R = \{(1,1), (2,2), (1,2)\}$ বসান (একমুখী শুধু, $(2,1)$ ছাড়া) এবং Run চেপে দেখুন symmetric ফলাফল কী হয়।

    এই $R$-এ Symmetric হবে False — কারণ $(1,2) \in R$ কিন্তু $(2,1) \notin R$, তাই দ্বিমুখী শর্ত ভেঙে যায়। Reflexive ও Transitive আগের মতোই True থাকবে, কারণ এই দুটির শর্ত এখনও পুরোপুরি সিদ্ধ।

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

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