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

  • شروع کننده موضوع
  • #1

mehran

کاربر فوق‌حرفه‌ای
ارسال‌ها
732
امتیاز
1,087
نام مرکز سمپاد
شهید بهشتی
شهر
نیشابور
دانشگاه
صنعتی شریف
رشته دانشگاه
علوم کامپیوتر
همه‌ی ما می‌دونیم که با فشار دادن دکمه‌ی #RAN یا #RND در ماشین حساب می‌تونیم اعداد تصادفی تولید کنیم. توابعِ از پیش طراحی شده‌ای هم در زبان‌های برنامه‌نویسی برای این کار وجود داره که با فراخوانی اون تابع، عدد تصادفی ما تولید می‌شه.
سوالی که این‌جا مطرح می‌شه اینه که این عدد تصادفی دقیقن چطور تولید می‌شه؟
آیا از یه سری فرآیندهای پیچیده‌ی الکترونیکی سرچشمه می‌گیره و یا دستورهای منطقی یا ریاضی؟
اصلن آیا الگوریتم مشخصی داره؟
یعنی ما می‌تونیم یه الگوریتم بنوسیم طوری که هر دفعه اجراش کردیم، یه عدد تصادفی ایجاد بشه؟

پ.ن: امیدوارم این یکی -مثل بقیه تاپیک‌هام- بی‌جواب نمونه! :D
 

armita

کاربر خاک‌انجمن‌خورده
ارسال‌ها
2,204
امتیاز
686
نام مرکز سمپاد
دبیرستان فرزانگان ۱
شهر
تهران
دانشگاه
شریف
رشته دانشگاه
‫علوم کامپیوتر‬‎
پاسخ : تولید اعداد تصادفی

فکر کنم از روی زمان فعلی و تاریخ بتونیم عدد تصادفی تولید کنیم !
 
  • شروع کننده موضوع
  • #3

mehran

کاربر فوق‌حرفه‌ای
ارسال‌ها
732
امتیاز
1,087
نام مرکز سمپاد
شهید بهشتی
شهر
نیشابور
دانشگاه
صنعتی شریف
رشته دانشگاه
علوم کامپیوتر
پاسخ : تولید اعداد تصادفی

خب من این بحث رو توی Science Forums, The Original مطرح کردم که راه حل‌های جالبی هم دادن؛ منتها صحبت‌هایی که این‌ها کردن از سطح دانش زبانی من فراتره! اگه کسی می‌فهمه اینا چی می‌گن، حتمن به من هم بگه!

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

Sylar

کاربر حرفه‌ای
ارسال‌ها
454
امتیاز
60
نام مرکز سمپاد
شهید اژه ای
شهر
اصفهان
پاسخ : تولید اعداد تصادفی

به نقل از مهران محمودی :
همه‌ی ما می‌دونیم که با فشار دادن دکمه‌ی #RAN یا #RND در ماشین حساب می‌تونیم اعداد تصادفی تولید کنیم. توابعِ از پیش طراحی شده‌ای هم در زبان‌های برنامه‌نویسی برای این کار وجود داره که با فراخوانی اون تابع، عدد تصادفی ما تولید می‌شه.
سوالی که این‌جا مطرح می‌شه اینه که این عدد تصادفی دقیقن چطور تولید می‌شه؟
آیا از یه سری فرآیندهای پیچیده‌ی الکترونیکی سرچشمه می‌گیره و یا دستورهای منطقی یا ریاضی؟
اصلن آیا الگوریتم مشخصی داره؟
یعنی ما می‌تونیم یه الگوریتم بنوسیم طوری که هر دفعه اجراش کردیم، یه عدد تصادفی ایجاد بشه؟

پ.ن: امیدوارم این یکی -مثل بقیه تاپیک‌هام- بی‌جواب نمونه! :D

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

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

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

حتی جالب تر هم میشه ولی دیگه حوصله ات را سر نمیبرم.

رندوم مطلق:
یعنی پدیده ای که نتیجه ی اون بر مبنای هیچ پدیده ی دیگه ای نباشه!

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

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

