算法设计与分析黄刘生--概率算法
(完整版)太原理工大学软件学院算法设计与分析复习题目及答案

一、选择题1、二分搜索算法是利用( A )实现的算法。
A、分治策略B、动态规划法C、贪心法D、回溯法2、下列不是动态规划算法基本步骤的是( A ).A、找出最优解的性质B、构造最优解C、算出最优解D、定义最优解3、最大效益优先是( A )的搜索方式。
A、分支界限法B、动态规划法C、贪心法D、回溯法4。
回溯法解旅行售货员问题时的解空间树是( B ).A、子集树B、排列树C、深度优先生成树D、广度优先生成树5.下列算法中通常以自底向上的方式求解最优解的是( B ).A、备忘录法B、动态规划法C、贪心法D、回溯法6、衡量一个算法好坏的标准是(C ).A 运行速度快B 占用空间少C 时间复杂度低D 代码短7、以下不可以使用分治法求解的是(D )。
A 棋盘覆盖问题B 选择问题C 归并排序D 0/1背包问题8. 实现循环赛日程表利用的算法是( A ).A、分治策略B、动态规划法C、贪心法D、回溯法9.下面不是分支界限法搜索方式的是( D ).A、广度优先B、最小耗费优先C、最大效益优先D、深度优先10.下列算法中通常以深度优先方式系统搜索问题解的是( D ).A、备忘录法B、动态规划法C、贪心法D、回溯法11。
备忘录方法是那种算法的变形。
( B )A、分治法B、动态规划法C、贪心法D、回溯法12.最长公共子序列算法利用的算法是( B ).A、分支界限法B、动态规划法C、贪心法D、回溯法13.实现棋盘覆盖算法利用的算法是( A ).A、分治法B、动态规划法C、贪心法D、回溯法14。
下面是贪心算法的基本要素的是( C )。
A、重叠子问题B、构造最优解C、贪心选择性质D、定义最优解15。
回溯法的效率不依赖于下列哪些因素( D )A. 满足显约束的值的个数 B。
计算约束函数的时间C。
计算限界函数的时间 D. 确定解空间的时间16。
下面哪种函数是回溯法中为避免无效搜索采取的策略( B )A.递归函数 B.剪枝函数 C.随机数函数 D.搜索函数17。
计算机算法设计与分析-概率算法

当n足够大时,统计出m的值, 就可以近似地求出I的值。
2023/10/8
计算机算法设计与分析
7
计算连续函数的算法
double Darts (int n) { double x, y; int k = 0; for (int i=1; i<=n; i++) { x=Random(); /*随机产生一个(0,1)区间的数*/ y=Random(); if (y<=f(x)) k++; } return k/double(n); }
2023/10/8
计算机算法设计与分析
8
随机抽样
在n个元素的集合中随机抽取m(0<m≤n) 个无重复的元素。为简单起见,假定所 有元素的值都位于1至n之间9
随机抽样
我们采用下面的方法进行选择:
1、首先将n个元素都标记为“未选择”; 2、重复下列步骤直到抽取了m个不同的 元素
2023/10/8
计算机算法设计与分析
2
随机数的产生
在概率算法中随机数的产生是个非常重 要的部分,但在计算机上无法产生真正 的随机数。
任何一种随机数的产生都和给定的初始 条件有关,当初始条件相同时,会给出 同样的随机数序列。还有,该随机数序 列存在周期,即经过一个周期后,序列 会重复出现。称为伪随机数。
//找到一个比基准大的元素放到空当,空当重新回到[low]处
}
r[low]=temp;
return low; //返回基准的位置
}
2023/10/8
计算机算法设计与分析
17
随机选择算法复杂度
这个算法的主要时间消耗在划分上,对 一个长度为n的序列进行划分,所用时间 为O(n),故递归式为: T(n)=T(n/2)+O(n)
算法设计与分析PPT教学课件

