איך RNG ומכניקה מנצחת נבדקים
הכנות של החריץ נשענת על שני תומכים: RNG (מחולל מספרים אקראיים) ומכניקה נכונה, אשר ממפה מספרים אקראיים לתוצאות ללא הטיה. בדיקה אינה מבחן מזל אחד, אלא מערכת שלמה: כוח קריפטוגרפי RNG, בדיקות סטטיסטיות, סימולציות RTP/תנודתיות מונטה קרלו, צדדים דטרמיניסטיים לשחזור, רישומי ביקורת והסמכה במעבדות עצמאיות. להלן מסוע שלם ומעשי.
1) ארכיטקטורת RNG: מה ממציא ”אקראיות”
מקורות לאנטרופיה: OS (CSPRNG/' dev/urandom ', CryptGenRandom), חומרה TRNG (היכן שזמין), רעש מערכת.
אלגוריתם: שרת CSPRNG (לדוגמה, CTR_DRBG/HMAC_DRBG) או PRNG באיכות גבוהה (PCG/Xoshiro) עם בקרת עצמאות זרימה.
מדיניות הזרעים: זרעים עיקריים מ-CSPRNG, זרמים בודדים לכל סשן/משחק/תכונה, הגנה מפני שימוש חוזר, אחסון בטוח (HSM/אחסון מאובטח).
לקוח השרת: התוצאה מחושבת על השרת, הלקוח הוא רק הדמיה; כל ”פרלודים” (כמעט-מיס/tiasers) אינם משפיעים על התוצאה.
עצמאות של ספינים: אין התאמה אוטומטית לאיזון; חוסר ”רצועות מזל טוב”.
שאלת שליטה: באיזה שלב מתקבלת התוצאה? תשובה: לפני משחק האנימציה, עם קיבעון ביומן בלתי משתנה.
2) מיפוי RNG * תוצאה (ללא הטיה)
התגלגלות נכונה של מספרים אקראיים במשקולות של תווים/תאים היא המפתח להיעדר ”מודולריות” ותזוזות אחרות.
דגימות אחידות - אם נדרש מספר בטווח '[ 0, N)', השתמש בדגימת דחייה במקום 'rand' ()% N' כדי לשלול הטיה ב- '2 _ k% N'.
דגימות משוקללות: הפצות מצטברות (CDF) או אלגוריתם זהות (Vose) עבור דגימות מהירות לפי משקל.
משיכה מרובה: קריאת RNG נפרדת עבור כל ריאל/תא/אירוע, ולא ”פיזור” מספר אחד עבור השדה כולו.
ערבויות ברמת הקוד: מבחנים מבוססי תכונה עבור אינווריאנטים (”סכום תדירויות משקולות”, ”אף קטע אינו מיוצג”).
3) מה בדיוק אנחנו בודקים: מטרות ומדדים
RTP (החזר לשחקן) - החזר ממוצע,%- תנודתיות/שונות - שוני בתוצאות
- קצב פגיעה - תדירות של כל ניצחון
- תדירות בונוס
- חשיפה מקסימלית - מקסימום תיאורטי (x של הצעה)
- יציבות - אין סחיפה של התפלגויות בזמן/שחרור
4) מבחנים סטטיסטיים של RNG (סוללות כבויות)
השתמש ב ”סוללות” ברצפים ארוכים (10⁸+ סיביות/ערכים), בנפרד עבור כל זרם RNG:- מומנטים וקורלציות: בדיקת מונוביט (פרופורציה 0/1), אוטוקורלציה (lag k), התאמה סדרתית וזוגית.
- NIST SP 800-22: תדר, תדר בלוק, ריצה, ריצה ארוכה, FFT, אנטרופיה משוערת.
- TestU01/Dieharder: ”מבחני מאמץ” נוספים (מרווחי יום הולדת, דרגת מטריצה, טיולים אקראיים).
- KS/taughtbucket R: השוואה בין אחידות אמפירית ותאורטית ב- [ 0,1) לבין טווח המטרה.
- מבחני פוקר (לקבוצות של ביטים) ו ”מבחני פער”.
קריטריון קבלה: ערכי p בטווח המקובל (לא ”אידיאלי מדי”), היעדר כשלים שיטתיים על ערכי צד קבועים, תוצאות יציבות על פלטפורמות/מהדרים שונים.
5) מיפוי סטטיסטיקה (משחק ספציפי)
אפילו RNG המושלם יכול להיהרס על ידי המיפוי הלא נכון. אנחנו בודקים את חלוקת התוצאות:- תדירויות של סמלים/תאים: faughr עבור צירוף מקרים עם משקולות (על ידי סלילים/אשכולות/מטבעות).
- צירופים/קווים: מרווחי בינום עבור צירופי ניצחון; בהשוואה לטבלאות התייחסות.
- הפעלות/רטריגרס בונוס: מרווחי אירוע (בינום גאומטרי/שלילי) + מבחני KS/AD.
- עצמאות של תופים: קורלציות בין עמדות (לא כולל ”דבק”).
6) סימולציות מונטה קרלו של RTP/תנודתיות/תדירויות
סימולציות רבייה הן הליבה של מתמטיקה QA.
1. הגדרה: לתקן את הגרסה של מתמטיקה, סידים, משקולות/חוטיני/תשלום.
2. ריצה: ≥10⁷ - סיבוב 10⁸ ליציבות הזנב; מפגשי בונוס ארוכים בנפרד.
3. הערכות ומרווחים:- ציון RTP: (\HAT {RTP }\BAR}, שם (X) הוא הרווח ב XBT.
- מרווח ביטחון (CLT): (\hat {RTP }\pm z_{\alpha/2}\cdot s/\sqrt {n}.
- דגימה דרושה: (n\גישה (z\cdot s/\varepsilon) ä2) עבור שגיאה (\varepsilon).
- עבור שיעור הלהיט/בונוס, מרווחי בינום (וילסון).
- 4. פלי: p95/p99/p99. 9 ניצחונות לכל סיבוב ולכל בונוס; שליטה ”חשיפה מקסימלית”.
- 5. יציבות: רגישות לשינויים במשקולות (robusness).
7) קביעה והתרבות
צדדים דטרמיניסטיים עבור QA: sid = אותן תוצאות (golden-run).
תוצאות זהות על פלטפורמות: תיקון גירסת מהדר/ספרייה, בדיקת אנדיאנס, מצבי FPU.
שמירת מדינות: לשחזר את הבונוס/ספין המופרע מבלי ”להעיף” את התוצאה.
תשתית חזרה: השקת כרטיס ”בעייתי” זרע + צעד לניתוח.
8) אבטחה ונגד חבלה
רישומי תולעת (או שרשראות חשיש): הקלטת התוצאות ופרמטרים של הקלט לפני ההנפשה.
חתימות של רשימות בנייה ומתמטיקה: גרסה של טבלאות שכר/מאזניים - במניפסט עם חתימה.
בקרת שלמות הלקוח: ערפול, בדיקת חשיש, אנטי-מכשירים.
שרת-סמכותי: רק השרת מחליט את התוצאה; הלקוח לא מכיל צ 'קים חבויים.
9) עומס ובדיקות ארוכות טווח
מבחני השריה: מאות מיליוני ספינים עם סיבוב של צדדים; ניטור של דליפות זיכרון/משאב.
תחרות גבוהה: מפגשים מקבילים של זרמי RNG = אין תחרות מירוץ/נעילה.
רשת מדרדרת: בקשות חוזרות ונשנות/פסקי זמן אינם משנים את תוצאת הספין.
10) אימות של אינווריאנטים UX (שלמות ממשק)
אנימציות לא משנות את ההסתברות; איסור ”זיוף” מפסיק למען הדרמה.
מהירות סיבוב: תאוצה/טורבו אינה משפיעה על RNG.
מצבי הדגמה/הדגמה: או ישר או מתויג ומתמטיקה מופרדת.
11) ניטור לאחר שחרור (בקרה סטטיסטית במכירות)
כרטיסי SPC/גרפי בקרה: RTP לפי זמן חלונות/קזינו/גיאו במסדרונות מקובלים.
זיהוי סחיפה: סטיית PSI/JS של התפלגות win/frequency.
אזעקות: סטיות = משחק/חסימת שוק, חישוב מחדש, דיווח.
12) הסמכה ותיעוד
הכן חבילת מעבדה (GLI/eCOGRA/BMM/iTech, וכו '):- תיאור RNG: אלגוריתם, מקורות האנטרופיה, מדיניות היבול, עצמאות הזורמים.
- מקורות/בינארים של מודול RNG (או חפצי ביקורת) + רישומי בדיקה.
- גיליון מתמטיקה: שולחנות תשלום, משקולות, פירוט RTP (בסיס/בונוס/כל קופה), חשיפה מקסימלית.
- דו "חות סימולציה: נפח, מדדים, מרווחי ביטחון.
- רישומים/הילוכים חוזרים: פורמט, חתימות, מדיניות שימור.
- ורסיונינג: חשיש בלתי משתנה של חפצים (מבנה, נכסים, מתמטיקה).
13) טעויות תכופות וכיצד להימנע מהן
'רנד ()% N' ו קיזוז מודולרי. השתמש בדחייה/כינוי.
אר-אן-ג 'י אחד לכל דבר בלי אשכולות. לעשות זרמים עצמאיים, להימנע מתאמים חבויים.
מיפוי "על ידי אינדקסים יפים. "תמיד תבדוק תדרים נגד משקולות.
סימולציות קטנות. 10⁶ היא ”בדיקת עשן”, זנבות צריכים 10⁸.
חוסר בצדדים דטרמיניסטיים. בלעדיהם, אתה לא יכול לשחזר חרקים.
הלקוח מחליט על התוצאה. שרת בלבד, יומני תולעת בלבד.
אין פוסט-ניטור. השחרור אינו הסוף, אלא ההתחלה של שליטה סטטיסטית.
14) נוסחאות ומיני גיליון רמאות
דליים אחידים (k דליים):[
\ צ 'י _ 2 =\sum _ i = 1 _ ik\frac (O_i-E_i) ä2 _ E _ i ,\quad E_i=n/k
]
השווה עם (\chi _ 2 _ {k-1}.
KS להתפלגות רציפה:[
D =\sup _ x F_n (x) - F (x)
]
מרווח ביטחון RTP (CLT):
[
\ hat {\mo\pm z_{\alpha/2}\frac{s}{\sqrt{n}}
]
וילסון לשבר p (שיעור הלהיט/בונוס):
[
\ FraC +\frac _ z ä2\pm z\sqrt\frac _ p (1-p) &n +\frac {z ä2} frac {4n ä2}
]
15) רשימות בדיקה
עיצוב טכני RNG
[ ] CSPRNG/TRNG; מדיניות זרעים/זרם מתועדת
[ ] נחלים עצמאיים, אין מרוצי מדינה משותפת
[ ] דחייה/כינוי במקום ”%”
[ ] Server-סמכותי; תיקון תוצאה לפני אנימציה
[ ] יומני תולעת, חתימות חפץ
סטטיסטיקה וסימולציות
[ ] באטריי NIST/TestU01/Dieharder
[ ] רבוע/KS/פצע - במיפוי תוצאות
[ ] ≥10⁷ - ספין 10⁸; CI על ידי RTP/תדרים בסובלנות
[ ] p95/p99/p99 זנבות. 9 וחשיפה מקסימלית תחת שליטה
[ ] Robusness רץ כאשר שנה למאזניים
QA/הנדסה
[ ] צדדים דטרמיניסטיים; כרטיסים לשידור חוזר
[ ] Soak/Load; זיכרון/מעבד/יציבות אחורית
[ ] סיכום ספין/בונוס ללא שינוי של תוצאה
[ ] זהות מוצלבת של תוצאות
ציות/מסמכים
[ ] מפרט RNG + מקור/חפצים
[ ] גיליון מתמטיקה + דו "חות סימולציה
[ מדיניות כריתת ]/שימור/ביקורת
[ ] וריסונים ובנייה/תשלום חשיש
ובדיקת מכניקה מנצחת היא סטטיסטיקה והנדסת בטיחות. אתה מגן על שחקנים ומותג כאשר:
1. אר-אן-ג 'י עומד ונזרע נכון, 2. מיפוי תוצאות ללא הטיה ורבייה, 3. RTP/תדרים/זנבות שאושרו על ידי סימולציות גדולות, 4. התוצאה נתפסת ומבוקר לפני אנימציה, 5. ניטור שלאחר השחרור תופס כל סחף.
אז החריץ נשאר ישר, צפוי (במובן הסטטיסטי) ועמיד בפני מניפולציה - ואתה עובר הסמכה ובונה אמון לטווח ארוך.