مولد شماره‌های تصادفی

به وب سایت اضافه کنید فراداده

ابزارهای دیگر

ایجادکننده اعداد

ایجادکننده اعداد

پیشرفت علمی و فناوری قرن بیستم بیشتر مرهون توسعه نظریه احتمالات و ایجاد مولدهای اعداد تصادفی است.

اعداد تصادفی اعدادی هستند که می توانند به عنوان نتایج اجرای برخی متغیرهای تصادفی تفسیر شوند - مفهوم اصلی نظریه احتمال. مفهوم تصادفی بودن در این زمینه حاکی از غیرقابل پیش بینی بودن مقدار یک کمیت معین قبل از شروع آزمایش است.

تاریخچه اعداد تصادفی

نیاز بشریت به استفاده از اعداد تصادفی مدت‌ها قبل از اختراع دستگاه‌هایی توسط دانشمندان که امکان دستیابی به آرایه‌های تصادفی را فراهم می‌کنند، پدیدار شد. برای مدت طولانی، مردم از ابزارهای بداهه برای تولید اعداد تصادفی، از جمله اشیاء با طبیعت جاندار و بی جان استفاده می کردند.

یکی از بارزترین نمونه‌های ساده‌ترین مولدهای اعداد تصادفی، تاس‌های آشنا هستند که امروزه بسیار مورد استفاده قرار می‌گیرند. در آزمایش‌های ابتدایی و آموزشی، وابستگی قانون حرکت تاس به محیط، شرایط اولیه و عامل انسانی را می‌توان کاملاً نادیده گرفت، بنابراین می‌توان تعداد نقاط روی یک تاس را با محدودیت‌هایی تصادفی در نظر گرفت. متغیر. تاس نقش مهمی در توسعه نظریه احتمال ایفا کرد: در سال 1890، فرانسیس گالتون محقق انگلیسی روشی را برای تولید اعداد تصادفی با استفاده از تاس پیشنهاد کرد.

در دستگاه کمی پیچیده‌تر، مولد عدد دیگری است که به طور گسترده در زندگی روزمره استفاده می‌شود - درام قرعه‌کشی. این دستگاه یک طبل با توپ های شماره دار است که در حین چرخش در داخل آن مخلوط می شوند. حوزه اصلی کاربرد درام های قرعه کشی، قرعه کشی و لوتو است. به راحتی می توان حدس زد که لوتوترون برای استفاده در آزمایش های علمی جدی به دلیل درجه تصادفی و سرعت پایین عملکرد نامناسب است.

اولین مولد اعداد تصادفی که به شما امکان می دهد حجم زیادی از داده ها را بدست آورید و برای حل مسائل کاربردی مناسب است در سال 1939 اختراع شد. موریس جورج کندال و برنارد بابینگتون اسمیت دستگاهی ساختند که می توانست جدولی حاوی 100000 عدد تصادفی تولید کند. و فقط 16 سال بعد، شرکت استراتژیک آمریکایی RAND نتایج دانشگاهیان انگلیسی را 10 بار بهبود بخشید - با کمک ماشین های خاص، جدولی از یک میلیون عدد تصادفی ایجاد شد. روش جدولی برای تولید اعداد تصادفی به لطف جورج مارسالیا، که 650 مگابایت اعداد تصادفی را در سال 1996 دریافت کرد، توسعه قابل توجهی یافته است. با این حال، به دلیل محدود بودن دامنه، این روش در حال حاضر به طور گسترده پذیرفته نشده است.

ماشین هایی که اعداد تصادفی را در زمان واقعی تولید می کنند، نسبت به دستگاه هایی که جداول اعداد تصادفی را ایجاد می کنند، مزایای زیادی دارند. یکی از اولین این ماشین‌ها کامپیوتر Ferranti Mark 1 بود که در سال 1951 شامل برنامه‌ای بود که اعداد تصادفی را بر اساس جریان نویز ورودی یک مقاومت تولید می‌کرد. جالب اینجاست که ایده ایجاد چنین برنامه ای آلن تورینگ، ریاضیدان بزرگ انگلیسی بود. همچنین در زمینه تولید اعداد تصادفی، اختراع ERNIE (تجهیزات نشانگر اعداد تصادفی الکترونیکی) در سال 1957 بود که در ابتدا برای تولید اعداد برنده در بخت آزمایی بریتانیا طراحی شده بود.

اعداد شبه تصادفی