پس کاربرد اون رندوم ماشین حساب چیه؟
کاربردش اینه که برای کسی که در محیط متفاوت به یک پدیده تصادفی نیاز داره جوابش کافیه! و پاسخگو هم هست!
 

khoshi

کاربر حرفه‌ای
ارسال‌ها
391
امتیاز
702
نام مرکز سمپاد
حلی3
شهر
تهران
مدال المپیاد
تلاش!
پاسخ : تولید اعداد تصادفی

سوال من به این تاپیک مربوط میشه ولی دقیقا این قضیه نیست!
من میخوام تابعی داشته باشم که عدد رندوم(تصادفی) با توزیع نرمال تولید کنه
اینم نمودار ش:
350px-Normal_Distribution_PDF.svg.png

سرچ کردم ولی چیز زیادی نفهمیدم
لطفا یکی با زبون ساده (!) یه کم راهنمایی کنه(لینک انگلیسی و ویکیپدیا ندید لطفا!)
 

The Smith

کاربر فوق‌حرفه‌ای
ارسال‌ها
1,061
امتیاز
3,545
نام مرکز سمپاد
سلام ایران‌زمین
پاسخ : تولید اعداد تصادفی

من چون حرفه ـم کلا #C ـه برات کُدِش رو میزنم شما خودت با کانورتر ـا کانورت کن ! :)

کد:
Random objRandom = new Random ();
objRandom.Next(X,Y);
int intRandom = objRandom.Text(X,Y);
return intRandom ;

از کُد از محدوده ـی عددی X تا محدوده عددی Y به صورت تصادفی برات یه عدد میده بیرون
اگه int رو double یا float تعریف کنی دیگه راحت میتونی اعشاری هم بگیری ! :)

 

sjazayeri

کاربر حرفه‌ای
ارسال‌ها
472
امتیاز
590
نام مرکز سمپاد
شهید دستغیب ۱
شهر
شیراز
مدال المپیاد
برنز کامپیوتر
پاسخ : تولید اعداد تصادفی

از این کد میتونی استفاده کنی:

کد:
float box_muller(float m, float s)	/* normal random variate generator */
{				        /* mean m, standard deviation s */
	float x1, x2, w, y1;
	static flo;at y2;
	static int use_last = 0;

	if (use_last)		        /* use value from previous call */
	{
		y1 = y2;
		use_last = 0;
	}
	else
	{
		do {
			x1 = 2.0 * ranf() - 1.0;
			x2 = 2.0 * ranf() - 1.0;
			w = x1 * x1 + x2 * x2;
		} while ( w >= 1.0 );

		w = sqrt( (-2.0 * log( w ) ) / w );
		y1 = x1 * w;
		y2 = x2 * w;
		use_last = 1;
	}

	return( m + y1 * s );
}

منبع:
<a href=http://www.taygeta.com/random/gaussian.html> Generating Gaussian Random Numbers
</a>

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

khoshi

کاربر حرفه‌ای
ارسال‌ها
391
امتیاز
702
نام مرکز سمپاد
حلی3
شهر
تهران
مدال المپیاد
تلاش!
پاسخ : تولید اعداد تصادفی

به نقل از Sobhan :
من چون حرفه ـم کلا #C ـه برات کُدِش رو میزنم شما خودت با کانورتر ـا کانورت کن ! :)

کد:
Random objRandom = new Random ();
objRandom.Next(X,Y);
int intRandom = objRandom.Text(X,Y);
return intRandom ;

از کُد از محدوده ـی عددی X تا محدوده عددی Y به صورت تصادفی برات یه عدد میده بیرون
اگه int رو double یا float تعریف کنی دیگه راحت میتونی اعشاری هم بگیری ! :)

به نقل از sjazayeri :
از این کد میتونی استفاده کنی:

