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