اختراع مولدهای اعداد تصادفی بدون شک روند علمی و فناوری را بسیار تسریع کرده است. با این حال، این دستگاه ها دارای یک اشکال بسیار مهم بودند که امکان استفاده از آنها را به طور قابل توجهی محدود می کرد. قبلاً در اواسط قرن بیستم، جان فون نویمان، ریاضیدان مجارستانی-آمریکایی، به نامناسب بودن مولدهای اعداد تصادفی فیزیکی در محاسبات، به دلیل عدم امکان تکرار یک آزمایش تصادفی و در نتیجه، عدم امکان بازتولید یک عدد تصادفی اشاره کرد. برای آزمایش عملکرد یک ماشین اینگونه است که جامعه علمی به اعداد شبه تصادفی نیاز داشت - اعدادی که دارای تعدادی ویژگی مهم اعداد تصادفی هستند، اما نه در نتیجه یک آزمایش تصادفی، بلکه بر اساس برخی الگوریتم ها به دست آمده اند. جان فون نویمان خود نویسنده روش "وسط مربع" شد که به شما امکان می دهد اعداد شبه تصادفی ده رقمی را در خروجی بدست آورید.

اشکال اصلی اعداد شبه تصادفی، البته عدم تصادفی بودن داده ها است که در بسیاری از زمینه های علم و زندگی بسیار مهم است. علاوه بر این، تمام مولدهای اعداد شبه تصادفی دارای خاصیت حلقه زنی هستند، یعنی از یک لحظه معین برای تکرار دنباله اعداد خروجی، بسیاری از الگوریتم ها برگشت پذیر هستند و حتی برخی دارای توزیع یک بعدی ناهموار هستند. بنابراین، در حال حاضر، این حوزه محققین زیادی را جذب می کند که به دنبال توسعه یا ایجاد مولدهای اعداد شبه تصادفی کارآمد جدید هستند.

حقایق جالب

  • طبق گفته برخی از مورخان، اولین تلاش ها برای تولید اعداد تصادفی به 3500 سال قبل از میلاد برمی گردد. به اندازه کافی عجیب، آنها با بازی تخته ای مصر باستان "Senet" مرتبط هستند که شامل حرکت دادن تراشه ها در اطراف تخته است.
  • برای مدت طولانی، نتایج سرشماری‌های جمعیت و سایر جداول داده‌ای به‌دست‌آمده به‌طور تجربی به‌عنوان منابع اعداد تصادفی برای برخی از مشکلات عملی واقعی عمل می‌کردند.
  • یک آسیب پذیری در الگوریتم های تولید اعداد شبه تصادفی در اوایل دهه 2010 توسط مدیر امنیتی سابق انجمن لاتاری چند ایالتی مورد سوء استفاده قرار گرفت. مزاحم به نرم افزاری دسترسی داشت که برای تعیین تعداد بلیت های برنده بخت آزمایی استفاده می شد و با آن می توانست چندین روز در سال ترکیب های برنده را تعیین کند. او در سال 2015 پس از برنده شدن 16.5 میلیون دلار متهم شد.
  • یک مولد اعداد شبه تصادفی نصب شده بر روی رایانه داخلی یکی از فضاپیمای آپولو یک بار باعث اختلال در حرکت آن و انحراف جدی از مسیر مورد نظر خود شد. همانطور که دانشمندان دریافتند، داده های خروجی ژنراتور مورد استفاده برای محاسبه سرعت های زاویه ای در 80٪ موارد به نیمه صفحه پایینی سقوط می کند که مطلقاً معیارهای لازم برای تصادفی بودن نتایج ژنراتور را برآورده نمی کند.

مسئله تولید اعداد تصادفی در حال حاضر یکی از مرتبط ترین و امیدوارکننده ترین مسائل در جامعه علمی است. در عین حال این موضوع بیشتر برای افرادی جالب است که از دنیای علم دور هستند. با معروف ترین الگوریتم های تولید اعداد شبه تصادفی و حوزه های استفاده از آنها آشنا شوید.

مولد شماره‌های تصادفی

مولد شماره‌های تصادفی

هر روز، میلیون‌ها نفر از خدمات تولید اعداد تصادفی آنلاین استفاده می‌کنند، اما تعداد کمی از مردم به آنچه در پشت این فرآیند نهفته است فکر می‌کنند. مولدهای اعداد تصادفی چگونه کار می کنند و آیا اصلاً این اعداد تصادفی هستند؟

