आरएनजी और जीतने वाले यांत्रिकी का परीक्षण कैसे किया जाता है
स्लॉट की ईमानदारी दो समर्थन पर टिकी हुई है: उच्च गुणवत्ता वाला आरएनजी (यादृच्छिक संख्या जनरेटर) और सही जीतने वाला यांत्रिकी, जो बिना पूर्वाग्रह के परिणामों में यादृच्छिक संख्या को मैप करता है। परीक्षण एक भाग्य परीक्षण नहीं है, बल्कि एक पूरी प्रणाली है: आरएनजी क्रिप्टोग्राफिक ताकत, सांख्यिकीय जांच, आरटीपी/अस्थिरता मोंटे कार्लो सिमुलेशन, प्रजनन के लिए नियतात्मक पक्ष, लेखा परीक्षा लॉग और स्षण। नीचे एक पूर्ण, व्यावहारिक कन्वेयर है।
1) आरएनजी वास्तुकला: क्या "यादृच्छिकता" बनाता है
एन्ट्रापी के स्रोत: OS (CSPRNG/'/dev/urandom ', CryptGenRandom), हार्डवेयर TRNG (जहां उपलब्ध है), सिस्टम शोर।
एल्गोरिथ्म: प्रवाह स्वतंत्रता नियंत्रण के साथ सर्वर CSPRNG (उदाहरण के लिए, CTR_DRBG/HMAC_DRBG) या उच्च गुणवत्ता वाला PRNG (PCG/Xoshiro)।
बीज नीति: CSPRNG से प्राथमिक बीज, प्रति सत्र/खेल/सुविधा, पुन: उपयोग के खिलाफ सुरक्षा, सुरक्षित भंडारण (HSM/सुरक्षित भंडारण)।
सर्वर → क्लाइंट: परिणाम की गणना सर्वर पर की जाती है, ग्राहक केवल दृश्य है; कोई भी "प्रस्तावना" (निकट-मिस/टीज़र) परिणाम को प्रभावित नहीं करता है।
स्पिन की स्वतंत्रता: संतुलन के लिए कोई ऑटो-समायोजन नहीं; "अच्छी किस्मत स्ट्रिप्स" की कमी।
नियंत्रण प्रश्न: किस स्तर पर परिणाम स्वीकार किया उत्तर: एनीमेशन बजाने से पहले, अपरिवर्तनीय लॉग में फिक्सेशन के साथ।
2) आरएनजी मैपिंग - परिणाम (कोई पूर्वाग्रह नहीं)
वर्णों/कोशिकाओं के वजन में यादृच्छिक संख्याओं का सही खुलासा "मॉड्यूलर" और अन्य पारियों की अनुपस्थिति की कुंजी है।
समान नमूने - यदि रेंज '[0, N)' में एक संख्या की आवश्यकता है, तो '2 ^ k% N ≠ 0' पर पूर्वाग्रह को बाहर करने के लिए 'रैंड ()% N' के बजाय अस्वीकृति नमूना का उपयोग करें।
भारित नमूने: वजन से तेज नमूनों के लिए संचयी वितरण (सीडीएफ) या अलियास एल्गोरिथ्म (Vose)।
मल्टीपल पुल: प्रत्येक रील/सेल/इवेंट के लिए एक अलग आरएनजी कॉल, न कि पूरे क्षेत्र के लिए एक नंबर को "बिखरना"।
कोड स्तर पर गारंटी: आक्रमणकारियों के लिए संपत्ति-आधारित परीक्षण ("आवृत्तियों का योग ≈ भार", "कोई खंड कम नहीं किया गया है")।
3) वास्तव में हम क्या जांचते हैं: लक्ष्य और मैट्रिक्स
RTP (प्लेयर पर वापसी) - औसत रिटर्न,%- अस्थिरता/विचरण - परिणामों का विचरण
- हिट दर - किसी भी जीत की आवृत्ति
- बोनस आवृत्ति
- अधिकतम एक्सपोज़र - सैद्धांतिक अधिकतम (बोली का एक्स)
- स्थिरता - समय/रिलीज में वितरण का कोई बहाव नहीं
4) आरएनजी सांख्यिकीय परीक्षण (ऑफ-लाइन बैटरी)
प्रत्येक आरएनजी स्ट्रीम के लिए अलग से लंबे अनुक्रम (10⁸+ बिट्स/मान) पर "बैटरी" का उपयोग करें:- क्षण और सहसंबंध: मोनोबिट परीक्षण (अनुपात 0/1), स्वतः संबंध (लैग के), धारावाहिक और युग्मित सहसंबंध।
- Тесты NIST SP 800-22: आवृत्ति, ब्लॉक आवृत्ति, रन, सबसे लंबा रन, FFT, अनुमानित एन्ट्रापी।
- TestU01/Dieharder: अतिरिक्त "तनाव परीक्षण" (जन्मदिन की जगह, मैट्रिक्स रैंक, यादृच्छिक भ्रमण)।
- केएस/ बाल्टी : '[0,1)' और लक्ष्य श्रेणियों पर अनुभवजन्य और सैद्धांतिक एकरूपता की तुलना।
- पोकर परीक्षण (बिट्स के समूहों के लिए) और "गैप टेस्ट"।
स्वीकार्यता मानदंड: स्वीकार्य सीमा में पी-मान ("बहुत आदर्श नहीं"), निश्चित पक्ष मूल्यों पर व्यवस्थित विफलताओं की अनुपस्थिति, विभिन्न प्लेटफार्मों/संकलकों पर स्थिर परिणाम।
5) मैपिंग आंकड़े (खेल-विशिष्ट)
यहां तक कि गलत मैपिंग से सही आरएनजी को बर्बाद किया जा सकता है। हम परिणामों के वितरण की जांच करते हैं:- प्रतीकों/कोशिकाओं की आवृत्तियाँ: वजन के साथ संयोग के लिए (रील/समूहों/सिक्कों द्वारा)।
- संयोजन/पंक्तियाँ: जीतने के लिए द्विपद अंतराल; संदर्भ तालिकाओं के साथ तुलना।
- बोनस ट्रिगर/रेट्रिगर्स: इवेंट अंतराल (ज्यामितीय/नकारात्मक द्विपद) + केएस/ईस्वी परीक्षण।
- ड्रम की स्वतंत्रता: पदों के बीच क्रॉस-सहसंबंध ("स्टिकिंग" को छोड़ कर)।
6) आरटीपी/अस्थिरता/आवृत्तियों के मोंटे कार्लो सिमुलेशन
प्रजनन योग्य सिमुलेशन QA गणित का मूल है।
1. सेटिंग: गणित, सिड्स, वज़न/thongs/paytable के संस्करण को ठीक करें।
2. रन: पूंछ स्थिरता के लिए ≥10⁷ - स्पिन 10⁸; अलग से - लंबे बोनस सत्र।
3. अनुमान और अंतराल:- RTP स्कोर: (~ hat {RTP} = é bar {X}), जहां (X) xBet में लाभ है।
- आत्मविश्वास अंतराल (CLT): (é hat {RTP}· pm z_{\alpha/2}\cdot s/é sqrt {n}).
- त्रुटि के लिए आवश्यक नमूना: (n é application (z é cdot s/é varepsilon) ^ 2)।
- हिट रेट/बोनस रेट के लिए, द्विपद (विल्सन) अंतराल।
- 4. पूंछ: p95/p99/p99। प्रति स्पिन और प्रति बोनस 9 जीतता है; नियंत्रण "अधिकतम जोखिम"।
- 5. स्थिरता: वज़न में संवेदनशीलता ("मजबूती रन")।
7) निर्धारण और प्रजनन क्षमता
क्यूए के लिए निर्धारक पक्ष: समान सिड - समान परिणाम (गोल्डन-रन)।
प्लेटफार्मों पर समान परिणाम: कंपाइलर/लाइब्रेरी संस्करण फिक्स, एंडियननेस चेक, एफपीयू मोड।
राज्यों को सहेजें: परिणाम को "फ़्लिप" किए बिना बाधित बोनस/स्पिन को बहाल करें।
रीप्ले इन्फ्रास्ट्रक्चर: विश्लेषण के लिए "समस्याग्रस्त" बीज + चरण टिकट लॉन्च करना।
8) सुरक्षा और विरोधी छेड़ छाड़
WORM लॉग (या मर्कली हैश चेन): एनीमेशन से पहले परिणाम और इनपुट मापदंडों को रिकॉर्ड करना।
बिल्ड और गणित सूचियों के हस्ताक्षर: वेतन तालिकाओं/तराजू का संस्करण - एक हस्ताक्षर के साथ प्रकट में।
ग्राहक अखंडता नियंत्रण: obfuscation, हैश चेकिंग, एंटी-इंस्ट्रूमेंटेशन।
सर्वर-आधिकारिक: केवल सर्वर परिणाम तय करता है; ग्राहक में "छिपी हुई" जाँच नहीं होती है।
9) लोड और दीर्घकालिक परीक्षण
भिगोना परीक्षण: पक्षों के रोटेशन के साथ सैकड़ों लाखों स्पिन; स्मृति/संसाधन लीक की निगरानी।
उच्च प्रतियोगिता: आरएनजी धाराओं के समानांतर सत्र - कोई रेसिंग/लॉक विवाद नहीं।
नेटवर्क डिग्रेड: बार-बार अनुरोध/टाइमआउट स्पिन परिणाम को नहीं बदलते हैं।
10) यूएक्स अपरिवर्तनों का मान्यता (इंटरफेस अखंडता)
नियर-मिस: एनिमेशन संभावना नहीं बदलते हैं; नाटक के लिए "हेराफेरी" पर प्रतिबंध लगाना बंद हो जाता है।
स्पिन गति: त्वरण/टर्बो आरएनजी को प्रभावित नहीं करता है।
निर्देशात्मक/डेमो मोड: या तो ईमानदार या टैग किया गया और गणित अलग हो गया।
11) रिलीज के बाद की निगरानी (बिक्री में सांख्यिकीय नियंत्रण)
एसपीसी कार्ड/नियंत्रण रेखांकन: RTP समय विंडो/कैसीनो/जियो - स्वीकार्य गलियारों में।
बहाव का पता लगाना: पीएसआई/जेएस जीत/आवृत्ति वितरण का विचलन।
अलार्म: विचलन → गेम/मार्केट ब्लॉकिंग, लॉग रिकॉल, रिपोर्ट।
12) प्रमाणन और प्रलेखन
लैब पैकेज तैयार करें (GLI/eCOGRA/BMM/iTech, आदि):- आरएनजी विवरण: एल्गोरिथ्म, एन्ट्रापी के स्रोत, फसल नीति, प्रवाह की स्वतंत्रता।
- RNG मॉड्यूल (या निरीक्षण कलाकृतियों) + परीक्षण लॉग के स्रोत/बायनेरीज़।
- मैथ शीट: पेआउट टेबल, वेट, आरटीपी ब्रेकडाउन (बेस/बोनस/जैकपॉट), अधिकतम एक्सपोज़र।
- सिमुलेशन रिपोर्ट: वॉल्यूम, मैट्रिक्स, आत्मविश्वास अंत
- लॉग/रिप्ले: प्रारूप, हस्ताक्षर, प्रतिधारण नीति।
- वर्शनिंग: कलाकृतियों के अपरिवर्तनीय हैश (निर्माण, संपत्ति, गणित)।
13) बार-बार गलतियाँ और उनसे कैसे बचें
'रैंड ()% N' and मॉड्यूलर ऑफसेट। अस्वीकृति/उर्फ का उपयोग करें।
थ्रेड्स के बिना सब कुछ के लिए एक आरएनजी। स्वतंत्र धाराएं करें, छिपे हुए सहसंबंधों से बचें।
मैपिंग "सुंदर सूचकांक द्वारा। "हमेशा वजन परीक्षणों के खिलाफ आवृत्तियों की जांच करें।
छोटे सिमुलेशन। एक "स्मोक चेक" है, पूंछ की जरूरत है -।- नियतात्मक पक्षों की कमी। उनके बिना, आप बग को पुन: पेश नहीं कर सकते।
- ग्राहक परिणाम तय करता है। केवल सर्वर, WORM सिर्फ लॉग करता है।
- कोई पोस्ट-मॉनिटरिंग नहीं। रिलीज अंत नहीं है, लेकिन सांख्यिकीय नियंत्रण की शुरुआत है।
14) सूत्र और मिनी धोखा शीट
एकरूपता (के बाल्टी):[
~ chi ^ 2 = łsum _ {i = 1} ^ k × frac {(O_i-E_i) ^ 2} {E _ i}, × quad E_i=n/k
]
से तुलना करें (é chi ^ 2 _ {k-1}).
निरंतर वितरण के लिए केएस:[
D = é sup _ x F_n (x) -F (x)
]
आरटीपी विश्वास अंतराल (सीएलटी):
[
~ hat {é mu} é pm}}}
]
अंश पी के लिए विल्सन (हिट/बोनस दर):
[
~ frac {p + × frac {z} {2n} {pm z {sqrt {wwwe frac {p (1-p)} {n} + फ्रैक ^} {4n {frac}} {
]
15) चेकलिस्ट
तकनीकी डिजाइन आरएनजी
- CSPRNG/TRNG स्रोत; प्रलेखित बीज/धारा नीति
- स्वतंत्र धाराएँ, कोई साझा-राज्य रेसिंग नहीं
- अस्वीकृति/उर्फ '%' के बजाय
- सर्वर-आधिकारिक; एनीमेशन से पहले परिणाम निर्
- WORM लॉग, कलाकृति हस्ताक्षर
आंकड़े और सिमुलेशन
- बैटरी NIST/TestU01/Dieharder - पास
- - परिणाम मानचित्रण पर
- ≥10⁷ - स्पिन 10⁸; सहिष्णुता में आरटीपी/आवृत्तियों द्वारा सीआई
- p95/p99/p99 पूंछ। 9 और अधिकतम जोखिम नियंत्रण में
- मजबूती तब चलती है जब to to तराजू
क्यूए/इंजीनियरिंग
- निर्धारक पक्ष; रीप्ले टिकट
- सोक/लोड; मेमोरी/सीपीयू/विलंबता स्थिरता
- परिणाम के परिवर्तन के बिना स्पिन/बोनस सारांश
- परिणामों की क्रॉस-प्लेटफ़ॉर्म पहचान
अनुपालन/दस्तावेज़
- RNG विनिर्देश + स्रोत/कलाकृतियाँ
- गणित शीट + सिमुलेशन रिपोर्ट
- लॉगिंग/रिटेंशन/लेखा परीक्षा नीतियां
- Versioning और निर्माण/भुगतान योग्य हैश
आरएनजी और जीतने वाले यांत्रिकी परीक्षण आंकड़े और सुरक्षा इंजीनियरिंग हैं। आप खिलाड़ियों और ब्रांड की रक्षा करते
1. आरएनजी खड़ा है और सही ढंग से वरीयता प्राप्त है, 2। पूर्वाग्रह और प्रजनन योग्य के बिना परिणाम मैपिंग, 3। RTP/आवृत्तियों/पूंछ बड़े सिमुलेशन द्वारा पुष्टि की गई, 4। परिणाम को एनीमेशन से पहले कैप्चर और ऑडिट किया जाता है, 5। रिलीज के बाद की निगरानी किसी भी बहाव को पकड़ ती है।
इसलिए स्लॉट ईमानदार, पूर्वानुमानित (एक सांख्यिकीय अर्थ में) और हेरफेर के लिए प्रतिरोधी है - और आप प्रमाणीकरण पारित करते हैं और दीर्घकालिक विश्वास का नि