昨天群里有人问了一个这样的问题:给出5个数字,这5个数字,有正有负。现在想给它们一个权重,让他们的期望等于0。问各自的权重应该怎么设计。 当然这个问题明显是无数解的,但是他当时想问的是,有没有一种构建方法能保证这个设计成立呢? 起先,跟大多数人一样,我的第一反应是前四个随便写写,第五个解方程就好了。但是实际算的时候发现并不那么简单。 假定给任意5个数,-1,-2,3,1,5,前四个权重随便写成10,20,30,40,那么此时5的权重无论取多少,都不可能使这几个数的几率等于0了。显然,解方程方案要求与第五个数符号相反的数字期望的绝对值,不能与第五个数符号相同。于是我开始重新思考这个问题。 如果需要保证和等于零,那么需要保证所有负数的期望等于所有正数期望的相反数。也因此我有了一个特别逗的想法: 把五个数分为两组,小于零的一组A,大于零的一组B;令组A的每一个元素与组B的每一个元素配对,看与0相差的绝对值,然后交换位置作为基数,最后把基数相加即为该元素的总权重。逗在哪里呢?这样算出来组A组B内部的每个元素权重肯定都是相等的。 比如5个数-1,-5,10,2,7,可以按下面的方式进行计算: 顺着这个很二的思路往下想,把A和B看做一个大组,期望是0,那么换言之组A和组B也可以有自己的期望值,然后分配啊!还是这组数据,比如我把组A的期望值定为-2.5,组B定为5,继续算,有: 这么算下来,这个需求还是有一丢丢复杂的,所以万事不能想当然啊……
|