➢ 在多数情况下,当算法在执行过程中面临一个选择是,随机性选择常比 最优选择省时,因此概率算法可在很大程度上降低算法复杂性。
➢ 概率算法的一个基本特征是对所求解问题的同一实例用同一概率算法求 解两次可能得到完全不同的效果(所需时间或计算结果)。
➢ 本章将要介绍的概率算法包括:
▪ 数值概率算法 求解数值问题的近似解,精度随计算时间增加而不断 提高
算法设计与分析
第七章 概率算法
➢ 学习要点
▪ 理解产生伪随机数的算法 ▪ 掌握数值概率算法的设计思想 ▪ 掌握蒙特卡罗算法的设计思想 ▪ 掌握拉斯维加斯算法的设计思想 ▪ 掌握舍伍德算法的设计思想
2020/12/10
2
引言
➢ 前面几张所讨论的分治、动态规划、贪心法、回溯和分支限界等算法的 每一计算步骤都是确定的,本章所讨论的概率算法允许执行过程中随机 选择下一计算步骤。
➢ 线性同余法是产生伪随机数的最常用的方法。由线性同余 法产生的随机序列a0, a1, …, an满足
a0d an(bn a 1c)mm odn1 ,2 ,
➢ 其中b 0,c 0,d m。d称为该随机序列的种子。如何选 取该方法中的常数b、c和m直接关系到所产生的随机序列的 随机性能。这是随机性理论研究的内容,已超出本书讨论 的范围。从直观上看,m应取得充分大,因此可取m为机器 大数,另外应取gcd(m,b)=1,因此可取b为一素数。
▪ 舍伍德算法 消除算法最坏情形行为与特定势力之间的关联性,并不 提高平均性能,也不是刻意避免算法的最坏情况行为
▪ 拉斯维加斯算法 求解问题的正确解,但可能找不到解
▪ 蒙特卡罗算法 求解问题的准确解,但这个解未必正确,且一般情况 下无法有效判定正确性
2020/12/10
中科大算法第二章近似算法--黄刘生(调整后适合打印版)

NP-完全性理论
Karp的贡献
理查德·卡普(Richard Karp , 1935- ) 1972 年论文 ”Reducibility among Combinatorial Problems” 发 展和加强了由库克提出的“NP完全性”理论。 尤其是库 克仅证明了命题演算的可满足问题是NP完全的,而卡普则证明了从 组合优化中引出的大多数经典问题(背包问题、覆盖问题、匹配问 题、分区问题、路径问题、调度问题等)都是NP完全问题。只要证 明其中任一个问题是属于P类的,就可解决计算复杂性理论中最大 的一个难题,即P=?NP。
SAT∈P当且仅当P=NP
Cook 于1961 年获 Michigan 大学学士学位, 1962 和 1966年分获哈佛 大学硕士与博士学位。 1966-1970 ,他在 UC Berkeley 担任助教授; 1970年加盟多伦多大学,现为该校CS 和数学系教授,他的论文开启 了NP完备性的研究,令该领域于之后的十年成为计算机科学中最活 跃和重要的研究。因其在计算复杂性理论方面的贡献,尤其是在奠 定NP完全性理论基础上的突出贡献而荣获1982年度的图灵奖。
9
P、NP及NPC类问题
NP=?P
∵确定型图灵机是非确定型图灵机的特例,∴P⊆NP 是否有NP⊆P?即是否NP=P?
美国麻省的Clay数学研究所于2000年5月24日在巴黎法兰西学院宣 布:对七个“千年数学难题”中的每一个均悬赏 100 万美元,而 问题NP=?P位列其首:
1.P问题对NP问题 2.霍奇猜想 3. 庞加莱猜想 (2002.11-2003.7 ,俄罗斯数学家佩雷尔曼在 3 篇 论文预印本中证明了几何化猜想,2006被授予菲尔兹奖) 4.黎曼假设 5.杨-米尔斯存在性和质量缺口 6.纳维叶-斯托克斯方程的存在性与光滑性 7.贝赫和斯维讷通-戴尔猜想
《算法分析与设计》(李春葆版)课后选择题答案与解析