کد:
float box_muller(float m, float s)	/* normal random variate generator */
{				        /* mean m, standard deviation s */
	float x1, x2, w, y1;
	static flo;at y2;
	static int use_last = 0;

	if (use_last)		        /* use value from previous call */
	{
		y1 = y2;
		use_last = 0;
	}
	else
	{
		do {
			x1 = 2.0 * ranf() - 1.0;
			x2 = 2.0 * ranf() - 1.0;
			w = x1 * x1 + x2 * x2;
		} while ( w >= 1.0 );

		w = sqrt( (-2.0 * log( w ) ) / w );
		y1 = x1 * w;
		y2 = x2 * w;
		use_last = 1;
	}

	return( m + y1 * s );
}

منبع:
<a href=http://www.taygeta.com/random/gaussian.html> Generating Gaussian Random Numbers
</a>

یه راه ساده تر ولی نادقیق تر هم اینه که ۳ تا عدد رندوم رو با هم جمع کنی
تمام الگوریتم ها غلط بود! :D ولی مرسی
خودم پیدا کردم!
 

The Smith

کاربر فوق‌حرفه‌ای
ارسال‌ها
1,061
امتیاز
3,545
نام مرکز سمپاد
سلام ایران‌زمین
پاسخ : تولید اعداد تصادفی

به نقل از بچه+ :
تمام الگوریتم ها غلط بود! :D ولی مرسی
خودم پیدا کردم!
میشه بگی کجاش اشتباه بود برای من ؟
من بهت کد C#.NET دادم + Converter تا بتونی به هدفت برسی ــا

میشه بگی کجاش غلط بود ؟ + اون الگوریتمی که پیدا کردی رو بزار !
 

sjazayeri

کاربر حرفه‌ای
ارسال‌ها
472
امتیاز
590
نام مرکز سمپاد
شهید دستغیب ۱
شهر
شیراز
مدال المپیاد
برنز کامپیوتر
پاسخ : تولید اعداد تصادفی

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

The Smith

کاربر فوق‌حرفه‌ای
ارسال‌ها
1,061
امتیاز
3,545
نام مرکز سمپاد
سلام ایران‌زمین
پاسخ : تولید اعداد تصادفی

به نقل از sjazayeri :
ایشون اعداد تصادفی با توزیع نرمال میخواستن, اون کد تو اعداد تصادفی با توزیع یکنواخت تولید میکنه
با توزیع یکنواخت به چه معناست و همینطور توزیع نرمال ! :)
 

khoshi

کاربر حرفه‌ای
ارسال‌ها
391
امتیاز
702
نام مرکز سمپاد
حلی3
شهر
تهران
مدال المپیاد
تلاش!
پاسخ : تولید اعداد تصادفی

به نقل از MHD.Η :
با توزیع یکنواخت به چه معناست و همینطور توزیع نرمال ! :)
در توزیع یکنواخت احتمال انتخاب هر عدد در یک بازه با اعداد دیگه برابره
ولی تو توزیع نرمال احتما انتخاب اعداد کم یا زیاد ، کمتر از اعداد میانه ست
 

sjazayeri

کاربر حرفه‌ای
ارسال‌ها
472
امتیاز
590
نام مرکز سمپاد
شهید دستغیب ۱
شهر
شیراز
مدال المپیاد
برنز کامپیوتر
پاسخ : تولید اعداد تصادفی

به نقل از MHD.Η :
با توزیع یکنواخت به چه معناست و همینطور توزیع نرمال ! :)
توزیع یکنواخت یعنی اینکه احتمال ظاهر شدن همه اعداد یکی باشه
احتمال ظاهر شدن هر عدد توی توزیع نرمال اینجوری نیست, به اون نمودار بالای صفحه نگاه کن, اگه احتمال ظاهر شدن اعداد اونجوری باشه میگیم توزیع نرمال
 

s.pegasus

کاربر فوق‌حرفه‌ای
ارسال‌ها
825
امتیاز
3,937
نام مرکز سمپاد
علامه حلی ۲
شهر
تـهـران
دانشگاه
تهران غرب
رشته دانشگاه
معماری
پاسخ : تولید اعداد تصادفی

