游戏开发论坛

 找回密码
 立即注册
搜索
查看: 5768|回复: 10

[讨论] 一种简单的概率修饰方法

[复制链接]

7

主题

24

帖子

235

积分

中级会员

Rank: 3Rank: 3

积分
235
发表于 2014-11-24 16:00:40 | 显示全部楼层 |阅读模式
有时候我们希望玩家做成一件事平均需要尝试N次,并且我们希望玩家在尝试有限次之后必定成功。
这是一种简单的实现:
令第 i 次尝试的成功率 p(i) = 1/(2*N-i)
i 从1开始计数,失败则加1,成功则重置。
(注:N可以为小数,无影响)

3

主题

392

帖子

2570

积分

金牌会员

Rank: 6Rank: 6

积分
2570
发表于 2014-11-24 16:57:24 | 显示全部楼层
目测模型不对啊~

0

主题

88

帖子

1488

积分

金牌会员

Rank: 6Rank: 6

积分
1488
发表于 2014-11-24 17:19:08 | 显示全部楼层
p(i) = 1/2^(N-i),公式应该是这个吧。
每失败1次,成功率翻倍,这个期望次数你算得清吗?

3

主题

392

帖子

2570

积分

金牌会员

Rank: 6Rank: 6

积分
2570
发表于 2014-11-24 18:11:41 | 显示全部楼层
175916152 发表于 2014-11-24 17:19
p(i) = 1/2^(N-i),公式应该是这个吧。
每失败1次,成功率翻倍,这个期望次数你算得清吗? ...

正解,哇咔咔,扒走了

23

主题

3388

帖子

6440

积分

论坛元老

Rank: 8Rank: 8

积分
6440
发表于 2014-11-24 18:18:40 | 显示全部楼层
这样做了之后,玩家成功的实际概率是多少?

23

主题

3388

帖子

6440

积分

论坛元老

Rank: 8Rank: 8

积分
6440
发表于 2014-11-24 18:19:45 | 显示全部楼层
本帖最后由 卡特铁角 于 2014-11-25 14:34 编辑

非重置随机,最简单的处理方式就是强行规定玩家连续失败超过N次之后成功率直接100%
不用担心修饰的问题——对于用最基本的random函数来随机判定成败的功能,玩家成功前尝试的次数服从正态分布,你只要让N大到一定程度就可以了。这样,N次失败之后成功率100%对玩家平均收益率计算的影响就可以小到忽略不计。

13

主题

832

帖子

1875

积分

金牌会员

空想家

Rank: 6Rank: 6

积分
1875
发表于 2014-11-24 18:54:26 | 显示全部楼层
验算了下,貌似楼主是对的。
关键是这种情况下,第i次之前都失败本次成功的几率为固定值。

0

主题

4

帖子

34

积分

注册会员

Rank: 2

积分
34
发表于 2014-11-25 13:45:35 | 显示全部楼层
p(i) = 1/(2*N-i)
固定值看上去挺有意思的。。这种公式计算总消耗挺简单的啊。。研究下看能不能用。。
不过有个小问题是,在期望次数N次的情况下,只能使2*N-1次必定成功。。差不多对半的感觉。。研究下看能不能优化下。。
p(i) = 1/2^(N-i)
这个指数级的概率,前期成功概率有点低额。。导致期望的成功次数非常接近最大尝试次数。。而且计算总消耗的时候,需要拉Excel来计算了。。

0

主题

3

帖子

18

积分

新手上路

Rank: 1

积分
18
发表于 2014-11-26 23:07:18 | 显示全部楼层
自己建了个模,实在想不出来做这个模型有什么实际价值,真心求教。

0

主题

96

帖子

407

积分

中级会员

Rank: 3Rank: 3

积分
407
发表于 2014-11-27 10:13:01 | 显示全部楼层
让我设计的话,我会这样
1、成功率1/N
2、每次失败时获得一个碎片,集齐N个碎片可以换一个成品。

我感觉这样比较简单,也容易理解。我觉得不一定做什么都要只用一个函数拉通。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-6-23 23:19

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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