پیشرفت علمی و فناوری قرن بیستم بیشتر مرهون توسعه نظریه احتمالات و ایجاد مولدهای اعداد تصادفی است.
اعداد تصادفی اعدادی هستند که می توانند به عنوان نتایج اجرای برخی متغیرهای تصادفی تفسیر شوند - مفهوم اصلی نظریه احتمال. مفهوم تصادفی بودن در این زمینه حاکی از غیرقابل پیش بینی بودن مقدار یک کمیت معین قبل از شروع آزمایش است.
تاریخچه اعداد تصادفی
نیاز بشریت به استفاده از اعداد تصادفی مدتها قبل از اختراع دستگاههایی توسط دانشمندان که امکان دستیابی به آرایههای تصادفی را فراهم میکنند، پدیدار شد. برای مدت طولانی، مردم از ابزارهای بداهه برای تولید اعداد تصادفی، از جمله اشیاء با طبیعت جاندار و بی جان استفاده می کردند.
یکی از بارزترین نمونههای سادهترین مولدهای اعداد تصادفی، تاسهای آشنا هستند که امروزه بسیار مورد استفاده قرار میگیرند. در آزمایشهای ابتدایی و آموزشی، وابستگی قانون حرکت تاس به محیط، شرایط اولیه و عامل انسانی را میتوان کاملاً نادیده گرفت، بنابراین میتوان تعداد نقاط روی یک تاس را با محدودیتهایی تصادفی در نظر گرفت. متغیر. تاس نقش مهمی در توسعه نظریه احتمال ایفا کرد: در سال 1890، فرانسیس گالتون محقق انگلیسی روشی را برای تولید اعداد تصادفی با استفاده از تاس پیشنهاد کرد.
در دستگاه کمی پیچیدهتر، مولد عدد دیگری است که به طور گسترده در زندگی روزمره استفاده میشود - درام قرعهکشی. این دستگاه یک طبل با توپ های شماره دار است که در حین چرخش در داخل آن مخلوط می شوند. حوزه اصلی کاربرد درام های قرعه کشی، قرعه کشی و لوتو است. به راحتی می توان حدس زد که لوتوترون برای استفاده در آزمایش های علمی جدی به دلیل درجه تصادفی و سرعت پایین عملکرد نامناسب است.
اولین مولد اعداد تصادفی که به شما امکان می دهد حجم زیادی از داده ها را بدست آورید و برای حل مسائل کاربردی مناسب است در سال 1939 اختراع شد. موریس جورج کندال و برنارد بابینگتون اسمیت دستگاهی ساختند که می توانست جدولی حاوی 100000 عدد تصادفی تولید کند. و فقط 16 سال بعد، شرکت استراتژیک آمریکایی RAND نتایج دانشگاهیان انگلیسی را 10 بار بهبود بخشید - با کمک ماشین های خاص، جدولی از یک میلیون عدد تصادفی ایجاد شد. روش جدولی برای تولید اعداد تصادفی به لطف جورج مارسالیا، که 650 مگابایت اعداد تصادفی را در سال 1996 دریافت کرد، توسعه قابل توجهی یافته است. با این حال، به دلیل محدود بودن دامنه، این روش در حال حاضر به طور گسترده پذیرفته نشده است.
ماشین هایی که اعداد تصادفی را در زمان واقعی تولید می کنند، نسبت به دستگاه هایی که جداول اعداد تصادفی را ایجاد می کنند، مزایای زیادی دارند. یکی از اولین این ماشینها کامپیوتر Ferranti Mark 1 بود که در سال 1951 شامل برنامهای بود که اعداد تصادفی را بر اساس جریان نویز ورودی یک مقاومت تولید میکرد. جالب اینجاست که ایده ایجاد چنین برنامه ای آلن تورینگ، ریاضیدان بزرگ انگلیسی بود. همچنین در زمینه تولید اعداد تصادفی، اختراع ERNIE (تجهیزات نشانگر اعداد تصادفی الکترونیکی) در سال 1957 بود که در ابتدا برای تولید اعداد برنده در بخت آزمایی بریتانیا طراحی شده بود.
اعداد شبه تصادفی
اختراع مولدهای اعداد تصادفی بدون شک روند علمی و فناوری را بسیار تسریع کرده است. با این حال، این دستگاه ها دارای یک اشکال بسیار مهم بودند که امکان استفاده از آنها را به طور قابل توجهی محدود می کرد. قبلاً در اواسط قرن بیستم، جان فون نویمان، ریاضیدان مجارستانی-آمریکایی، به نامناسب بودن مولدهای اعداد تصادفی فیزیکی در محاسبات، به دلیل عدم امکان تکرار یک آزمایش تصادفی و در نتیجه، عدم امکان بازتولید یک عدد تصادفی اشاره کرد. برای آزمایش عملکرد یک ماشین اینگونه است که جامعه علمی به اعداد شبه تصادفی نیاز داشت - اعدادی که دارای تعدادی ویژگی مهم اعداد تصادفی هستند، اما نه در نتیجه یک آزمایش تصادفی، بلکه بر اساس برخی الگوریتم ها به دست آمده اند. جان فون نویمان خود نویسنده روش "وسط مربع" شد که به شما امکان می دهد اعداد شبه تصادفی ده رقمی را در خروجی بدست آورید.
اشکال اصلی اعداد شبه تصادفی، البته عدم تصادفی بودن داده ها است که در بسیاری از زمینه های علم و زندگی بسیار مهم است. علاوه بر این، تمام مولدهای اعداد شبه تصادفی دارای خاصیت حلقه زنی هستند، یعنی از یک لحظه معین برای تکرار دنباله اعداد خروجی، بسیاری از الگوریتم ها برگشت پذیر هستند و حتی برخی دارای توزیع یک بعدی ناهموار هستند. بنابراین، در حال حاضر، این حوزه محققین زیادی را جذب می کند که به دنبال توسعه یا ایجاد مولدهای اعداد شبه تصادفی کارآمد جدید هستند.
حقایق جالب
- طبق گفته برخی از مورخان، اولین تلاش ها برای تولید اعداد تصادفی به 3500 سال قبل از میلاد برمی گردد. به اندازه کافی عجیب، آنها با بازی تخته ای مصر باستان "Senet" مرتبط هستند که شامل حرکت دادن تراشه ها در اطراف تخته است.
- برای مدت طولانی، نتایج سرشماریهای جمعیت و سایر جداول دادهای بهدستآمده بهطور تجربی بهعنوان منابع اعداد تصادفی برای برخی از مشکلات عملی واقعی عمل میکردند.
- یک آسیب پذیری در الگوریتم های تولید اعداد شبه تصادفی در اوایل دهه 2010 توسط مدیر امنیتی سابق انجمن لاتاری چند ایالتی مورد سوء استفاده قرار گرفت. مزاحم به نرم افزاری دسترسی داشت که برای تعیین تعداد بلیت های برنده بخت آزمایی استفاده می شد و با آن می توانست چندین روز در سال ترکیب های برنده را تعیین کند. او در سال 2015 پس از برنده شدن 16.5 میلیون دلار متهم شد.
- یک مولد اعداد شبه تصادفی نصب شده بر روی رایانه داخلی یکی از فضاپیمای آپولو یک بار باعث اختلال در حرکت آن و انحراف جدی از مسیر مورد نظر خود شد. همانطور که دانشمندان دریافتند، داده های خروجی ژنراتور مورد استفاده برای محاسبه سرعت های زاویه ای در 80٪ موارد به نیمه صفحه پایینی سقوط می کند که مطلقاً معیارهای لازم برای تصادفی بودن نتایج ژنراتور را برآورده نمی کند.
مسئله تولید اعداد تصادفی در حال حاضر یکی از مرتبط ترین و امیدوارکننده ترین مسائل در جامعه علمی است. در عین حال این موضوع بیشتر برای افرادی جالب است که از دنیای علم دور هستند. با معروف ترین الگوریتم های تولید اعداد شبه تصادفی و حوزه های استفاده از آنها آشنا شوید.