سؤال

أحاول تجميع تطبيق من أجل المتعة يحتوي على سيناريو حيث أحتاج إلى معرفة معادلة احتمالية للسيناريو التالي:

لنفترض أن لدي عددًا من المحاولات لشيء ما، ولكل محاولة معدل نجاح (معروف مسبقًا).ما هي احتمالات النجاح بعد القيام بكل تلك المحاولات؟

على سبيل المثال، هناك ثلاث محاولات (سيتم أخذها جميعًا بشكل فردي).

ومن المعروف أن الأول لديه نسبة نجاح 60٪.ومن المعروف أن الثانية تبلغ نسبة نجاحها 30%.والثالث معروف بنسبة نجاحه 75%.ما هي احتمالات النجاح إذا تمت المحاولات الثلاث؟

لقد جربت العديد من الصيغ ولم أتمكن من تحديد الصيغة الصحيحة.

شكرا للمساعدة!

هل كانت مفيدة؟

المحلول

احتمال الفوز هو احتمال عدم خسارة الثلاثة:1 - (1 - 0.6)(1 - 0.3)(1 - 0.75)

نصائح أخرى

1 - .4 * .7 * .25

وهذا يعني العثور على احتمال فشل جميع المحاولات وعكسه.بشكل عام، بالنظر إلى تسلسل محدود من الأحداث ذات الاحتمالات P[i]، فإن احتمال نجاح حدث واحد على الأقل هو 1 - (1 - P[0]) * (1 - P[1]) * ...* (1 - ع[ن])

وإليك سطرًا واحدًا من Perl لحساب القيمة:(الإدخال عبارة عن قائمة معدلات النجاح مفصولة بمسافات بيضاء)

 perl -0777 -ane '$p=1; $p*=1-$_ foreach @F; print 1-$p . "\n"'

احسب فرصة "كل حالات الفشل" (حاصل ضرب جميع 1-pj حيث pj هي فرصة النجاح - حسابات الاحتمالية التي تمثل الاحتمالات كأي شيء باستثناء الأرقام بين 0 و1 هي حسابات مجنونة، لذلك إذا كنت بحاجة مطلقة إلى نسب مئوية بدلاً من ذلك الإدخال أو الإخراج قم بإجراء التحويلات الخاصة بك في البداية أو النهاية!) واحتمال "نجاح واحد على الأقل" هو 1 ناقص هذا المنتج.

يحرر:إليك بعض التعليمات البرمجية الزائفة القابلة للتنفيذ - أي Python - مع النسب المئوية كمدخلات ومخرجات، باستخدام أرقامك (الأرقام الأصلية وتلك التي قمت بتغييرها في التعليق):

$ cat proba.py
def totprob(*percents):
  totprob_failure = 1.0
  for pc in percents:
    prob_this_failure = 1.0 - pc/100.0
    totprob_failure *= prob_this_failure
  return 100.0 * (1.0 - totprob_failure)
$ python -c'import proba; print proba.totprob(60,30,75)'
93.0
$ python -c'import proba; print proba.totprob(2,30,75)'
82.85
$
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top