مونٹے کارلو تشبیہ

آزاد دائرۃ المعارف، ویکیپیڈیا سے
:چھلانگ بطرف رہنمائی، تلاش
اصطلاح term

تشبیہ
مثیل گیری

simulation
modeling

اصل دنیا کے بعض ایسے مسائل پچیدہ ہوتے ہیں کہ ان کے متحرک مختلف عوامل کی تصادفی متغیر کے بطور مثیل گیری کی جاتی ہے۔ ان میں سے کچھ مسائل اتنے پچیدہ ہوتے ہیں کہ احتمال نظریہ کے مسلمات اور قواعد استعمال کرتے ہوئے مختلف واقعات کا احتمال یا متوقع قدر نکالنا مشکل ہو جاتا ہے۔ ایسے میں احتمالی تجربات (تشبیہ) کے زریعہ ان اقدار کا تخمینہ لگایا جا سکتا ہے۔ سمجھانے کے لیے ایک سادہ مثال لیتے ہیں:

فرض کرو کہ سٹہ کے ایک کھیل میں طاس کو تین بار پھینکا جاتا ہے۔ اگر تین طاس کے منہ کی جمع 14 سے زیادہ ہو، تو کھلاڑی سٹہ جیت جاتا ہے۔ اب جیتنے کے احتمال کو اگر تجربہ کے زریعہ جانچنا مقصود ہو، تو اس کا طریقہ یہ ہے کہ کھیل ہزار بار کھیلا جائے اور جتنی بار جیت ہو، اس عدد کو ہزار سے تقسیم کر کے ہمیں جیت کے احتمال کا تخمینہ مل جائے گا۔ اس تجربے کو کھیل کی بجائے ہم شمارندہ پر ایک برمجہ لکھ کر چلا سکتے ہیں۔ سوال یہ پیدا ہوتا ہے کہ شمارندہ پر طاس کیسے پھینکا جائے؟ اس کے لیے فرضی تصادفی عدد مولّد کا استعمال کیا جاتا ہے، جس کی مدد سے 1 تا 6 کے تصادفی عدد تین بار تولید کیے جا سکتے ہیں۔ ان تین اعداد کو جمع کو 14 سے زیادہ ہونے پر جیت قرار دیتے ہوئے، "جیت عدد" میں 1 کا اضافہ کر دیا جاتا ہے۔ 1000 بار یہ عمل دہرانے کے بعد، "جیت عدد" کو 1000 سے تقسیم کرنے کے بعد ہمیں جیت کے احتمال کا تخمینہ مل جاتا ہے۔ اس برمجہ کو سائیلیب میں لکھ کر دکھاتے ہیں:
// Scilab script  سائیلیب سکرپت
// Simulation of a dice game
   number_of_wins=0; //  "جیت عدد"
//
   WIN_THRESHOLD=14;  //  جیت کا ہدف
//
   Total_runs=1000; //  اتنے تجربات کرنے ہیں
 //
   for trial_number = 1:Total_runs   // اتنے بار تجربہ دھراؤ
 //
      Dice_1 = floor( rand(1)*6 ) + 1;  // پہلا طاس پھینکا
      Dice_2 = floor( rand(1)*6 ) + 1;  // دوسرا طاس پھینکا
      Dice_3 = floor( rand(1)*6 ) + 1;  // تیسرا طاس پھینکا
  //
      sumFaces = Dice_1 + Dice_2 + Dice_3;  // تین منہ کی قدر جمع کرو
  //
      if (sumFaces > WIN_THRESHOLD)    // کیا جمع 14 سے زیادہ ہے؟
//   //    اگر ہاں، تو "جیت عدد" میں 1 کا اضافہ کرو
          number_of_wins= number_of_wins + 1; 
      end
 //
   end
//
  Prob_win_estimate = number_of_wins/Total_runs // جیت کے احتمال کا تخمینہ

برمجہ کو بھگانے پر آپ کو 0.09 کے قریب جواب ملے گا۔

عام طور پر کسی تصادفی متغیر X کی دالہ \ g(X) کی متوقع قدر

E(g(X)) = \int g(X) f_X(x) dx

کا تشبیہ کی مدد سے تخمینہ لگایا جا سکتا ہے۔ یہاں \ f_X(x) تصادفی متغیر X کی توزیع احتمال کثافت دالہ ہے۔ خیال رہے کہ تصادفی متغیر X ایک سے زیادہ بھی ہو سکتے ہیں (یعنی X کو سمتیہ سمجھا جا سکتا ہے)۔ غور کرو کہ متوقع قدر \ E(Y) کسی تصادفی متغیر Y کی "اوسط" کو کہتے ہیں۔ یہاں ہمیں تشبیہ (تجربہ) کے زریعہ \ Y=g(X) کی "اوسط" نکالنا ہے۔ تشبیہ کا طریقہ یہ ہے کہ فرضی تصادفی عدد مولّد سے تصادفی متغیر X کی تولید بمطابق "توزیع احتمال کثافت دالہ" \ f_X(x) کرو۔ اور X کی اس تولید شدہ قدر x_i کے لیے دالہ \ g(X) کی قدر \ g(x_i) نکالو۔ یہ تجربہ L بار دوہراؤ اور اقدار \ g(x_i) کو جمع کر کے، اس جمع کو L سے تقسیم کر کے "اوسط" نکال لو:

 \frac{1}{L} \sum_{i=1}^L g(x_i)


