मैं एनकाउंटर के संतुलन पर छोटे संख्यात्मक लाभों को कैसे रोक सकता हूं?


27

मैं कुछ समय से खेल के साथ छेड़छाड़ कर रहा हूं और मुझे कुछ परेशानी हो रही है:

मेरे पास दो वर्ण हैं, जिनमें से प्रत्येक की विशेषताएँ (लगभग दस) एक सीमा में (1 और 20 के बीच) हैं। मैं इन विशेषताओं का उपयोग 'रोल' उत्पन्न करने के लिए करना चाहता हूं ताकि उच्च रोल उस विशेष मुठभेड़ को जीत सके। यह ध्यान देने योग्य है कि दो अक्षर एक-दूसरे को नुकसान / बचाव नहीं कर रहे हैं । वे दोनों यह देखने के लिए रोल कर रहे हैं कि क्या वे पास करते हैं जो मुझे लगता है कि हम एक कौशल जांच कॉल कर सकते हैं। वे दोनों एक सामान्य मूल्य के विरुद्ध पास / असफल होने के लिए रोल कर रहे हैं। वे एक दूसरे के साथ बातचीत नहीं करते हैं।

हालांकि, जब पात्रों में से एक का भी एक छोटा सा संख्यात्मक लाभ होता है, तो मैं कभी-कभी थोड़ा बेहतर एक समय में एक बड़ा बहुमत जीतने वाले परिणामों के साथ आया हूं। यह अवांछनीय है।

मैंने परीक्षण के लिए 'सबसे अधिक प्रासंगिक' विशेषता को 80% और अन्य विशेषताओं के योग को 20% पर रखने की कोशिश की है। मैंने औसत अंतर की तुलना करने की कोशिश की और कमजोर चरित्र को बढ़ावा देने के लिए इसका उपयोग किया। दोनों दृष्टिकोणों के परिणामस्वरूप महत्वपूर्ण फायदे हैं जिन्हें मैं हटाने की कोशिश कर रहा हूं (उदाहरण के लिए, अगर मैं मुठभेड़ को 5,000 बार चलाता हूं, तो यह नियमित रूप से एक तरफ 5,000 मिलियन जीतने का उत्पादन करता है)।

एक "भाग्य" घटक को जोड़ना केवल मायने रखता है, ऐसा लगता है, अगर यह किसी भी तरह से कम चरित्र के पक्ष में भारित होता है, और मैंने वहां एक अच्छा संतुलन नहीं मारा है।

एक छोटे से संख्यात्मक लाभ के प्रभाव को कुंद करने के लिए मैं क्या दृष्टिकोण अपना सकता हूं लेकिन फिर भी उस लाभ को संरक्षित और बढ़ाता हूं क्योंकि विशेषताओं में सापेक्ष अंतर बढ़ता है?


अनुरोध के अनुसार, यहां मेरे द्वारा बताई गई बारीकियां हैं। कुछ चीजें जिन्हें मैं अभी तक समझ नहीं पाया हूं, ताकि वे सामान्य रहें:

फिलहाल, रोल के रूप में उत्पन्न होता है

0.8 * (mainAttribute) + 0.2 (1/3 * subAttA + 1/3 * subAttB * 1/3 subAttC)

वर्तमान में, यह 4.0 के पड़ोस में संख्या पैदा करता है। विशेषताएँ यादृच्छिक रूप से निर्दिष्ट सीमाओं के बीच उत्पन्न होती हैं। वर्तमान परीक्षण 2 से 4 तक की विशेषताओं के साथ एक चरित्र का उपयोग करता है, और 3 और 5 के बीच का प्रतिद्वंद्वी। जाहिर है, यह क्रमशः 3 और 4 के करीब औसत पैदा करता है।

इस एक-बिंदु लाभ के साथ, मैं 55% से 60% समय के क्षेत्र में दो जीत की मजबूती देखना चाहता हूं, इस समय लगभग 80% जीतने के लिए औसत विशेषता लाभ के साथ 7 या 8 के फायदों पर 5 या 6, 90%, एक बड़ी जीत के लिए कुछ जगह छोड़ देता है जब अंतर बड़ा हो जाता है। मैं कभी भी जीत की गारंटी नहीं देना चाहता, लेकिन शायद चीजें बहुत ही कम हो रही हैं - 99.5% या 99.6% जीतने की धुन में जब अंतर बहुत बड़ा हो जाता है।

वर्तमान सूत्र एक गैर-यादृच्छिक संख्या पैदा करता है। यादृच्छिकता से आता है कि कौन से गुण प्रासंगिक हैं। नहीं सभी विशेषताओं में से प्रत्येक रोल के लिए उपयोग किया जाता है। यह उस रोल के लिए प्रासंगिक क्षेत्रों में मजबूत होने के लिए समग्र कमजोर विशेषताओं के साथ संभव है, और एक जीत चोरी। लेकिन, अनुमानित रूप से, यह शायद ही कभी होता है।