به نقل از مهران م. :
همه‌ی ما می‌دونیم که با فشار دادن دکمه‌ی #RAN یا #RND در ماشین حساب می‌تونیم اعداد تصادفی تولید کنیم. توابعِ از پیش طراحی شده‌ای هم در زبان‌های برنامه‌نویسی برای این کار وجود داره که با فراخوانی اون تابع، عدد تصادفی ما تولید می‌شه.
سوالی که این‌جا مطرح می‌شه اینه که این عدد تصادفی دقیقن چطور تولید می‌شه؟
آیا از یه سری فرآیندهای پیچیده‌ی الکترونیکی سرچشمه می‌گیره و یا دستورهای منطقی یا ریاضی؟
اصلن آیا الگوریتم مشخصی داره؟
یعنی ما می‌تونیم یه الگوریتم بنوسیم طوری که هر دفعه اجراش کردیم، یه عدد تصادفی ایجاد بشه؟

پ.ن: امیدوارم این یکی -مثل بقیه تاپیک‌هام- بی‌جواب نمونه! :D
فکر می کردم سطح برنامه نویسی بچه ها بالاتر باشه !
سوالی که این‌جا مطرح می‌شه اینه که این عدد تصادفی دقیقن چطور تولید می‌شه؟
خب تابع رند یه الگوریتم داره که هر عددی بهش بدی با یک سری جمع و تفریق و ... یه عدد بهت میده
و خیلی هم تصادفی نیست
مثلا اگه 10 عدد از تابع رند در یک ارایه بریزید و اونو چاپ کنید در همه اوقات شما اعداد ثابتی رو میبینید
آیا از یه سری فرآیندهای پیچیده‌ی الکترونیکی سرچشمه می‌گیره و یا دستورهای منطقی یا ریاضی؟
اصلن آیا الگوریتم مشخصی داره؟
تا اونجایی که من میدونم اعمال ریاضی هست و الگوریتم مشخص داره با توجه به چیز هایی که بالا گفتم
یعنی ما می‌تونیم یه الگوریتم بنوسیم طوری که هر دفعه اجراش کردیم، یه عدد تصادفی ایجاد بشه؟
بله میشه ولی باید وریدیش هم تغییر کنه
تابع رندی هم که خود زبان ها دارند با دادن ورودی زمان می تونن اعداد مختلف بدن همیشه مه چون این زمان فقط دقیقه و ثانیه نیست و به تاریخ هم بستگی داره معمولا تکراری نمیشه
منظورمم از تکرار اینه که اگه برنامه رو چند بار اجرا کنیم اعداد به ترتیب مثل هم نمیشن ولی امکان داره تو یک دور اجرا کردن یک عدد رو چندبار ببینید که این خودش بستگی داره به اینکه محدوده ی خروجیتون چقدر باشه که از % برای محدود کردن خروجی استفاده می کنن
 

yashar6676

کاربر نیمه‌فعال
ارسال‌ها
13
امتیاز
7
نام مرکز سمپاد
علامه حلی 6
شهر
تهران
پاسخ : تولید اعداد تصادفی

من روی این موضوع زیاد تحقیق کردم. حالا من 3 تا الگوریتم پیشنهاد میکنم:
1-روش middle square:

در ابتدا یک عدد 10 رقمی رو به عنوان اولین عدد(seed) در نظر میگیریم. مثلا 1946327854
حالا میایم و اونرو به توان 2 میرسونیم که میشه 3788192115256245316 . حالا دقیقا 10 رقم از وسط این عدد رو بر میداریم یعنی 9211525624.
خوب حالا ما 10 تا عدد رندوم داریم که دوباره میتونیم اینکارو باهاشون بکنیم!

2- استفاده از اعداد گنگ:
واضحه! مثلا از اعداد اعشاری تولید شده توسط pi/2 استفاده کنیم!

3-روش خودم برای تولید 1 و 0 رندوم:
همه ی اعداد اول بزرگتر از 2 رو یکی ازشون کم کنیم بعد تقسیم بر 2 کرده و در آخر باقیماندشونو بر 2 حساب کنیم!!!!
چند تا از این اعداد: 1011001101001101
امیدوارم به جوابت رسیده باشی :)
 

maziar

