Shapley值的一个应用
看书有这样一个问题,某互联网公司今天需要加班,需要编写一个500行的程序代码,产品经理找了三个程序员来完成。按照完成量发奖金:1号普通程序员独立能写100行,2号大神程序员独立能写125行,3号美女程序员能写50行。但如果程序员两两合作,会产生不同的编码效率:1号和2号合作能写270行,2号与3号合作能写350行,1号与3号合作能写375行。当然,三名程序员共同合作能完成500行。若共有1000元项目奖金,该如何给这三名程序员分配呢?
下面,我们尝试用Shapley值经行计算。首先,计算可能的联盟数量。显然,三个人的联盟形成方法一共有6种:
(1)1号邀请2号加入组成S联盟,3号加入S联盟;
(2)1号邀请3号加入组成S联盟,2号加入S联盟;
(3)2号邀请1号加入组成S联盟,3号加入S联盟;
(4)2号邀请3号加入组成S联盟,1号加入S联盟;
(5)3号邀请1号加入组成S联盟,2号加入S联盟;
(6)3号邀请2号加入组成S联盟,1号加入S联盟;
按照Shapley值的计算过程,下一步需要计算每位程序员的边际贡献,

1号普通程序员的Shapley值为:(100 + 100 + 145 + 150 + 325 + 150 )/ 6 = 970 / 6
2号大神程序员的Shapley值为:(170 + 125 + 125 + 125 + 125 + 300 ) / 6 = 970 / 6
3号美女程序员的Shapley值为:(230 + 275 + 230 + 225 + 50 + 50 )/ 6 = 1060 / 6
三人的Shapley值的总和正好等于500。 所以根据Shapley值,1号普通程序员应该获得奖金为:1000 x 0.3233 = 323.3元,2号大神程序员应该获得奖金同样为323.3元,3号美女程序员获得奖金为353.3元。
Shapley值的一个应用的更多相关文章
- Sql中联合查询中的”子查询返回的值不止一个“的问题
在子查询中,如果想实现如下的功能: select lib,count(*),select sum(newsNo) from Table1 group by lib from Tabel1 T1,Tab ...
- SQL server 查询出现:---“子查询返回的值不止一个。当子查询跟随在 =、!=、<、<=、>、>= 之后,或子查询用作表达式时,这种情况是不允许的。”SQL查询错误解析---
最近用select进行数据筛选,碰到下面的这个错误: ---子查询返回的值不止一个.当子查询跟随在 =.!=.<.<=.>.>= 之后,或子查询用作表达式时,这种情况是不允许的 ...
- props default 数组/对象的默认值应当由一个工厂函数返回
export default {props: { slides:{ type:Array, default:[] } },这是我的代码 报错是Invalid default value for pro ...
- “子查询返回的值不止一个。当子查询跟随在 =、!=、<、<=、>、>= 之后,或子查询用作表达式时,这种情况是不允许的。”SQL查询错误解析
为了实现下述代码,首先得有数据库和相应的表格,本文用的是https://blog.csdn.net/qaz13177_58_/article/details/5575711/中的案例,即先用链接中那些 ...
- Invalid default value for prop "value": Props with type Object/Array must use a factory function to return the default value.(props default 数组/对象的默认值应当由一个工厂函数返回)
Invalid default value for prop "value": Props with type Object/Array must use a factory fu ...
- ES _all、_source的使用——_all字段连接所有字段的值构成一个用空格(space)分隔的大string而被analyzed和index,document主体保存在_source中
1._all 1.1_all field _all字段是一个很少用到的字段,它连接所有字段的值构成一个用空格(space)分隔的大string,该string被analyzed和index,但是不被s ...
- 关于props default 数组/对象的默认值应当由一个工厂函数返回
export default {props: { xAxisData: { type: Array, default: [] }, },这是我的代码 报错是Invalid default va ...
- insert into select 引起的 "子查询返回的值不止一个。当子查询跟随在**之后,或子查询用作表达式时,这种情况是不允许的"
目录 1.事故现场 1.1 在使用 Insert into Table2 select * from Table1 将表1的数据插入到表2时,报错如下: 1.2 sql 语句 2.推测 3.解决方案 ...
- 通过反射将一个java对象的属性值转换为一个Map
将一个java对象的属性值转换为一个Map: import java.beans.BeanInfo;import java.beans.Introspector;import java.beans.P ...
随机推荐
- Python导入jar包
一.环境准备 1.Python 3.6 64位+jre 64位+win64位(jre和Python位数一致) 2.安装jpype,安装的时候输入 pip install jpype1 2.1安装提示e ...
- django admin 支持时间更改
from django.db import models import django.utils.timezone as timezone class Doc(models.Model): add_d ...
- java_字段声明
多字段继承,为避免混淆,simple name与qualified name的使用 package java20180129_1; interface Frob { float v=2.0f; } c ...
- 11g R2 RAC 虚拟机
虚拟机安装RAC文档 本文档包含内容 一:安装系统 二:各节点配置系统参数 三:虚拟机创建共享存储 四:配置磁盘绑定 五:安装GRID 六:创建ASM DG 七:安装database 八:安装碰到的问 ...
- 基于MATLAB System Generator 搭建Display Enhancement模型
基于MATLAB System Generator 搭建Display Enhancement模型
- mysql 将行拼接成字符串的方法
见代码: ;//保证可以拼接足够长的字符串,没它 数据量大时会截断结果1 group by videoType 效果如下:
- Http User Agent Example
Browser User Agent Safari Mozilla/5.0 (iPhone; CPU iPhone OS 10_3_1 like Mac OS X) AppleWebKit/603. ...
- ubuntu安装nginx及其默认目录结构
一. 安装包安装 1.1 安装Nginx $sudo apt-get install nginx Ubuntu安装之后的文件结构大致为: 所有的配置文件都在/etc/nginx下,并且每个虚拟主机已经 ...
- 报错:Exception in thread "main" com.typesafe.config.ConfigException$UnresolvedSubstitution
报错现象: 报错原因: pom文件中的jar包太高,可以降低jar包的版本号. 报错解决: 我将2.11换成了2.10,即可解决. <dependency> <groupId> ...
- 获得驱动器信息卷设备&&Ring3得到磁盘文件系统(NTFS WIN10)
// GetLogicalDriveStrings.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <Windows ...