导航:首页 > 源码编译 > 常见的控制概率算法

常见的控制概率算法

发布时间:2022-09-19 01:44:59

‘壹’ 概率算法

最近做了一个活动抽奖需求,项目需要控制预算,概率需要分布均匀,这样才能获得所需要的概率结果。
例如抽奖得到红包奖金,而每个奖金的分布都有一定概率:

现在的问题就是如何根据概率分配给用户一定数量的红包。

算法思路 :生成一个列表,分成几个区间,例如列表长度100,1-40是0.01-1元的区间,41-65是1-2元的区间等,然后随机从100取出一个数,看落在哪个区间,获得红包区间,最后用随机函数在这个红包区间内获得对应红包数。

时间复杂度 :预处理O(MN),随机数生成O(1),空间复杂度O(MN),其中N代表红包种类,M则由最低概率决定。

优缺点 :该方法优点是实现简单,构造完成之后生成随机类型的时间复杂度就是O(1),缺点是精度不够高,占用空间大,尤其是在类型很多的时候。

算法思路 :离散算法通过概率分布构造几个点[40, 65, 85, 95,100],构造的数组的值就是前面概率依次累加的概率之和。在生成1~100的随机数,看它落在哪个区间,比如50在[40,65]之间,就是类型2。在查找时,可以采用线性查找,或效率更高的二分查找。

算法复杂度 :比一般算法减少占用空间,还可以采用二分法找出R,这样,预处理O(N),随机数生成O(logN),空间复杂度O(N)。

优缺点 :比一般算法占用空间减少,空间复杂度O(N)。

算法思路 :Alias Method将每种概率当做一列,该算法最终的结果是要构造拼装出一个每一列合都为1的矩形,若每一列最后都要为1,那么要将所有元素都乘以5(概率类型的数量)。

此时会有概率大于1的和小于1的,接下来就是构造出某种算法用大于1的补足小于1的,使每种概率最后都为1,注意,这里要遵循一个限制:每列至多是两种概率的组合。

最终,我们得到了两个数组,一个是在下面原始的prob数组[0.75,0.25,0.5,0.25,1],另外就是在上面补充的Alias数组,其值代表填充的那一列的序号索引,(如果这一列上不需填充,那么就是NULL),[4,4,0,1,NULL]。当然,最终的结果可能不止一种,你也可能得到其他结果。

举例验证下,比如取第二列,让prob[1]的值与一个随机小数f比较,如果f小于prob[1],那么结果就是2-3元,否则就是Alias[1],即4。

我们可以来简单验证一下,比如随机到第二列的概率是0.2,得到第三列下半部分的概率为0.2 * 0.25,记得在第四列还有它的一部分,那里的概率为0.2 * (1-0.25),两者相加最终的结果还是0.2 * 0.25 + 0.2 * (1-0.25) = 0.2,符合原来第二列的概率per[1]。

算法复杂度 :预处理O(NlogN),随机数生成O(1),空间复杂度O(2N)。

优缺点 :这种算法初始化较复杂,但生成随机结果的时间复杂度为O(1),是一种性能非常好的算法。

‘贰’ 概率的公式是怎么计算的

1、C 3 10 = (10*9*8)/(1*2*3)

A 3 10=10*9*8

2、A(n,m)=n*(n-1)*(n-2)……(n-m+1),也就是由n往下每个数连乘。

C(n,m)=A(n,m)/A(m,m)。一般地,从n个不同的元素中,任取m(m≤n)个元素为一组,叫作从n个不同元素中取出m个元素的一个组合。

(2)常见的控制概率算法扩展阅读:

概率的加法法则

定理:设A、B是互不相容事件(AB=φ),则:

P(A∪B)=P(A)+P(B)

推论1:设A1、 A2、…、 An互不相容,则:P(A1+A2+...+ An)= P(A1) +P(A2) +…+ P(An)

推论2:设A1、 A2、…、 An构成完备事件组,则:P(A1+A2+...+An)=1

推论3:为事件A的对立事件。

推论4:若B包含A,则P(B-A)= P(B)-P(A)

推论5(广义加法公式):对任意两个事件A与B,有P(A∪B)=P(A)+P(B)-P(AB)[1]

条件概率

条件概率:已知事件B出现的条件下A出现的概率,称为条件概率,记作:P(A|B)

条件概率计算公式:

