সমস্যা বিবরণ
বার্থডে প্যারাডক্স হলো একটি বিখ্যাত প্রোবাবিলিটি সমস্যা: একটি গ্রুপে কতজন লোক থাকলে তাদের মাঝপথে কমপক্ষে দুজনের জন্মদিন একই হওয়ার প্রোবাবিলিটি নির্দিষ্ট মাত্রা (যেমন ৭০%) অতিক্রম করে? স Tunisian সূত্র ব্যবহার করে আনুমানিক লোক সংখ্যা বের করা।
গাণিতিক সূত্র
নন-লিপ ইয়ারে (৩৬৫ দিন) দুজনের জন্মদিন আলাদা হওয়ার প্রোবাবিলিটি:
P(ডিফারেন্ট) = 1 × (1 - 1/365) × (1 - 2/365) × ... × (1 - (n-1)/365)
কমপক্ষে এক জোড়ার জন্মদিন একই হওয়ার প্রোবাবিলিটি:
P(সেইম) = 1 - P(ডিফারেন্ট)
বড় n এর জন্য এপ্রক্সিমেশন (টেইলর সিরিজ ব্যবহার করে):
P(সেইম) ≈ 1 - e^(-n²/(2×365))
এই থেকে n বের করলে:
n ≈ √(2 × 365 × ln(1/(1-p)))
পূর্ণ কোড উদাহরণ
import math
def findPeople(p):
"""
p = কমপক্ষে এক জোড়ার জন্মদিন একই হওয়ার প্রোবাবিলিটি (0 থেকে 1)
রিটার্ন: আনুমানিক লোক সংখ্যা (সিলিং করে পূর্ণসংখ্যা)
"""
if p <= 0 or p >= 1:
return 0
n = math.sqrt(2 * 365 * math.log(1 / (1 - p)))
return math.ceil(n)
# টেস্ট: ৭০% প্রোবাবিলিটির জন্য
prob = 0.70
people = findPeople(prob)
print(f"প্রোবাবিলিটি {prob*100}% হলে আনুমানিক লোক সংখ্যা: {people}")
# আরও কিছু উদাহরণ
for p in [0.50, 0.90, 0.99]:
print(f"P={p*100:.0f}% → n ≈ {findPeople(p)} জন")
আউটপুট
প্রোবাবিলিটি 70.0% হলে আনুমানিক লোক সংখ্যা: 30
P=50% → n ≈ 23 জন
P=90% → n ≈ 41 জন
P=99% → n ≈ 70 জন
ব্যাখ্যা
- ২৩ জনে ৫০% চান্স, ৩০ জনে ৭০% চান্স, ৪১ জনে ৯০% চান্স।
- এটি কাউন্টার-ইনটিউইটিভ (বিরোধী অনুমান) কারণ ৩৬৫ দিনে মাত্র ২৩ জনে ৫০% চান্স অনেকের কাছে অবিশ্বাস্য লাগে।
- সুনির্দিষ্ট গণনার জন্য একজেক্ট ফর্মুলা ব্যবহার করুন, এপ্রক্সিমেশন বড়
nএর জন্য ভালো কাজ করে।