मेरा अगला प्रयास था कि प्रत्येक के आँकड़ों का औसत निकालकर, उन्हें एक-दूसरे के विरुद्ध विभाजित करके, और उस मूल्य का उपयोग करके कम चरित्र को एक छोटा बढ़ावा देने के लिए उनकी सापेक्ष शक्तियों को तौला जाए। इसने चीजों को थोड़ा कम कर दिया, लेकिन फिर भी 5,000 में से एक आदमी के लिए 5,000 जीत जैसी चीजों का उत्पादन करने की स्पष्ट प्रवृत्ति थी।


2
आप कहते हैं कि "भूमिका उत्पन्न होती है", लेकिन फिर आप एक सूत्र पोस्ट करते हैं जो हमेशा एक निश्चित संख्या उत्पन्न करेगा। यादृच्छिकता कहां है?
फिलिप

1
तो अगर मैं आपको सही तरीके से समझूं, तो आपके गेम मैकेनिक में एकमात्र यादृच्छिकता मुख्य विशेषता का यादृच्छिक पिक है?
फिलिप

2
लेकिन @Philipp का मतलब है कि 5000 कोशिशों के बाद भी वही नतीजे मिलेंगे? या क्या आप प्रत्येक सिमुलेशन में नई विशेषताओं को उत्पन्न करते हैं
फेल्सिर

1
यदि दोनों एक दूसरे के साथ बातचीत नहीं कर रहे हैं, तो दोनों में से एक वास्तव में कैसे जीतता है? लगता है यहाँ कुछ डेटा गायब है?
एरिक

1
प्रत्येक एक रोल का उत्पादन एक लक्ष्य की तुलना में होता है जिसकी उन्हें पहुंचने की आवश्यकता होती है। अगर एक पहुंचता है और दूसरा नहीं करता है, तो वह जीत जाता है। अगर वे दोनों इसे हासिल करते हैं, तो दोनों में से उच्च जीतता है। अगर न तो पहुंचता है, न तो बिंदु पाता है। एक टाई की भी संभावना नहीं है, वे बिंदु को विभाजित करते हैं। 'बातचीत नहीं करने' से मेरा तात्पर्य पारंपरिक अर्थों में एक-दूसरे के खिलाफ मारना या बचाव नहीं करना था, क्योंकि जहाँ शुरुआती चर्चा हुई थी।
ffenliv

जवाबों:


36

आपके दृष्टिकोण के साथ समस्या यह है कि आप मुख्य स्टेट पर तय किए गए पल के मुकाबले का परिणाम तय करते हैं। जब आपके पास 4 मुख्य आँकड़े होते हैं, और लड़ाकू उनमें से केवल एक में बेहतर होता है, तो उनका जीत-मौका हमेशा 4 में से 1 होता है, चाहे वे वास्तव में कितने बड़े अंतर हों। जब आप अधिक महीन दाने वाले परिणाम चाहते हैं, तो आपको अधिक सुव्यवस्थित यादृच्छिकता की आवश्यकता होती है।

सबसे पहले, मुझे लगता है कि आप मुख्य विशेषता के लिए अपनी यादृच्छिक पिक रख सकते हैं और यदि आप चाहते हैं तो आप अपना सूत्र भी रख सकते हैं। यह वह संख्या है जो यह बताती है कि इस विशिष्ट मुठभेड़ में इस बढ़त का कितना हिस्सा है। इस पोस्ट के बाकी हिस्सों के लिए, मैं इसे बस के रूप में संदर्भित करूंगा power

एक विधि जिसका मैंने काफी खेलों में इस्तेमाल किया और जिसने मुझे काफी अच्छी तरह से परोस दिया जब एक निश्चित के साथ दो चीजों के बीच द्वंद्व होता है power, दोनों के बीच 0और उसके powerलिए एक यादृच्छिक फ्लोटिंग-पॉइंट नंबर रोल करना है और देखें कि कौन उच्च रोल किया है। इस विधि के अपेक्षित परिणामों की एक सूची इस प्रकार है। प्रतिशत की गणना नहीं की जाती है, लेकिन प्रयोगात्मक रूप से 100000 झगड़े प्रति संयोजन और पुनरावृत्ति गणना और गणना के द्वारा उत्पन्न होते हैं, जो कितनी बार जीते:

PowerA | PowerB | Win chance of A
  9    |   1    |    94.5%
  8    |   2    |    87.5%
  7    |   3    |    78.6%
  6    |   4    |    66.6%
  5    |   5    |    50.0%
  4    |   6    |    33.3%
  3    |   7    |    21.5%
  2    |   8    |    12.5%
  1    |   9    |    5.5%

इस एल्गोरिदम के बारे में अच्छी बात यह है कि इससे कोई फर्क नहीं पड़ता कि आप कितनी बड़ी संख्या में काम कर रहे हैं। 0.3 बनाम 0.7 का मौका 3 बनाम 7, 300 बनाम 700 या 3,000,000,000 बनाम 7,000,000,000 के समान है।