نحوه بدست آوردن اعداد تصادفی

شناخته‌شده‌ترین نمونه‌های آزمایش‌ها با نتایج تصادفی که می‌توان آنها را به‌عنوان اعداد تصادفی تفسیر کرد، پرتاب کردن سکه یا تاس، به هم زدن کارت‌ها، یا کشیدن کارت از روی یک عرشه به هم ریخته است. مردم قرن هاست که از این تکنیک ها در زندگی روزمره استفاده می کنند، اما بدیهی است که چنین روش هایی برای تولید آرایه های بزرگ مناسب نیستند.

اولین تلاش‌ها برای سیستماتیک کردن فرآیند تولید اعداد تصادفی منجر به ایجاد الگوریتم‌هایی برای پر کردن جداول با اعداد تصادفی شد. با این حال، دامنه کاربرد چنین جداول نسبتاً محدود است، بنابراین جداول اعداد تصادفی به زودی جایگزین ماشین‌هایی شدند که اعداد تصادفی را در زمان واقعی تولید می‌کنند و امروزه به طور گسترده مورد استفاده قرار می‌گیرند.

مولد اعداد تصادفی و شبه تصادفی

افراد کمی می دانند، اما اکثر دستگاه های مدرن در واقع اعداد شبه تصادفی تولید می کنند. این نام دنباله ای از اعداد است که خواص آنها از بسیاری جهات شبیه به موارد تصادفی است، اما مکانیسم ساخت آنها به طور قابل توجهی متفاوت است. مولدهای اعداد تصادفی واقعی از نتایج فرآیندهای فیزیکی تصادفی کوچک در کار خود استفاده می کنند، مانند نویز حرارتی و شات، اثر فوتوالکتریک یا برخی پدیده های کوانتومی. توالی خروجی چنین مولد را نمی توان پیش بینی کرد، که مزیت اصلی مولدهای اعداد تصادفی نسبت به شبه تصادفی است. این ویژگی اعداد تصادفی در مناطقی که حفظ حریم خصوصی و امنیت داده ها مورد نیاز است، مانند رمزنگاری، بسیار مهم است.

برخلاف اعداد تصادفی واقعی، توالی‌های اعداد شبه تصادفی بر اساس برخی الگوریتم‌ها تولید می‌شوند، بنابراین قابل پیش‌بینی و ثابت هستند. نتایج مولد اعداد شبه تصادفی را می توان با وارد کردن برخی پارامترها به سیستم بهبود بخشید که وابستگی بین اعداد را پیچیده می کند، با این حال، تمام مولدهای اعداد شبه تصادفی موجود دیر یا زود حلقه می زنند و بنابراین قادر به تولید واقعی نیستند. اعداد تصادفی.

مطمئنا به دلیل پیچیدگی بالای دستگاه و هزینه مولد اعداد تصادفی، در حال حاضر توجه زیادی توسط دانشمندان به یافتن و بهینه سازی کارآمدترین الگوریتم ها برای تولید اعداد شبه تصادفی معطوف شده است. حتی «تولیدکننده‌های اعداد شبه تصادفی قوی رمزنگاری» (CSPRNGS) اختراع شده‌اند که در زمینه‌های رمزگذاری و تضمین یکپارچگی اطلاعات ارسالی استفاده می‌شوند.

جایی که از اعداد تصادفی و شبه تصادفی استفاده می شود

مولد اعداد تصادفی بخشی جدایی ناپذیر از اکثر نرم افزارهای سیستم عامل هستند. علاوه بر این، آنها برای آزمایش های آماری و شبیه سازی های عددی ضروری هستند. مولدهای اعداد تصادفی در ساخت بازی‌های رایانه‌ای پیچیده نیز مورد استفاده قرار می‌گیرند و می‌توانند قابلیت‌های هوش مصنوعی، یکی از امیدوارکننده‌ترین فناوری‌های این دهه را به میزان قابل توجهی گسترش دهند. البته اعداد تصادفی به طور گسترده در قرعه کشی ها، مسابقات و قرعه کشی ها استفاده می شود.

تولید اعداد تصادفی فرآیندی زمان‌بر و از بسیاری جهات مرموز است، اما به همین دلیل جالب‌تر است. عمیق تر در این موضوع غوطه ور شوید و مطمئن شوید که چیز جدیدی برای خود کشف می کنید.