প্রথম অ্যালগরিদম পণ্য খুব সমানভাবে ব্যবধানযুক্ত সংখ্যা
আরও দেখুন কম অমিল সিরিজ ।
[ 0 ; 1 ]
(আস নির্দিষ্ট, এই স্তরবিন্যাস জন্য পছন্দসই সম্পত্তি যেমন হতে পারে। Halton স্বাগতম এবং সোবেল মত কম-অমিল সিরিজ না তাদের ব্যবহারের ক্ষেত্রে রয়েছে।)
একটি সঠিক কিন্তু ব্যয়বহুল পদ্ধতির (বাস্তব মূল্যবোধের জন্য)
... বিটা-বিতরিত এলোমেলো সংখ্যা ব্যবহার করা। ইউনিফর্ম বিতরণের র্যাঙ্ক অর্ডার পরিসংখ্যান বিটা বিতরণ করা হয়। আপনি এটিকে এলোমেলোভাবে সবচেয়ে ছোট আঁকতে ব্যবহার করতে পারেন , তারপরে দ্বিতীয় বৃহত্তম, ... পুনরাবৃত্তি করুন।
[ 0 ; 1 ]বিটা [ ১ , এন ]এন1 - এক্স∼ বিটা [ এন , ১ ]- ln( 1 - এক্স) ∼ সূচকীয় [ এন ]- ln( ইউ[ 0 ; 1 ] )এন
- ln( 1 - এক্স )1 - এক্সএক্স= - ln( 1 - আপনি )এন= ইউ1এন= 1 - ইউ1এন
যা নিম্নলিখিত অ্যালগরিদম দেয়:
x = a
for i in range(n, 0, -1):
x += (b-x) * (1 - pow(rand(), 1. / i))
result.append(x)
জড়িত থাকতে পারে সংখ্যাগত অস্থিরতা, এবং কম্পিউটিং pow
এবং প্রতিটি বস্তুর একটি বিভাগ বাছাইয়ের চেয়ে ধীর হতে পারে।
পূর্ণসংখ্যার মানগুলির জন্য আপনার আলাদা ডিস্ট্রিবিউশন ব্যবহার করতে হতে পারে।
বাছাই অবিশ্বাস্যভাবে সস্তা, তাই এটি ব্যবহার করুন
ও ( এন লগ)এন )
R
। আদেশের একটি অ্যারের উৎপন্ন করার জন্য সেট এন একটি অভিন্ন ব্যবধান ধরে র্যান্ডম সংখ্যা [ একটি , খ ] , নিম্নলিখিত কোড কাজ করে: ।rand_array <- replicate(k, sort(runif(n, a, b))