जब यह आपके स्वाद के लिए अभी भी अप्रत्याशित है, तो आप प्रत्येक लड़ाकू के लिए कई यादृच्छिक संख्याओं को रोल करके और उन्हें जोड़कर युद्ध को और अधिक अनुमानित कर सकते हैं। बड़ी संख्या के कानून के कारण , कई यादृच्छिक घटनाएं भी बाहर हो जाएंगी और अधिक अनुमानित परिणाम होंगे। यहां विभिन्न सारणियों के साथ एक तालिका है।

| A | B | Iterations
|   |   |       1 |     2 |     3 |     4 |     5 |     6 |     7 |     8 |     9 |
-----------------------------------------------------------------------------------
| 9 | 1 |   94.5% | 99.3% | 99.9% |100.0% |100.0% |100.0% |100.0% |100.0% |100.0% | 
| 8 | 2 |   87.4% | 96.3% | 98.8% | 99.5% | 99.8% |100.0% |100.0% |100.0% |100.0% | 
| 7 | 3 |   78.7% | 89.2% | 94.0% | 96.6% | 97.8% | 98.9% | 99.2% | 99.6% | 99.7% | 
| 6 | 4 |   66.8% | 74.3% | 79.2% | 82.9% | 85.7% | 88.0% | 89.9% | 91.2% | 92.5% | 
| 5 | 5 |   50.0% | 50.0% | 50.0% | 50.0% | 50.0% | 50.0% | 50.0% | 50.0% | 50.0% | 
| 4 | 6 |   33.6% | 25.6% | 20.9% | 17.1% | 14.7% | 12.0% | 10.2% |  8.9% |  7.5% | 
| 3 | 7 |   21.4% | 10.7% |  6.0% |  3.5% |  2.0% |  1.2% |  0.7% |  0.4% |  0.3% | 
| 2 | 8 |   12.7% |  3.7% |  1.2% |  0.4% |  0.1% |  0.1% |  0.0% |  0.0% |  0.0% | 
| 1 | 9 |    5.5% |  0.7% |  0.1% |  0.0% |  0.0% |  0.0% |  0.0% |  0.0% |  0.0% | 

गोलमेज अंतर के कारण उपरोक्त तालिका में 100% और 0% के परिणाम भ्रम हैं। जब तक powerएक लड़ाका ठीक 0 नहीं होता, हमेशा संभावना होती है कि वे जीतें। यह सिर्फ उपरोक्त परीक्षण में नहीं हुआ, इसलिए आप इसे 1: 100000 से नीचे होने की उम्मीद कर सकते हैं।

आप कुछ मामूली अनियमितताओं को भी देख सकते हैं जिन्हें java.lang.Random के मिजाज के लिए जिम्मेदार ठहराया जा सकता है और जब आप एक अलग बीज के साथ फिर से कोड चलाते हैं, तो वह प्रकट नहीं हो सकता है।

मैं इस तालिका (जावा) को उत्पन्न करने के लिए जिस कार्यक्रम का उपयोग करता था।

public class Main {

    private static Random random = new Random();
    private static final int SAMPLES = 100000;

    public static void main(String[] args) {        
        for (int i = 1; i < 10; i++) {
            double powerA = 10.0 - i;
            double powerB = i;
            System.out.print("| ");
            System.out.print((int)powerA);
            System.out.print(" | ");
            System.out.print((int)powerB);
            System.out.print(" |   ");

            for (int iterations = 1; iterations < 10; iterations++) {
                int wins = 0;
                for (int j = 0; j < SAMPLES; j++) {
                    if (fight(powerA, powerB, iterations)) wins++;
                }
                System.out.print(String.format("%2.1f", 100.0 * (double)wins / (double)SAMPLES));
                System.out.print("% | ");
            }
            System.out.print("\n");
        }       
    }

    private static boolean fight(double powerA, double powerB, int iterations) {        
        double sumA = 0.0f;
        double sumB = 0.0f;     
        for (int i = 0; i < iterations; i++) {
            sumA += random.nextDouble() * powerA;
            sumB += random.nextDouble() * powerB;

        }       
        return sumA > sumB;
    }
}

यदि आप इस कोड का उपयोग अपने खेल में करना चाहते हैं, तो इसे डब्ल्यूटीएफ पब्लिक लाइसेंस वर्जन 2 के तहत सैम होसेवर द्वारा प्रकाशित किया गया है


यह एक दिलचस्प दृष्टिकोण है। मेरे कुछ प्रयासों में, मैं इस पर आधा चला गया। मैं इसे तार देता हूँ और इसे आज़माता हूँ। बहुत धन्यवाद।
ffenliv

10
आपकी पहली तालिका के प्रतिशत की गणना ठीक उसी तरह की जा सकती है 1 - powerA / ( 2 * powerB )
काइल

2
@ केइल केवल जब तक काम करता है powerA < powerB। पावर बड़ा होने के बाद, आपको स्विच करने की आवश्यकता है powerB / (2 * powerA)
डोरस

1
मुझे यकीन नहीं है कि StackExchange ToS आपको सामग्री और कोड पर अनिवार्य साइट लाइसेंस से भटका देता है, भले ही आपका लाइसेंस उनकी तुलना में अधिक अनुमत हो। बेशक, यह पता लगाना असंभव है कि क्या यह प्रस्तावित एमआईटी या अभी भी सीसी है।
लार्स विकलुंड

