某一自助系统,连接三家银行系统,交易实时到账,已知自助系统每笔交易金额随机,每笔交易可以走三家银行系统的其中一家,请问如何确保每天三家银行通过自助系统所获得的交易金额基本相同? 目前的方法是谁家少放谁家,有更好的算法吗?
1
lhh 2016-04-29 08:34:53 +08:00 via Android
可以参考一下这个
[微信红包的随机算法是怎样实现的?] 陈鹏:有人问过微信的人,大致是这样:先上代码: public static double getRandomMone … http://www.zhihu.com/question/22625187/answer/85530416 (分享自知乎网) |
2
xiangpeng OP @lhh 不好意思,可能是我没太说明白,这个金额随机是指交易金额随机,但是不是系统随机出来的,而是固定的,就相当于每个人买不同的东西,价格不同,但钱要分别分给不同的银行。
|
3
debiann 2016-04-29 08:44:52 +08:00 via iPhone
如果你知道金额的随机分布情况,可以按分布函数分段划分。如果什么信息都没,似乎只能谁少放谁家
|
4
frozenshadow 2016-04-29 09:09:39 +08:00
三楼的方法不错,总金额最少的那一家权重最高。每次交易金额不大的话,这样基本能保持三家基本相同
|
5
Mutoo 2016-04-29 09:24:43 +08:00
少放谁家这个方法很棒啊
|
6
oott123 2016-04-29 09:35:20 +08:00 via Android 1
感觉楼主说的方法挺好的(。学习了
|
7
yemenchun1 2016-04-29 10:19:20 +08:00 1
先花几天时间统计个 3L 说的交易金额分布.(霍夫曼树?)
然后每天前几个小时按照分布情况分配到预订好的银行. 每天最后一两个交易小时再按照谁少放谁家的方式动态微调. |
8
qqmishi 2016-04-29 11:22:15 +08:00 via Android
优化方法只能在你对金额分布有一定预测的情况才能进行,全随机的话谁家少就放谁家这个策略挺不错的
|
9
ryd994 2016-04-29 12:36:32 +08:00 via Android
现在用谁少放谁家这个方案有什么问题么?
|
10
yemenchun1 2016-04-29 13:04:23 +08:00 via iPhone
谁少放谁家的,如果有大量的小额数字,是可以的。但这个策略会在出现方差较大的数字集合后失效。
|
11
SourceMan 2016-04-29 13:23:46 +08:00 via iPhone
平分,剩余随机
拿出一定比例随机 |
12
xi_lin 2016-04-29 13:39:55 +08:00
谁少放谁家的 +1
简单易行啊 和图片瀑布流一样的 |
13
yemenchun1 2016-04-29 13:48:56 +08:00 via iPhone
就像俄罗斯方块似的,但还要更复杂一些,方块的形状就那么几种,数字金额却是(可能)差距很大。玩方块时候,总要留一个位置给最长的那种直块。如果按谁少放谁,一旦出现这种块,就不好填平了,所以还是要预先统计归纳一下,做好预测。
|
14
zingl 2016-04-29 18:54:12 +08:00
既然“随机”何谈“确保”
|
15
TimePPT 2016-04-29 20:47:00 +08:00 via iPhone
提问:如果一天之内就三笔账,且三笔账数目各不一样,怎么分?
|
16
donghao 2016-05-01 01:35:52 +08:00
问题在于你的“基本”,假设波动幅度是 A ,总资金是 B , f(x)=B/3+N(A~1)
|
18
programgou 2016-06-26 02:56:04 +08:00
@yemenchun1 很有道理,根据分布随机才对,但是,最后 2 个小时调整还是最后 3 个小时,这个还得商榷,总之还得做预测。
|