• مولد اعداد اعشاری تصادفی آنلاین. نام آنلاین، رمز عبور و تولید کننده اعداد تصادفی

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

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

    اگر می خواهید شانس خود را در یکی از قرعه کشی های محبوب امتحان کنید (4 از 20، 5 از 36، 6 از 45)، اما نمی دانید کدام اعداد می توانند شانس برنده شدن شما را افزایش دهند، ما می توانیم کمک کنیم. در ادامه توجه شما را جلب می کنیم نمای کلی از TOP 5 کاربردی ترین، اما در عین حال مولدهای بخت آزمایی با کاربری آسان با بسیاری از ویژگی ها و قابلیت های اضافی.

    ابتدا معیارهای اصلی لیست فوق را تحلیل می کنیم.:

    TOP 1 - مولد شماره GSgen.RU


    شرح: نرم افزار تعبیه شده در زبان برنامه نویسی جاوا اسکریپت پیاده سازی شده و یک اعداد شبه تصادفی است. اعداد تصادفی را به طور مساوی توزیع می کند، در نتیجه ادراک ذهنی بازیکنان را حذف می کند، که بر انتخاب دستی تأثیر می گذارد.

    مزایای: اسکریپت RNG به شما امکان می دهد اعداد خوش شانس را برای Gosloto (و نه تنها) از تغییرات مختلف از حالت های از پیش تعیین شده انتخاب کنید. امکان تنظیمات فردی برای انواع دیگر قرعه کشی ها وجود دارد. برای استفاده رایگان در دسترس است.

    ایرادات: نمی توان شماره های حذفی را وارد کرد که دیدن آنها مطلوب نیست، نمی توانید چندین ترکیب را به طور همزمان دریافت کنید و یک پیوند به نتیجه نهایی دریافت کنید.

    TOP 2 - Generator Soft-Arhiv


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

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

    TOP 3 - RNG: Calculator888


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

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

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

    مولدهای اعداد بر اساس قرعه کشی های گذشته

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

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

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

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

    TOP 4 - RNG با تیراژ: Fortunablog


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

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

    تاپ 5 - مولد قرعه کشی بر اساس تیراژ: Igraivloto


    شرح: سرویس ارائه شده به شما امکان می دهد ترکیبی از محتمل ترین ترکیب های برنده را دریافت کنید. اصل عملکرد مشابه گزینه های قبلی در نظر گرفته شده است، به استثنای نقاط خاصی از عملکرد.

    مزایای: اسکریپتی آماده برای صدور پیش بینی قرعه کشی Gosloto 6 از 45 می باشد که نیاز به انتخاب قرعه کشی مورد نیاز را بی نیاز می کند. خود را به عنوان سایتی قرار می دهد که روی الگوریتم ها و فیلترهای خاصی کار می کند که محتمل ترین پیش بینی ها را بر اساس اجراها ایجاد می کند. به شما امکان می دهد چندین نتیجه را همزمان دریافت کنید و پیوندی به نتیجه را به اشتراک بگذارید.

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

    نتیجه

    استفاده یا عدم استفاده از خدمات در نظر گرفته شده به عهده شماست. از یک طرف، استفاده از چنین سایت‌هایی می‌تواند به شما در انتخاب ترکیب‌های خاصی کمک کند و شما را از یک انتخاب دشوار رها کند، زیرا برای مثال، برای کشیدن 5 از 36، مطلقاً هر ترکیبی که توسط خود بازیکن ایجاد یا به صورت دستی انتخاب شده باشد، احتمال برنده شدن 1 تا 376992 را دارد.

    جدولی که احتمال برنده شدن در قرعه کشی را نشان می دهد:


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

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

    اعداد تصادفی برای بلیط های بخت آزمایی آنلاین

    این نرم افزار (PRNG در JS) یک اعداد شبه تصادفی است که با قابلیت های زبان برنامه نویسی جاوا اسکریپت پیاده سازی شده است. مولد توزیع یکنواختی از اعداد تصادفی را تولید می کند.

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

    ابزار رایگان به بازیکنان کمک می کند تا اعداد تصادفی را برای قرعه کشی انتخاب کنند. اسکریپت تولید کننده اعداد تصادفی دارای مجموعه ای از حالت های از پیش تعیین شده برای Gosloto 5 از 36، 6 از 45، 7 از 49، 4 از 20، Sportloto 6 از 49 است. می توانید یک حالت تولید اعداد تصادفی را با تنظیمات رایگان برای سایر گزینه های قرعه کشی انتخاب کنید.

    پیش بینی برنده شدن در قرعه کشی

    یک مولد اعداد تصادفی با توزیع یکنواخت می تواند به عنوان فال برای قرعه کشی عمل کند، با این حال، احتمال تحقق پیش بینی کم است. اما با این حال، استفاده از یک مولد اعداد تصادفی در مقایسه با بسیاری از استراتژی‌های دیگر بازی‌های بخت‌آزمایی شانس خوبی برای برنده شدن دارد و علاوه بر این، شما را از رنج انتخاب اعداد و ترکیب‌های خوش شانس رها می‌کند. به نوبه خود، من به شما توصیه نمی کنم که تسلیم وسوسه شوید و پیش بینی های پولی بخرید، بهتر است این پول را صرف یک کتاب درسی ترکیبی کنید. شما می توانید چیزهای جالب زیادی از آن یاد بگیرید، به عنوان مثال، احتمال برنده شدن جکپات در Gosloto 5 از 36 است. 1 به 376 992 . و احتمال کسب حداقل جایزه با حدس زدن 2 عدد است 1 به 8 . پیش‌بینی مبتنی بر RNG ما دارای همان احتمالات برنده است.

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

    اغلب صحبت می شود که برگزار کنندگان قرعه کشی نتایج را تقلب می کنند. اما در واقع، این معنی ندارد، حتی، برعکس، اگر شرکت های قرعه کشی بر نتایج قرعه کشی تأثیر بگذارند، می توان یک استراتژی برنده پیدا کرد، اما تاکنون هیچ کس موفق نشده است. بنابراین، برای برگزارکنندگان قرعه کشی بسیار سودمند است که توپ ها با احتمال یکسانی از بین بروند. ضمنا، بازده تخمینی بخت آزمایی 5 از 36 34.7 درصد است. بدین ترتیب شرکت قرعه کشی 65.3 درصد از درآمد حاصل از فروش بلیت را در اختیار دارد، بخشی از وجوه (معمولاً نصف) برای تشکیل جکپات کسر می شود، مابقی پول به هزینه های سازمانی، تبلیغات و سود خالص شرکت می رسد. آمار تیراژ این ارقام را کاملا تایید می کند.

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

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

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

    مزایای روش

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

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

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

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

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

    بسیاری از پردازنده های مدرن حاوی PRNG هستند، مانند RdRand. به عنوان یک جایگزین، مجموعه ای از اعداد تصادفی ایجاد و در یک صفحه یک بار مصرف (فرهنگ لغت) منتشر می شود. منبع اعداد در این مورد محدود است و امنیت کامل شبکه را تامین نمی کند.

    تاریخچه PRNG

    نمونه اولیه مولد اعداد تصادفی را می توان بازی تخته ای Senet در نظر گرفت که در مصر باستان در 3500 سال قبل از میلاد رایج بود. طبق شرایط، دو بازیکن شرکت کردند، حرکات با پرتاب چهار چوب مسطح سیاه و سفید مشخص شد - آنها مانند یک PRNG آن زمان بودند. چوب ها همزمان پرتاب شدند و امتیازها شمارش شد: اگر یکی با طرف سفید افتاد، 1 امتیاز و یک حرکت اضافی، دو عدد سفید - دو امتیاز و غیره. حداکثر نتیجه پنج امتیاز توسط بازیکنی که چهار چوب را با طرف سیاه پرتاب کرد دریافت کرد.

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

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

    ما دنباله ای از اعداد داریم که از عناصر تقریباً مستقلی تشکیل شده است که از توزیع معینی تبعیت می کنند. معمولاً به طور مساوی توزیع می شود.

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

    تابع اعداد تصادفی در اکسل

    1. تابع RAND یک عدد واقعی تصادفی یکنواخت توزیع شده را برمی گرداند. کمتر از 1، بزرگتر یا مساوی 0 خواهد بود.
    2. تابع RANDBETWEEN یک عدد صحیح تصادفی برمی گرداند.

    بیایید با مثال به کاربرد آنها نگاه کنیم.

    انتخاب اعداد تصادفی با RAND

    این تابع به هیچ آرگومان نیاز ندارد (RAND()).

    برای تولید یک عدد واقعی تصادفی بین 1 و 5، برای مثال، از فرمول زیر استفاده کنید: =RAND()*(5-1)+1.

    عدد تصادفی برگشتی به طور مساوی در بازه زمانی توزیع می شود.

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

    1. روی سلولی با یک عدد تصادفی کلیک می کنیم.
    2. فرمول را در نوار فرمول برجسته کنید.
    3. F9 را فشار دهید. و وارد کنید.

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


    محدوده مقادیر عمودی فرکانس است. افقی - "جیب".

    

    تابع RANDBETWEEN

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

    مثالی از استفاده از تابع:

    اعداد تصادفی با دقت 0.1 و 0.01:

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

    بیایید یک مولد اعداد تصادفی با تولید یک مقدار از یک محدوده خاص بسازیم. ما از فرمولی مانند: =INDEX(A1:A10;INTEGER(RAND()*10)+1 استفاده می کنیم.

    بیایید یک مولد اعداد تصادفی در محدوده 0 تا 100 با گام 10 بسازیم.

    از لیست مقادیر متنی، باید 2 مورد تصادفی را انتخاب کنید. با استفاده از تابع RAND، مقادیر متن را در محدوده A1:A7 با اعداد تصادفی مقایسه می کنیم.

    بیایید از تابع INDEX برای انتخاب دو مقدار متن تصادفی از لیست اصلی استفاده کنیم.

    برای انتخاب یک مقدار تصادفی از لیست، فرمول زیر را اعمال کنید: =INDEX(A1:A7,RANDBETWEEN(1,COUNT(A1:A7))).

    مولد اعداد تصادفی توزیع عادی

    توابع RAND و RANDBETWEEN اعداد تصادفی را با یک توزیع واحد تولید می کنند. هر مقدار با احتمال یکسان می تواند در حد پایینی محدوده درخواستی و در حد بالایی قرار گیرد. به نظر می رسد یک اسپرد عظیم از ارزش هدف.

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

    هزینه کالا X 100 روبل است. کل دسته تولید شده در معرض توزیع نرمال است. متغیر تصادفی نیز از توزیع احتمال نرمال پیروی می کند.

    در چنین شرایطی، مقدار متوسط ​​محدوده 100 روبل است. بیایید یک آرایه ایجاد کنیم و یک نمودار با توزیع نرمال با انحراف استاندارد 1.5 روبل بسازیم.

    ما از تابع: =NORMINV(RAND();100;1.5) استفاده می کنیم.

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

    بیایید به نقشه کشیدن برویم. ابتدا باید یک جدول با دسته ها ایجاد کنید. برای انجام این کار، آرایه را به دوره های زیر تقسیم می کنیم:

    بر اساس داده های به دست آمده می توانیم نموداری با توزیع نرمال تشکیل دهیم. محور ارزش تعداد متغیرها در بازه است، محور دسته دوره ها است.

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

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

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

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

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

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

    بیایید این ایده را آزمایش کنیم و ببینیم که ما را به کجا می برد.

    تابع اعوجاج یک مقدار را می گیرد و مقدار دیگری را برمی گرداند. اسمش را بگذاریم R.

    R(ورودی) -> خروجی

    اگر مقدار دانه ما 1 باشد، R یک سری از 1، 2، 3، 4، ... ایجاد می کند که اصلا تصادفی به نظر نمی رسد، اما به آن خواهیم رسید. حالا اجازه دهید R به جای 1 یک ثابت اضافه کند.

    R(x) = x + c

    اگر c مساوی باشد، برای مثال، 7، آنگاه یک سری از 1، 8، 15، 22، ... هنوز درست نیست. بدیهی است که چیزی که ما از دست می دهیم این است که اعداد نه تنها نباید افزایش یابد، بلکه باید در محدوده ای پراکنده شوند. ما می خواهیم دنباله ما به ابتدا برگردد - دایره ای از اعداد!

    دایره اعداد

    بیایید به صفحه ساعت نگاه کنیم: سری ما از 1 شروع می شود و به 12 می رسد. اما از آنجایی که ما با کامپیوتر کار می کنیم، به جای 12، 0 را قرار دهیم.

    حالا با شروع از 1، دوباره 7 را اضافه می کنیم. پیشرفت! می بینیم که بعد از 12 سریال ما شروع به تکرار می کند، مهم نیست از چه عددی شروع کنیم.

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

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

    R(x) = (x + c) % m

    R (x) = (x + c)% m

    در این مرحله، ممکن است متوجه شوید که برخی از اعداد برای c مناسب نیستند. اگر c=4 باشد و با 1 شروع کنیم، دنباله ما 1، 5، 9، 1، 5، 9، 1، 5، 9، ... خواهد بود که البته برای ما مناسب نیست، زیرا این دنباله مطلقاً تصادفی نیست. مشخص می شود که اعدادی که برای طول چرخه و طول پرش انتخاب می کنیم باید به شکل خاصی مرتبط باشند.

    اگر چندین مقدار مختلف را امتحان کنید، می توانید یک ویژگی را ببینید: m و c باید coprime باشند.

    تا اینجا ما با جمع پرش کرده ایم، اما اگر از ضرب استفاده کنیم چه؟ بیایید ضرب کنیم ایکسبه یک ثابت آ.

    R(x) = (ax + c) % m

    R (x) = (ax + c)% m

    ویژگی هایی که برای تشکیل یک چرخه کامل باید رعایت شود کمی مشخص تر است. برای ایجاد یک حلقه معتبر:

    1. (a - 1) باید بر همه عوامل اول m بخش پذیر باشد
    2. (a - 1) باید بر 4 بخش پذیر باشد اگر m بر 4 بخش پذیر باشد

    این ویژگی ها همراه با قاعده ای که m و c باید همزمان باشند، قضیه هال-دوبل را تشکیل می دهند. ما وارد اثبات آن نمی‌شویم، اما اگر مقدارهای مختلف را برای ثابت‌های مختلف در نظر بگیرید، می‌توانید به یک نتیجه برسید.

    انتخاب بذر

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

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

    نتیجه نهایی

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