5
@LarsViklund आप यहां एक ऑफ-टॉपिक चर्चा शुरू कर रहे हैं, लेकिन नहीं, यह गलत है। स्टैकएक्सचेंज का लाइसेंस गैर-अनन्य है, जिसका मतलब है कि मैं अभी भी अपनी बौद्धिक संपदा किसी अन्य लाइसेंस शर्तों के तहत देना चाहता हूं जब मैं चाहता हूं। मेरा योगदान CC-BY-SA (Stackexchange द्वारा अनिवार्य) और WTFPL के तहत दोहरे लाइसेंस वाले हैं। आप चुन सकते हैं कि आप किस स्थिति में मेरे योगदान का उपयोग करना चाहेंगे।
फिलिप

13

आपकी गलती "पासा आधारित" दृष्टिकोण का उपयोग कर रही है। आप एक ऐसे कंप्यूटर पर हैं जिसे आप अपनी पसंद के किसी भी सिस्टम का उपयोग कर सकते हैं। एक तालिका बनाएं जो मूल्यों में अंतर को जीतने के लिए एक% उम्र के अवसर में बदल देती है और फिर आप मूल्यों को बिल्कुल कुछ भी सेट कर सकते हैं जो आपको पसंद है, जैसे;

Difference (A-B) | %chance A wins
-----------------|---------------
+5 or greater    | 100%
+4               | 95%
+3               | 85%
+2               | 70%
+1               | 55%
0                | 50%

(आपको केवल आधी तालिका की आवश्यकता है, बस हमेशा उच्च स्टेट वाले A को चुनें)

जाहिर है, ये संख्याएं केवल एक उदाहरण हैं, आप इसे वितरित कर सकते हैं जो भी वितरण आपको प्रसन्न करता है।


2
हालांकि मैं वर्तमान में स्वीकृत उत्तर के आधार पर एक प्रणाली के साथ काम कर रहा हूं, यह काफी सरल है, और मेरे लिए एक अच्छा समाधान भी हो सकता है। मुझे पता था कि अच्छे ol 'StackExchange मेरे लिए आएगा।
ffenliv

5

यह एक बहुत गहरा सवाल है, ईमानदारी से, एक खेल यांत्रिकी के दृष्टिकोण से। लेकिन कुछ चीजें हैं जो मदद कर सकती हैं।

सबसे पहले, यही कारण है कि अधिकांश खेलों में हिट और क्षति के लिए एक अलग घटक होता है, जहां "रोल" होता है यह देखने के लिए कि क्या आप क्षति के लिए हिट करते हैं, तो किसी क्षति तालिका या दिए गए चरित्र के लिए एक "रोल"। यह भी शैलियों में कुछ मानक चापलूसी की ओर ले जाता है, जहाँ आपके पास छोटे, तेज वर्ण हो सकते हैं, जिनमें कम हिट पॉइंट होते हैं, लेकिन अधिक नुकसान (कांच के तोप के टुकड़े, कुछ प्रकार के बदमाश) और बड़े, बख्तरबंद वर्ण जो कम क्षति (टैंक, योद्धा) के लिए हिट होते हैं )।

यह एक प्राकृतिक संतुलन की ओर ले जाता है, जहां छोटा पात्र नाजुक हो सकता है, लेकिन एक चपलता-प्रकार की क्षमता के कारण अक्सर हिट होने से बचा जाता है, और अधिक नुकसान (स्पेल, या एक जहर प्रभाव) को नुकसान पहुंचाकर खेल के मैदान को विकसित करता है। पहर)। टैंक धीमा हो सकता है और अधिक बार हिट हो सकता है, लेकिन अक्सर इसे बनाए रखने के लिए स्वास्थ्य या हिटपॉइंट्स का एक बड़ा कुआं होता है, हालांकि प्रति हिट (या प्रति सेकंड नुकसान) को कम नुकसान करता है।

इनके लिए पृष्ठभूमि है कि कई गेम लगातार हथियारों और वर्गों और आंकड़ों के संतुलन के माध्यम से चलते हैं। विश्व या Warcraft, नियति, डियाब्लो, बैटलफील्ड: किसी भी शैली में किसी भी प्रकार का खेल अक्सर समय के साथ संतुलन और ट्यूनिंग से गुजरता है।

यह एक सीधा जवाब नहीं हो सकता है, लेकिन आपने सामान्य विचारों के लिए कहा था। तो, चलिए नाटक प्रणाली का मूल्यांकन भी करते हैं।

वे विशेषताएँ कैसे कार्य करती हैं? यदि बाकी सब समान हैं (कोई भी शस्त्र, कोई कवच या बेहतर हथियार या क्या नहीं), तो किसी भी मामूली लाभ से चीजों को एक पक्ष के पक्ष में फेंकने की पूरी संभावना है। मुकाबला करने के लिए पहलुओं को जोड़ते हुए किसी भी प्रणाली को जटिल बनाता है, यह अधिक लचीलेपन के लिए भी अनुमति देता है।


