• مولد اعداد تصادفی مولد اعداد تصادفی قرعه کشی

    • آموزش

    آیا تا به حال فکر کرده اید که Math.random() چگونه کار می کند؟ عدد تصادفی چیست و چگونه به دست می آید؟ و سوالی را در یک مصاحبه تصور کنید - مولد اعداد تصادفی خود را در چند خط کد بنویسید. و بنابراین، آن چیست، یک حادثه و آیا می توان آن را پیش بینی کرد؟

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

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

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

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

    این منبع برای جمع آوری آنتروپی و سپس بدست آوردن مقدار اولیه (مقدار اولیه، دانه) از آن استفاده می شود که برای تولید اعداد تصادفی (RNG) برای تولید اعداد تصادفی ضروری است.

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

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

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

    در حال ارائه الگوریتم PRNG خودمان هستیم

    مولد اعداد شبه تصادفی (PRNG) الگوریتمی است که دنباله ای از اعداد را تولید می کند که عناصر آن تقریباً مستقل از یکدیگر هستند و از توزیع معینی (معمولاً یکنواخت) تبعیت می کنند.
    می توانیم دنباله ای از اعداد را بگیریم و مدول عدد را از آنها بگیریم. ساده ترین مثالی که به ذهنم می رسد. ما باید به این فکر کنیم که چه دنباله ای بگیریم و ماژول از چه چیزی. اگر فقط مستقیماً از 0 به N و ماژول 2 برسد، یک مولد 1 و 0 دریافت می کنید:

    تابع* rand() (const n = 100؛ const mod = 2؛ اجازه دهید i = 0؛ while (true) (بازده i% mod؛ اگر (i++ > n) i = 0؛ )) بگذارید i = 0؛ برای (بگذارید x از rand()) (اگر (i++ > 100) شکسته شود؛ console.log(x)؛ )
    این تابع دنباله 01010101010101 را برای ما تولید می کند و حتی نمی توان آن را شبه تصادفی نامید. برای اینکه یک ژنراتور تصادفی باشد، باید تست بیت بعدی را بگذراند. اما ما چنین وظیفه ای نداریم. با این وجود، حتی بدون هیچ آزمایشی، می توانیم دنباله بعدی را پیش بینی کنیم، به این معنی که چنین الگوریتمی در پیشانی مناسب نیست، اما ما در مسیر درستی هستیم.

    اما اگر دنباله ای شناخته شده اما غیر خطی، مثلاً عدد PI را در نظر بگیریم، چه می شود. و به عنوان یک مقدار برای ماژول، ما نه 2، بلکه چیز دیگری را می گیریم. حتی می توانید به تغییر ارزش ماژول فکر کنید. دنباله ارقام در پی تصادفی در نظر گرفته می شود. ژنراتور می تواند با استفاده از pi کار کند و از نقطه ای ناشناخته شروع شود. نمونه ای از چنین الگوریتمی با توالی مبتنی بر PI و تغییر مدول:

    Const vector = [...Math.PI.toFixed(48).replace(.",""")]; تابع* rand() ( برای (بگذارید i=3؛ i<1000; i++) { if (i >99) i = 2; برای (بگذارید n=0؛ n اما در JS عدد PI فقط تا 48 کاراکتر و نه بیشتر قابل نمایش است. بنابراین، پیش‌بینی چنین دنباله‌ای همچنان آسان است و هر بار اجرای چنین ژنراتوری همیشه اعداد یکسانی را تولید می‌کند. اما ژنراتور ما قبلاً شروع به نشان دادن اعداد از 0 تا 9 کرده است.

    ما یک مولد اعداد از 0 تا 9 دریافت کردیم، اما توزیع بسیار ناهموار است و هر بار همان دنباله را ایجاد می کند.

    می‌توانیم نه عدد Pi، بلکه زمان را در نمایش عددی بگیریم و این عدد را دنباله‌ای از ارقام در نظر بگیریم و برای جلوگیری از تکرار هر بار دنباله، آن را از آخر می‌خوانیم. در مجموع، الگوریتم ما برای PRNG ما به صورت زیر خواهد بود:

    تابع* rand() ( اجازه دهید newNumVector = () => [...(+تاریخ جدید)+""].reverse(); let vector = newNumVector(); let i=2; while (true) ( اگر (i++ > 99) i = 2؛ بگذارید n=-1؛ در حالی که (++n< vector.length) yield (vector[n] % i); vector = newNumVector(); } } // TEST: let i = 0; for (let x of rand()) { if (i++ >100) شکستن؛ console.log(x))
    اکنون شبیه یک مولد اعداد شبه تصادفی است. و همان Math.random() -  یک PRNG است، کمی بعد در مورد آن صحبت خواهیم کرد. علاوه بر این، هر بار شماره اول متفاوت است.

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

    PRNG همگرا خطی

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

    Const a = 45; const c = 21; const m = 67; varseed = 2; const rand = () => seed = (a * seed + c) % m; برای (بگذارید i=0؛ i<30; i++) console.log(rand())
    بسیاری از زبان های برنامه نویسی از LCPRNG استفاده می کنند (اما نه فقط از چنین الگوریتمی (!).

    همانطور که در بالا ذکر شد، چنین توالی را می توان پیش بینی کرد. پس چرا به PRNG نیاز داریم؟ اگر در مورد امنیت صحبت کنیم، PRNG یک مشکل است. اگر در مورد وظایف دیگر صحبت کنیم، این ویژگی ها  -  می توانند یک مزیت داشته باشند. به عنوان مثال، برای جلوه‌های ویژه و انیمیشن‌های گرافیکی مختلف، ممکن است لازم باشد مرتباً به‌صورت تصادفی تماس بگیرید. و در اینجا توزیع ارزش ها و عملکرد مهم است! الگوریتم های امنیتی نمی توانند از سرعت خود ببالند.

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

    چگونه Math.random() کار می کند

    متد Math.random() یک عدد ممیز شناور شبه تصادفی را از محدوده = crypto.getRandomValues(new Uint8Array(1)) برمی گرداند. گزارش کنسول (rvalue)
    اما، برخلاف PRNG Math.random()، این روش بسیار منابع فشرده است. واقعیت این است که این ژنراتور از فراخوانی های سیستم در سیستم عامل برای دسترسی به منابع آنتروپی (آدرس خشخاش، cpu، دما و غیره ...) استفاده می کند.

    و غیره، و توسط صاحبان حساب برای جذب مخاطبان جدید به جامعه استفاده می شود.

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

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

    انتخاب

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

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

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

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

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

    آنها واقعاً هیچ کاربرد دیگری ندارند.

    نصیحت!هنگام انتخاب مناسب ترین ژنراتور، مهم است که هدف مورد استفاده را در نظر بگیرید.

    مشخصات فنی

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

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

    تمام برنامه های مورد بحث در جدول با جزئیات بیشتر در زیر توضیح داده شده است.

    مواد اولیه

    می توانید از این برنامه به صورت آنلاین با استفاده از پیوند به وب سایت رسمی آن http://randstuff.ru/number/ استفاده کنید.

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

    هم در قالب یک برنامه مستقل جداگانه در وب سایت رسمی و هم به عنوان یک برنامه کاربردی در .

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

    • کار پایدار و سریع؛
    • عدم وجود لینک مستقیم به شبکه اجتماعی؛
    • می توانید یک یا چند عدد را انتخاب کنید.
    • شما فقط می توانید از اعداد داده شده انتخاب کنید.

    نظرات کاربران در مورد این برنامه به شرح زیر است: "ما از طریق این سرویس برندگان را در گروه های VKontakte تعیین می کنیم. با تشکر از شما، "شما بهترین هستید"، "من فقط از این سرویس استفاده می کنم".

    لات بازی کن

    این برنامه یک مولد تابع ساده است که در وب سایت رسمی در قالب یک برنامه VKontakte پیاده سازی شده است.

    همچنین یک ویجت مولد برای جاسازی در سایت شما وجود دارد.

    تفاوت اصلی با برنامه توصیف شده قبلی این است که به شما امکان می دهد تکرار نتیجه را غیرفعال کنید.

    روز همگی بخیر

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

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

    مولد عنوان

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

    تولید کننده رمز عبور

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

    !№;%:?*()_+=-~/<>,.{}

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

    مولد اعداد

    شرایطی وجود دارد که شما نیاز دارید تعداد معینی از اعداد تصادفی را در حال حاضر بدست آورید. به عنوان مثال، شما باید یک بلیط قرعه کشی "5 از 36" را پر کنید، و می خواهید این کار را با اعتماد به شانس انجام دهید. یا تئوری احتمال را بررسی کنید - اگر یک سکه را 30 بار پرتاب کنید، آیا 8 معکوس می توانند پشت سر هم بیفتند (اعداد 0 و 1 کاملاً به عنوان سر / دم مناسب هستند)؟

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

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

    این نرم افزار (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 درصد از درآمد حاصل از فروش بلیت را در اختیار دارد، بخشی از وجوه (معمولاً نصف) برای تشکیل جکپات کسر می شود، مابقی پول به هزینه های سازمانی، تبلیغات و سود خالص شرکت می رسد. آمار تیراژ این ارقام را کاملا تایید می کند.

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

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

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

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

    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 را بیشتر از بقیه نشان می دهد.

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

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