পাঠ ০৬ · ৪৪-এর মধ্যে · মডিউল ১
Home / Courses / Discrete Mathematics / গাণিতিক ইনডাকশন

গাণিতিক ইনডাকশন

Mathematical induction
৯ মিনিট পড়া শুরু · Beginner Python কোডসহ সম্পূর্ণ বাংলায়

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

  • ইনডাকশনের দুই ধাপ (base case, inductive step) বোঝা ও সঠিকভাবে প্রয়োগ করা
  • $1+2+\cdots+n = n(n+1)/2$ ইনডাকশন দিয়ে সম্পূর্ণ প্রমাণ করা
  • $2^n > n$ ইনডাকশন দিয়ে প্রমাণ করা
  • Strong induction কী ও কখন এটি সাধারণ ইনডাকশনের চেয়ে দরকারি তা চেনা
  • Python দিয়ে একটি ইনডাকশন-প্রমাণিত formula সংখ্যাগতভাবে যাচাই করা

১ · ইনডাকশনের মূলনীতি

গাণিতিক ইনডাকশন (Mathematical Induction)Mathematical Inductionএমন একটি প্রমাণ পদ্ধতি যা "সব n≥base-এর জন্য P(n) সত্য" প্রমাণ করে দুইটি ধাপে — একটি ভিত্তি (base case) ও একটি ধাপ-থেকে-ধাপে সংযোগ (inductive step)। একটি ডমিনো চেইনের মতো কাজ করে — যদি প্রথম ডমিনোটি পড়ে (base case), এবং প্রতিটি ডমিনো পড়লে তার পরেরটিও পড়বে এটি নিশ্চিত থাকে (inductive step), তাহলে গোটা চেইনটাই একে একে পড়বে।

ইনডাকশন দিয়ে "সব $n \ge$ base-এর জন্য P(n) সত্য" প্রমাণ করতে দুটি ধাপ লাগে —

  1. Base case: P(base) সত্য তা সরাসরি দেখানো (সাধারণত base=0 বা 1)।
  2. Inductive step: P(k) সত্য ধরে নিয়ে (এটিকে Inductive HypothesisInductive Hypothesis (IH)ইনডাকশনের inductive step-এ P(k) সত্য এই ধরে নেওয়া অনুমান — এটি প্রমাণ করা হয় না, শুধু ব্যবহার করা হয় P(k+1) প্রমাণ করতে। বা IH বলা হয়), তা থেকে P(k+1) প্রমাণ করা।
Base Case P(base) সত্য P(k) ধরে নিন Inductive Hypothesis ↓ প্রমাণ করুন P(k+1) সত্য পরের ডমিনো পড়ে
Base case প্রথম ডমিনো ফেলে দেয় — inductive step নিশ্চিত করে প্রতিটি ডমিনো পড়লে পরেরটাও পড়বে। ফলাফল: গোটা চেইন (সব n) পড়ে যায়।
লক্ষ করুন inductive step-এ আমরা P(k) থেকে সরাসরি সত্য প্রমাণ করি না — আমরা শুধু implication P(k)→P(k+1) প্রমাণ করি। base case-এর সাথে মিলিয়ে, Modus Ponens (L04) বারবার প্রয়োগ করে P(base), P(base+1), P(base+2)... সবগুলোই সত্য প্রতিষ্ঠিত হয়।

২ · Worked Example ১ — যোগফলের সূত্র

দাবি: সব $n \ge 1$-এর জন্য, $1+2+\cdots+n = \dfrac{n(n+1)}{2}$।

Base case (n=1): বামপক্ষ $=1$। ডানপক্ষ $=\dfrac{1(2)}{2}=1$। উভয়ে মিলে যায় — $1=1$। ✓

Inductive step: ধরি (IH) $1+2+\cdots+k = \dfrac{k(k+1)}{2}$ সত্য কোনো একটি $k \ge 1$-এর জন্য। আমাদের দেখাতে হবে $1+2+\cdots+k+(k+1) = \dfrac{(k+1)(k+2)}{2}$।

$1+2+\cdots+k+(k+1) = \underbrace{\dfrac{k(k+1)}{2}}_{\text{IH দিয়ে}} + (k+1) = (k+1)\left[\dfrac{k}{2}+1\right] = \dfrac{(k+1)(k+2)}{2}$

