隐藏信息检测与还原技术-中国科学技术大学优秀PPT.ppt
《隐藏信息检测与还原技术-中国科学技术大学优秀PPT.ppt》由会员分享,可在线阅读,更多相关《隐藏信息检测与还原技术-中国科学技术大学优秀PPT.ppt(67页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、算法设计与分析算法设计与分析黄刘生黄刘生中国科学技术高校中国科学技术高校计算机系计算机系 国家高性能计算国家高性能计算中心(合肥)中心(合肥)1第一部分第一部分概率算法概率算法2Ch.1 绪论绪论1.故故事事:想想象象自自己己是是神神化化故故事事的的主主子子公公,你你有有一一张张不不易易懂懂的的地地图图,上上面面描描述述了了一一处处宝宝藏藏的的藏藏宝宝地地点点。经经分分析析你你能能确确定定最最有有可可能能的的两两个个地地点点是是藏藏宝宝地地点点,但但二二者者相相距距甚甚远远。假假设设你你假假如如已已到到达达其其中中一一处处,就就马马上上知知道道该该处处是是否否为为藏藏宝宝地地点点。你你到到达达
2、两两处处之之一一地地点点及及从从其其中中一一处处到到另另一一处处的的距距离离是是5天天的的行行程程。进进一一步步假假设设有有一一条条恶恶龙龙,每每晚晚光光顾顾宝宝藏藏并并从从中中拿拿走走一一部部分分财财宝宝。假假设设你你取取宝宝藏的方案有两种:藏的方案有两种:1.1 引言引言3 方方案案1.花花4天天的的时时间间计计算算出出精精确确的的藏藏宝宝地地点点,然然后动身寻宝,一旦动身不能重新计算后动身寻宝,一旦动身不能重新计算 方方案案2.有有一一个个小小精精灵灵告告知知你你地地图图的的隐隐私私,但但你你必需付给他酬劳,相当于龙必需付给他酬劳,相当于龙3晚上拿走的财宝晚上拿走的财宝 Prob 1.1
3、.1 若若忽忽视视可可能能的的冒冒险险和和动动身身寻寻宝宝的的代代价价,你是否接受小精灵的帮助?你是否接受小精灵的帮助?明明显显,应应当当接接受受小小精精灵灵的的帮帮助助,因因为为你你只只需需给给出出3晚晚上上被被盗盗窃窃的的财财宝宝量量,否否则则你你将将失失去去4晚晚被被盗财宝量。盗财宝量。但是,若冒险,你可能做得更好!但是,若冒险,你可能做得更好!1.1 引言引言4 设设x是是你你确确定定之之前前当当日日的的宝宝藏藏价价值值,设设y是是恶恶龙龙每每晚盗走的宝藏价值,并设晚盗走的宝藏价值,并设x9y 方方案案1:4天天计计算算确确定定地地址址,行行程程5天天,你你得得到到的的宝宝藏价值为:藏
4、价值为:x-9y 方方案案2:3y付付给给精精灵灵,行行程程5天天失失去去5y,你你得得到到的的宝藏价值为:宝藏价值为:x-8y 方方案案3:投投硬硬币币确确定定先先到到一一处处,失失败败后后到到另另一一处处(冒险方案冒险方案)一次成功所得:一次成功所得:x-5y,机会,机会1/2 二次成功所得:二次成功所得:x-10y,机会,机会1/21.1 引言引言期望赢利:期望赢利:x-7.5y52.意义意义 该故事告知我们:当一个算法面临某种选择该故事告知我们:当一个算法面临某种选择时,有时随机选择比耗时做最优选择更好,尤其时,有时随机选择比耗时做最优选择更好,尤其是当最优选择所花的时间大于随机选择的
5、平均时是当最优选择所花的时间大于随机选择的平均时间的时侯间的时侯 明显,概率算法只能是期望的时间更有效,明显,概率算法只能是期望的时间更有效,但它有可能遭遇到最坏的可能性。但它有可能遭遇到最坏的可能性。63.期望时间和平均时间的区分期望时间和平均时间的区分确定算法的平均执行时间确定算法的平均执行时间 输入规模确定的全部输入实例是等概率出现时,输入规模确定的全部输入实例是等概率出现时,算法的平均执行时间。算法的平均执行时间。概率算法的期望执行时间概率算法的期望执行时间 反复解同一个输入实例所花的平均执行时间。反复解同一个输入实例所花的平均执行时间。因此,对概率算法可以探讨如下两种期望时间因此,对
6、概率算法可以探讨如下两种期望时间平均的期望时间:全部输入实例上平均的期望执行平均的期望时间:全部输入实例上平均的期望执行时间时间最坏的期望时间:最坏的输入实例上的期望执行时最坏的期望时间:最坏的输入实例上的期望执行时间间74.例子例子快速排序中的随机划分快速排序中的随机划分要求学生写一算法,由老师给出输入实例,按运行时间打分,要求学生写一算法,由老师给出输入实例,按运行时间打分,大部分学生均不敢用简洁的划分,运行时间在大部分学生均不敢用简洁的划分,运行时间在1500-2600ms,三个学生用概率的方法划分,运行时间平均为,三个学生用概率的方法划分,运行时间平均为300ms。8皇后问题皇后问题系
7、统的方法放置皇后系统的方法放置皇后(回溯法回溯法)较合适,找出全部较合适,找出全部92个解个解 O(2n),若只找,若只找92个其中的任何一个解可在线性时间内完成个其中的任何一个解可在线性时间内完成O(n)。随机法:随机地放置若干皇后能够改进回溯法,特殊是当随机法:随机地放置若干皇后能够改进回溯法,特殊是当n较大时较大时推断大整数是否为素数推断大整数是否为素数确定算法无法在可行的时间内推断一个数百位十进制数是否确定算法无法在可行的时间内推断一个数百位十进制数是否素数,否则密码就担忧全。素数,否则密码就担忧全。概率算法将有所作为:若能接受一个随意小的错误的概率概率算法将有所作为:若能接受一个随意
8、小的错误的概率85.概率算法的特点概率算法的特点 (1)不行再现性不行再现性 在同一个输入实例上,每次执行结果不尽相同,例在同一个输入实例上,每次执行结果不尽相同,例如如N-皇后问题皇后问题概率算法运行不同次将会找到不同的正确解概率算法运行不同次将会找到不同的正确解找一给定合数的非平凡因子找一给定合数的非平凡因子每次运行的结果不尽相同,但确定算法每次运行结每次运行的结果不尽相同,但确定算法每次运行结果必定相同果必定相同 (2)分析困难分析困难 要求有概率论,统计学和数论的学问要求有概率论,统计学和数论的学问96.约定约定 随机函数随机函数uniform:随机,匀整,独立:随机,匀整,独立设设a
9、,b为实数,为实数,ab,uniform(a,b)返回返回x,a x b 设设i,j为整数,为整数,ij,uniform(i,j)=k,i k j 设设X是非空有限集,是非空有限集,uniform(X)X 10例例1:设p是是一一个个素素数数,a是是一一个个整整数数满足足1a0 do if(j is odd)s sa mod p;a a2 mod p;j j div 2;return s;Draw(a,p)/在在X中随机取一元素中随机取一元素j uniform(1.p-1);return ModularExponent(a,j,p);/在在X中随机取一元素中随机取一元素12n伪随机数发生器伪随
10、机数发生器n在好用中不行能有真正的随机数发生器,多数状在好用中不行能有真正的随机数发生器,多数状况下是用伪随机数发生器代替。况下是用伪随机数发生器代替。n大多数伪随机数发生器是基于一对函数:大多数伪随机数发生器是基于一对函数:nS:X X,S:X X,这里这里X X足够大,它是种子的值足够大,它是种子的值域域nR:X Y,YR:X Y,Y是伪随机数函数的值域是伪随机数函数的值域n运用运用S S获得种子序列:获得种子序列:x0=g,xi=S(xi-1),i0 x0=g,xi=S(xi-1),i0n然后运用然后运用R R获得伪随机序列:获得伪随机序列:yi=R(xi),i 0yi=R(xi),i
11、0n该序列必定是周期性的,但只要该序列必定是周期性的,但只要S S和和R R选的合适,选的合适,该周期长度会特别长。该周期长度会特别长。nTCTC中可用中可用rand()rand()和和srand(time),srand(time),用用GNU CGNU C更好更好131.基本特征基本特征2.随机决策随机决策3.在同一实例上执行两次其结果可能不同在同一实例上执行两次其结果可能不同4.在同一实例上执行两次的时间亦可能不太相在同一实例上执行两次的时间亦可能不太相同同5.分类分类6.Numerical,Monte Carlo,Las Vegas,Sherwood.7.很多人将全部概率算法很多人将全部
12、概率算法(尤其是数字的概率算尤其是数字的概率算法法)称为称为Monte Carlo算法算法1.2 概率算法的分类概率算法的分类14数字算法数字算法随机性被最早用于求数字问题的近似解随机性被最早用于求数字问题的近似解例如,求一个系统中队列的平均长度的问题,确定例如,求一个系统中队列的平均长度的问题,确定算法很难得到答案算法很难得到答案概率算法获得的答案一般是近似的,但通常算法执行的时概率算法获得的答案一般是近似的,但通常算法执行的时间越长,精度就越高,误差就越小间越长,精度就越高,误差就越小运用的理由运用的理由现实世界中的问题在原理上可能就不存在精确解现实世界中的问题在原理上可能就不存在精确解例
13、如,试验数据本身就是近似的,一个无理数在计例如,试验数据本身就是近似的,一个无理数在计算机中只能近似地表示算机中只能近似地表示精确解存在但无法在可行的时间内求得精确解存在但无法在可行的时间内求得有时答案是以置信区间的形式给出的有时答案是以置信区间的形式给出的1.2 概率算法的分类概率算法的分类15Monte Carlo算法算法(MC算法算法)蒙特卡洛算法蒙特卡洛算法1945年由年由J.Von Neumann进行核武模拟进行核武模拟提出的。它是以概率和统计的理论与方法为基础的一种数值计提出的。它是以概率和统计的理论与方法为基础的一种数值计算方法,它是双重近似:一是用概率模型模拟近似的数值计算,算
14、方法,它是双重近似:一是用概率模型模拟近似的数值计算,二是用伪随机数模拟真正的随机变量的样本。二是用伪随机数模拟真正的随机变量的样本。这里我们指的这里我们指的MC算法是:算法是:若问题只有若问题只有1个正确的解,个正确的解,而无近似解的可能时运用而无近似解的可能时运用MC算法算法例如,判定问题只有真或假两种可能性,没有近似解例如,判定问题只有真或假两种可能性,没有近似解 因式分解,我们不能说某数几乎是一个因子因式分解,我们不能说某数几乎是一个因子特点:特点:MC算法总是给出一个答案,但该答案未必正确,成功算法总是给出一个答案,但该答案未必正确,成功(即答案是正确的即答案是正确的)的概率正比于算
15、法执行的时间的概率正比于算法执行的时间缺点:一般不能有效地确定算法的答案是否正确缺点:一般不能有效地确定算法的答案是否正确1.2 概率算法的分类概率算法的分类16Las Vegas算法算法(LV算法算法)LV算法绝不返回错误的答案。算法绝不返回错误的答案。特点:获得的答案必定正确,但有时它仍根本就找不到特点:获得的答案必定正确,但有时它仍根本就找不到答案。答案。和和MC算法一样,成功的概率亦随算法执行时间增加算法一样,成功的概率亦随算法执行时间增加而增加。无论输入何种实例,只要算法在该实例上运行而增加。无论输入何种实例,只要算法在该实例上运行足够的次数,则算法失败的概率就随意小。足够的次数,则
16、算法失败的概率就随意小。Sherwood算法算法Sherwood算法总是给出正确的答案。算法总是给出正确的答案。当某些确定算法解决一个特殊问题平均的时间比当某些确定算法解决一个特殊问题平均的时间比最坏时间快得多时,我们可以运用最坏时间快得多时,我们可以运用Sherwood算法来削算法来削减,甚至是消退好的和坏的实例之间的差别。减,甚至是消退好的和坏的实例之间的差别。1.2 概率算法的分类概率算法的分类17这类算法主要用于找到一个数字问题的近似解这类算法主要用于找到一个数字问题的近似解2.1 值计算值计算试验:将试验:将n根飞镖随机投向一正方形的靶子,计算落入此正方形的根飞镖随机投向一正方形的靶
17、子,计算落入此正方形的内切圆中的飞镖数目内切圆中的飞镖数目k。假定飞镖击中方形靶子任一点的概率相等假定飞镖击中方形靶子任一点的概率相等(用计算机模拟比任用计算机模拟比任一飞镖高手更能保证此假设成立一飞镖高手更能保证此假设成立)设圆的半径为设圆的半径为r,面积,面积s1=r2;方靶面积方靶面积s2=4r2由等概率假设可知落入圆中的飞镖和正方形内的飞镖平均比为:由等概率假设可知落入圆中的飞镖和正方形内的飞镖平均比为:由此知:由此知:Ch.2 数字概率算法数字概率算法181.求求近似值的算法近似值的算法2.为简洁起见,只以上图的右上为简洁起见,只以上图的右上1/4象限为样本象限为样本3.Darts(
18、n)4.k 0;5.for i 1 to n do 6.x uniform(0,1);7.y uniform(0,1);/随机产生点随机产生点(x,y)8.if(x2+y2 1)then k+;/圆内圆内9.10.return 4k/n;11.12.试验结果:试验结果:=3.14159265413.n=1000万万:3.140740,3.142568(2位精确位精确)14.n=1亿亿:3.141691,3.141363(3位精确位精确)15.n=10亿亿:3.141527,3.141507(4位精确位精确)2.1 值计算值计算191.求求近似值的算法近似值的算法2.Ex.1 若将若将y uni
19、form(0,1)改为改为 y x,则则上述的算法估计的值是什么?上述的算法估计的值是什么?2.1 值计算值计算20Monte Carlo积分积分(但不是指我们定义的但不是指我们定义的MC算法算法)概率算法概率算法1设设f:0,1 0,1是一个连续函数,则由曲线是一个连续函数,则由曲线y=f(x),x轴轴,y轴和直线轴和直线x=1围成的面积由下述积分给出:围成的面积由下述积分给出:向单位面积的正方形内投镖向单位面积的正方形内投镖n次,落入阴影部分的镖的次,落入阴影部分的镖的数目为数目为k,则,则 明显,只要明显,只要n足够大足够大 2.2 数字数字积分分(计算定算定积分的分的值)211.概率算
20、法概率算法12.HitorMiss(f,n)3.k 0;4.for i 1 to n do 5.x uniform(0,1);6.y uniform(0,1);7.if y f(x)then k+;8.9.return k/n;10.Note:是是S/4的面积,的面积,=S,2.2 数字数字积分分(计算定算定积分的分的值)221.概率算法概率算法12.Ex2.在机器上用在机器上用 估计估计值,给出值,给出不同的不同的n值及精度。值及精度。3.Ex3.设设a,b,c和和d是实数,且是实数,且a b,c d,f:a,b c,d是一个连续函数,写一概率算是一个连续函数,写一概率算法计算积分:法计算积
21、分:4.5.留意,函数的参数是留意,函数的参数是a,b,c,d,n和和f,其中其中f用用函数指针实现,请选一连续函数做试验,并给函数指针实现,请选一连续函数做试验,并给出试验结果。出试验结果。2.2 数字数字积分分(计算定算定积分的分的值)231.概率算法概率算法12.*Ex4.设设,是是(0,1)之间的常数,证明:之间的常数,证明:3.若若I是是 的正确值,的正确值,h是由是由HitorHiss算法返回的值,算法返回的值,则当则当n I(1-I)/2时有:时有:4.Prob|h-I|1 5.上述的意义告知我们:上述的意义告知我们:Prob|h-I|,即:当即:当n I(1-I)/2时,算法的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 隐藏 信息 检测 还原 技术 中国科学技术大学 优秀 PPT
限制150内