《算法及其分析》课后选择题答案及详解第1 章——概论1.下列关于算法的说法中正确的有()。
Ⅰ.求解某一类问题的算法是唯一的Ⅱ.算法必须在有限步操作之后停止Ⅲ.算法的每一步操作必须是明确的,不能有歧义或含义模糊Ⅳ.算法执行后一定产生确定的结果A.1个B.2个C.3个D.4个2.T(n)表示当输入规模为n时的算法效率,以下算法效率最优的是()。
A.T(n)=T(n-1)+1,T(1)=1B.T(n)=2nC.T(n)= T(n/2)+1,T(1)=1D.T(n)=3nlog2n答案解析:1.答:由于算法具有有穷性、确定性和输出性,因而Ⅱ、Ⅲ、Ⅳ正确,而解决某一类问题的算法不一定是唯一的。
答案为C。
2.答:选项A的时间复杂度为O(n)。
选项B的时间复杂度为O(n)。
选项C 的时间复杂度为O(log2n)。
选项D的时间复杂度为O(nlog2n)。
答案为C。
第3 章─分治法1.分治法的设计思想是将一个难以直接解决的大问题分割成规模较小的子问题,分别解决子问题,最后将子问题的解组合起来形成原问题的解。
这要求原问题和子问题()。
A.问题规模相同,问题性质相同B.问题规模相同,问题性质不同C.问题规模不同,问题性质相同D.问题规模不同,问题性质不同2.在寻找n个元素中第k小元素问题中,如快速排序算法思想,运用分治算法对n个元素进行划分,如何选择划分基准?下面()答案解释最合理。
A.随机选择一个元素作为划分基准B.取子序列的第一个元素作为划分基准C.用中位数的中位数方法寻找划分基准D.以上皆可行。
但不同方法,算法复杂度上界可能不同3.对于下列二分查找算法,以下正确的是()。
A.intbinarySearch(inta[],intn,int x){intlow=0,high=n-1;while(low<=high){intmid=(low+high)/2;if(x==a[mid])returnmid;if(x>a[mid])low=mid;elsehigh=mid;}return –1;}B.intbinarySearch(inta[],intn,int x) { intlow=0,high=n-1;while(low+1!=high){intmid=(low+high)/2;if(x>=a[mid])low=mid;elsehigh=mid;}if(x==a[low])returnlow;elsereturn –1;}C.intbinarySearch(inta[],intn,intx) { intlow=0,high=n-1;while(low<high-1){intmid=(low+high)/2;if(x<a[mid])high=mid;elselow=mid;}if(x==a[low])returnlow;elsereturn –1;}D.intbinarySearch(inta[],intn,int x) {if(n>0&&x>=a[0]){intlow= 0,high=n-1;while(low<high){intmid=(low+high+1)/2;if(x<a[mid])high=mid-1;elselow=mid;}if(x==a[low])returnlow;}return –1;}答案解析:1.答:C。
算法设计与分析(第2版)