当P(A)>0,P(B|A)=P(AB)/P(A)

当P(B)>0,P(A|B)=P(AB)/P(B)

乘法公式

P(AB)=P(A)×P(B|A)=P(B)×P(A|B)

推广:P(ABC)=P(A)P(B|A)P(C|AB)[1]

‘叁’ 概率计算公式

12粒围棋子从中任取3粒的总数是C(12,3)

取到3粒的都是白子的情况是C(8,3)

∴概率
C(8,3)
P=——————=14/55
C(12,3)

附:排列、组合公式

排列:从n个不同的元素中取m(m≤n)个元素,按照一定的顺序排成一排,叫做从n个不同的元素中取m个元素的排列。
排列数:从n个不同的元素中取m(m≤n)个元素的所有排列的个数,叫做从n个不同元素中取出m个元素的排列数,记为Anm
排列公式:A(n,m)=n*(n-1)*.....(n-m+1)
A(n,m)=n!/(n-m)!
组合:从n个不同的元素中,任取m(m≤n)个元素并成一组,叫做从n个不同的元素中取m个元素的组合。
组合数:从n个不同的元素中取m(m≤n)个元素的所有组合的个数,叫做从n个不同元素中取出m个元素的组合数,记为Cnm
组合公式:C(n,m)=A(n,m)/m!=n!/(m!*(n-m)!)
C(n,m)=C(n,n-m)

‘肆’ 哪些控制类的算法惊艳了你

经典控制设计方法,都是针对单输入单输出系统的频域设计方法简单的系统,用根轨迹法,分析控制参数变化对系统性能的影响。复杂的系统,用波特图法,去看相频裕度和幅频裕度的大小,以及带宽。现代控制系统设计方法,是针对多输入多输出的系统建立在状态方程之上的,这方面研究的不多,不敢妄加评论。由于PID应用的太广,所以形成了自己独特的整定方法PID就是针对单输入单输出系统的,站在频域角度去设计的,有一些经典的参数整定方法,比如ZN等,还有好多好多,为啥应用这么广,因为简单实用。

‘伍’ 求教各方面的概率算法

第一章 随机事件
互斥对立加减功,条件独立乘除清;
全概逆概百分比,二项分布是核心;
必然事件随便用,选择先试不可能。

第二、三章 一维、二维随机变量
1)离散问模型,分布列表清,边缘用加乘,条件概率定联合,独立试矩阵
2)连续必分段,草图仔细看,积分是关键,密度微分算
3)离散先列表,连续后求导;分布要分段,积分画图算

第五、六章 数理统计、参数估计
正态方和卡方出,卡方相除变F,
若想得到t分布,一正n卡再相除。

样本总体相互换,矩法估计很方便;
似然函数分开算,对数求导得零蛋;

区间估计有点难,样本函数选在前;
分位维数惹人嫌,导出置信U方甜。

第七章 假设检验
检验均值用U-T,分位对称别大意;
方差检验有卡方,左窄右宽不稀奇;
不论卡方或U-T,维数减一要牢记;
代入比较临界值,拒绝必在否定域!

有需要的话 我可以把概率笔记给你 我的e-mail romanziye@163.com

‘陆’ 概率是怎么计算的

P(A)=A所含样本点数/总体所含样本点数。实用中经常采用“排列组合”的方法计算·

定理:设A、B是互不相容事件(AB=φ),则:

P(A∪B)=P(A)+P(B)

推论1:设A1、 A2、…、 An互不相容,则:P(A1+A2+...+ An)= P(A1) +P(A2) +…+ P(An)

推论2:设A1、 A2、…、 An构成完备事件组,则:P(A1+A2+...+An)=1

(6)常见的控制概率算法扩展阅读

条件概率

条件概率:已知事件B出现的条件下A出现的概率,称为条件概率,记作:P(A|B)

条件概率计算公式:

当P(A)>0,P(B|A)=P(AB)/P(A)

当P(B)>0,P(A|B)=P(AB)/P(B)

乘法公式

P(AB)=P(A)×P(B|A)=P(B)×P(A|B)

推广:P(ABC)=P(A)P(B|A)P(C|AB)

参考资料来源:网络-概率计算

‘柒’ 怎么计算概率