এটি ঠিক formula-টি $n=k+1$ বসিয়ে যা পাওয়া যেত তার সাথে মেলে। ✓ ইনডাকশনের মূলনীতি অনুযায়ী, দাবিটি সব $n \ge 1$-এর জন্য সত্য। $\blacksquare$

৩ · Worked Example ২ — $2^n > n$

দাবি: সব $n \ge 1$-এর জন্য, $2^n > n$।

Base case (n=1): $2^1 = 2 > 1$। ✓

Inductive step: ধরি (IH) $2^k > k$ সত্য কোনো $k \ge 1$-এর জন্য। দেখাতে হবে $2^{k+1} > k+1$।

$2^{k+1} = 2 \cdot 2^k \overset{\text{IH}}{>} 2k \ge k+1 \quad (\text{যেহেতু } k \ge 1 \Rightarrow 2k \ge k+1)$

তাই $2^{k+1} > k+1$। ✓ ইনডাকশনের মূলনীতি অনুযায়ী, দাবিটি সব $n \ge 1$-এর জন্য সত্য। $\blacksquare$

৪ · Strong Induction

Strong InductionStrong Inductionইনডাকশনের একটি রূপ যেখানে inductive step-এ শুধু P(k) নয়, বরং base থেকে k পর্যন্ত সব P(base),...,P(k) সত্য ধরে নেওয়া যায়। -এ inductive step আরও শক্তিশালী — শুধু P(k) নয়, P(base) থেকে P(k) পর্যন্ত সবগুলো সত্য ধরে নিয়ে P(k+1) প্রমাণ করা হয়।

এটি দরকার হয় যখন P(k+1) সরাসরি P(k)-এর উপর নির্ভর না করে, বরং কোনো ছোট মানের উপর নির্ভর করে যা k-এর চেয়ে অনেক ছোট হতে পারে। ক্লাসিক উদাহরণ: "প্রতিটি পূর্ণসংখ্যা $>1$-এর একটি প্রাইম ফ্যাক্টরাইজেশন আছে" — যদি n যৌগিক (composite) হয়, তাহলে $n=ab$ যেখানে $a,b$ উভয়ে $n$-এর চেয়ে ছোট কিন্তু নির্দিষ্টভাবে $n-1$ নাও হতে পারে — তাই শুধু "P(n-1) সত্য ধরে নেওয়া" যথেষ্ট নয়, "P(1) থেকে P(n-1) পর্যন্ত সব সত্য ধরে নেওয়া" দরকার।

Python
for n in range(1, 20):
    lhs = sum(range(1, n + 1))
    rhs = n * (n + 1) // 2
    assert lhs == rhs, f"n={n}-এ মিল নেই"

print("যাচাই সম্পন্ন — n=1 থেকে 19 পর্যন্ত সব মিলেছে")

    
এই কোডটি formula-টি একটি নির্দিষ্ট পরিসরে (n=1 থেকে 19) সংখ্যাগতভাবে যাচাই করছে — কিন্তু এটি প্রমাণ নয়। শুধুমাত্র উপরের ইনডাকশন প্রমাণই দেখায় formula-টি সব $n \ge 1$-এর জন্য সত্য, একবারে।
মূল কথা · Key takeaway

মডিউল ১ (যুক্তি ও প্রমাণ) এখানে শেষ হলো — L02-এ আমরা যুক্তির মৌলিক একক (প্রোপোজিশন) দিয়ে শুরু করেছিলাম, এবং L06-এ পৌঁছেছি এমন একটি টুলে যা "সব n-এর জন্য" আকারের যেকোনো দাবি প্রমাণ করতে পারে। M2 থেকে শুরু হওয়া সেট থিওরি, রিলেশন, ও পরবর্তী প্রতিটি মডিউলের প্রতিটি থিওরেম এই একই যুক্তি ও প্রমাণের ভাষা ব্যবহার করে প্রতিষ্ঠিত হবে।

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

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

প্র ০১ ইনডাকশনের "inductive step"-এ ঠিক কী প্রমাণ করা হয় — P(k) প্রমাণ করা, নাকি P(k)→P(k+1) প্রমাণ করা? পার্থক্যটি ব্যাখ্যা করুন।

আমরা P(k) নিজে থেকে প্রমাণ করি না — আমরা এটিকে একটি অনুমান (inductive hypothesis) হিসেবে ধরে নিই, এবং প্রমাণ করি শুধু implication $P(k) \to P(k+1)$। এটি একটি শর্তসাপেক্ষ প্রমাণ — "যদি P(k) সত্য হয়, তাহলে P(k+1)-ও সত্য হবে।"

