一、问题
随机选点在游戏和统计中用的非常多,怎么利用伪随机算法在计算机中模拟现实中符合特定分布特征的点,则一般需要用到概率论中的知识进行建模,从古典概型到现代多样概率分布函数以及特征数,都可以成为建立符合要求的伪随机算法的工具。
一生二二生三三生万物道法自然,构建符合特定分布的伪随机算法不是推倒重来,而是可以在均匀分布的伪随机算法基石之上堆彻出鳞次栉比的伪随机算法大厦。伪随机算法发展至今,已经发明出数种相对可靠的算法,比如在计算机程序语言中通常自带的LCG算法以及基于LCG扩展的MWC算法再到位运算LFSR算法然后比较著名的MT算法等,我们便可以借助这些符合均匀分布的伪随机算法构建特定的伪随机算法,当然安全要求不同,选择的算法自然也不同。
总之基于服从均匀分布的伪随机算法可以构建出符合仍和特征的伪随机算法,它是基石。
有些可以直接通过古典概型得到,有些则需要通过计算概率密度得到分布函数然后经过逆运算得到最终算法(对于离散的模型就是概率函数和分布律)当然有些不好找逆运算的则需要另辟蹊径。
这里以一个例题为例(题目摘自leetcode):
二解决思路
这个问题可以直接采用古典概型的知识。对于人类来说,我们通常会将一个大问题分而治之变成多个