बर्थडे पैराडॉक्स प्रायिकता के खंड में एक बहुत प्रसिद्ध प्रॉब्लम है। इस प्रॉब्लम का कथन इस प्रकार है,
एक बर्थडे पार्टी में कई लोग हैं, कुछ का बर्थडे समान होने की टक्कर है। हमें समान बर्थडे होने के आधार पर बर्थडे पार्टी में लोगों की अनुमानित संख्या ढूंढनी है।
प्रायिकता में हम जानते हैं कि हेड आने की संभावना 1/2 है, वही अगर हमारे पास कुछ सिक्के हैं, तो 10 हेड आने की संभावना 1/100 या 0.001 है।
आइए अवधारणा को समझते हैं,
दो लोगों के अलग-अलग बर्थडे होने की संभावना है,
364/365 जो एक नॉन-लीप वर्ष में 1-1/365 है।
इस प्रकार हम कह सकते हैं कि पहले व्यक्ति के पास विशिष्ट बर्थडे की प्रायिकता '1' है और दूसरों के लिए, यह अलग होगी जो है,
P(अलग) = 1×(1-1/365)×(1-2/365)×(1-3/365)×(1-4/365).......
इस प्रकार P(समान) = 1 - P(अलग)
उदाहरण के लिए,
समान बर्थडे वाले लोगों की संख्या जिसके लिए प्रायिकता 0.70 है।
N = √(2×365×log(1-1/p))।
N = √(2×365×log(1-1/0.70)) = 30
इस प्रकार समान बर्थडे वाले लोगों की कुल अनुमानित संख्या 30 है।
उदाहरण
#include <bits/stdc++.h>
using namespace std;
int findPeople(double p) {
return ceil(sqrt(2 * 365 * log(1 / (1 - p))));
}
int main() {
printf("%d", findPeople(0.70));
}
आउटपुट
30