एक तरफ के रूप में, मुझे लगता है कि यह एक उत्कृष्ट सवाल है और कुछ बहुत ही दिलचस्प खेल यांत्रिकी चर्चाओं को जन्म दे सकता है। यह संभव है कि यह राय-आधारित बन सकता है, इसलिए इस तरह के स्पर्शरेखा से सावधान रहना महत्वपूर्ण है (यह गेम इस खेल से बेहतर है, और इसके बाद), लेकिन इसमें कुछ बुनियादी बातों को शामिल किया गया है जो अधिक लोगों को पोस्ट के रूप में ज्ञानवर्धक हो सकता है।
जेसी विलियम्स

स्पष्ट रूप से, मेरे पास पहले 'हिट' और 'डैमेज' मैकेनिक जा रहा था, लेकिन इसे उन कारणों से खिसकाया, जिन्हें मैं अब याद नहीं करता (और यह कल ही था। मेरी याददाश्त थोड़ी है ... खराब है) मुझे स्पष्ट होना चाहिए, पात्र एक दूसरे पर हमला / बचाव नहीं कर रहे हैं। कोई क्षति घटक नहीं है। यह एक कौशल जाँच है, जहाँ दोनों एक सामान्य मूल्य के खिलाफ जाँच करते हैं कि क्या रोल 'पास' है या नहीं .. दोनों के बीच कोई बातचीत नहीं है जो प्रतिस्पर्धा कर रहे हैं।
ffenliv

2

दो बड़ी बातें हैं।

सबसे पहले, याद रखें कि आप कंप्यूटर पर हैं। आप अपनी इच्छानुसार कोई भी सिस्टम बना सकते हैं। अपने आप को एक डी 20 रोल तक सीमित करने की आवश्यकता नहीं है, हालांकि यह खिलाड़ियों के लिए समझना आसान है। 6 d6 पासा को रोल करने जैसी चीजें कंप्यूटर पर आसान हैं और वे बहुत कम यादृच्छिक परिणाम देते हैं।

दूसरा, डी एंड डी जैसी अन्य प्रणालियों को देखते हुए यह स्पष्ट है कि वे केवल विशेषताओं के प्रभाव को बहुत हद तक कम कर देते हैं। अपने आधार स्टेट को नियम में रखने के बजाय इसके मूल्य का 80% जोड़ें, इसे नीचे पैमाने पर रखें और इसके अतिरिक्त को और अधिक सूक्ष्म बनाएं। उदाहरण के लिए डी एंड डी में यदि आपके पास 18 निपुणता है तो आपको अपने कवच वर्ग को बोनस के रूप में सिर्फ 4 मिलते हैं।

तो संक्षेप में आप सभी को अपनी सीमा को बेहतर तरीके से फिट करने के लिए अपने डोमेन को स्केल करने की आवश्यकता है। लेकिन गुणात्मक रूप से मुझे लगता है कि अन्य प्रणालियों को देखते हुए और उन चीजों के साथ आना होगा जो कम गणितीय लगते हैं और खिलाड़ी के लिए अधिक संतोषजनक प्रणाली बना देंगे।


1d20 या 6d6 या 5d4 - परिणाम अधिक या कम यादृच्छिक नहीं हैं, आप केवल सीमा बदलते हैं। रैंडम रैंडम है। किसी सिस्टम को संतुलित करने के लिए रेंज और डोमेन को स्केल करना पर्याप्त नहीं है। यह केवल चीजों को लंबे समय तक खींचने की संभावना है।
जेसी विलियम्स

8
@ जेसे विलियम्स सच नहीं है। 1d20 में किसी भी संभावित मान को प्राप्त करने का एक समान मौका है। 5d4 के साथ, आपको 20 पाने के लिए 12 या 13 प्राप्त करने की बहुत अधिक संभावना है।
रोब वाट्स

एकाधिक रोल नंबर जेनरेटरों में खामियों को छिपाते हैं, इसलिए यह कंप्यूटर पर विशेष रूप से महत्वपूर्ण है। वास्तव में एक बिटवाइस तरह के स्तर पर रोल संयोजन कई जनरेटर का आधार है।
युडिस्ट

मुझे सही साबित होना है।
जेसी विलियम्स

3
@RobWatts अभी भी कम या ज्यादा यादृच्छिक नहीं है, यह सिर्फ एक अलग वितरण है। पूर्व के "रोल" के बारे में जानकारी होने से आप भविष्य के परिणामों (आरएनजी में खामियों को नजरअंदाज करना) की बेहतर भविष्यवाणी नहीं कर सकते हैं, इसलिए यह सिर्फ यादृच्छिक है।
चबेकर0

1

इसके बारे में कैसे: संबंधित सभी विशेषताओं के लिए एक स्थिर, जैसे 1000 जोड़ें। तब सापेक्ष अंतर बहुत छोटा हो जाता है।


1

अपने नंबर जानिए