مثال 1[ترمیم]

اگرچہ دائرہ، جس کا نصف قطر r ہو، کا رقبہ بڑی آسانی سے نکالا جا سکتا ہے، یعنی \ \pi r^2  ، مگر ہم تشبیہ کی مدد سے ایسے دائرہ کا رقبہ نکالنے کا طریقہ بتاتے ہیں۔ اس کے لیے دالہ


g(x,y) =\left\{\begin{matrix}
1, & \hbox{if  } x^2+y^2 < r^2 \\
0, & \hbox{else}
\end{matrix}\right\}

تعریف کرتے ہیں۔ تشبیہ کے لیے تصادفی متغیر X اور Y بمطابق یکسان توزیعِ احتمال کے وقفہ \ (-r,+r) میں تولید کریں (فرضی تصادفی مولّد کی مدد سے)، اور \ E(g(X,Y)) کا تخمینہ لگائیں۔ چونکہ X اور Y جو مربع بناتے ہیں، اس کا رقبہ 4 r^2 ہے، اسلیے دائرہ کا رقبہ

\ 4 r^2 \times E(g(X,Y))

ہو گا۔ گویا \ 4 E(g(X,Y)) تخمینہ ہے \pi کا۔

نیلی شکل کے رقبے کا تخمینہ مونٹے کارلو تشبیہ کے طریقہ سے

اس طریقہ سے کسی بھی شکل کے لیے دالہ \ g(.) تعریف کر کے اس کے رقبے (یا حجم وغیرہ) کا تخمینہ لگایا جا سکتا ہے۔ تصویر میں پورے مربع رقبے میں تصادفی مقامات پر نکتے پھینکے جاتے ہیں۔ "نیلی شکل میں پڑنے والے نکتوں" اور "کُل نکتوں" کا تناسب تخمینہ ہے، نیلی شکل کے رقبے اور پورے مربع (سبز) کے رقبے کے تناسب کا۔

تخمینہ پر اعتماد[ترمیم]

اکثر اوقات تشبیہ کا مقصد کسی واقعہ کا احتمال نکالنا ہوتا ہے۔ سوال یہ پیدا ہوتا ہے کہ اچھے تخمینہ کے لیے تجربہ کتنی بار دہرایا جاوے؟

پہلے ہم دکھاتے ہیں کہ احتمال کا تخمینہ کس طرح نمونہ اوسط کی مدد سے لگایا جا سکتا ہے۔ واقعہ E کا احتمال \ \Pr(E) ہے۔ اب اس واقعہ کا شناخت تصادفی متغیر یوں تعریف کرو

 X_k = \begin{cases}1, & \hbox{if } E \hbox{ occurs in the } k\hbox{-th trial} \\
                                              0, & \hbox{otherwise}
\end{cases}

اس تصادفی متغیر کی مدد سے ہم واقعہ کے احتمال کو اس تصادفی متغیر کے اوسط کے بطور لکھ سکتے ہیں

E(X_k) = 1 \times \Pr(E) + 0 \times (1-\Pr(E)) = \Pr(E)

ان تصادفی متغیر کا نمونہ اوسط ہمارا \ \Pr(E) کا تخمینہ ہے:

 \bar{X}=\frac{1}{L}\sum_{k=1}^L X_k \approx \Pr(E)

اس نمونہ اوسط کا C \times 100 % اعتماد وقفہ ہے \bar{X} \pm w_C جہاں w_C = x_C \frac{S}{\sqrt{L}} ،(x_C کی تعریف کے لیے دیکھو اعتماد وقفہ)، اور

S^2= \frac{1}{L} \sum_{k=1}^{L} \left( X_k-\bar{X}\right)^2  =
\bar{X}(1-\bar{X})

غور کرو کہ یہ تفاوت صرف \bar{X} پر منحصر ہے۔

فرض کرو کہ واقعہ E کمیاب ہے، اور اس کا اصل احتمال \Pr(E)=p ہے۔ ہم یہ جاننا چاہتے ہیں کہ کتنے بار L تجربہ دہرایا جائے، تاکہ 95% اعتماد وقفہ p\pm f\times p ہو، جہاں کسر \ 0<f<1

چھوٹی قدر p کے لیے

  \bar{X}(1-\bar{X}) \approx p(1-p) \approx p

اوپر دیے کلیہ کے زریعہ (x_\delta = x_{0.95}=1.96)

w_{0.95}=\frac{1.96 \sqrt{p}}{\sqrt{L}} = f \times p

اس لیے

L \approx \frac{(1.96)^2}{f^2 p}

اگر p=10^{-4}, f=0.1 تو تجربہ L=3.8 \times 10^6 (تقریبا چار ملین) بار دہرانا ہو گا۔

اور دیکھو[ترمیم]

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