تولید اعداد تصادفی
تولید اعداد تصادفی
توجه: این صفحه صرفا به صورت عمومی درباره الگوریتم های شبیه ساز تولید اعداد تصادفی یا random number generator algorithms می باشد. اگر نیاز به دانستنی های مرتبط با این موضوع در علوم کامپیوتری دارید، به این صفحه مراجعه نمایید : Pseudorandom generator .
یک random number generator (RNG) دستگاه یا تابع یا تولید کنندهای است که یک یا یک سری اعداد را به صورت تصادفی تولید میکند.
در ساده ترین مثال ممکن، با استفاده از تاس یک عدد از بین یک تا شش انتخاب شده و یا یک عدد ده رقمی با کنار هم قرار دادن نتیجه ده پرتاب، تولید میشود. این یک عدد رندوم است. مثلا 2561421121.
می توان به جای تاس از هر وسیله ای دیگری که نمایانگر نوعی عدد باشد (مانند سکه) نیز استفاده کرد.
این روش hardware random-number generators (HRNG) نام دارد. اعداد تولید شده در این روش تصادفی هستند و به هیچ روش منطقی نمی توان نتیجه را پیش بینی کرد.
در کامپیوتر ها همه محاسبات بر مبنای منطق و صفر و یک می باشد بنابراین یک کامپیوتر توانایی ساخت یک عدد تصادفی حقیقی را ندارد؛ از این رو، کامپیوتر ها از توابع شبیه ساز اعداد تصادفی استفاده می کنند. به این مدل از توابع تصادفی pseudo-random number generators (PRNG) گفته میشود. این تولید کننده ها الگوی مشخصی دارند و با استفاده از ترکیب مواردی مختلف اعداد تصادفی را تولید و در کنار همدیگر قرار می دهند.
به دلیل ماهیت اعداد تصادفی ( که از ناآگاهی در مورد عوامل ایجاد کننده آن منشا می گیرد)، می توان با دسترسی به پارامتر ها و عوامل موثر در ایجاد یک عدد مشخص، آن عدد را مجددا تولید کرد. با این حال الگوریتم و روش تولید این اعداد و نیز پارامتر های موثر به راحتی قابل تشخیص نیستند.
نمونه ای از توابع شبه تصادفی، تابعی که با استفاده از زمان و تعدادی عملگر، یک دنباله اعداد را تولید می کند و به خروجی می فرستد. اگر دوباره از تابع دنباله ی اعداد تصادفی را بخواهیم، به علت تغییر زمان، خروجی متفاوت خواهد بود. اگر دوباره همان زمان اولیه را با همان الگوریتم به تابع دهیم، هر چند بار که تابع را فراخوانی کنیم، اعداد یکسانی را تولید خواهد کرد.
متد ها و روشهای زیادی برای بدست آوردن دنباله ی اعداد تصادفی وجود دارد. هر چند در مورد توابع شبه تصادفی بررسی های فراوانی نمایانگر غیر قابل پیشبینی بودن این اعداد هستند؛ با این وجود از این متد ها در حوزه کریپتوکارنسی استفاده نمیشود. برای این منظور cryptographically secure pseudo-random number generators (CSPRNG) تولید شده اند که برای تولید اعداد تصادفی که به عنوان کلید اختصاصی در این حوزه شناخته می شوند، استفاده می شود.
ورودی های تابع RAND در اکسل
این تابع هیچگونه ورودی ندارد و همواره یک عدد تصادفی بین ۰ تا ۱ تولید مینماید و به صورت زیر نوشته میشود.
=Rand()
باید دقت نمود که با وجود آنکه تابع Rand هیچگونه ورودی دریافت نمیکند، حتما باید در انتهای آن پرانتز باز و بسته شود.
مشکل اصلی تابع RAND آن است که با وارد کردن اطلاعات در سلولهای دیگر و RE-Calculate شدن اکسل، توابع تصادفی جدیدی ایجاد میگردد که به منظور جلوگیری از این کار میتوان، بعد از تولید عدد تصادفی، مقدار آن را جایگزین فرمول آن نمود.
در صورتی که بخواهیم در اکسل عدد تصادفی صحیح در محدوده خاص تعریف نماییم، از تابع Randbetween استفاده می کنیم.
درباره آکادمی تراشه
تیم تولید محتوا آکادمی تراشه به منظور بهبود در امر پشتیبانی آنلاین هنرجویان دوره های مختلف ایجاد شد
نوشتههای بیشتر از آکادمی تراشه
دیدگاهتان را بنویسید