शफल बायस

एक ही सेटिंग्स पर naive शफल बनाम Fisher–Yates की तुलना करें।

यह आपके ब्राउज़र में लोकल चलता है। इनपुट और नतीजे अपलोड नहीं होते। शेयर URL में सिर्फ सेटिंग्स होती हैं।

अन्य भाषाएँ ja | en | zh-CN | es | pt-BR | id | fr | hi-IN | ar

कैसे इस्तेमाल करें (3 स्टेप)

  1. लिस्ट मोड (साइज़ या कस्टम) चुनें और trials सेट करें।
  2. एक ही सेटिंग्स के साथ दोनों शफल चलाने के लिए तुलना करें पर क्लिक करें।
  3. हीटमैप और आँकड़े देखें, फिर सिर्फ-सेटिंग्स URL कॉपी करें या रिपोर्ट डाउनलोड करें।

बायस देखें

शफल बायस तुलना टूल

Naive swapping हर कदम पर full-range random index चुनता है। Fisher–Yates shrinking range इस्तेमाल करता है, इसलिए permutations uniform होते हैं (अगर randomInt uniform हो)।

यह JavaScript में आम anti-pattern है। परिणाम engine पर निर्भर होते हैं और आमतौर पर biased होते हैं।

सारांश

टिप: यहाँ chi-square का df heuristic है (constraints हैं)। इसे intuition के लिए इस्तेमाल करें, formal proof के लिए नहीं।

चार्ट

लेजेंड: naive=लाल, FY=हरा, sort=बैंगनी (अगर ऑन हो)।

कर्व df = n² - 1 (heuristic) के साथ χ² density है। वर्टिकल लाइनें आपका observed χ² दिखाती हैं।

यह चार्ट |i - j| (diagonal से दूरी) के अनुसार cells को aggregate करता है। 1 से ऊपर का मतलब “original position के बहुत करीब”。

परिणाम

हर साइड पर position matrix (आइटम i → position j) trials पर aggregate करके दिखता है।

Naive शफल

Fisher–Yates

अक्सर पूछे जाने वाले सवाल

क्या Fisher–Yates हमेशा unbiased है?
अगर randomInt uniform है तो यह unbiased है। random bytes को integer range में बदलते समय modulo bias से बचें।
sort(() => random - 0.5) क्यों नहीं?
यह biased और engine-dependent है। आप इसे यहाँ optional रूप से जोड़कर अपने ब्राउज़र में देख सकते हैं।
क्या इससे cryptographic security साबित होती है?
नहीं। यह टूल shuffling में algorithmic bias दिखाता है। Security आपके RNG और threat model पर निर्भर है।
कितने trials रखें?
100k से शुरू करें। n ≤ 8 के लिए permutation tracking on करने से bias ज्यादा साफ दिखता है।

संबंधित टूल

संबंधित कैलकुलेटर