फिलिप के उत्तर में थोड़ा सा जोड़कर , अर्थात उस रैंड [y] की तुलना में रैंड [x] हमेशा वह उत्पन्न नहीं कर सकता है जिसकी कोई अपेक्षा करता है। एक तालिका के नीचे जहां हम ए से बी की तुलना करते हैं, ए और बी दोनों का मान 1 ... 10 है। हम दो तरीकों से तुलना करते हैं (नोट: रैंड () इस मामले में पूर्णांक, यानी रोल उत्पन्न करता है)।

  1. रैंड [A]> रैंड [B]
  2. रैंड [ए] [रैंड [बी] (यानी। बड़ा या बराबर)

इसके अतिरिक्त हम तुलना करते हैं

  1. रैंड [ए * 1000000]> रैंड [बी * 1000000]
    (इस मामले में यह अप्रासंगिक है कि क्या यह> या is है क्योंकि वे इतने करीब हैं)। ये बड़े आंकड़े कोष्ठक के भीतर हैं।

प्रकोष्ठों का%% है। प्रत्येक परिणाम में 1 मिलियन पुनरावृत्तियों ( Dyalog APL का उपयोग करके बनाया गया ) है।

┌────────────┬────────────┬────────────┬────────────┬────────────┬────────────┬────────────┬────────────┬────────────┬────────────┬────────────┐
 A      B  1 (1000000)│ 2 (2000000)│ 3 (3000000)│ 4 (4000000)│ 5 (5000000)│ 6 (6000000)│ 7 (7000000)│ 8 (8000000)│ 9 (9000000)│10(10000000)│
├────────────┼────────────┼────────────┼────────────┼────────────┼────────────┼────────────┼────────────┼────────────┼────────────┼────────────┤
 1 (1000000)│ >0(50) 100  >0(25) 50  >0(17) 33  >0(13) 25  >0(10) 20   >0(8) 17   >0(7) 14   >0(6) 13   >0(6) 11   >0(5) 10
├────────────┼────────────┼────────────┼────────────┼────────────┼────────────┼────────────┼────────────┼────────────┼────────────┼────────────┤
 2 (2000000)│>50(75) 100 >25(50) 75 >17(33) 50 >12(25) 38 >10(20) 30  >8(17) 25  >7(14) 21  >6(13) 19  >6(11) 17  >5(10) 15
├────────────┼────────────┼────────────┼────────────┼────────────┼────────────┼────────────┼────────────┼────────────┼────────────┼────────────┤
 3 (3000000)│>67(83) 100 >50(67) 83 >33(50) 67 >25(37) 50 >20(30) 40 >17(25) 33 >14(21) 29 >12(19) 25 >11(17) 22 >10(15) 20
├────────────┼────────────┼────────────┼────────────┼────────────┼────────────┼────────────┼────────────┼────────────┼────────────┼────────────┤
 4 (4000000)│>75(87) 100 >62(75) 88 >50(62) 75 >37(50) 63 >30(40) 50 >25(33) 42 >21(29) 36 >19(25) 31 >17(22) 28 >15(20) 25
├────────────┼────────────┼────────────┼────────────┼────────────┼────────────┼────────────┼────────────┼────────────┼────────────┼────────────┤
 5 (5000000)│>80(90) 100 >70(80) 90 >60(70) 80 >50(60) 70 >40(50) 60 >33(42) 50 >29(36) 43 >25(31) 38 >22(28) 33 >20(25) 30
├────────────┼────────────┼────────────┼────────────┼────────────┼────────────┼────────────┼────────────┼────────────┼────────────┼────────────┤
 6 (6000000)│>83(92) 100 >75(83) 92 >67(75) 83 >58(67) 75 >50(58) 67 >42(50) 58 >36(43) 50 >31(38) 44 >28(33) 39 >25(30) 35
├────────────┼────────────┼────────────┼────────────┼────────────┼────────────┼────────────┼────────────┼────────────┼────────────┼────────────┤
 7 (7000000)│>86(93) 100 >79(86) 93 >71(79) 86 >64(71) 79 >57(64) 71 >50(57) 64 >43(50) 57 >38(44) 50 >33(39) 44 >30(35) 40
├────────────┼────────────┼────────────┼────────────┼────────────┼────────────┼────────────┼────────────┼────────────┼────────────┼────────────┤
 8 (8000000)│>88(94) 100 >81(87) 94 >75(81) 87 >69(75) 81 >63(69) 75 >56(62) 69 >50(56) 62 >44(50) 56 >39(44) 50 >35(40) 45
├────────────┼────────────┼────────────┼────────────┼────────────┼────────────┼────────────┼────────────┼────────────┼────────────┼────────────┤
 9 (9000000)│>89(94) 100 >83(89) 94 >78(83) 89 >72(78) 83 >67(72) 78 >61(67) 72 >55(61) 67 >50(56) 61 >44(50) 56 >40(45) 50
├────────────┼────────────┼────────────┼────────────┼────────────┼────────────┼────────────┼────────────┼────────────┼────────────┼────────────┤
10(10000000)│>90(95) 100 >85(90) 95 >80(85) 90 >75(80) 85 >70(75) 80 >65(70) 75 >60(65) 70 >55(60) 65 >50(55) 60 >45(50) 55
└────────────┴────────────┴────────────┴────────────┴────────────┴────────────┴────────────┴────────────┴────────────┴────────────┴────────────┘

यदि A = 2 और B = 3 (और 1 मिलियन परीक्षण) देखें:

  • रैंड (2) 17% मामलों में रैंड (3) से बड़ा है
  • 33% मामलों में रैंड (2000000) रैंड (3000000) से बड़ा है (नोटिस स्केलिंग ।/ .. पूर्णांक राउंडिंग)।
  • रैंड (2) 50% मामलों में रैंड (3) से बड़ा या बराबर है
  • (रैंड (2000000) 50% मामलों में रैंड (3000000) से बड़ा या बराबर है)

आश्चर्य हो सकता है कि:

  • रैंड (2)> रैंड (3) केवल 17% मामलों में
  • 45% मामलों में रैंड (10)> रैंड (10)
  • रैंड (6)> रैंड (5) हर दूसरे समय

मैं वास्तव में इस क्यू को अलग तरीके से हल कर सकता हूं, बस 10x10 टेबल को अच्छे, वांछित प्रतिशत के साथ हाथ से टाइप करके (शायद कोई अनियमितता चाहता है?)। फिर अगर दो मूल्यों के बीच अंतर करने की जरूरत है, तो एक सटीक प्रतिशत प्राप्त करने के लिए, यह किसी कारण 53 का है। तब 53% -प्रतिस्पर्धी हिट, 0 या 1, केवल एक रैंड (100) निष्पादित करके और परीक्षण करना आसान है यदि यह छोटा है या 53 :-) के बराबर है।

