使用C语言产生任意分布的随机数

本文介绍了如何在C语言中生成如高斯分布、指数分布等特定分布的随机数。通过将概率分布函数转化为分布函数,结合系统内置的随机数生成器,利用迭代方法寻找满足条件的随机变量。这种方法对于构建需要随机数的博弈或其他复杂算法至关重要。
摘要由CSDN通过智能技术生成

近日在做爱恩斯坦棋的博弈游戏的搭建,为了参加2013年的计算机博弈比赛。很早以前就想做一个自己的游戏,而且又跟人工智能有关系,所以最近就在努力的制作并且调试那个游戏。关于爱恩斯坦棋的博弈游戏规则大家可以从网上找到的,所以这里不多说了啦。那个游戏还蛮好玩的,个人是计划在今年的8月份就将那个游戏转移到苹果以及安卓平台上,就当做一个应用发送出去,看看效果咋样~

当然,在制作的过程中,发现:随机数的产生对于整个的博弈至关重要的,但是目前网上的资源,貌似较少。一般的Google出来的结果只是说:“使用那个系统内部的随机数生成器,再加上一个跟时间有关的随机数种子来配合产生随机数。”...那么,如果要求要产生类似于高斯分布、指数分布之类的随机分布的时候,应该怎样写才能够在程序里面实现呢...这个就是我写这篇文章的目的了。

(复杂的证明过程就略去了,直接给出结论吧...)

如果得到的是一个随机变量的概率分布函数f(x),先将其人为的转换成为分布函数F(x).当然,这里也可以自己动手写一个小间隔累加函数来逼近积分,但是这样子精度不高,会影响后面的操作效果的。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值