出版工作
2018年8月1日,该教材由清华大学出版社出版。
内容简介
内容简介
全书由12章构成,各章的内容如下。
第1章概论:介绍算法的概念、算法分析方法和STL在算法设计中的应用。
教材目录
教材目录
(注:目录排版顺序为从左列至右列 )
教学资源
教学资源
该教材配有配套教材——《算法设计与分析(第2版)学习与实验指导》,该配套教材涵盖所有练习题、上 机实验题和在线编程题的参考答案。
该教材每个知识点都配套了视频讲解,提供PPT课件、源码、答案、教学大纲、题库、书中全部源程序代码 (在VC++6.0中调试通过)等教学资源。
算法设计与分析(第2版)
20xx年清华大学出版社出版的图书
01 成书过程
03 教材目录源 06 作者简介
基本信息
《算法设计与分析(第2版)》是由李春葆主编,2018年清华大学出版社出版的高等学校数据结构课程系列 教材。该教材适合作为高等院校“算法设计与分析”课程的教材,也可供ACM和各类程序设计竞赛者参考。
第5章回溯法:介绍解空间概念和回溯法算法框架,讨论采用回溯法求解0/1背包问题、装载问题、子集和问 题、n皇后问题、图的m着色问题、任务分配问题、活动安排问题和流水作业调度问题的典型算法。
第6章分枝限界法:介绍分枝限界法的特点和算法框架、队列式分枝限界法和优先队列式分枝限界法,讨论 采用分枝限界法求解0/1背包问题、图的单源最短路径、任务分配问题和流水作业调度问题的典型算法。
该教材介绍了各种常用的算法设计策略,包括递归、分治法、蛮力法、回溯法、分枝限界法、贪心法、动态 规划、概率算法和近似算法等,并讨论了各种图算法和计算几何设计算法。书中配有图表、练习题、上机实验题 和在线编程题。
算法设计与分析第7章概率算法

6
试验者 时间(年) 针长 投针次数 相交次数 π的估计值
Wolf
1850 0.80 5000
2532
3.15956
Smith
1855 0.60 3204
1218
3.15665
Fox
1884 0.75 1030
489
3.15951
Lazzarini 1925 0.83 3408
1808 3.14159292
4
从Buffon(蒲丰)投针问题谈起
Buffon 投针问题:平面上画很多平行线,间距为 a.向此平面投掷长为l (l < a) 的
针,此针与任一平行线相交的概率 p。
随机投针可以理解成针的中心
点与最近的平行线的距离X是均匀
地分布在区间 [0, a / 2] 上的r.v.,针
与平行线的夹角是均匀地分布
• 蒙特卡罗算法用于求问题的准确解,但得到的解未必是正确 的。蒙特卡罗算法以正的概率给出正解,求得正确解的概率 依赖于算法所用的时间。算法所用的时间越多,得到正确解 的概率就越高。一般给定执行步骤的上界,给定一个输入, 算法都是在一个固定的步数内停止的。
9
随机算法的分类
• 拉斯维加斯算法不会得到不正确的解。一旦用拉斯维加斯算 法找到一个解,这个解就一定是正确解。但有时可能找不到 解。拉斯维加斯算法找到正确解的概率随着它所用的计算时 间的增加而提高。对于所求解问题的任意实例,用同一拉斯 维加斯算法反复对它求解,可以使求解失效的概率任意小。
12
a0 d an (ban1 c) modm
• d = 1 种子 • m= 11 b=6 c = 0
n 1,2,
• (1,6,3,7,9,10,5,8,4,2,1,6,3)
中国科学技术大学软件学院课表

