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