• 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元。

  • 相关阅读:
    FluorineFx ASObject自动转换基础类 AutoParseASObject ,用于Flash AMF协议解析
    小东西WinForm的等待窗口
    被VB6搞死。。。。。。。鸟
    请把这个消息提示框拿掉,谢谢
    MS新版Wallop,
    SQL 2000 异数据库数据同步
    企业管理应用平台预览演示版下载
    Microsoft SQL Server 2008 基本安装说明
    怀旧下给自己留个备份,
    PPPOE数据包转换及SharpPcap应用
  • 原文地址:https://www.cnblogs.com/tianqianlan/p/10402628.html
Copyright © 2020-2023  润新知