base case (P(base) সত্য) এবং এই implication মিলিয়ে, Modus Ponens (L04) বারবার প্রয়োগ করলে P(base), তারপর P(base+1) (base case + implication দিয়ে), তারপর P(base+2) (এভাবে), ইত্যাদি — একে একে সব সত্য প্রতিষ্ঠিত হয়। implication নিজে প্রমাণ করা easy কারণ আমরা IH ব্যবহার করার "সুবিধা" পাই।

প্র ০২ কেন base case বাদ দিলে ইনডাকশন প্রমাণ ভুল হতে পারে, এমনকি যদি inductive step সঠিকভাবে করা হয়?

কারণ inductive step শুধু বলে "P(k) সত্য হলে P(k+1)-ও সত্য হবে" — এটি একটি শর্তসাপেক্ষ শৃঙ্খল। কিন্তু যদি প্রথম ডমিনোটিই (base case) কখনো পড়ে না (অর্থাৎ P(base) আসলে প্রমাণিত না), তাহলে পুরো শৃঙ্খলটি vacuously ("যদি...তাহলে" চেইন হিসেবে) সঠিক থাকতে পারে অথচ P(base) থেকে P(base+1), P(base+2)... কোনোটিই প্রকৃতপক্ষে সত্য প্রতিষ্ঠিত হয় না। কেউ চাইলে এমন একটি ভুল "প্রমাণ"ও গঠন করতে পারে যেখানে inductive step সঠিক কিন্তু base case মিথ্যা — এবং পুরো উপসংহারটি ভুল হয়ে যায়, যদিও ধাপে ধাপে যুক্তি দেখতে সঠিক মনে হয়।

প্র ০৩ Strong Induction কীভাবে সাধারণ ইনডাকশন থেকে আলাদা, এবং প্রাইম ফ্যাক্টরাইজেশনের প্রমাণে কেন এটি দরকার?

সাধারণ ইনডাকশনে inductive step শুধু P(k) ধরে নেয়। Strong induction-এ inductive step P(base) থেকে P(k) পর্যন্ত সব ধরে নিতে পারে — অনেক বেশি "অস্ত্র" হাতে থাকে।

প্রাইম ফ্যাক্টরাইজেশনের প্রমাণে: যদি n যৌগিক হয়, $n=ab$ লেখা যায় যেখানে $1সব ছোট মানের জন্য ধরে নেওয়া দরকার, যাতে a ও b যেকোনো মান হলেও তাদের প্রাইম ফ্যাক্টরাইজেশন আছে তা ব্যবহার করা যায়।

অনুশীলন

  1. প্রমাণ করুন: ইনডাকশন ব্যবহার করে দেখান $1+3+5+\cdots+(2n-1) = n^2$ (প্রথম n-টি বিজোড় সংখ্যার যোগফল) সব $n \ge 1$-এর জন্য সত্য।

    Base (n=1): বামপক্ষ $=1$, ডানপক্ষ $=1^2=1$। ✓

    Inductive step: ধরি $1+3+\cdots+(2k-1)=k^2$ (IH)। তাহলে $1+3+\cdots+(2k-1)+(2(k+1)-1) = k^2 + (2k+1) = (k+1)^2$ — যা ঠিক formula-টি $n=k+1$-এ যা দেয় তার সাথে মেলে। ✓ ইনডাকশন অনুযায়ী দাবিটি সব $n\ge1$-এর জন্য সত্য।

  2. কোড লিখুন: উপরের code cell-এর ধাঁচে $2^n > n$ সব $n=1$ থেকে $20$ পর্যন্ত Python দিয়ে যাচাই করুন।

    কোড: for n in range(1, 21): assert 2**n > n — এই লুপ কোনো AssertionError ছাড়াই সম্পন্ন হবে, কারণ আমরা L06-এই ইনডাকশন দিয়ে প্রমাণ করেছি এটি সব $n\ge1$-এর জন্য সত্য। এক্সপোনেনশিয়াল বৃদ্ধি ($2^n$) রৈখিক বৃদ্ধি (n)-কে দ্রুতই ছাড়িয়ে যায় — এই ধারণাটি M8-এ complexity analysis-এর একটি কেন্দ্রীয় বিষয় হয়ে উঠবে।

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

পাঠ ০৫
প্রমাণ পদ্ধতি — সরাসরি, বিপরীতগামী, বিরোধিতা