यह रेखा एडले के उल्लेखों के साथ है।


1
क्या आप एक यादृच्छिक संख्या जनरेटर का उपयोग कर रहे हैं जो पूर्णांक उत्पन्न करता है? मेरा जवाब एक RNG जो डबल परिशुद्धता चल बिन्दु संख्या के बीच उत्पन्न करता है 0.0और 1.0। उस मामले में >और के बीच अंतर >=नगण्य है। आप इसे इंगित करना चाह सकते हैं।
फिलिप

हां, यह अभीष्ट संदेश का हिस्सा है, केवल संख्यात्मक स्थानों के भिन्न व्यवहार को इंगित करने के लिए, उदा। छोटे-से-पूर्णांक (रफ ग्रैन्युलैरिटी) बनाम लार्ज-वैल्यू पूर्णांक (और वास्तव में फ्लोट) भी ठीक ग्रैन्युलैरिटी के साथ। मैं "पूर्णांक" कहीं डालूँगा, पिनपॉइंटिंग के लिए thx। मैं वास्तव में उस लापरवाही को इंगित करता हूं: "(इस मामले में यह अप्रासंगिक है कि क्या यह> या so है क्योंकि वे इतने करीब हैं")। यदि सिस्टम संतुलन प्राप्त करने के लिए प्रोत्साहित नहीं किया जाता है, तो अक्सर संख्या आश्चर्यजनक मान (हैमन माइंड के लिए) पाती है। मूल रूप से, इस मामले में जरूरी नहीं है।
स्टॉर्मविंड

0

पारंपरिक दृष्टिकोण जो कई उत्तरों को स्पष्ट रूप से संदर्भित करता है, लेकिन किसी ने वास्तव में वर्तनी नहीं दी है कि कार्य को एक निश्चित मर रोल की आवश्यकता है, और अपने आँकड़ों से प्राप्त क्षमता संशोधक जोड़ें।

उदाहरण के लिए, यदि दो खिलाड़ी प्रक्रिया का पालन करते हैं:

  • एक 14 पक्षीय मरो रोल
  • मरने के रोल में उनके संशोधक जोड़ें

और तब तक दोहराएं जब तक कि एक पक्ष दूसरे को नहीं मारता है, तब आपको अपनी सीमा में नंबर मिलते हैं: यहां उनके संशोधक को दिए गए संख्यात्मक लाभ के साथ जीत की संभावनाएं हैं:

0   50%
1   57%
2   64%
3   70%
4   76%
5   81%
6   85%
7   89%
8   92%
9   95%
10  97%

0

वर्चस्व के लिए पात्र एक-दूसरे को चुनौती नहीं देते हैं। वे एक आवश्यकता को चुनौती देते हैं। क्या होगा अगर दोनों आवश्यकता को पारित करते हैं। किसी जीत? मुझे आश्चर्य है कि आपने तर्क को पर्याप्त चुनौती नहीं दी है कि आप इसके साथ गणना करने के लिए भी गए हैं।

किसी भी तरह से, यहाँ दो चीजें हैं जो आपको कुछ अच्छा कर सकती हैं।

लाभ के साथ जीत का मौका मामला:

