软件工程博客作业——陈稳霖

来源:互联网 发布:弗洛伊德算法手工计算 编辑:程序博客网 时间:2024/05/18 02:41

How to measure the performance of each team member?

一群队员在职业球队踢球,如何衡量个人在各自团队的效率和绩效?

团队有 (n * 30) 分浮动分数,如何分配?

我承认我先离题一下下,来点随想。在足球场上,每个人的做出某种行为(射门,传球,带球,助攻等),我觉得来源于两个方面

1.  外在因素:场上局势,效绩评价

2.  内在因素:成就感,体力,技巧

下面我一一做解释:

场上局势:一个队员,他肯定要考虑场上的局势来做相应的行为,比如在三个人防守夹击他的时候,他一般会选择传球,而不是自己带球,因为有风险(我们也不鼓励这种风险)。

效绩评价:如果我们的效绩评价是给助攻最高分,那么一个前锋到自己可以射门的时候,可能会为了多赚点效绩而选择助攻队友

成就感:还是那个例子,给助攻最高分,那么一个前锋仍然自己可能射门,因为射进了给自己很大的成就感

体力:一个队员再怎么想射门,也不可能从后场一直带球跑到全场(虽然有类似案例发生),因为他得考虑自己的体力

技巧:还是那个例子,在三人防守的情况下,有的人仍然自己带球,因为自己技术强

 

可能和我兴趣有关吧,我的第一直觉就是科学上,要做到最精准的解决问题,必须能够将以上这几个因素乃至更多可能的因素结合进来。从MachineLearning或者运筹学优化理论的角度来说,如果把以上这几个因素组成featurevector,而把比赛的队员的整体发挥水平当成是目标值(注意我们要估计的效绩评价在featurevector里面),这个问题就可以用数学模型抽象为,如果取效绩评价来最大优化目标值。然而,建立这个model的问题在于,我们怎么去给整体发挥水平定值,因为整体发挥水平是每个队员的发挥水平的综合。这个问题应该是蛮challenge的,鉴于本人最近极度忙,没有去细想。

OK,其实有点离题了。其实邹欣老师的初衷是一个软件工程问题,我把它考虑成一个研究性问题了。言归正传,给每个人效绩评价最直觉的方法就是衡量每个人在这场比赛中对球队的贡献。那怎么衡量这个贡献呢。我觉得,第一,针对不同的职位(前锋,中锋,后卫,守门员等),看他们是否“尽其责”。我意思当然不是说后卫就一定不能射门得分,只是说对于不同的人要有不同的评价标准。比如,前锋以助攻次数和进球次数来正面评分,传球失误,或者是关键球失误等构成负面评分。

第二,先以职位的团体评分,比如先对前锋阵营分配分数,后卫阵营分配分数等。然后再在阵营里面去分配效绩。也就是说如果有个后卫防守很好,但是其他后卫一直打酱油,那么整个后卫阵营的分数就会降低。这样做的好处是比较容易把握。

第三,不能因为一个团体表现太好了,而把分数权重都分给他们。比如,遇上个弱队,前锋就已经把球一直控制在前场,一直射门,后面自己的守门员没事干。你不能说守门员表现就不好。只是遇上了弱队,他没表现的机会