Mathematical Induction (الاستقراء الرياضي)
تخيل صفاً لا نهائياً من قطع الدومينو. لإثبات أن كلها ستسقط، يكفي أن تثبت أمرين:
1. القطعة الأولى سقطت.
2. إذا سقطت أي قطعة، فإنها تسقط التي تليها.
مثال: $P(1)$ صحيحة.
هذا هو "الجسر" الذي سنستخدمه.
الهدف: إثبات $P(k) \to P(k+1)$.
Strong Induction (الاستقراء القوي)
ما الفرق؟
في الاستقراء العادي، نفترض صحة $P(k)$ فقط لإثبات $P(k+1)$.
في الاستقراء القوي، نفترض صحة $P(1), P(2), \dots, P(k)$ جميعاً لإثبات $P(k+1)$.
عندما نحتاج للرجوع لأكثر من خطوة واحدة للخلف (مثلاً في الأعداد الأولية، أو متتاليات مثل فيبوناتشي حيث $F_n$ يعتمد على $F_{n-1}$ و $F_{n-2}$).
Recursion & Algorithms
Recursive Definition
تعريف الدالة أو المجموعة بدلالة نفسها (بشرط وجود حالة توقف Base Case).
- Basis: 0! = 1
- Recursive: n! = n * (n-1)!
Program Correctness
كيف نثبت صحة خوارزمية (Loop)؟
نستخدم Loop Invariant.
- صحيح قبل دخول الحلقة (Initialization).
- يبقى صحيحاً بعد كل تكرار (Maintenance).
- عند التوقف، يعطينا النتيجة المطلوبة (Termination).
Counting Principles
إذا كان الحدث A يحدث بـ $n$ طرق، و B بـ $m$ طرق (ولا يمكن حدوثهما معاً)، فإحداهما يحدث بـ $n+m$.
إذا كان A يحدث بـ $n$ طرق، وبعده B بـ $m$ طرق، فكلاهما يحدث بـ $n \times m$.
Permutations vs Combinations
الترتيب مهم (Order matters).
مثال: ترتيب متسابقين في سباق (الأول يختلف عن الثاني).
الترتيب غير مهم (Order doesn't matter).
مثال: اختيار 3 طلاب للجنة (لجنة {أ، ب} هي نفسها {ب، أ}).
With vs Without Repetition
انتبه للسؤال!
• Permutations with repetition: $n^r$ (مثل كلمة مرور).
• Combinations with repetition: $C(n+r-1, r)$ (مثل توزيع كرات في صناديق) .
Permutations with Indistinguishable Objects
كم كلمة يمكن تكوينها من حروف "SUCCESS"؟
الحروف S و C متكررة ولا يمكن تمييزها.
القانون: $\frac{n!}{n_1! n_2! \dots}$
الحل: $\frac{7!}{3! (S) \times 2! (C) \times 1! (U) \times 1! (E)}$.