Haqiqiy RNG tekshiruvlari qanday ishlaydi
RNG (tasodifiy sonlar generatorini) tekshirish bitta «sehrli sinov» emas, balki muhandislik protseduralari zanjiridir. Uning maqsadi uchta narsani isbotlashdir: (1) sonlar oqimi statistik jihatdan mukammal tasodifiyga o’xshaydi, (2) u to’g’ri o’yin voqealariga (ramzlar, xaritalar, multiplikatorlar) aylanadi, (3) tasdiqlangan versiya doimo ishlab chiqarishda aylanadi. Quyida - to’liq siklning qanday ishlashi.
1) Aynan nima tekshiriladi (uch daraja)
1. Xom RNG chiqishlari - sof oqim statistikasi (o’yin interfeysisiz).
2. Mepping RNG → o’yin voqealari - ko’rsatilgan matematika kombinatsiyalari chastotalarining muvofiqligi (RTP/o’zgaruvchanlik).
3. Hayot sikli va yaxlitlik - prodda sertifikatlangan to’plamning aniq ishlashi va uni osongina almashtirib bo’lmaydi.
2) Relizdan oldin: laboratoriya sertifikatlashtirish
A. Oq boks (kod va arxitektura bo’yicha)
Algoritm: PRNG/CSPRNG sinfi, «ekish» usuli, qayta ekish (reseeding), oqimlarni izolyatsiya qilish, o’yinlar o’rtasida umumiy holatlarning yo’qligi.
Entropiya manbalari: tizim puli/apparat shovqini; boshlash uchun bit entropiyasining yetarliligi tekshiriladi.
Holat menejmenti: nonce/hisoblagich, qayta foydalanishdan himoya qilish, turli oʻyinlar/stollar uchun oqimlarning mustaqilligi.
B. Qora boks (chiqish joylarida)
Juda katta namunalar hosil qiladi (yuzlab million-milliardlab bitlar).
Test batareyalari orqali haydash:- NIST SP 800-22: monobit, bloklar bo’yicha chastotalar, ran-testlar, nol/birlik nomutanosibligi, aproks. entropiya, chiziqli murakkablik, spektral (DFT) va boshqalar.
- Diehard/Dieharder: tug’ilgan kunlar (birthday spacings), sayr qilish (random walks), mos kelishlar, matritsalar darajalari va boshqalar.
- TestU01 (SmallCrush/Crush/BigCrush): eng qattiq seriya; nozik qaramlik va qisqa davrlarni ushlaydi.
- Gipotezalar va p-values: "hamma 0 bo’lmasligi kerak. 5" va ular teng taqsimlanishi uchun [0; 1]; testlarning ko’pligi hisobga olinadi (soxta ishlanmalarni tuzatish).
- Sirg’aluvchi derazalar: statsionarlikni ushlash uchun bir xil oqimlar (turli blok-sayzalar) sinovlari.
C. O’yin matematikasini tekshirish
Millionlab/milliardlab virtual spinlarni modellashtirish: empirik RTP e’lon qilinganlarga mos keladi (masalan, 96. 00% ± ruxsat).
Kamdan-kam hodisalarni tekshirish: jekpotlar chastotasi, bonus-raundlar, multiplikatorlar, yutuqlarni kvantillar bo’yicha taqsimlash.
Meppingni tekshirish: «raqami RNG → belgisi/xaritasi» noto’g’ri, «deki/baraban» ning barcha pozitsiyalari ehtimoliga teng.
Natija: RNG parametrlari, test/ma’lumotlar/o’tish chegaralari ro’yxati, o’yin binariylarining xesh-summalari va maqsadli RTP bilan hisobot.
3) Prodda: uzluksiz nazorat
Telemetriya va alyorta
Ishonchli intervallar bilan birlashtirilgan ma’lumotlar (kunlar/haftalar/oylar) bo’yicha RTP o’xshashligi.
Taqsimot anomaliyalari: takrorlash portlashlari, belgilar noto’g’ri, dispersiya o’zgarishlari.
RNGning onlayn salomatligi: joriy oqimdagi yengil o’z-o’zini tekshirish (frequency/runs) + davriy «og’ir» pog’onalar.
Sirg’aluvchi derazalar va mavsumiylik: «eski» etalon davrlari bilan taqqoslash.
Artefaktlarning yaxlitligi
Xesh-summalarni va ijro etiladigan fayllarning raqamli imzolarini sertifikatlashdan «oltin» namunasi bilan solishtirish.
«Faqat imzolangan relizlar» siyosati, deploda ikki marta ma’qullash, ma’murlar harakatlarining auditi.
Hodisalarga munosabat
Chegaralar → o’yinni izolyatsiya qilish, «maintenance» ni yoqish, rollbekni bajarish, snapshotni tuzatish, regulyator/sheriklarni xabardor qilish, ro’yxatlarni tayyorlash.
4) Asosiy testlar qanday tashkil etilgan (insoniy)
Monobit/chastota: nol va birliklar taxminan teng bo’lishi kerak.
Runs/seriyalar: ketma-ket 0/1 uzunligi nazariyaga mos keladi.
DFT/spektral: yashirin davrlar/garmoniklar yoʻq.
Matritsaning chiziqli murakkabligi/rangi: oqim qisqa chiziqli sxema bilan tavsiflanmaydi.
Birthday spacings/qarama-qarshiliklar: tasodifiy tasodifiy tasodiflarni taqsimlash.
Approx. Entropy/Serial: ortiqcha qisqa namunalar yoʻq.
Autocorrelation: qoʻshni elementlar mustaqil.
Muhimi: bitta «qizil» test muammoni isbotlamaydi - ular bir nechta tekshiruv va takroran o’tishni hisobga olgan holda to’plamda ko’rishadi.
5) Sidlar, oqimlarni kesib o’tish va ularning mustaqilligi
Seed bir nechta entropiya manbalaridan hosil bo’ladi; boshlash tartib-taomilini va reseeding chastotasini hujjatlashtiradi.
Turli o’yinlar/stollar - turli RNG holatlari; birgalikdagi holatni taqiqlash.
Nonce/hisoblagichni hisobga olish: har bir murojaat oʻziga xosdir.
6) Mepping va taqdimot: «halollik» ko’pincha chalkashtirib yuboriladi
RNG raqamni beradi va oʻyin uni hodisaga aylantiradi. Mapping jadvali:- «o’lik» zonalarga ega emas, makonni bir tekis qoplaydi, versiyada qayd etilgan (o’zgartirish = yangi sertifikatlash).
- Near-miss - interfeysning vizual effekti. Uning ulushi va mantig’i matematika tomonidan qat’iy belgilangan; u RNGni «burmaydi».
7) Logi i reproduktivnost
Har bir raund ID, vaqt belgilari, sid/nonce, kirish parametrlari, RNG natijasi va mappingdan keyingi natijani oladi.
Log bo’yicha laboratoriya/operator natijani takrorlashi va uning algoritm va raund ma’lumotlariga mos kelishiga ishonch hosil qilishi mumkin.
Loglar o’zgarmas, yillar davomida saqlanadi, saqlanadi; kirish - reglament bo’yicha.
8) Hayot o’yinlari: RNG testlari o’rnini nima egallaydi
Ruletka/kartalar: asbob-uskunalarni nazorat qilish (g’ildirak urish, balans, kalibrlash), diler, avto-shufleralar tartib-taomillari, kolodalarni o’zgartirish, to’liq videofiksatsiya.
Mahsulotdagi raqamlar/kartalarning statistik monitoringi - eskirish/nuqsonlar va inson omilini ushlaydi.
9) «Provably fair»: o’yinchi haqiqatda nimani tekshiradi
Server xeshni oldindan e’lon qiladi; raunddan keyin sidi ochadi.
Oʻyinchi mijoz sidi beradi; natija hujjatlashtirilgan formula bo’yicha hisoblanadi (ko’pincha HMAC/AES + nonce).
Har kim qayta hisoblashi va natija stavkadan keyin almashtirilmasligiga ishonch hosil qilishi mumkin.
Lekin bu yuqori RTP kafolati emas - o’yin matematikasi hali ham alohida auditni talab qiladi.
10) Odatiy xatolar va ularni qanday tutish
Sid → ning yomon boshlanishi birinchi oynalarda erta testlar va anomaliyalar bilan ushlanadi.
Takroriy holat/nonce reuse → dublikatlar/korrelyatsiyalar, detal Diehard/TestU01.
Yangilanishdan so’ng dreyf (issiq tuzatish) → hashey/metrik tafovut uchun alyertlar.
Zaif PRNG → BigCrush’dagi «muvaffaqiyatsizliklar», chastota portlashlari, DFT’dagi tuzilma.
Chek varaqlari
Studiya/provayder uchun
- RNG algoritmi, siding, reseeding, oqimlarni ajratish hujjatlashtirilgan.
- P-values to’g’risidagi hisobotlar va etarli hajmda NIST/Dieharder/TestU01.
- O’yinning mass-simulyatsiyalari: RTP, dispersiya, yutuq kvantillari, noyob voqealar.
- Artefaktlarning versiyalari/imzolari/xeshlari; imzolanmagan relizlarni taqiqlash.
- RTPdagi relizdan keyingi alyertlar/taqsimlash/takrorlash; izolyatsiya/rollbek rejasi.
Operator uchun
- Men RNG/o’yinlar sertifikatlarini va proddagi haqiqiy versiyalarni (xesh-nazorat) tekshiraman.
- RTP o’xshashligi va barcha titllar bo’yicha anomaliyalarni monitoring qilaman; avto-alyertlar ham bor.
- O’zgarmas daftarlarni saqlayman; tezkor eksport qilishga tayyor.
- Hodisa protsedurasi: o’yinni to’xtatish → rollbek → bildirishnomalar → ommaviy hisobot.
Oʻyinchi uchun
- O’yinning info-ekranini ko’ryapman: RTP/qoidalar/versiya/maks-yutuq.
- Ko’rinadigan RG asboblari bilan operatorlarda o’ynayman (limitlar/tarix/taymaut).
- Bahsda raundning ID va ko’chirma so’rayman; natija takrorlanishi kerak.
- Men RNG halolligini o’zgaruvchanlik bilan aralashtirmayman: «quruq» chiziqlar normal.
Haqiqiy RNG tekshiruvi - bu qat’iy statistika + mepping nazorati + versiya va log intizomi. Laboratoriya oqim teng huquqli va mustaqil ekanligini tasdiqlaydi; simulyatsiyalar e’lon qilingan RTPga muvofiqligini isbotlaydi; ishlab chiqarish monitoringi tekshirilgan yig’ilish o’zgarmaganligini va o’zini testlardagi kabi tutishini ta’minlaydi. Uchta daraja birgalikda ishlaganda, «halollik» va’da bo’lib qolmaydi va tizimning xususiyatiga aylanadi.