ماشین‌حساب‌های ریاضی
تولید کننده عدد تصادفی


تولید کننده عدد تصادفی

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

اعداد تصادفی

39, 67, 34, 23, 58, 21, 45, 87, 12, 98, 12, 14, 16, 54, 90, 91, 12, 32, 52, 64, 83, 74, 28

در محاسبه شما خطایی رخ داد.

فهرست مطالب

  1. تولید کننده عدد تصادفی ابتدایی
  2. تولید کننده عدد تصادفی پیشرفته
  3. تعریف تولید کننده عدد تصادفی
  4. مشکلاتی که تولید کننده عدد تصادفی حل می‌کند
  5. چه زمانی از تولید کننده عدد تصادفی استفاده کنیم
  6. تاریخچه تولید کننده عدد تصادفی

تولید کننده عدد تصادفی

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

تولید کننده عدد تصادفی ابتدایی

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

به عنوان مثال، اگر می‌خواهید عدد تصادفی بین 1 تا 10 داشته باشید، محدوده شما 1 – 10 خواهد بود. برای وارد کردن این در ماشین حساب، یک را به عنوان حد پایین و ده را به عنوان حد بالا وارد کنید.

تولید کننده عدد تصادفی پیشرفته

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

شما همچنین گزینه تولید اعداد صحیح یا اعشاری را دارید. اعداد صحیح همان اعداد کامل هستند، مانند 1، 2، و 3. اعداد اعشاری اعدادی هستند که با یک جداکننده اعشار (نقطه یا ویرگول) جدا شده‌اند و معمولا به این شکل به نظر می‌رسند: 1.02؛ 2.12؛ 3.33 و غیره.

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

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

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

تعریف تولید کننده عدد تصادفی

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

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

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

مشکلاتی که تولید کننده عدد تصادفی حل می‌کند

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

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

یک شبیه‌سازی ممکن است از تولید کننده عدد تصادفی برای تولید اعداد تصادفی برای استفاده در محاسبات خود استفاده کند. برنامه‌های امنیتی ممکن است از تولید کننده‌های عدد تصادفی برای تولید رمزهای عبور یکبار مصرف یا کلیدهای رمزنگاری استفاده کنند.

چه زمانی از تولید کننده عدد تصادفی استفاده کنیم

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

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

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

  • می‌خواهید حس شانس را در بازی یا برنامه خود ایجاد کنید.
  • نیاز به تولید اعدادی دارید که حدس زدن آن‌ها سخت باشد.
  • با جمعیتی کار می‌کنید که بیش از حد بزرگ است تا بتوان آن را به طور کامل شمارش کرد.

تاریخچه تولید کننده عدد تصادفی

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

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

مثلا، تاس در زمان‌های باستان نسبت به آنچه امروزه می‌شناسیم، اشکال و اندازه‌های مختلفی داشت. باستان‌شناسان تاس‌هایی ساخته شده از مواد مختلف مانند چوب، صدف، استخوان و تاس‌هایی با تنها 2 یا 3 ضلع را کشف کردند. قدیمی‌ترین تاس‌های مکعبی شناخته شده از دره ایندوس حدود 2500 قبل از میلاد می‌آیند.

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

یک دستگاه مشابه دیگر، ERNIE، که در دهه 1940 در پارک معروف بلچلی ساخته شد، برای تولید اعداد تصادفی در قرعه‌کشی اوراق قرضه پرمیوم بریتانیا استفاده شد. بعدا، یک فیلم مستند با عنوان "اهمیت بودن E.R.N.I.E." در مورد این تولید کننده عدد تصادفی ساخته شد تا شبهاتی در مورد بی‌صداقتی و غیر تصادفی بودن اصل عملیات آن را برطرف کند.

جان فون نویمان در سال 1955 تولید کننده عدد تصادفی را بیشتر توسعه داد. او "روش میانه-مربع"، یک فرایند برای تولید اعداد تصادفی استفاده شده در شبیه‌سازی و مدل‌سازی، را ایجاد کرد.

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

برخی از زبان‌های برنامه‌نویسی کامپیوتر هنوز از روش جان فون نویمان استفاده می‌کنند.

در سال 1999، اینتل یک تولید کننده عدد تصادفی سخت‌افزاری را به چیپست i810 اضافه کرد. این پیاده‌سازی اعداد واقعا تصادفی را بر اساس نویز دما تولید می‌کرد، اما به سرعت تولید کننده‌های عدد تصادفی نرم‌افزاری کار نمی‌کرد. در سال 2012، اینتل دستورالعمل‌های RDRAND و RDSEED را به تراشه‌های خود اضافه کرد تا اعداد واقعا تصادفی را بر اساس همان نوسانات دما تولید کند، اما این بار با سرعت‌های تا 500 مگابیت بر ثانیه.

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