IF पास बार / स्किल चेक 10. A Rolls 40 का एक रोल है। B Roll 42. यदि केवल एक को जीतना है। एक बराबर ए 50% विन / बी 50% विन से शुरू। आप लाभ की मात्रा के आधार पर मौका जीतने के लिए% जोड़ सकते हैं। रोल बी में रोल के संदर्भ में (42-40) / 40 = 5% लाभ है। इसे सीधे जोड़ने से B की जीत का मौका 55% हो जाता है। या आप प्रति लाभ प्रतिशत के हिसाब से कस्टम जीत का मौका निर्धारित कर सकते हैं। प्रत्येक 100% लाभ के लिए कहें कि आप जीतने के लिए 10% मौका जोड़ते हैं। तो अगर A रोल्स 10 और B 20 रोल करता है। तब A 40% जीतता है और B 60% केस जीतता है।

निष्पक्ष यादृच्छिकता अवधारणा:

जीतने के लिए एक मानक 30% संभावना है कि आप 100 में से 38 चेक जीत सकते हैं।

कुछ लोग निष्पक्षता में एक अतिरिक्त कदम चाहते हैं और यह सुनिश्चित करते हैं कि एक 30% मौका हमेशा 100 में से 30 मुकाबलों को जीतता है और क्रमबद्धता के साथ यह पता नहीं चलता कि कौन सी मुठभेड़ों में एक जीत है और कौन सी हार।

यह अच्छी तरह से गणना की गई खेल अर्थव्यवस्थाओं के लिए विशेष रूप से उपयोगी है। क्योंकि जीतने के लिए 70% मौका की एक यादृच्छिक मूर्ति। एक भीड़ के लिए 5% मौका कहो 5 सोना गिराने का। मॉब 100 में से 81 बार सोने को खत्म कर सकता है। जो आय / व्यय को बंद कर देता है, वह शेष राशि को बंद कर देता है। और इस बात पर निर्भर करता है कि कितनी संस्थाएँ / इंस्टेंसेस ऐसे रोल मुद्रास्फीति का उपयोग करती हैं और / या कमी अनिवार्य रूप से बनाई गई हैं। बेशक बहुत से लोगों को अपनी अर्थव्यवस्था के पूर्ण इनपुट / व्यय के ठहरने का मोटा अनुमान भी नहीं है। बहुत सारे लोग "अधिकांश" अर्थव्यवस्था बिंदुओं के साथ पर्याप्त हैं। और कुछ पीढ़ी के वैरिएबल्स को छोड़ दें जिनकी गणना नहीं की जाती है और निष्पक्ष यादृच्छिकता के साथ भी विसंगति को रोक दिया जाता है।

मुद्रास्फीति और कमी अपने आप में कोई समस्या नहीं है। यदि आपकी अर्थव्यवस्था मुद्रास्फीति और कमी के लिए पर्याप्त रूप से प्रतिक्रिया करने के लिए सेटअप है, तो आप गैर-निष्पक्ष यादृच्छिकता और यहां तक ​​कि अप्रत्याशित चर का प्रबंधन कर सकते हैं।

इससे परेशान क्यों हैं क्योंकि बड़ी संख्या का कानून लंबे समय में चीजों को विकसित करता है?

हर पर्यावरण अपने डिजाइन व्यवहार को बनाए रख सकता है, जबकि चीजों को गिनने के बाद भी ...


मुझे विशेष रूप से अंतिम वाक्य पसंद है। कहीं और से हथियाना: मेरा मानना ​​है कि उदाहरण के लिए वाइकिंग लोट्टो में: आउट अनुपात सीए 4: 1 लंबे रन पर है (जहां कोई "बड़े" के साथ "लंबे" को बदल सकता है); यह एक लगभग विवादास्पद (लेकिन अच्छी तरह से परिभाषित) डिजाइन व्यवहार है, और यह कार्य करता है। जब तक डिज़ाइन व्यवहार को पहले ठीक से परिभाषित नहीं किया जाता है, तब तक कोई नीचे गणित को निष्पादित नहीं कर सकता है। बिना नियंत्रण के नंबर अनियंत्रित होते हैं ...
स्टॉर्मविंड

@ निश्चित रूप से। यदि डिजाइन / सिद्धांत का अभाव है - गणित बेकार है। इसका लेकिन एक उपकरण। मैंने 5 वें ग्रेडर गणित स्तर के डिजाइनरों को अच्छी अर्थव्यवस्थाओं के साथ देखा है। उन्होंने बस वही मैप किया जो वे तार्किक रूप से करना चाहते थे और गणित के लोगों (आमतौर पर कोडर्स) के पास उपकरण / सलाह के लिए गए थे कि गणित बिट कैसे करें। यह किसी भी तरह अभी भी हर किसी को स्पष्ट नहीं होने का प्रबंधन करता है - आपके पास ब्लूप्रिंट के साथ जितनी अधिक समस्याएं हैं - आप निर्माण में जितना अधिक सिरदर्द देखेंगे। बस कुछ प्रणाली को हथियाने और इसे पूरी तरह से याद कर रहा है। यदि आप पहले जो भी काम कर रहे हैं, उस पर बस जाते हैं, तो यह वास्तव में रचनात्मक नहीं है।
हेलिना 4
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.