حاسبة احتمال الحدوث مرة واحدة على الأقل
تحسب أداة احتمال وقوع حدث مرة واحدة على الأقل فرصة وقوع الحدث مرة أو أكثر عندما تكون كل تجربة مستقلة وتملك احتمال النجاح نفسه.
شغّل الأداة مجانًا
أدخلوا احتمال النجاح في تجربة واحدة على هيئة عدد عشري بين الصفر والواحد، ثم أدخلوا عدد التجارب. تعتمد النتيجة على قاعدة الاحتمال المتمم: تحسب الأداة احتمال عدم وقوع أي نجاح، ثم تطرح هذه القيمة من الواحد. تكون هذه الطريقة عادة أبسط وأكثر موثوقية من جمع احتمالات نجاح واحد ونجاحين وجميع الأعداد الأخرى الممكنة من النجاحات.
فهم طريقة الاحتمال المتمم
قد يصبح حساب احتمال نجاح واحد على الأقل بصورة مباشرة مرهقًا، لأن هذه العبارة تشمل نتائج ممكنة كثيرة. ففي خمس تجارب مثلًا، تشمل نجاحًا واحدًا بالضبط، أو نجاحين، أو ثلاثة، أو أربعة، أو خمسة. أما الاحتمال المتمم فلا يضم إلا نتيجة واحدة، وهي عدم وقوع أي نجاح. إذا كان احتمال النجاح في تجربة واحدة هو p، فإن احتمال الفشل هو 1 - p. وفي n من التجارب المستقلة، يكون احتمال فشلها جميعًا هو (1 - p)^n. يؤدي طرح هذه القيمة من الواحد إلى 1 - (1 - p)^n، أي احتمال نجاح تجربة واحدة أو أكثر. تعرض الحاسبة القيمتين كي تتمكنوا من رؤية العلاقة والتحقق من أن مجموعهما يساوي واحدًا، مع مراعاة فروق دقة الفاصلة العائمة المعتادة عند القيم القصوى. إذا كان الاحتمال صفرًا، ظل احتمال النجاح مرة واحدة على الأقل صفرًا دائمًا. وإذا كان الاحتمال واحدًا وكانت هناك تجربة واحدة على الأقل، فالنجاح مؤكد. وعند إجراء صفر من التجارب، لا يمكن وقوع نجاح بحكم التعريف، ولذلك يكون احتمال نجاح واحد على الأقل صفرًا مهما كان احتمال التجربة الواحدة.
إدخال الاحتمال وعدد التجارب بطريقة صحيحة
استخدموا احتمالًا عشريًا بين 0 و1 شاملًا الحدين. أدخلوا مثلًا 0.25 للتعبير عن فرصة قدرها خمسة وعشرون بالمئة في كل تجربة، ولا تدخلوا 25 لأنه يقع خارج النطاق المقبول. يجب أن يكون عدد التجارب عددًا صحيحًا غير سالب، ويمكن أن يساوي صفرًا. الاستقلال شرط أساسي: يجب ألا تغير نتيجة تجربة احتمال تجربة أخرى، كما يجب أن ينطبق احتمال النجاح الفردي نفسه على جميع التجارب. من الأمثلة الشائعة رمي نرد عادل مرات متكررة والسحب المتكرر مع الإرجاع. أما سحب البطاقات دون إرجاع فليس مستقلًا، لأن مجموعة البطاقات تتغير بعد كل سحب، ولذلك لا تمثل هذه الصيغة تلك التجربة تمثيلًا صحيحًا. كذلك قد تختلف الاحتمالات بين المحاولات المتكررة إذا تغير الطقس أو المخزون أو الإرهاق أو حمل النظام. استخدموا في هذه الحالات نموذجًا يقبل احتمالًا منفصلًا لكل محاولة. تتحقق الحاسبة من النطاق العددي، لكنها لا تستطيع أن تستنتج من الأرقام وحدها ما إذا كانت تجاربكم الواقعية مستقلة، لذا يبقى هذا الافتراض جزءًا من تفسيركم للنتيجة.
تفسير النتيجة واستخدامها
النتيجة الأساسية احتمال عشري من 0 إلى 1. اضربوه في 100 إذا أردتم عرضه كنسبة مئوية في تقرير أو لوحة معلومات. يفيد احتمال عدم وقوع أي نجاح، الذي تعرضه الأداة أيضًا، في التحقق من الحساب، وقد يمثل بنفسه الخطر التشغيلي الذي يهمكم، مثل احتمال عدم استجابة جميع المكونات الاحتياطية. تؤدي زيادة عدد التجارب إلى رفع احتمال نجاح واحد على الأقل عندما يكون احتمال التجربة الواحدة أكبر من الصفر، لكنها لا تضمن نجاح كل تجربة ولا تصف عدد النجاحات المتوقع. تجيب الصيغة فقط عما إذا كان العدد واحدًا على الأقل. لأغراض التخطيط، قارنوا بين أعداد مختلفة من التجارب مع تثبيت احتمال التجربة الواحدة، أو قارنوا بين إجراءات تحسن ذلك الاحتمال مع تثبيت العدد. تجنبوا تقريب المدخل قبل الحساب عندما يكون الحدث نادرًا أو عدد التجارب كبيرًا، لأن تغيرًا صغيرًا في p قد يغير الاحتمال المجمع بقدر ملحوظ. يستخدم التنفيذ حسابًا لوغاريتميًا للاحتمال المتمم كي يحافظ على دقة مفيدة مع الاحتمالات الصغيرة جدًا والتجارب الكثيرة. الاستخدام في المتصفح مجاني، وتكلفة الأتمتة عبر API هي $0.002 لكل طلب.
حالات الاستخدام
تقدير نطاق الكشف
احسبوا فرصة أن يرصد مستشعر مستقل واحد على الأقل أو فحص متكرر حدثًا عندما يكون احتمال الكشف متماثلًا في كل محاولة.
تخطيط التواصل المتكرر
قدّروا فرصة تلقي رد واحد على الأقل عبر محاولات مستقلة، بشرط ثبات احتمال الرد وألا تؤثر المحاولات بعضها في بعض.
تقييم الموثوقية
احسبوا احتمال عمل مكون احتياطي مستقل واحد على الأقل عندما تملك جميع المكونات احتمال النجاح نفسه.
الأسئلة الشائعة
ما الصيغة التي تستخدمها الحاسبة؟
تستخدم الصيغة 1 - (1 - p)^n، حيث يمثل p احتمال النجاح في تجربة واحدة ويمثل n عدد التجارب المستقلة.
هل يمكن إدخال نسبة مئوية مثل 20؟
لا. أدخلوا الاحتمالات كأعداد عشرية من 0 إلى 1؛ فعشرون بالمئة تساوي 0.2. تؤدي القيم خارج هذا النطاق إلى خطأ في الإدخال.
لماذا يجب أن تكون التجارب مستقلة؟
يسمح الاستقلال بضرب احتمالات عدم النجاح. إذا غيرت نتيجة ما الاحتمالات اللاحقة، فلن تصف هذه الصيغة التجربة وصفًا صحيحًا.
ماذا يحدث عندما يكون عدد التجارب صفرًا؟
لا يمكن أن يقع نجاح من دون تجارب، لذا يكون احتمال نجاح واحد على الأقل 0 واحتمال عدم النجاح 1.
هل تعرض النتيجة العدد المتوقع للنجاحات؟
لا. إنها تعرض احتمال أن يكون عدد النجاحات واحدًا أو أكثر. العدد المتوقع في هذا النموذج هو حاصل ضرب n في p.
ما تكلفة استخدام API؟
يكلف كل طلب API مقدار $0.002. ويتوفر الحساب الحتمي نفسه مجانًا في المتصفح.
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/stat/at-least-one \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"probability":0.2,"trials":5}'const res = await fetch("https://api.kit.forhosting.com/stat/at-least-one", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"probability": 0.2,
"trials": 5
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/stat/at-least-one",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"probability": 0.2,
"trials": 5
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/stat/at-least-one", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"probability":0.2,"trials":5}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"probability":0.2,"trials":5}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/stat/at-least-one", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"probability": 0.2,
"trials": 5
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "stat.at_least_one",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الحدود
max_trials | 1000000000 |
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |