第10章-概率算法(完).ppt

  1. 1、本文档共34页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 第10章 概率算法 Page * 算法10.5——八皇后问题 1. 将数组x[8]初始化为0;试探次数count初始化为0; 2.for (i=1; i=8; i++) 2.1 产生一个[1, 8] 的随机数j; 2.2 count=count+1,进行第count次试探; 2.3 若皇后i放置在位置j不发生冲突, 则x[i]=j;count=0;转步骤2放置下一个皇后; 2.4 若(count= =8),则无法放置皇后i,算法运行失败; 否则,转步骤2.1重新放置皇后i; 3. 将元素x[1]~x[8]作为八皇后问题的一个解输出; 拉斯维加斯型概率算法通过反复调用算法10.5,直至得到八皇后问题的一个解。 * 第10章 概率算法 Page * 如果将上述随机放置策略与回溯法相结合,则会获得更好的效果。可以先在棋盘的若干行中随机地放置相容的皇后,然后在其他行中用回溯法继续放置,直至找到一个解或宣告失败。 在棋盘中随机放置的皇后越多,回溯法搜索所需的时间就越少,但失败的概率也就越大。 例如八皇后问题,随机地放置两个皇后再采用回溯法比完全采用回溯法快大约两倍;随机地放置三个皇后再采用回溯法比完全采用回溯法快大约一倍;而所有的皇后都随机放置比完全采用回溯法慢大约一倍。 很容易解释这个现象:不能忽略产生随机数所需的时间,当随机放置所有的皇后时,八皇后问题的求解大约有70%的时间都用在了产生随机数上。 * 第10章 概率算法 Page * 10.4.1 主元素问题 10.4 蒙特卡罗(Monte Carlo)型概率算法 * 第10章 概率算法 Page * 设T[n]是一个含有n个元素的数组,x是数组T的一个元素,如果数组中有一半以上的元素与x相同,则称元素x是数组T的主元素(Major Element)。 例如,在数组T[7]={3, 2, 3, 2, 3, 3, 5}中,元素3就是主元素。 10.4.1 主元素问题 * 第10章 概率算法 Page * 蒙特卡罗型概率算法求解主元素问题可以随机地选择数组中的一个元素T[i]进行统计,如果该元素出现的次数大于n/2,则该元素就是数组的主元素,算法返回true;否则随机选择的这个元素T[i]不是主元素,算法返回false。此时,数组中可能有主元素也可能没有主元素。如果数组中存在主元素,则非主元素的个数小于n/2。因此,算法将以大于1/2的概率返回true,以小于1/2的概率返回false,这说明算法出现错误的概率小于1/2。如果连续运行算法k次,算法返回false的概率将减少为2-k,则算法发生错误的概率为2-k。 * 第10章 概率算法 Page * 算法10.8——主元素问题 bool Majority(int T[ ], int n) { i=Random(0, n-1); x=T[i]; //随机选择一个数组元素 k=0; for (j=0; jn; j++) if (T[j]= =x) k++; if (kn/2) // kn/2时含有主元素为T[i] return true; else return false; } bool MajorityMC(int T[ ], int n, double e) { k=log(1/e)/log(2); for (i=1; i=k; i++) if (Majority(T, n)) return true; return false; } 第10章 概率算法 第10章 概率算法 第10章 概率算法 第10章 概率算法 第10章 概率算法 * 第10章 概率算法 Page * 10.1 概 述 10.2 舍伍德(Sherwood)型概率算法 10.3 拉斯维加斯(Las Vegas)型概率算法 10.4 蒙特卡罗(Monte Carlo)型概率算法 10.5 实验项目——随机数发生器 第10章 概率算法 * 第10章 概率算法 Page * 10.1.1 概率算法的设计思想 10.1.2 随机数发生

文档评论(0)

wx171113 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档