مازیمون
ارسال‌ها
1,962
امتیاز
6,833
نام مرکز سمپاد
علامه حلی
شهر
تهران، استانبول، کوالالامپور، اُسلو!
دانشگاه
Universitetet i Oslo
رشته دانشگاه
ریاضی، CS، نانو الکترونیک
پاسخ : تولید اعداد تصادفی

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

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

اول یه مساله برایه حل شدن باید این سه شرط رو داشته باشه :
1. تعداد ورودی های لازم برای حل مساله باید متناهی باشه
2. باید بشه حلش کرد و بشه جوابه تولید شده رو ثابت کرد.
3. تعداد خروجی ها باید متنهایی باشه.

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

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

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

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

و این مبحث در رمز گذاری کردن به روش هایی خاص خیلی اهمیت داره.
 

fani

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

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

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

اول یه مساله برایه حل شدن باید این سه شرط رو داشته باشه :
1. تعداد ورودی های لازم برای حل مساله باید متناهی باشه
2. باید بشه حلش کرد و بشه جوابه تولید شده رو ثابت کرد.
3. تعداد خروجی ها باید متنهایی باشه.

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

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

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

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

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

amparisay

کاربر فوق‌حرفه‌ای
ارسال‌ها
928
امتیاز
4,431
نام مرکز سمپاد
علامه حلی
شهر
تهران
سال فارغ التحصیلی
1386
مدال المپیاد
ندارم
دانشگاه
علم و صنعت
رشته دانشگاه
برق
تلگرام
اینستاگرام
پاسخ : تولید اعداد تصادفی

خیلی از سی پی یو ها از زمان عدد رندم پیدا می کنن. شما اگه زمان رو بر اساس هزارم ثانیه نسبت به یه مبدا محاسبه کنید، بعد مثلا 4 رقم از عددتون رو چاپ کنید، چون خیلی از سرعت عادی انسان ها بیشتره، ما به نظرمون رندم میاد.
خیلی از موجودات وجود دارن که به صورت سخت افزاری عدد رندم تولید می کنن. این عبارت رو یه سرچ بزنین چیزای خوبی گیرتون میاد : PUF (Physical Unclonable Function. البته توی کامپیوتر بهش دسترسی نداریم.
 
ارسال‌ها
687
امتیاز
915
نام مرکز سمپاد
راهنمایی حلی 2 - دبیرستان حلی10
شهر
تهران
سال فارغ التحصیلی
1397
دانشگاه
Shahed Uni
رشته دانشگاه
Computer Science
تلگرام
اینستاگرام
پاسخ : تولید اعداد تصادفی

عدد رندوم زمانیست که از پایان جنگ جهانی دوم گذشته که به ثانیه هم است یکی اینه یکی هم همون سی پی یو که دوست عزیزمون اشاره کرد
 

siak001`

کاربر جدید
ارسال‌ها
1
امتیاز
0
نام مرکز سمپاد
سمپاد چی هست؟
شهر
تهران
سال فارغ التحصیلی
99
سلام به همه.
من با دانش محدود خودم میخوام به سوالتون جواب بدم...میدونم خیلی محدوده ولی شما قبول کنید.
ببینید اول باید به دوتا مفهوم اشراف داشته باشیم:
1-عدد تصادفی 2-رقم تصادفی
عدد تصادفی یه عددی هست که بین صفر و یک تولید میشه بوسیله یه سری اعمال ریاضی...چندتا روش هست سرفصل میدم خودتون سرچ کنید مثلا مولد همنهشتی مرکب یا مولد همنهشتی فیبوناچی...
حلا میرسیم به رقم تصادفی
اعداد تصادفی که از تابع توزیع احتمال خاصی مثل تابع توزیع احتمال نرمال یا تابع توزیع احتمال برنولی و ... تبعیت کنند رو رقم تصادفی میگن(مربوط میشه به علم آمار)...در جواب به یکی از دوستان که سوالی در رابطه با نمودار داشتن فکر کنم آقای مازیار بودن...
این مطالبی که گفتم خدمتتون خیلی از جاها که تصورش رو هم نمیکنید کاربرد دارن اگه اطلاعات بیشتری خواستید من در خدمتم
 
بالا