第九章概率算法 (2)优秀课件.ppt
《第九章概率算法 (2)优秀课件.ppt》由会员分享,可在线阅读,更多相关《第九章概率算法 (2)优秀课件.ppt(38页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第九章概率算法2022/10/26计算机算法设计与分析1第1页,本讲稿共38页概率计算n概率计算就是在算法中可采用随机选择计算的步骤、元素或参数等。n它的基本特征是计算具有不确定性。n它的解也不一定是最优解。n它在很大程度上能降低算法的复杂度。n在非标准算法中普遍了应用概率方法,主要有:n(1)直接用概率进行数值计算;n(2)用概率/随机进行选择;n(3)利用概率加速搜索或避免陷于局部最优。第2页,本讲稿共38页直接用概率进行数值计算n设f(x)是0,1上的连续函数,求I=f(x)dx。01y=f(x)Gn假设向单位正方形内随机投入n个点(xi,yi),若有m个点落入G中,则Im/n。ndou
2、ble Darts(int n)double x,y;int k=0;n static RandomNumber dart;n for(int i=1;i=n;i+)x=dart.fRandom();n y=dart.fRandom();if(y=f(x)k+;n return k/double(n);第3页,本讲稿共38页划分基准的随机选择n在快速排序算法中,若用拟中位数作为划分标准,可保证在线性时间内完成。但是确定拟中位数要付出额外开销。若选用第一个元素为划分基准,最坏时的时间复杂性为O(n2)。n若在算法中采用随机选择一个元素作为划分标准,便可既保证算法的线性时间平均性能,又避免了计算拟
3、中位数的麻烦。n也可先对数组进行“洗牌”,然后再进行确定的排序算法。这样依然可取得同样的效果。第4页,本讲稿共38页“洗牌”后的快速排序nvoid Shuffle(Type a,int n)/随机洗牌算法n static RandomNumber md;n for(int i=1;i n;i+)n int j=md.Random(n i+1)+i;n Swap(ai,aj);nVoid QuiksortByShuffle(Type a,int n)n Shuffle(a,n);/将数组a洗牌n Quiksort(a,n);第5页,本讲稿共38页随机抽样 n在n个元素的集合中随机抽取m(0mn)
4、个无重复的元素。为简单起见,假定所有元素的值都位于1至n之间。第6页,本讲稿共38页随机抽样n我们采用下面的方法进行选择:n1、首先将n个元素都标记为“未选择”;n2、重复下列步骤直到抽取了m个不同的元素n产生一个1至n间的随机数r;n如果r标记为“未选择”,将它标记为“已选择”,并加入到抽样中。第7页,本讲稿共38页随机抽样nint RandomSampling(Sn,Am,m)n mark1.n=False;count=0;n while(count 1)n if(power%2=1)other*=a;other%=n;n power/=2;a=a*a%n;n if (a*other%n=
5、1)return True;n return False;n第11页,本讲稿共38页合数的见证者n设n为测试的自然数,不妨设n是大于2的奇数,则有n 1=2im,其中i是非负整数,m是正奇数。取一自然数b,1 b n,记W(b)为条件:n bn1 1(mod n)或ni,使得m=(n1)/2i 且 1 gcd(bm1,n)b。n若或中有一个为真,就认为W(b)满足,则n必定是合数,我们称b是n为合数的见证者。n若n有见证者,则n必定为合数。第12页,本讲稿共38页合数的见证者多于一半nMiller已经证明,存在常数c,使得当n为合数时,在1,c(log n)2范围内有见证者。nRabin证明了
6、:如果n是合数,则|b|1bn,W(b)满足|(n1)/2 即,在小于n的自然数中有多半是n的见证者。n任取一个自然数b n,若b不是n的见证者,则n是合数的概率小于1/2。若随机取m个数都不是见证者,则n是合数的概率小于1/2m。第13页,本讲稿共38页Miller-Rabin素数判定概率算法 nBool Miller_Rabin_Prime(int n)n b1.m=RandomSampling(n,m);n/*随机选取m个大于1小于n的无重复的自然数nfor(j=1;j=m;j+)n if(W(bj)满足)return False;n return True;nn若m=100,则n不是素
7、数的概率小于1/2100。第14页,本讲稿共38页Las Vegas算法nLas Vegas算法的特点是随机性地进行决策。n例如对n后问题,Las Vegas算法是随机地产生一组王后放置的位置。若成功了,便找到了一个解;若失败了,就整个重来,再随机产生另外一组王后的位置。这样作,直至找到解。n此算法能显著地改进算法的有效性,甚至对迄今为止找不到有效算法的问题,也能得到满意的结果。第15页,本讲稿共38页瞎子爬山法与局部最优n更一般的求解问题的方法是瞎子爬山法。n一个瞎子从山脚开始,试探着一步一步向上爬,就可以一直爬到山顶。n可是,他爬上的可能只是个小山头,更高的山还在后面。而他无法从小山头下来
8、,也就无法爬到更高的山头了。n这种情形就被称为陷入了局部最优。n如何避免陷入局部最优是求解问题中要注意的一个重要问题。第16页,本讲稿共38页进化算法(Evolutionary Algorithm)n达尔文的进化论:适者生存,优胜劣汰。n1975年霍兰(Holland)提出了遗传算法,通过模拟生物进化的过程概率搜索最优解。n遗传算法首先产生所谓的个体种群,每个个体是编码的二进制串(又称为染色体)。n然后对个体进行随机的选择,再经过复制、交叉和变异产生下一代的种群。n就这样经过一代一代的进化,最终获得满意的个体(即问题的解)。第17页,本讲稿共38页进化计算中的基本算子n适应值f(xi):给出个
9、体xi优劣;n选择算子:对个体进行概率选择。个体的概率为p(xi)=f(xi)/f(xj),优秀的个体具有较高的概率。最常用的选择算子为轮盘赌的方法。这样优秀个体具有较高的被选中的概率。同时差的个体也有被选中的可能。n复制算子copy:对选中的个体进行复制。n交叉算子:将两个个体染色体中的某个位彼此交换,从而形成两个新的个体。n变异算子m:改变一个个体的染色体的某些位,得到一个新的个体。n停止准则:决定算法停止的准则第18页,本讲稿共38页进化算法的基本框架nt=0/t为代数;n初始化:P(0)=a1(0),an(0)/初始种群P(0)n度量:P(0):f(a1(0),f(an(0);nwhi
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第九章概率算法 2优秀课件 第九 概率 算法 优秀 课件
限制150内