Ինչպես են փորձարկվում RNG և շահող մեխանիկան
Արցունքների ազնվությունը պահվում է երկու հենարանների վրա 'բարձրորակ RNG (պատահական թվերի գեներատոր) և ճիշտ մեխանիկա, որը առանց պարամետրերի պատահական թվեր է գցում։ Փորձարկումը ոչ թե մեկ փորձարկում է «հաջողության համար», այլ մի ամբողջ համակարգ 'RNG-ի կրիպտոգրաֆիկ կայունությունը, վիճակագրական ստուգումը, monte-carlo-carlo-carlo-carlo RTP/malatily, դետերմինացված նստատեղեր վերարտադրման, աուդիտ-լոգայի և հավաստագրման համար ռուսական լաբորատորիաներում։ Ներքևում ամբողջական, գործնական փոխակրիչ է։
1) RNG ճարտարապետությունը 'որից է «պատահականությունը»։
Էնտրոպիայի աղբյուրները ՝ ՕՀ (CSPRNG/' dev/urand.ru ", CryptGenRandium), սարքավորման TRNG (որտեղ հասանելի են), տեղադրված աղմուկներ։
Ալգորիթմը ՝ սերվերային CSPRNG (օրինակ, CTR _ MSBG/HMAC _ MSBG) կամ բարձրորակ PRNG (PCG/Xoshiro) 'հոսքերի անկախության վերահսկմամբ։
Ցանքատարածությունների քաղաքականությունը (seed) 'CSPRNG-ի առաջնային seed, անհատական հոսքեր 2019/խաղի/ֆիչի վրա, պաշտպանություն վերաօգտագործումից, անվտանգ պահեստավորումից (HSM/sexure-պահեստ)։
Սերվերը հաճախորդը 'արդյունքը հաշվարկվում է սերվերի վրա, հաճախորդը միայն տեսողական է։ ցանկացած «նախասիրություն» (near-miss/tisers) չի ազդում արդյունքի վրա։
Սպինների անկախությունը 'ոչ մի ինքնանպատակ հավասարակշռության տակ։ «Հաջողություն սթրիպների» բացակայությունը։
Ստուգողական հարց. Ո՞ ր փուլում է կատարվում արդյունքը։ Պատասխանը 'անիմացիայի վերարտադրումից առաջ, ֆիքսելով անփոփոխ լոգ։
2) RNG Carentium Cartive-ը ցույց է տալիս արդյունքը (առանց հաղթանակների)
Պատահական թվերի ճիշտ ճշգրտումը սիմվոլների/նիշերի քաշի մեջ '«մոդուլային» և այլ հերթափոխերի բացակայության բանալին։
Միասնական նմուշներ 'եթե պահանջվում է "[0, N)", մենք օգտագործում ենք հեռացում (rejw.sampling), ոչ թե' rand ()% N ', որպեսզի բացառենք bias-ը' 2 ^% N-0 "։
Կշռված նմուշներ 'կուտակային բաշխումներ (CDF) կամ Alias (Vose) ալգորիթմներ քաշի արագ ընտրության համար։
Բազմակի ձգումներ ՝ RNG-ի առանձին մարտահրավեր յուրաքանչյուր թմբուկի/բջիջի/իրադարձության, և ոչ թե ամբողջ դաշտում մեկ համարի «ցրումը»։
Կոդի մակարդակում երաշխիքները 'property-based թեստեր invariants («հաճախականության գումարը քաշով», «ոչ մի սեգմենտը սխալ չէ»)։
3) Ի՞ նչ ենք ստուգում նպատակներն ու մետրերը
RTP (Return to Player) - միջին վերադարձը,%- Վոլատիլությունը/ցրումը 'արդյունքների ցրումը
- Hit Rate-ը ցանկացած շահույթի հաճախությունն է
- Bonus Frequency-ը բոնուսի մուտքի հաճախությունն է
- Max Exposure-ը տեսական առավելագույնը է (տոկոսադրույքից x)
- Ուղղափառությունը ժամանակի/թողարկումների բաշխման դրաֆի բացակայությունն է
4) RNG վիճակագրական թեստերը (off-inforterey)
Օգտագործեք «batterei» երկար հաջորդականությունների վրա (10 մգ + բիթ/արժեքներ), առանձին RNG-ի յուրաքանչյուր հոսքի վրա
Պահերն ու հարաբերակցությունները 'մոնոբիթ թեստը (մասնաբաժինը 0/1), ավտորորեգացիան (lag k), սերիական և զույգ հարաբերակցությունները։
Тесты NIST SP 800-22: frequency, block frequency, runs, longest run, FFT, approximate entropy.
TestU01/Eureharder: լրացուցիչ «սթրեսային թեստեր» (birthday spacings, matrank, randultionsions)։
KS/240-ը կախարդներով 'էմպիրիկ և տեսական հավասարության համեմատություն' «[0,1)» և ընդհանուր միջակայքներում։
Պոկեր թեստերը (բիթերի խմբերի վրա) և «gap-թեստերը»։
Ընդունելու չափանիշները 'p-values թույլատրելի սահմաններում (ոչ թե «շատ կատարյալ»), ֆիքսված սիդային արժեքների վրա համակարգված ձախողումների բացակայությունը, տարբեր պլատֆորմների/կազմողների կայուն արդյունքները։
5) Քարտեզագրման վիճակագրությունը (game-specific)
Նույնիսկ կատարյալ RNG-ը կարող է փչացնել սխալ մապինգը։ Մենք ստուգում ենք ելույթի բաշխումը
Նիշերի/սուլֆեեկների հաճախականությունները 'զանգվածների համընկնումը (թմբուկների/կլաստերների/մետաղադրամների)։
Համադրություններ/գծեր 'կենսաբանական ընդմիջումներ հաղթող համադրությունների համար։ համեմատություն ստանդարտ բրազիլացիների հետ։
Բոնուս-ձգիչներ/ռետրիգերներ 'իրադարձությունների միջև ընդմիջումներ (երկրաչափական/բացասական կենսաբանական) + KS/AD թեստեր։
Թմբուկի անկախությունը 'խաչաձև հարաբերությունները դիրքերի միջև (բացառում ենք «միաձուլումը»)։
6) Monte-Carlo սիմուլյացիան RTP/volatily/հաճախականությունը/հաճախականությունը
Վերարտադրված սիմվոլը QA մաթեմատիկայի միջուկն է։
1. Մենք արձանագրում ենք մաթեմատիկայի, նստատեղերի, քաշի/strinpa/աղյուսակի տարբերակը։
2. Պրոգոն ՝ 10-10 հազար հետևի պոչի կայունության համար։ առանձին - երկար բոնուսային նստաշրջաններ։
3. Գնահատականներ և ընդմիջումներ
RTP-ի գնահատումը: (wwwww.hat + RTP + = www.bar + X +), որտեղ (X) xBet-ի հաղթանակն է։
Վստահելի ստանդարտ (CLT): (pat + RTP = pm z _ _ = alpha/2 = cdot s/portrt + n)։
Պահանջվող նմուշը ՝ (n/approx (z/cdot s/www.varepsilon) ^ 2) սխալի համար (varepsilon)։
Hit Rate/Bonus Rate-ի համար կենսաբանական (Wilson) ընդմիջումներ են։- 4. Պոչերը ՝ p95/p99/p99։ 9 հաղթանակ հետևի և բոնուսի համար; վերահսկողություն «max exposure»։
- 5. Շվեյցարիա 'զգայունություն քաշի փոփոխության բարձրացման համար («robustness runs»)։
7) Դետերմինալ և վերարտադրողականություն
Դետերմինացված նստատեղերը QA-ի համար 'նույն սիդը համապատասխանում է նույն արդյունքներին (golden-run)։- Պլատֆորմների նույնական արդյունքները 'կազմողի/գրադարանների, endianness-չեկի, FPU ռեժիմների տարբերակի ֆիքսը։
- Սեյվ Սթեյթ 'ընդհատված բոնուսի/մեջքի վերականգնումը առանց «տեղափոխման» արդյունքի։
- Repley-ենթակառուցվածքը '«խնդրահարույց» հյուսվածքի գործարկումը seed + step վերլուծության համար։
8) Securiti և anti-tamper
WORM-logs (կամ mercley-hash շղթաներ) 'ելույթի ձայնագրությունը և մուտքային կոմպոզիցիաները մինչև անիմացիան։
Բիլդի ստորագրությունները և math-թերթերը 'աղյուսակների տարբերակը 2019/քաշը' ստորագրության մանիֆեստում։
Հաճախորդի ամբողջականության վերահսկումը 'կրճատումը, հեշի ստուգումը, հակատիպը։- Server-authoritative: Միայն սերվերը լուծում է արդյունքը։ հաճախորդը չի պարունակում «թաքնված» ստուգումներ։
9) Բեռի և երկարաժամկետ թեստեր
Soak-թեստեր 'հարյուրավոր միլիոնավոր հետևորդներ, որոնք ունեն նստատեղերի ռոտացիայի հետ։ հիշողության/ռեսուրսների արտահոսքի վերահսկում։
Բարձր մրցակցություն 'RNG հոսքերի զուգահեռ նստաշրջանները բացատրում են մրցավազքի բացակայությունը/www.k ention։
Ցանցային դեգրադացիաները 'երկրորդ հարցումները/թայմաուտները չեն փոխում մեջքի արդյունքը։
10) UX-invariants (ինտերֆեյսի ազնվությունը)
Near-miss: Անիմացիաները չեն փոխում հավանականությունը։ «խարդախության» արգելքը կանգնեցնում է դրամայի համար։
Մեջքի արագությունը 'արագացումը/տուրբոն չի ազդում RNG-ի վրա։- Ուսումնական/դեմո ռեժիմները 'կամ ազնիվ, կամ նշվել և մաթեմատիկան առանձնացված է։
11) Փոստի ստացիոնար (ստատկոնալ վաճառքում)
SPC քարտեր/վերահսկողական գրաֆիկներ ՝ RTP ժամանակի/խաղատների/գեոյի պատուհանների վրա 'թույլատրելի միջանցքներում։
Դրիֆթ դետեկտիվ ՝ PSI/JS-divergention շահույթի/հաճախականության բաշխման։- Անհանգստություններ 'շեղումներ խաղի/շուկայի արգելափակումը, լոգարանների վերանայումը, զեկույցը։
12) Հավաստագրում և գրանցում
Պատրաստեք լաբորատորիայի փաթեթը (GLI/eCOGRA/BMM/iTech և այլն)
RNG-ի նկարագրությունը 'ալգորիթմ, էնտրոպիայի աղբյուրներ, ցանքատարածությունների քաղաքականությունը, հոսքերի անկախությունը։
RNG-2019 (կամ տեսողական արտեֆակտներ) + թեստային ամսագրեր։
Math Sheet: աղյուսակները, քաշը, RTP-brekdown (բազա/բոնուս/ջեքպոտ), max exposure։
Սիմուլյացիայի զեկույցները 'ծավալը, մետրերը, վստահելի ընդմիջումները։- Logs/repley 'ձևաչափ, ստորագրություն, retention-քաղաքականություն։
- Տարբերակումը 'արտեֆակտների անփոփոխ հեշեր (տոմս, ասացվածքներ, math)։
13) Հաճախակի սխալներ և ինչպես խուսափել դրանցից
'rand ()% N' և մոդուլային լուծույթ։ Օգտագործեք reject/alias։- Մեկ RNG-ն ամեն ինչ առանց հոսքերի։ Անկախ սթրիմներ արեք, խուսափեք թաքնված հարաբերություններից։
- «Գեղեցիկ ինդեքսներով»։ Միշտ նվազեցրեք հաճախականությունները քաշով։
- Փոքր սիմուլյացիա։ Նոյեմբերի 10-ը «ծխի ստուգում» է, պոչերի համար անհրաժեշտ է 10 մգ։
- Դետերմինացված նստատեղերի բացակայությունը։ Առանց նրանց, մի վերարտադրեք ուղիները։
- Հաճախորդը լուծում է արդյունքը։ Միայն սերվերը, միայն WORM լոգները։
- Փոստի մոնիտորինգ չկա։ Ռելիզը ոչ թե վերջն է, այլ վիճակագրական վերահսկման սկիզբը։
14) Բանաձևը և մինի-գնդակը
տրամագիծը հավասարության վրա (k dever)[
\chi^2=\sum_{i=1}^k \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{\mu}\pm z_{\alpha/2}\frac{s}{\sqrt{n}}
]
Ուիլսոն p (Hit/Bonus rate)։
[
\frac{p+\frac{z^2}{2n}\pm z\sqrt{\frac{p(1-p)}{n}+\frac{z^2}{4n^2}}}{1+\frac{z^2}{n}}
]
15) Չեկ թերթերը
Techdisain RNG
- CSPRNG/TRNG աղբյուրը; փաստաթղթավորված քաղաքականություն seeed/stream
- Անկախ հոսքեր, shared-state մրցավազքի բացակայություն
- Reject/alias փոխարեն '% "
- Server-authoritative; արդյունքից մինչև անիմացիա
- WORM լոգներ, արտեֆակտների ստորագրություններ
Վիճակագրությունը և սիմվոլը
- NIST/TestU01/Eureharder - անցյալում
- wwww.orl.ru/KS/ranne - mapping- ում
- : 10-10 հազար սպին; CI ըստ RTP/հաճախականությունների թույլատրության
- Պոչերը p95/p99/p99։ 9 և max exposure վերահսկողության տակ
- Robustness-prognes-ը քաշը բարձրացնելու դեպքում
QA/Ճարտարագիտություն
- Դեթերմինացված նստատեղեր; tikets reples
- Soak/2019; 07 հիշողություն/CPU/լատենտ/
- Ամփոփենք մեջքը/բոնուսը առանց ելքի փոփոխության
- Cross-պլատֆորմային ինքնությունը արդյունքների ինքնությունը
Complaens/Փաստաթղթեր
- RNG մասնագիտացում + աղբյուրներ/արտեֆակտներ
- Math Sheet + սիմուլյացիայի զեկույցները
- Լոգարիթմավորման/վերափոխման քաղաքականություն/2019
- Տոմսի/աղյուսակների տարբերակումը և հեշը/աղյուսակները
RNG-ի փորձարկումը և հաղթողների մեխանիկները վիճակագրության և անվտանգության ինժեներներ են։ Դուք պաշտպանում եք խաղացողներին և բրենդը, երբ
1. RNG կանգառը և ճիշտ ցանված, 2։ մուտքագրումը առանց կոդավորման և վերարտադրվում է, 3։ RTP/հաճախականությունը/պոչերը ապացուցված են մեծ սիմուլյացիաներով, 4։ արդյունքը գրանցվում և ստուգվում է անիմացիայից առաջ, 5-ը։ Հետպատերազմյան ֆորումը բռնում է ցանկացած դրիֆթ։
Այսպիսով, արցունքները մնում են ազնիվ, կանխատեսելի (վիճակագրական իմաստով) և դիմացկուն մանիպուլյացիաների, և դուք անցնում եք սերտիֆիկացում և կառուցում եք երկարաժամկետ վստահություն։