概率是对事件发生可能性大小的度量。不会发生的概率为0,一定会发生的概率是100%,也可以说是1.例如抛硬币,正面和反面出现的可能性都是50%,筛子每面出现的可能性都是六分之一,这些概率值通过直觉和经验就能想出来。虽然我们知道实验几次不一定是这个结果,但试验次数很多时,出现的频率就会接近概率值,无穷次时,频率就会等于概率。

通过直观和经验就能知道概率的几个基本命题,也可以说是公理,苏联的数学家柯尔莫哥洛夫总结了3条概率公理。

1. 事件发生的概率不小于0

2. 集合中的事件必有一件发生,则发生的概率之和等于1

3. 集合中事件互相不容,没有交集,则发生至少一个的概率等于每个事件概率之和

这3个公理不需记忆,应用时也不需刻意用,用直觉和经验靠算术思维就能想出概率计算方法。

通过这3个公理也可以推导出6个定理,也不需记忆,甚至不需要知道。

概率计算不像方程应用,简单地分别考虑每个数值含义列出等式,然后变换方程就能求解。列概率算式无法这样做,那些概率定理和概率公式以及写法,如:贝叶斯公式 P(A|B)=P(B|A)*P(A)/P(B) ,对列出概率算式帮助不大,也无法降低分析和推理难度,也就是说概率知识的公理化意义不大。概率计算时,只需按算术思维,按直觉和经验直接列出算式,然后进行四则运算即可。简单的场合,可以直接列出一个算式就可以算出概率值,在稍微复杂的场合需要分别列出几个算式,然后再去转换,这些复杂场合的概率算法常见的有频次算法,集合对应算法,和反向算法。

‘捌’ 概率计算算法

由于已知马尔可夫模型参数和观察序列,所以有

所以,利用最后一条公式就可求出概率,但是此时运算次数为 (T+T+2)*N T ,时间复杂度为O(TN T )

把隐马模型想象成一个T×N个顶点的图,其意义为T个时刻,每个时刻都有N种可能的状态。每个点为T个时刻,N中状态集合中的一种,每条边为从 i 时刻某个状态到 i+1 时刻另外一个状态的转移。

每个点存储前向概率,每条边记录 a i T j T *b jk 。即 T 时刻是状态 i ,且从状态 i 转移到状态 j 的概率以及状态 j 产生观测 k 的概率。

前向概率定义:在此模型下,输入如此观测序列且当前状态为 q i 的概率

算法:

后向概率:此刻状态为q i ,后面序列出现的概率是多大。

‘玖’ 控制算法都有哪些

控制算法分为模糊PID控制算法和自适应控制算法。各自的特点如下:模糊PID控制算法的特点:

1、简化系统设计的复杂性,特别适用于非线性、时变、滞后、模型不完全系统的控制。

2、不依赖于被控对象的精确数学模型。

3、利用控制法则来描述系统变量间的关系。

4、不用数值而用语言式的模糊变量来描述系统,模糊控制器不必对被控制对象建立完整的数学模式。

5、模糊控制器是一语言控制器,便于操作人员使用自然语言进行人机对话。

6、模糊控制器是一种容易控制、掌握的较理想的非线性控制器,具有较佳的鲁棒性、适应性、强健性(Robustness)及较佳的容错性(FaultTolerance)。自适应控制算法的特点:1、实现了控制器参数的在线自动整定。2、与常规PID控制器有相同的结构。3、采用单片微机实现了控制算法,实用性强,可靠性好。

阅读全文

与常见的控制概率算法相关的资料

热点内容
php不能上传图片 浏览:69
android仿qq登录 浏览:789
奇怪命令大全 浏览:505
氮气隔膜压缩机 浏览:874
pdf文件怎么转化成jpg格式 浏览:452
archives解压软件 浏览:29
python模块langid 浏览:891
phpexit函数 浏览:445
税盘服务器设置地址 浏览:625
桂林字牌在哪个app可以下 浏览:950
怎么在网易服务器上加材质包 浏览:779
u盘怎么拖文件夹 浏览:169
银行家算法求取安全进程执行序列 浏览:534
dns的服务器参数如何修改 浏览:698
程序员被碰瓷 浏览:446
安卓手机怎么开启无线显示 浏览:964
解压随身带的铁玩具 浏览:813
车贷还完了4s店能代办解压吗 浏览:237
安卓手机相册怎么剪辑 浏览:65
单片机按钮编码 浏览:799