ong2009-2010-1课程表(苏州)1. 工程硕士基础英语1、2班(80,赵斌斌) *全23.嵌入式操作系统(50/20,陈香兰)下*嵌限选2. 工程硕士基础英语3班(80,陈纪梁) *全24.EDA技术(50/20,谢小权) 下*嵌限选3. 工程硕士基础英语4班(80,陈纪梁,施娴静) *全25.实时嵌入式数字信号处理(50/20,唐建) 下*嵌限选4. 基础日语1班(60,刘峰) 26. 虚拟仪器仪表(40/20,石春) 上嵌限选5. 基础日语2班(60,朱颖) 27.无线通信与网络(50/20,闫清泉)上电限选6.实用英语(communicationg skills)(40.陈纪梁) 28.现代通信运营支撑和管理(50/20,周耀明)上电限选7.IT英语(40.郭燕,赵斌斌)29. 通信系统软件开发(50/20,刘业) 下电限选8.实用日语(40.刘峰)30. 移动通信安全(50/20,汪炀) 下*电限选9.工程硕士政治(40.刑冬梅)31现代密码学与应用(50/20,余艳玮)上信限选10. 离散数学及其应用(60,华保健) *32. 计算机病毒与免疫系统(50/20,郭宇) 下*信限选11. 组合数学(60,董群峰) *33. 网络与系统安全风险评估(50/20,郭燕) 下*信限选12.概率论与数理统计(60.徐宏力)*34. 程序设计与计算机系统(50/20,吴俊敏) 上选修13. 算法设计与分析1班(60/30,张曙) *35. 无线传感器网络(40/30,吕松武)9月7号开始两周,12月一周选修14. 算法设计与分析2班(60/30,黄刘生) *36. 高级IT工程项目管理(40,凌棕)12月21日开课选修15. 高级软件工程1、2班(60,姜明) *37. 管理心理学(40,张旭) 上选修16. 高级数据库技术 (50/20,金培权)*上软必修应用开发(40,石竹)上选修17.嵌入式系统设计 (50/20,叶勇)*上嵌必修39. J2EE应用开发(40.丁箐)上选修18.现代通信网(50/20,姜明) 上电必修40.轻量级J2EE框架应用(40/20,丁箐)下软必修环节19.信息安全(50/20,华保健) 上信必修41.SOA方法与实践(40/20,白天)下软必修环节20.高级网络技术 (50/20,刘业) 上软限选42. 网络程序设计(40/20,孟宁)下电必修环节21 .Linux操作系统分析 (50/20,陈香兰) 上软限选43.WINCE应用开发(40/20,石竹)下嵌必修环节22.多核并行计算(50/20,徐云) 下软限选44.J2ME应用开发(40/20,闫清泉,朱红军)下嵌必修环节45.Web安全实践(40/20,郭燕)下信必修环节说明:上表中的‘软’:代表软件系统设计方向,‘嵌’:代表嵌入式系统设计方向,‘电’:代表电信软件工程方向,‘信’:代表信息安全,没有特别说明的对四个方向的学生都适用。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
§1.2 概率算法的分类
③ Las Vegas算法 (LV算法) LV算法绝不返回错误的答案。 特点:获得的答案必定正确,但有时它仍根本就找 不到答案。 和MC算法一样,成功的概率亦随算法执行时间增加而 增加。无论输入何种实例,只要算法在该实例上运行足 够的次数,则算法失败的概率就任意小。 ④ Sherwood算法 Sherwood算法总是给出正确的答案。 当某些确定算法解决一个特殊问题平均的时间比最坏时 间快得多时,我们可以使用Sherwood算法来减少,甚 至是消除好的和坏的实例之间的差别。
n I (1 I ) 1 2 4 1 ( I (1 I ) ) 4
1
解此问题时可用切比雪夫不等式,将I看作是数学期望。
24
2
§2.2 数字积分 (计算定积分的值)
2. 概率算法2
更有效的概率算法是: 在积分区间上随机均匀地产生点,求 出这些点上的函数值的算术平均值,再乘以区间的宽度:
13
§1.2 概率算法的分类
1. 基本特征 随机决策 在同一实例上执行两次其结果可能不同 在同一实例上执行两次的时间亦可能不太相同
2. 分类
Numerical, Monte Carlo, Las Vegas, Sherwood. 很多人将所有概率算法(尤其是数字的概率算法) 称为Monte Carlo算法
17
Ch.2 数字概率算法
这类算法主要用于找到一个数字问题的近似解
§2.1 π值计算
实验:将n根飞镖随机投向一正方形的靶子,计算落入此正方 形的内切圆中的飞镖数目k。 假定飞镖击中方形靶子任一点的概率相等(用计算机模拟比任 一飞镖高手更能保证此假设成立) 设圆的半径为r,面积s1= πr2; 方靶面积s2=4r2 由等概率假设可知落入圆中的飞镖和正方形内的飞镖平均比 为: k r2 2 n 4r 4 由此知:
8
5. 概率算法的特点
(1) 不可再现性 在同一个输入实例上,每次执行结果不尽相同,例 如
① N-皇后问题
概率算法运行不同次将会找到不同的正确解
② 找一给定合数的非平凡因子 每次运行的结果不尽相同,但确定算法每次运行结果必 定相同
(2) 分析困难
要求有概率论,统计学和数论的知识
9
6. 约定
随机函数uniform:随机,均匀,独立 ① 设a,b为实数,a<b, uniform(a, b) 返回x,a ≤ x <b ② 设i,j为整数,i≤j, uniform(i, j)=k, i ≤ k ≤ j ③ 设X是非空有限集,
7
4. 例子
① 快速排序中的随机划分 要求学生写一算法,由老师给出输入实例,按运行时间打分, 大部分学生均不敢用简单的划分,运行时间在1500-2600ms, 三个学生用概率的方法划分,运行时间平均为300ms。 ② 8皇后问题 系统的方法放置皇后(回溯法)较合适,找出所有92个解 O(2n), 若只找92个其中的任何一个解可在线性时间内完成O(n)。 随机法:随机地放置若干皇后能够改进回溯法,特别是当n较 大时 ③ 判断大整数是否为素数 确定算法无法在可行的时间内判断一个数百位十进制数是否素 数,否则密码就不安全。 概率算法将有所作为:若能接受一个任意小的错误的概率
19
§2.1 π值计算
1. 求π近似值的算法 Ex.1 若将y ← uniform(0, 1) 改为 y ← x, 则上 述的算法估计的值是什么?
20
§2.2 数字积分 (计算定积分的值)
Monte Carlo积分(但不是指我们定义的MC算法) 概率算法1
设f: [0, 1] → [0, 1]是一个连续函数,则由曲线y=f(x), x 轴, y轴和直线x=1围成的面积由下述积分给出:
}期望赢利:x-7.5y 二次成功所得:x-10y,机会1/2
5
2. 意义 该故事告诉我们:当一个算法面临某种选择 时,有时随机选择比耗时做最优选择更好,尤其 是当最优选择所花的时间大于随机选择的平均时 间的时侯
显然,概率算法只能是期望的时间更有效, 但它有可能遭受到最坏的可能性。
6
3. 期望时间和平均时间的区别
算法设计与分析
黄刘生
中国科学技术大学计算机系
国家高性能计算中心(合肥)
2008.8.19
1
第一部分
概率算法
2
Ch.1 绪论
§1.1 引言
地点 1
5天
地点 2
5天
5天
1. 故事:想象自己是神化故事的主人公,你 有一张不易懂的地图,上面描述了一处宝 藏的藏宝地点。经分析你能确定最有可能 的两个地点是藏宝地点,但二者相距甚远。 假设你如果已到达其中一处,就立即知道 该处是否为藏宝地点。你到达两处之一地 点及从其中一处到另一处的距离是5天的 行程。进一步假设有一条恶龙,每晚光顾 宝藏并从中拿走一部分财宝。假设你取宝 藏的方案有x (b a) f ( xi ), a xi b n i 1
确定算法的平均执行时间
输入规模一定的所有输入实例是等概率出现时,算法 的平均执行时间。
概率算法的期望执行时间
反复解同一个输入实例所花的平均执行时间。
因此,对概率算法可以讨论如下两种期望时间
① 平均的期望时间:所有输入实例上平均的期望执行时 间 ② 最坏的期望时间:最坏的输入实例上的期望执行时间
15
§1.2 概率算法的分类
② Monte Carlo算法 (MC算法) 蒙特卡洛算法1945年由J. Von Neumann进行核武模拟提出 的。它是以概率和统计的理论与方法为基础的一种数值计算 方法,它是双重近似:一是用概率模型模拟近似的数值计算, 二是用伪随机数模拟真正的随机变量的样本。 这里我们指的MC算法是: 若问题只有1个正确的解,而无近 似解的可能时使用MC算法 例如,判定问题只有真或假两种可能性,没有近似解 因式分解,我们不能说某数几乎是一个因子 特点:MC算法总是给出一个答案,但该答案未必正确,成 功(即答案是正确的)的概率正比于算法执行的时间 缺点:一般不能有效地确定算法的答案是否正确
你
3
§1.1 引言
方案1. 花4天的时间计算出准确的藏宝地点,然 后出发寻宝,一旦出发不能重新计算
方案2. 有一个小精灵告诉你地图的秘密,但你 必须付给他报酬,相当于龙3晚上拿走的财宝 Prob 1.1.1 若忽略可能的冒险和出发寻宝的代 价,你是否接受小精灵的帮助?
显然,应该接受小精灵的帮助,因为你只需 给出3晚上被盗窃的财宝量,否则你将失去4晚被 盗财宝量。 但是,若冒险,你可能做得更好!
Draw (a, p) { // 在X中随机取一元素 j ← uniform(1..p-1); return ModularExponent(a, j, p); // 在X中随机取一元素 12 }
伪随机数发生器 在实用中不可能有真正的随机数发生器,多数情况 下是用伪随机数发生器代替。 大多数伪随机数发生器是基于一对函数: S: X → X, 这里X足够大,它是种子的值域 R: X → Y, Y是伪随机数函数的值域 使用S获得种子序列:x0=g, xi=S(xi-1), i>0 然后使用R获得伪随机序列:yi=R(xi), i ≥ 0 该序列必然是周期性的,但只要S和R选的合适,该 周期长度会非常长。 TC中可用rand()和srand(time), 用GNU C更好
4
§1.1 引言
设x是你决定之前当日的宝藏价值,设y是恶龙每 晚盗走的宝藏价值,并设x>9y 方案1:4天计算确定地址,行程5天,你得到的宝 藏价值为:x-9y
方案2:3y付给精灵,行程5天失去5y,你得到的 宝藏价值为:x-8y
方案3:投硬币决定先到一处,失败后到另一处(冒 险方案) 一次成功所得:x-5y,机会1/2
S f ( x)dx
0
1
向单位面积的正方形内投镖n次,落入阴影部分的镖的 数目为k,则 y
k S S k / n n 1
显然,只要n足够大
1
S k / n
1 x
21
§2.2 数字积分 (计算定积分的值)
1. 概率算法1 HitorMiss (f, n) { k ← 0; for i ← 1 to n do { x ← uniform(0, 1); y ← uniform(0, 1); if y ≤ f(x) then k++; } return k/n; } 1 1 2 1 x dx 是S/4的面积,∵ π =S, ∴ 4 1 x2 dx Note: 0 0
22
§2.2 数字积分 (计算定积分的值)
1. 概率算法1 Ex2. 在机器上用 40 1 x2 dx 估计π值,给出不 同的n值及精度。 Ex3. 设a, b, c和d是实数,且a ≤ b, c ≤ d, f:[a, b] → [c, d]是一个连续函数,写一概率算法计 算积分:
1
b
a
f ( x)dx
uniform(X) ∈ X
10
例1:设p是一个素数,a是一个整数满足1≤a<p, a模除p的指 数(index)是满足ai≡1(mod p)的最小正整数i。它等于集合 X={aj mod p | j ≥ 1}的势,即i=|X|。 例如,2模除31的指数等于5:25 mod 31=1, X={21 mod 31, 22 mod 31, 23 mod 31, 24 mod 31, 25 mod 31}; 5模除31的指数是3,即53 mod 31 = 1, 3模除31的指数是30。 由费马(Fermat)定理(ap-1 ≡1(mod p))可知,a模p的指数总 是恰好整除p-1. 例如,设p=31,若a=2,则30÷5=6; 若a=5,则30÷3=10。 因此,X中的j至多为p-1,由此可得一种在X中随机,均匀和 独立地取一个元素的算法。