کاذبی تصادفی عدد مولّد

اصطلاح term

کاذبی
مولّد
تولید

pseudo
generator
generate

شمارندہ پر تصادفی عدد تولید کرنے کے لیے ایسے طریقے استعمال ہوتے ہیں، جو تصادفی نہیں ہوتے، مگر اعداد کا ایسا متوالیہ تولید کرتے ہیں، جس پر تصادفی ہونے کا گمان ہوتا ہے اور دراصل یہ تصادف پن کے تمام "اختبار" پر پورا اترتے ہیں۔ ایسے مولد کو فرضی تصادفی عدد مولّد کہا جاتا ہے۔

تعریف: ریاضی میں تصادفی عدد مولّد ایسے طریقہ کو کہا جاتا ہے جو صفر اور ایک کے درمیانی وقفہ (0،1) میں عدد x تولید کرے، اس خوبی کے ساتھ کہ عدد x کا کسی ذیلی وقفہ (a,b) میں واقع ہونے کا احتمال اس ذیلی وقفہ کی لمبائی b-a کے برابر ہو، یعنی

غور کرو کہ اس طریقہ سے جنم پانے والا تصادفی متغیر یکساں توزیع احتمال رکھے گا۔

فرضی تصادفی عدد مولد، عام طور پر ایک (بمعامل) رَجعت نسبت ہوتا ہے۔ مثال کے طور پر اس کے لیے ایک مشہور رَجعت نسبت یہ ہے:

جہاں دائم a ،c اور m، کو نہایت احتیاط سے چنا جاتا ہے اور سے مراد بمعامل ہے۔ کسی بھی مثبت صحیح عدد سے شروع کر کے ہمیں فرضیتصادفی اعداد کا متوالیہ

تولید ہوتا ہے۔ غور کرو کہ یہ متوالیہ معیادی ہے اور اس کی میعاد زیادہ سے زیادہ m ہے، یعنی اتنے قدموں کے بعد یہ دہرائے گا۔ اس متوالیہ کے کسی بھی صحیح عدد سے (0,1) وقفہ کے درمیان تصادفی عدد

بنتا ہے۔ رجعت نسبت کے دائم اعداد کا ایک اچھا انتخاب یہ ہے،

اکثر برمجہ ماحول (مثلاً سائیلیب) میں پائے جانے والے مولّد اسی اصول (بمعامل رَجعت نسبت) پر بنائے جاتے ہیں۔ واضح رہے کہ یہ مولّد کرپٹوگرافی اطلاقیہ کے لیے موزوں نہیں ہوتے۔ حالیہ برسوں میں ایک نئے مولّد کا چرچا ہوا ہے جو مرسین (مفرد عدد) twister کے نام سے مشہور ہے اور جسے جاپانی محققین نے بنایا ہے۔[1]

کسی وقفہ میں تصادفی عدد کی تولید

ترمیم

اگر 10 اور 15 کے درمیان تصادفی عدد تولید کرنا ہو (یکساں توزیع احتمال کے ساتھ)، تو ہم اپنے فرضی تصادفی عدد مولد سے معیاری وقفہ (0,1) میں عدد r حاصل کرنے کے بعد، مطلوبہ وقفہ میں تصادفی عدد یوں حاصل کریں گے:

تصادفی صحیح عدد کی تولید

ترمیم

اگر 1 اور N کے درمیان تصادفی صحیح عدد تولید کرنا ہو (یکساں توزیع احتمال کے ساتھ)، تو ہم اپنے فرضی تصادفی عدد مولد سے معیاری وقفہ (0,1) میں عدد r حاصل کرنے کے بعد، مطلوبہ صحیح تصادفی عدد یوں حاصل کریں گے:

جہاں علامت سے مراد ہے x سے کم سب سے بڑا صحیح عدد۔ مثلاً

تصادفی تَبَدُّلِ کامل

ترمیم

اگر صحیح اعداد کے مجموعہ کا تصادفی تَبَدُّلِ کامل تولید کرنا ہو تو یہ طریقہ ہے:

  1. رکھو اور
  2. اپنے فرضی تصادفی عدد مولد سے معیاری وقفہ (0,1) میں عدد r حاصل کرنے کے بعد صحیح تصادفی عدد حاصل کرو۔
  3. اور کی اقدار کا باہمی تبادلہ کر دو۔
  4. اب رکھو۔ اگر تو واپس قدم 2 پر چلو، ورنہ رُک جاؤ اور تصادفی تبدل کامل ہے۔

تصادفی عدد بمطابق متفرد توزیع احتمال

ترمیم

اگر تصادفی متغیر X ہو جو دو اقدار اور لیتا ہو۔ یعنی دو نکاتی توزیعِ احتمال ہو، قدر احتمال کے ساتھ اور دوسری قدر احتمال کے ساتھ۔ تو ہم اپنے فرضی تصادفی عدد مولد سے معیاری وقفہ (0,1) میں عدد r حاصل کرنے کے بعد، قدر چنیں گے اگر ، ورنہ قدر ۔ اس طریقہ کو عام کیا جا سکتا ہے کسی بھی متفرد توزیع احتمال کے لیے۔

تصادفی عدد بمطابق متواصل توزیع احتمال

ترمیم
فائل:Cdf pseudo rng.png

اگر تصادفی متغیر Y بمطابق متواصل توزیعِ احتمال ، تولید کرنا ہو تو یہ طریقہ ہے: اپنے فرضی تصادفی عدد مولد سے معیاری وقفہ (0,1) میں عدد x حاصل کرو اور

مطلوبہ عدد ہے، جس کی توزیع احتمال ہو گی (یہاں دالہ کا مقلوب دالہ ہے۔)[2][3]

مزید دیکھیے

ترمیم

حوالہ جات

ترمیم
  1. ACM Transactions on Modeling and Computer Simulations, 1998 "Mersenne Twister: A 623 dimensionally equidistributed uniform pseudorandom number generator"
  2. "Numerical Recipes دیکھو تفصیل"۔ 04 مارچ 2012 میں اصل سے آرکائیو شدہ۔ اخذ شدہ بتاریخ 15 جولا‎ئی 2007 
  3. آن لائن کتاب, "Luc Devroye: Non-Uniform Random Variate Generation"

بیرونی روابط

ترمیم

E=mc2     اردو ویکیپیڈیا پر ریاضی مساوات کو بائیں سے دائیں LTR پڑھیٔے     ریاضی علامات

Pseudorandom number generator