HeadlinesBriefing HeadlinesBriefing.com

কেন মডুলো র্যান্ডম সিলেকশন পক্ষপাত তৈরি করে

Hacker News •
×

একটি সাধারণ প্রোগ্রামিং প্যাটার্ন মডুলো ব্যবহার করে র্যান্ডম আইটেম বেছে নেয়: `choices[random_u64() % n]`. এটি সহজে বোঝা যায় কিন্তু সांখ্যিকীয় পক্ষপাত তৈরি করে কারণ র্যান্ডম রেঞ্জ প্রায়শই পছন্দের সংখ্যা দ্বারা সমানভাবে ভাগ করা যায় না।

উদাহরণস্বরূপ, [0, 9] পরিসরের র্যান্ডম নম্বর ব্যবহার করে 3 আইটেম থেকে বেছে নিলে, চয়স 1 কে 4 ইনপুট मिलে (0, 3, 6, 9) কিন্তু চয়স 2 এবং 3 কে প্রতিটikos 3 ইনপুট मिलता है। চয়স 1 40% সময়ে বেছে নেওয়া হয়, প্রত্যাশিত 33.3% এর পরিবর্তে। এই মডুলো পক্ষপাত তখন ঘটে যখন র্যান্ডম রেঞ্জ পছন্দের সংখ্যার গুণফল নয়।

সঠিক পদ্ধতি `random_between(l, h)` ব্যবহার করে, যা সঠিকভাবে সম্ভাব্য বিতরণ করে, যদিও এটি বাস্তবায়ন করা জটিল। ভালো API ডিজাইন `random_choice()` এর মতো উচ্চ-স্তরের ফাংশন প্রদান করবে যা স্পষ্ট সম্ভাব্য বিতরণ গ্রহণ করবে, ডেভেলপারদের বাধ্য করবে যে তারা ত্রুটিপূর্ণ নিম্ন-স্তরের প্রিমিটিভে নির্ভর করার পরিবর্তে বিতরণের প্রয়োজনীয়তা মোকাবেলা করবেন।

উৎস: Hacker News · সারাংশ: HeadlinesBriefing