PDA

View Full Version : Random



delphi77
یک شنبه 24 آبان 1383, 03:03 صبح
سلام به شما دوستان جوینده دانش

من به دنبال یک الگوریتم برای شبیه سازی تابه random هستم
sos 4 learn

Marine
شنبه 30 آبان 1383, 05:26 صبح
اقا اگه کسی چیزی میدونه به ما هم بگه که لازم داریم شدید !! :گیج:

Developer Programmer
شنبه 30 آبان 1383, 10:29 صبح
عزیزم توی دلفی این امکان هست که وقتی روی یه تابع بایستی و ctrl رو پایین نگه داری اون تابع مثل لینک میشه حالا کافیه روش کلیک کنی تا به متن تابع وارد بشه... اینطوری شاید بدونی دلفی این تابع رو چطور تعریف کرده
تا اونجایی که من میدونم تابع random از ثانیه سیستم واسه تولید اعداد تصادفی استفاده میکنه :embr:

seyedof
یک شنبه 01 آذر 1383, 19:56 عصر
سلام
تولید اعداد تصادفی یا شبه تصادفی (psuedo random) یکی از مسایل مهم علم کامپیوتر است. چند تا روش و الگوریتم مشهور هم داره که با جستجو توی گوگل میتونین مقالات و سورس کدهای زیادی پیدا کنید. بیشتر این روشها در واقع متناوب هستند یعنی یک دنباله دارای دوره تناوب خیلی بالا تولید میکنند ضمنا هر چه تصادفیتر باشن سرعتشون کمتره.

ممنون علی

delphi77
دوشنبه 02 آذر 1383, 14:17 عصر
درود بر همه دوستان جوینده دانش
از اینکه موضوع اینجانب را می خوانید سپاس گزارم


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

MiRHaDi
سه شنبه 03 آذر 1383, 05:35 صبح
سلام
جواب با توضیحات کامل و ... نشوتم بازم نیومد :(
یه چیزی همینجوری برای مینویسم یه نگاش بکن اگه به کارت نیومد بگو تا مفصل دوباره بگم


function randnum(range,base : integer):integer;
begin
result := ((base*159785)+max(range,base*45)) div tange + 1;
end;

بای

Marine
سه شنبه 03 آذر 1383, 17:14 عصر
درود

من که چیزی پیدا نکردم !

اگر امکانش هست یکی از دوستان لطغ کنه و الگوریتمش رو همینجا قرار بده

سپاسگزارم

MiRHaDi
چهارشنبه 04 آذر 1383, 22:31 عصر
سلام
بابا نوشتم که
بای

Marine
چهارشنبه 04 آذر 1383, 23:06 عصر
گرامی
من از کد شما سر در نیاوردم ، ممکنه کد رو توضیح بدی ؟
در ضمن اون مکس رو هم از من ارور گرفت !

MiRHaDi
یک شنبه 08 آذر 1383, 01:10 صبح
سلام

Uses Math
رو اضافه کن تا Error نگیره
تابع Random خواستی دیگه ! توضیح چی میخوای ؟ Random عدد میده ! یعنی عدد هایی که ربطی به هم به ظاهر ندارند
حالا Base رو هر دفعه یه چیزی بدی تکراری نمیشه !‌مثلا برای صدا کردنش از Time سیستم استفاده کن
البته اگه Random کامل رو بخوای یک متغیر داره که دفعه چندم است که فراخوانی میشه و ... ! بگو در چه حدی لازم داری تا توضیح بدم
بای

Marine
دوشنبه 09 آذر 1383, 00:26 صبح
درود

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

گرامیان اگر کسی اطلاعی در این زمینه دارد این حقیر را بی نصیب نگذارد .

عرض ادب و احترام

MSK
سه شنبه 10 آذر 1383, 20:31 عصر
Function Random(r:LongWord):LongWord;
Begin
Random:=GetTickCount mod r;
End;
:موفق:

MSK
سه شنبه 10 آذر 1383, 20:35 عصر
دلفی از این الگوریتم استفاده میکنه یعنی باقی مانده تایمر سیستم را بر رنج داده شده بر می گردونه.

Marine
سه شنبه 10 آذر 1383, 22:57 عصر
درود :flower:

دوست عزیز بسیار سپاسگزارم

ولی فکر نمیکنم این روش مورد استفاده تابع رندم باشد !
با استفاده از تابع بالا هر بار عددی متفاوت به عنوان جواب بدست می آید ولی درتابع رندم اگه از Randomize استفاده نکینیم نتیجه همیشه یکسان است !


امتحان کنید

MiRHaDi
چهارشنبه 11 آذر 1383, 08:45 صبح
سلام
این روش درست نیست !
اگه به صورت الگوریتمی میخوای خیلی خلاصه میگم خودت بگیر برو !
چند عدد اول در هم ضرب میشند بعد با ضریبی از اینکه دفعه چندم است که تابع فراخوانی شده جمع میشه بعد باقیماندش بر رنج گرفته میشه
بای

B-Vedadian
چهارشنبه 11 آذر 1383, 09:46 صبح
سلام،

روش Time mod r درست نیست.

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


Σrandom(t)*random(t-k) for t from 0 to infinity

برای هر عدد صحیح k<>0 برابر صفر باشه.

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

ممنون.

Marine
چهارشنبه 11 آذر 1383, 17:26 عصر
درود میرهادی گرامی

ممکنه کمی واضح تر توضیح بدید ؟ :flower:

phantasm
پنج شنبه 12 آذر 1383, 01:48 صبح
How does a random digital system work? (http://www.madsci.org/posts/archives/1998-05/891878384.Cs.r.html)

delphi77
پنج شنبه 12 آذر 1383, 17:31 عصر
درود بر همه شما جویندگان دانش
از توجه شما نسبت به این موضوع سپاس گزارم

لطفا یک توضیح کاملتر بفرمائید؟
------------------------------------------------------------------------------------------------
من تاج نمی خواهم من تخت نمی خواهم
در خدمتت افتادن بر روی زمین خواهم