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 ...
随机推荐
- Oracle使用笔记(二)
一.表空间 1.创建表空间 create tablespace db_test --表空间名 datafile 'D:\oracle\product\11.2.0\dbhome_1\oradata\o ...
- mvn package出现No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK
配置java环境变量时偷懒,没有定义%JAVA_HOME%,应该先定义这个变量,然后在path中新建%JAVA_HOME%\bin和%JAVA_HOME%\jre\bin
- msm8909平台JEITA配置和bat-V therm表合入
8909平台的冷热充电温度点是硬件控制的,不能软件控制,目前硬件设置的是0~55度的充电区间. 软件上应该设置的是BTM comparator threshold, 70%(cold)~35%(hot ...
- java Scanner中next和nextLine()区别
next(): 1.一定要读取到有效字符后才可以结束输入. 2.对输入有效字符之前遇到的空白,next() 方法会自动将其去掉. 3.只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符. ne ...
- MVC 模式
1.MVC 模式简介 MVC 模式代表 Model-View-Controller(模型-视图-控制器) 模式.这种模式用于应用程序的分层开发.Model(模型):模型代表一个存取数据的对象或 JAV ...
- 使用golang 编写postgresql 扩展
postgresql 的扩展可以帮助我们做好多强大的事情,支持的开发语言有lua.perl.java.js.c 社区有人开发了一个可以基于golang开发pg 扩展的项目,使用起来很方便,同时为我 ...
- Vue-项目之免费课和购物车实现
调整首页细节 固定头部 App.vue中代码 <style> body{ padding: 0; margin:0; margin-top: 80px; } </style> ...
- Eslint 能自动格式化代码,为什么还要用 Prettier?
ESLint 与 Prettier 区别: ESLint:代码检测工具:可以检测出你代码中潜在的问题,比如使用了某个变量却忘记了定义: Prettier:代码格式化工具:作为代码格式化工具,能够统一你 ...
- C#中Button.DialogResult属性
窗体中的某个按钮,如果设置了DialogResult(不是设置为None),当窗体是通过ShowDialog方法显示的时候 则不必设置任何响应函数,单击按钮也可窗体.然后,该窗体的DialogResu ...
- Python——python读取xml实战,作业6(python programming)
cd_catalog.xml <?xml version="1.0" encoding="ISO-8859-1"?> <!-- Edited ...