游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1619|回复: 1

[原创] 数值碎碎念(九)——分享一个有点好玩的需求

[复制链接]

7

主题

12

帖子

78

积分

注册会员

Rank: 2

积分
78
发表于 2019-5-10 20:37:45 | 显示全部楼层 |阅读模式
昨天群里有人问了一个这样的问题:给出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,可以按下面的方式进行计算:
-1
-5
10
2
7
与0的差
1
5
10
2
7
-1与10
10
  
1
-1与2
2
1
  
-1与7
7
  
1
-5与10
  
10
5
-5与2
  
2
  
5
  
-5与7
  
7
5
权重
19
19
6
6
6
概率
0.339286
0.339286
0.107143
0.107143
0.107143
顺着这个很二的思路往下想,把A和B看做一个大组,期望是0,那么换言之组A和组B也可以有自己的期望值,然后分配啊!还是这组数据,比如我把组A的期望值定为-2.5,组B定为5,继续算,有:
组A
组B
  
-1
-5
10
2
7
期望值
 
-2.5
5
 
 
期望值权重
 
5
2.5
 
 
与期望值的差
1.5
2.5
5
3
2
内部分配
2.5
1.5
3
5
 
内部分配
 
 
 
2
3
内部权重
2.5
1.5
3
7
3
权重和
 
4
13
 
 
实际权重扩大倍数(权重和*期望值权重
 
65
10
 
 
实际权重(内部权重*权重扩大倍数)
162.5
97.5
30
70
30
概率
0.416666667
0.25
0.076923077
0.179487179
0.076923077
这么算下来,这个需求还是有一丢丢复杂的,所以万事不能想当然啊……

2

主题

63

帖子

829

积分

高级会员

Rank: 4

积分
829
发表于 2019-5-13 15:30:47 | 显示全部楼层
老哥的帖子越来越水了....
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-6-11 06:03

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表