مسئله تاریخ تولد
در تئوری احتمالات، مسئله تاریخ تولد یا پارادوکس تاریخ تولد به یافتن احتمال حضور بیش از دو نفر در مجموعهٔ تصادفی n نفره که تاریخ تولد یکسانی داشته باشند، مربوط است. طبق اصل لانه کبوتری این احتمال وقتی که تعداد افراد حاضر برابر با ۳۶۶ (با فرض این که سال ۳۶۵ روز است، بدون در نظر سال کبیسه) شود، مساوی ۱۰۰٪ میشود. اگرچه احتمال ۹۹٪ وقتی که تعداد افراد تنها برابر ۵۷ نفر است حاصل میشود. همچنین با احتمال ۵۰٪ حداقل دو نفر تولد یکسانی بین ۲۳ نفر دارند. این نتایج با این فرض به دست میآید که سال دارای ۳۶۵ روز (بجز ۳۰ اسفند) و احتمال تولد افراد در آنها برابر هم باشد.
محاسبات ریاضی پشت این مسئله باعث ایجاد یک حمله رمزنگاری معروف به اسم حمله روز تولد شدهاست. این حمله بر اساس مدل احتمالی مسئله تاریخ تولد، پیچیدگی توابع درهمسازی را کاهش میدهد و باعث ساده شدن شکستن آن میشود.
محتویات |
[ویرایش] فهم مسئله
مسئله روز تولد این سوال را مطرح می کند که آیا درون یک گروه معین هیچ فردی وجود دارد که با یکی دیگر از افراد گروه تاریخ تولد مشابهی داشته باشد - نه شخص خاصی به طور مشخص. (به قسمت "#هم تاریخ تولد با شما" در زیر نگاه کنید برای تحلیل این مسئله جایگزینی که کمتر جالب به نظر می رسد.) در مثالی که پیش از این مطرح شد، در لیستی شامل 23 نفر، در مقایسه شانس اینکه تاریخ تولد نفر اول لیست با دیگران یکسان باشد 22 است، برای نفر دوم لیست برابر با 21، برای نفر سوم لیست برابر با 20 و همین طور تا آخر. از این رو مجموع شانس ها برابر است با : 22+21+21+...+1 = 253، بنابراین مقایسه هر فرد با تمام افراد دیگر 253 شانس مجزا را به وجود می آورد (ترکیب): در یک گروه 23 نفری (23¦2)= 23.22/2=253جفت وجود دارد. با فرض اینکه احتمال تمام روزهای تولد یکسان باشد، احتمال یک تاریخ تولد داده شده برای فردی که به طور تصادفی از بین جمع انتخاب شده 1/365 (با نادیده گرفتن روز کبیسه، 30 اسفند) است.اگرچه زوج هایی که در یک گروه 23 نفری هستند از لحاظ آماری با 253 زوجی که به طور مستقل انتخاب شدهاند هم ارز نیستند، اگر یک گروه بر حسب تعداد زوج های آن سنجیده شود، پارادوکس تولد نسبت به زمانی که بر حسب افراد سنجیده شود، کم تر تعجب برانگیز خواهد بود.
[ویرایش] محاسبه احتمالات
مسئله مورد نظر، محاسبه احتمال تقریبی حضور حداقل دو نفر در اتاقی با حضور n نفر، با تاریخ تولد یکسان است. برای سادگی، تفاوت ها در توزیع، مانند سال کبیسه، دوقلوها، تغییرات روزهای هفته و تغییرات فصلی را نادیده بگیرید و فرض کنید 365 تاریخ تولدی که امکان پزیرند، احتمال برابری داشته باشند. توزیع تاریخ تولدها در واقعیت یکنواخت نیست، زیرا تمام تاریخ ها احتمال برابری ندارند. اگر P(A) احتمال حضور حداقل 2 نفر در یک اتاق با تاریخ تولدهای یکسان باشد، محاسبه P(A’)، یعنی احتمال نبود هیچ دو نفری که تولد یکسان داشته باشند می تواند آسان تر باشد. بنابراین، به این دلیل که P(A) و P(A') تنها احتمالات ممکن و دو به دو ناسازگار هستند، P(A') = 1 − P(A)). برای احترام به راه حل های منتشر شده ی زیادی که نتیجه گرفتهاند برای داشتن P(A) بیش تر از 50% حضور 23 نفر ضروری است، در زیر، برای محاسبه P(A)، 23 نفر به عنوان مثال در نظر گرفته می شود. وقتی رویدادها مستقل از یکدیگر باشند، احتمال کل رویدادهایی که اتفاق می افتند برابر است با ضرب احتمالات هر کدام از رویدادها. بنابراین اگر P(A') به عنوان 23 رویداد مستقل تعریف شود، می توان به این صورت آن را محاسبه کرد:
P(1) × P(2) × P(3) × ... × P(23)
این 23 رویداد مستقل، متناظر با این 23 نفر هستند و می توانند به ترتیب تعریف شوند. هر رویداد می تواند با فرد متناظر با آن که با هیچ یک از افراد تحلیل شده قبلی، تاریخ تولد یکسانی ندارد مشخص شود. برای رویداد 1، هیچ فرد تحلیل شده ی قبلی وجود ندارد. بنابراین احتمال P(1) یعنی اینکه تاریخ تولد فرد شماره 1 با هیچ یک از افراد تحلیل شده ی قبلی یکسان نباشد، 1 یا 100% است. بدون در نظر گرفتن سال های کبیسه برای این تحلیل، به دلایلی که در زیر به روشنی خواهد آمد، احتمال برابر با یک می تواند به صورت 365/365 نوشته شود. برای رویداد 2، تنها فرد تحلیل شده ی قبلی نفر 1 است. با فرض اینکه تاریخ تولدها احتمال برابری برای اتفاق افتادن در هریک از 365 روز سال را داشته باشند، احتمال P(2)، اینکه فرد شماره 2 تاریخ تولد متفاوتی با فرد شماره 1 داشته باشد، 364/365 است. این به این دلیل است که اگر فرد شماره 2 در هر کدام از 364 روز دیگر سال متولد شده باشد، فرد شماره 1 و 2 تاریخ تولد یکسانی نخواهند داشت. به طور مشابه اگر فرد شماره 3 در هریک از 363 روز دیگر سال غیر از تاریخ تولد فرد شماره 1 و 2 متولد شده باشد، فرد شماره 3 تاریخ تولد یکسانی با آن ها نخواهد داشت. در نتیجه P(3)=363/365. این تحلیل تا رسیدن به فرد شماره 23 ادامه پیدا می کند، فردی که احتمال آنکه تاریخ تولد یکسانی با افراد تحلیل شده ی قبلی نداشته باشد، یعنی P(23)، 343/365 است. P(A’) برابر با ضرب این احتمالات مجزاست:
(1) P(A') = 365/365 × 364/365 × 363/365 × 362/365 × ... × 343/365
می توان عبارات معادله 1 را اینگونه جمع بندی کرد:
(2) P(A') = (1/365)²³ × (365 × 364 × 363 × ... × 343)
با محاسبه معادله 2 مقدار P(A’)=0.492703 بدست می آید. بنابراین P(A) = 1 − 0.492703 = 0.507297 (50.7297%) این روند می تواند برای یک گروه n نفره تعمیم داده شود، به طوریکه p(n) احتمال وجود حداقل دو نفر از این n نفر است که تاریخ تولد یکسانی دارند. ساده تر این است که ابتدا احتمال pˉ(n)، یعنی اینکه تمام n تاریخ تولدها متفاوت باشند محاسبه شود. با توجه به اصل لانه کبوتری اگر n˃365 باشد، pˉ(n) صفر است. اگر n≤365 باشد آنگاه:
که در اینجا ‘!’ عمل فاکتوریل و factorial operator and
ضریب دو جمله ای را نشان می دهد. این معادله این حقیقت را تشریح می کند که در نبود افرادی که تاریخ تولد یکسان داشته باشند، یک نفر دوم نمیتواند تاریخ تولد مشابهی با نفر اول داشته باشد (364/365)، سومی نمیتواند تاریخ تولد یکسانی با دو تای اول داشته باشد (363/365)، و در کل nامین تاریخ تولد نمیتواند با n-1 تاریخ تولد قبلی یکسان باشد. این رویداد که حداقل دو نفر از n نفر تاریخ تولد یکسان داشته باشند، متمم این است که کل n تاریخ تولدها متفاوت باشند. بنابراین احتمال آن، یعنی p(n) برابر است با:
این احتمال برای n=23 از ½ بیش تر است (با مقداری در حدود 50.7%). جدول زیر این احتمال را برای برخی مقادیر دیگر n نشان می دهد (این جدول همانطور که در بالا شرح داده شد، از وجود سالهای کبیسه چشم پوشی می کند):
| n | p(n) |
|---|---|
| 10 | 11.7% |
| 20 | 41.1% |
| 23 | 50.7% |
| 30 | 70.6% |
| 50 | 97.0% |
| 57 | 99.0% |
| 100 | 99.99997% |
| 200 | 99.9999999999999999999999999998% |
| 300 | (100 − (6×10−80))% |
| 350 | (100 − (3×10−129))% |
| 365 | (100 − (1.45×10−155))% |
| 366 | 100% |
[ویرایش] تقریت ها
بسط سری تیلور برای تابع نمایی به صورت زیر است:(ثابت e تقریباً برابر است با 2.718281828):
که اولین نوع تقریب برای ex در x«1 را به دست می دهد:
برای به کار بردن این تقریب در اولین عبارت به دست آمده برای p(n)،
قرار دهید.آنگاه
سپس برای هر عبارت در فرمول p(n)
.
برای i=1،![]()
اولین عبارتی که برایp(n) بدست آمد، می تواند به صورت زیر تخمین زده شود:
در نتیجه:
یک تقریب غیر دقیق تر که معادل این عبارت است به صورت زیر است:
که همانگونه که نمودار نشان می دهد، تقریباً صحیح است. درک این مطلب ساده است که یک روش مشابه برای هر تعداد از "نفرات" و "روزها" می تواند به کار رود. اگر به جای 365 روز، n روز را در نظر بگیریم و m نفر وجود داشته باشند و m«n باشد، آنگاه با استفاده از روش بالا به این نتیجه می رسیم که اگر Pr[(n, m)] احتمال حضور حداقل دو نفر خارج از m نفر که از میان یک مجموعه n روزه تاریخ تولد یکسان دارند باشد، آنگاه: ![Pr[(n, m)] \approx 1-e^{-m^2 / 2n}.\](http://upload.wikimedia.org/math/4/1/f/41fdff402c6a11b0c992a3f394d9cd14.png)
[ویرایش] یک توان ساده
احتمال حضور هر دو نفری که تاریخ تولد یکسان نداشته باشند 364/365 است. در یک اتاق شامل n نفر،C(n, 2)=n(n-1)/2 تعداد زوج از نفرات حضور دارند، یعنی C(n, 2)رویداد. احتمال عدم حضور دو نفر که تاریخ تولد یکسانی داشته باشند، می تواند با این فرض که این رویدادها مستقل اند و بنابراین با ضرب احتمالات آنها در یکدیگر تخمین زده شود. مختصراً 364/365 می تواندC(n, 2) بار در خودش ضرب شود که در این صورت خواهیم داشت:
و اگر این، احتمال عدم حضور فردی با تولد یکسان باشد، آنگاه احتمال اینکه برخی نفرات تاریخ تولد یکسان داشته باشند به صورت زیر است:
[ویرایش] تقریب پوواسون
با استفاده از تقریب پوواسون برای این دوجمله ای داریم:
که باز هم این بالای 50% است.
[ویرایش] تقریب تعداد افراد
این مسئله نیز می تواند به وسیله فرمول زیر برای تعداد نفراتی که حضورشان برای داشتن حداقل 50% شانس برای تطبیق ضروری است تخمین زده شود:
این، نتیجه ای برای این تخمین مناسب است که اگر یک رویداد با احتمال 1 در k، k ln 2 مرتبه تکرار شود، برای حداقل یک بار اتفاق افتادن 50% شانس دارد.
[ویرایش] جدول احتمال
مقاله اصلی: ''حمله روز تولد''
-
length of
hex string#bits hash space
size
(2#bits)Number of hashed elements such that (probability of at least one hash collision) = p p = 10−18 p = 10−15 p = 10−12 p = 10−9 p = 10−6 p = 0.1% p = 1% p = 25% p = 50% p = 75% 8 32 4.3 × 109 2 2 2 2.9 93 2.9 × 103 9.3 × 103 5.0 × 104 7.7 × 104 1.1 × 105 16 64 1.8 × 1019 6.1 1.9 × 102 6.1 × 103 1.9 × 105 6.1 × 106 1.9 × 108 6.1 × 108 3.3 × 109 5.1 × 109 7.2 × 109 32 128 3.4 × 1038 2.6 × 1010 8.2 × 1011 2.6 × 1013 8.2 × 1014 2.6 × 1016 8.3 × 1017 2.6 × 1018 1.4 × 1019 2.2 × 1019 3.1 × 1019 64 256 1.2 × 1077 4.8 × 1029 1.5 × 1031 4.8 × 1032 1.5 × 1034 4.8 × 1035 1.5 × 1037 4.8 × 1037 2.6 × 1038 4.0 × 1038 5.7 × 1038 (96) (384) (3.9 × 10115) 8.9 × 1048 2.8 × 1050 8.9 × 1051 2.8 × 1053 8.9 × 1054 2.8 × 1056 8.9 × 1056 4.8 × 1057 7.4 × 1057 1.0 × 1058 128 512 1.3 × 10154 1.6 × 1068 5.2 × 1069 1.6 × 1071 5.2 × 1072 1.6 × 1074 5.2 × 1075 1.6 × 1076 8.8 × 1076 1.4 × 1077 1.9 × 1077
- مربع های سفید در این جدول تعداد هش های مورد نیاز برای رسیدن به احتمال رخداد تصادم (ستون) در یک فضای هش داده شده از یک اندازه معین به بیت(ردیف) را نشان می دهد.
(با استفاده از مقایسه تولدها: "اندازه فضای هش" (ردیف ها) "365 روز" خواهند بود. "احتمال تصادم" (ستون ها) 50% خواهند بود و "تعداد نفرات مورد نیاز" 26 نفر خواهد بود (تقاطع ستون ها و ردیف ها). همچنین از این جدول می توان برای تعیین کوچک ترین hash size مورد نیاز استفاده کرد (کران های بالای معین روی hash ها و احتمال خطا)، یا احتمال تصادم (برای تعداد ثابت hash ها و احتمال خطا).
برای مقایسه،
تا
سرعت خطای بیت اصلاح نشدنی برای یک دیسک سخت نوعی است. در تئوری، MD5، 128 بیت، باید تا تقریباً 820 میلیارد سند در آن محدوده باقی بماند، حتی اگر این احتمال وجود داشته باشد که تعداد خروجی ها بسیار بیشتر باشد.
[ویرایش] منابع
- Coincidences: the truth is out there Experimental test of the Birthday Paradox and other coincidences
- http://www.efgh.com/math/birthday.htm
- http://planetmath.org/encyclopedia/BirthdayProblem.html
- Eric W. Weisstein, Birthday Problem at MathWorld.
- A humorous article explaining the paradox
- SOCR EduMaterials activities birthday experiment
- Understanding the Birthday Problem (Better Explained)












