בתשובה לגדי אלכסנדרוביץ', 07/09/09 16:10
מחולל אלטרנטיבי 524188
תודה על ההערה, אבל עוד לא ניתקלתי ב N1 = 40 , וצריך לא לשכוח שיש N2 התלוי ב ()time שלא חוזר על עצמו. אתה כמובן צודק בקשר ל-‏40 הזה, אבל ישנם עוד כמה נוסחאות כאלה שאמורות להפוך מ'ס לראשוני, או שפשוט אפשר לחבר לN1 וN2, את המ'ס 42 ליתר ביטחון.

רק שלוש הערות לי אליך, כבודו :

1. המחולל המובנה של PHP כה עלוב שבשימוש נקי (בלי פונקציות פנימיות, כגון, (()rand(rand, וכדומה) יכול לפלוט חצי סדרה בת 10 איברים כאותו איבר (3,3,3,3,3,3,2,2,1,7 לדוגמה).

2. חשבתי ובניתי אותו לבד. פרסמתיו באתר http://www.phpclasses.org/browse/package/4974.html והורידו אותו 4574 אנשים בלי קשר לאתר זה ו203 אנשים הרשומים בו.

3. אני חושב שזה המחולל היחיד, שלפחות אני מקיר, שעובד עם מספרים שלמים, שברים עשרוניים, חיוביים ושליליים.
מחולל אלטרנטיבי 524191
אני חושב שאפסיק כאן. אני לא רוצה עוד דיון 1571.
מחולל אלטרנטיבי 524197
צר לי מאוד שהבנת אותי בדרך כה מבזה הוד גאונותך. אני מבין שסלדתי קצת מהנושא, אבל רק רציתי להראות מחולל מספרים אקראיים ע"י מטמטיקה פשוטה שיכול בגאווה לעמוד מול כל מחולל אחר. כמובן שאי אפשר בוודעות לדעת מה יצר מ'ס זה או אחר, מכיוון שזה אותו הדבר כצם לשאול איזה מ'ס אחרי מודולו 2 פלט 0 ?
אני לא מתיימר להיות גאון או חכם ממישהו. אבל עדיין, איך אנשים כותבים דוקטורטים חדשים מידי שנה (ויש בינהם נושאים מרתקים וחדשניים במיוחד), חידות ששנים ארוכות הרתיעו מטמטיקאים (כמו למשל "תאורמת פרמה") נפתרות, ואף אחד לא מתחיל להיתבלבל והמטמטיקה נשארת במקומה אם לא מתפתחת הלאה.
אם נותנים לך פתרון קצר יותר משלך לאותה הבעיה\שאלה לפעמים רצויי לאמץ אותו, ולא לעמוד על שלך כמו תייש ולהצהיר שגם התשובה שלך נותנת פתרון. ברור שאם יש בידיך פתרון אז הוא נכון, אבל אם הוא יותר ארוך ומסובך אז למה תהיתקע עליו ?

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

אילו תכונות צריכות להיות לו?
מחולל אלטרנטיבי 524207
1. שיהיה מהיר ככל האפשר.
2. שבקוד יהיה קצר ככל האפשר.
3. שבפלט לא יהיו שני מספרים זהים אחד אחרי השני.
מחולל אלטרנטיבי 524208
לגביי 3., אלא אם מ'ס האפשרויות קטן במיוחד, סמו סדרות בינריות וכדומה.
מחולל אלטרנטיבי 524213
(1) ו־(2) הן דרישות של יעילות. אני חושב שתסכים איתי שהקוד צריך קודם כל לעבוד היטב.

לגבי (3), אני חושב שהניסוח שלך פשטני מדי. באופן כללי היינו רוצים שרצף המספרים יהיה לכל מטרה מעשית כמו רצף מספרים אקראי אמיתי.

הנה רצף של ספרות (הקסדצימליות) אקראיות‏1 שקיבלתי מהמחשב שלי:

4de1 a457 d1ac f25c de18 22a3 6e41 69f0

הספרה 2 חזרה על עצמה. ואני מניח שאיך בכך פסול.

מה הבעיה בכך שמספר חוזר על עצמו?

1 לצורך העניין השתמשתי ב־‎/dev/random שהוא דרך לקבל ביטים אקראיים מ"מאגר האנטרופיה" של המערכת. ביטים (מספיק) אקראיים אפשר לקבל ממקורות כמו זמני הגישה לדיסק ותזמוני הקלדות המקלדת.
מחולל אלטרנטיבי 524219
יותר מכך - פלט שבו אין לפעמים חזרה על אותה ספרה הוא בבירור לא אקראי. בכלל, בפלט אקראי סביר לצפות לפעמים אפילו לחזרות ארוכות. או בקיצור: תגובה 522196.
מחולל אלטרנטיבי 524395
אחת החולשות שעזרו לפצח את האניגמה...
מחולל אלטרנטיבי 524223
מה דעתך על: 1 2 3 4 5 6 7 ... יותר יעיל, לא?
מחולל אלטרנטיבי 524289
1 0 1 0 1 0 ... יכול להיות יעיל אפילו יותר, ומקיים את דרישה 3 אפילו למקרה הבינארי!

חזרה לעמוד הראשי המאמר המלא

מערכת האייל הקורא אינה אחראית לתוכן תגובות שנכתבו בידי קוראים