হ্যাঁ এবং না, "একমাত্র উপায়" দ্বারা আপনি কী বোঝাতে চান তার উপর নির্ভর করে। হ্যাঁ, এতে কোনও পদ্ধতি নেই যা বন্ধ করার গ্যারান্টিযুক্ত, আপনি সবচেয়ে ভাল করতে পারেন ( এবং এর জেনেরিক মানগুলির জন্য ) একটি অ্যালগরিদম যা সম্ভাবনার সাথে সমাপ্ত হয় 1. না, আপনি "বর্জ্য" কে ছোট হিসাবে তৈরি করতে পারেন আপনার ইচ্ছা.আরNR
গ্যারান্টিযুক্ত সমাপ্তি কেন সাধারণভাবে অসম্ভব
মনে করুন যে আপনার কাছে একটি ডিটারমিনিস্টিক কম্পিউটেশন ইঞ্জিন (একটি ট্যুরিং মেশিন বা আপনার নৌকা যা ভাসিয়ে দেয়), এবং এমন একটি ওরাকল যা এলিমেন্ট সেটের র্যান্ডম উপাদান তৈরি করে । আপনার লক্ষ্যটি হ'ল এলিমেন্ট সেট একটি উপাদান তৈরি করা । আপনার ইঞ্জিনের আউটপুট কেবল ওরাকল দ্বারা ফিরে আসা মানগুলির ক্রমের উপর নির্ভর করে; এটা একটি ফাংশন যা সম্ভাব্য অসীম ক্রম ।[ 0 .. আর - 1 ] এন [ 0 , এন - 1 ] চ ( র 0 , আর 1 , আর 2 , … )R[0..R−1]N[0,N−1]f(r0,r1,r2,…)
মনে করুন যে আপনার ইঞ্জিন বেশিরভাগ সময়ে ওরাকলকে কল করে । এমন ট্রেস থাকতে পারে যার জন্য ওরাকলকে চেয়েও কম বার বলা হয় ; যদি তাই হয় তবে ওরাকলকে অতিরিক্ত বার কল করা যাতে একেবারে ঠিক টাইম বলা হয় আউটপুট পরিবর্তন হয় না। সুতরাং সাধারণতার ক্ষতি ছাড়াই, আমরা ধরে নিই যে ওরাকলকে ঠিক টাইম বলা হয় । তারপরে ফলাফল এর সম্ভাবনা হ'ল ক্রমের সংখ্যা যেমন । যেহেতু ওরাকলটি অভিন্ন র্যান্ডম জেনারেটর, তাই প্রতিটি অনুক্রমটি সমৃদ্ধযোগ্য এবং সম্ভাব্যতা । সুতরাং প্রতিটি ফলাফলের সম্ভাবনা রূপে formএম এম এম এক্স ( আরবি 0 , …mmmmxচ ( দ 0 , ... , দ মি - 1 ) = এক্স 1 / আর মি একটি / আর মি একজন 0 আর মি(r0,…,rm−1)f(r0,…,rm−1)=x1/RmA/Rmযেখানে হল এবং মধ্যে পূর্ণসংখ্যা ।A0Rm
তাহলে ভাগ কিছু , তারপর তোমাদের উপর একটি অভিন্ন বন্টন তৈরি করতে পারেন র্যান্ডম জেনারেটর কল করে উপাদানের বার (এই পাঠক একটি ব্যায়াম যেমন ছেড়ে দেওয়া হয়)। অন্যথায়, এটি অসম্ভব: সম্ভাব্যতা সহ ফলাফল পাওয়ার কোনও উপায় নেই । উল্লেখ্য যে শর্তটি এর সমস্ত প্রধান কারণগুলিও কারণ হিসাবে সমান (এটি আপনার প্রশ্নে যা লিখেছিল তার চেয়ে এটি আরও অনুমোদিত; উদাহরণস্বরূপ আপনি 6 টি পক্ষের মেলা দিয়ে 4 এর মধ্যে একটি এলোমেলো উপাদান বেছে নিতে পারেন মর, যদিও 4 ভাগ করে না 6)।আর এম এম এন এম 1 / এন এন আরNRmmNm1/NNR
বর্জ্য হ্রাস
আপনার কৌশলে, যখন , তখন আপনাকে তত্ক্ষণাত পুনরায় আঁকতে হবে না। স্বজ্ঞাতভাবে, কিছুটা এনট্রপি বাকি আছে যা আপনি মিশ্রণটিতে রাখতে পারেন।[ কেr≥kN[kN..R−1]
একটি মুহূর্ত যে আপনার আসলে নিচের র্যান্ডম সংখ্যা উৎপাদিত হবে জন্য অনুমান চিরকাল, এবং আপনি জেনারেট করে একটি সময়ে তাদের স্বপক্ষে। আপনি এই দলবদ্ধ প্রজন্ম একটি সহজবোধ্য প্রত্যাখ্যান স্যাম্পলিং করেন তাহলে, ওভার বর্জ্য স্বপক্ষে হয় অর্থাৎ বাকি অঙ্কনের সংখ্যা দ্বারা বিভক্ত। এটি কম হতে পারে । যখন এবং কপিরাইম হয় তখন আপনি যথেষ্ট পরিমাণে বড় মান বাছাই করে বর্জ্যটিকে নির্বিচারে ছোট করতে পারেন । ও এর সাধারণ মানগুলির জন্যইউ ডি ডি আর ডি - কেNudd আরডিএমওডিRd−kNud GCD ( আর , এন ) আর এন ঘ আর এন GCD ( আর , এন ) এন / GCD ( আর , এন )RdmodNugcd(R,N)RNdRN, গণনাটি আরও জটিল কারণ আপনার আলাদাভাবে এবং প্রজন্মকে বিবেচনায় নেওয়া দরকার তবে আবার আপনি যথেষ্ট পরিমাণে বৃহত গোষ্ঠীগুলির সাথে বর্জ্যটিকে নির্বিচারে ছোট করতে পারেন।gcd(R,N)N/gcd(R,N)
অনুশীলনে, এমনকি তুলনামূলকভাবে অক্ষম এলোমেলো সংখ্যার (যেমন ক্রিপ্টোগ্রাফিতে), এটি চেয়ে ছোট না হলে সাধারণ প্রত্যাখ্যানের নমুনা ব্যতীত খুব কমই করা উপযুক্ত । উদাহরণস্বরূপ, ক্রিপ্টোগ্রাফিতে, যেখানে 2 সাধারণত 2 এবং শক্তি হয় শত শত বা হাজার হাজার বিট, অভিন্ন র্যান্ডম সংখ্যার উত্পাদন সাধারণত পছন্দসই পরিসরে সরাসরি প্রত্যাখ্যানের নমুনা দ্বারা এগিয়ে যায়।আরNRN