נוהל בדיקה 513153
אם המחולל עצמו דטרמיניסטי, תמיד אוכל לקחת את המחולל עצמו ולהשתמש בו כתוכנית הבדיקה, ואז אכשל. למשל, אחולל בתכנית הבדיקה (כלומר, ע"י המחולל) סדרת מספרים , ואבדוק מה ההסתברות שכל איבר בה שווה לפלט המחולל. מובן כי כל האיברים בפלט תוכנית הבדיקה יהיו שווים לפלט המחולל, וזה יהיה סימן לחוסר אקראיות מול מחולל אמיתי.
גם אם כבודק לא ידוע לי המחולל, הרי שתכנית בדיקה כזו קיימת, לא?

מה פיספסתי?
נוהל בדיקה 513156
אין לך את המחולל, אלא רק את הפלט שלו. אם אתה יכול למצוא את החוקיות בפלט, המחולל לא מספיק רנדומלי.
נוהל בדיקה 513159
למעשה, אחת מהדרישות הקשוחות למחוללים (תיאורטיים) היא שהם יהיו עמידים גם בפני מישהו שמכיר אותם.
נוהל בדיקה 513158
במאמר קצת רימיתי - בהתחלה הצגתי את העניין כאילו המחולל זוכר את הפלט שלו ומשתמש בו בתור גרעין חדש בהפעלה הבאה. בהגדרה הפורמלית של מחוללים (ואני מניח שגם בחלק מהמימושים) זה לא כך - הגרעין הוא קלט, שהפלט עבורו הוא סדרה אחת ארוכה ואקראית לכאורה, שלא מקיימת תכונה כמו "אם מזינים את החצי הראשון של הסדרה למחולל מקבלים את החצי השני" וכו'.

לכן, אם אתה מחולל סדרת מספרים, זה עדיין לא עוזר לך מיידית - אתה צריך לגלות איכשהו מה הגרעין שיוצר אותה. אמנם, אם תמצא את הגרעין, תיווכח מייד בכך שהסדרה שקיבלת כנראה אינה אקראית "באמת" אלא נוצרה מהמחולל; הבעיה היא שמרחב החיפוש הוא גדול מאוד, כך שהבדיקה שאתה מציע אינה יעילה.

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

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