Logo

רד-בורד: ארכיון

ראשי > תיכנות > class math.random

22/03/2009 20:24:40 orero
הייתי רוצה לדעת איך בנויה המחלקה math.random
אני מתכנת בC#,מסתפק באלגוריטם כללי

(וגיגלתי...כנראה לא טוב מספיק)
24/03/2009 23:25:35 devil kide
לאמכיר C#, אבל תדע שאין רנדומליות במחשב.
לכן, הדבר הקרוב ביותר לאקראי זה השעון.
בזמן שאתה מריץ את ה]פונקציה, המעבד מריץ אלגוריתם מסויים שיוצר מספרים על פי השעון.
27/03/2009 23:08:35 orero
שעון? מהיא הכוונה על פי שעון? אם הבנתי נכון אז זה די בעיתי,קח פוקר כדוגמה,הפונקציה מחזירה מספר רנדומלי ביחס סטטיסטי שווה לכל קלף,הרי מחשב בעל מהירות מעבד מסוימת יגיע לאותו טווח מספרים מסוים בהתאם להגדרת האלגוריטם...
זאת אומרת שבהנחה שהייתה יודע את האלגורתם ומהירות המעבד יכולתה להתחקות אחר רצף המספרים הבאים בתור?

קיצר אני מת לדעת איך זה פועל בתכלס
אולי שווה לי לחפש אלגוריטם באסמבלי?

אם זה באמת היה כל כך פשוט אז מדוע אי אפשר היה למצוא רצף מסוים בעזרת המספרים מהפלט עצמו?
28/03/2009 23:29:52 Debug
קרא את זה:
http://he.wikipedia.org/wiki/%D7%9E%D7%97%D7%95%D7%9C%D7%9C_%D7%A4%D7%A1%D7%91%D7%93%D7%95_%D7%90%D7%A7%D7%A8%D7%90%D7%99
וזה:
http://en.wikipedia.org/wiki/Linear_congruential_generator
31/03/2009 21:36:39 cp77fk4r
ציטוט:
זאת אומרת שבהנחה שהייתה יודע את האלגורתם ומהירות המעבד יכולתה להתחקות אחר רצף המספרים הבאים בתור?



זה אכן אפשרי ברמה התיאורתית.


ועל פי השעון זה משהו בסיגנון הזה:

הכפלת שארית השניות חלקי מספר הדקות פלוס מספר המאיות בחזקת מספר הימים ועוד מספר החודש כפול אלפיות השניה.

עכשיו נשאלת השאלה- אז איך למשל אני מגדיר אקראיות בטווח מסויים? פשוט מאוד- מחשב את התוצאה ב mod X כשX זה הטווח.[ההודעה נערכה על-ידי cp77fk4r ב-31/03/2009 21:37:16]
24/07/2009 22:48:13 Setsuko
תמיד אפשר לקרוא את הקוד של /dev/random בלינוקס כמובן.
באופן עקרוני אני יודעת שיש חישובים מסויים, חלקם נוגעים לשעון וחלקם נוגעים לפעילויות ’אקראיות’ שנעשות: קצב לחיצה על המקלדת, קצב תקשורת נתונים ועוד. מערכת ההפעלה שומרת את סטטיסטיקות מסויימות של הנתונים הללו, ואז הם משומשים לצורך יצירת Randomness.
עמודים: 1