1.本人毕业设计做的是基于Retinex算法研究,急需SSR,MSR,Mccann的
太多了太多了 只贴一个把%Retinex的MSR实现图像增强的代码,可运行,f=imread('c.jpg'); fr=f(:, :, 1); fg=f(:, :, 2); fb=f(:, :, 3);%RGB通道 mr=mat2gray(im2double(fr)); mg=mat2gray(im2double(fg)); mb=mat2gray(im2double(fb));%数据类型归一化 alf1=1458; %定义标准差alf=a^2/2 a=54 n=161;%定义模板大小 n1=floor((n+1)/2);%计算中心 for i=1:n for j=1:n b(i,j) =exp(-((i-n1)^2+(j-n1)^2)/(4*alf1))/(pi*alf1); %高斯函数 end end nr1 = imfilter(mr,b,'conv', 'replicate');ng1 = imfilter(mg,b,'conv', 'replicate');nb1 = imfilter(mb,b,'conv', 'replicate');%卷积滤波 ur1=log(nr1); ug1=log(ng1); ub1=log(nb1); tr1=log(mr);tg1=log(mg);tb1=log(mb); yr1=(tr1-ur1)/3;yg1=(tg1-ug1)/3;yb1=(tb1-ub1)/3; alf2=53.38; %定义标准差alf=a^2/2 a=10.3325 x=31;%定义模板大小 x1=floor((n+1)/2);%计算中心 for i=1:n for j=1:n a(i,j) =exp(-((i-n1)^2+(j-n1)^2)/(4*alf2))/(6*pi*alf2); %高斯函数 end end nr2 = imfilter(mr,a,'conv', 'replicate');ng2 = imfilter(mg,a,'conv', 'replicate');nb2 = imfilter(mb,a,'conv', 'replicate');%卷积滤波 ur2=log(nr2); ug2=log(ng2); ub2=log(nb2); tr2=log(mr);tg2=log(mg);tb2=log(mb); yr2=(tr2-ur2)/3;yg2=(tg2-ug2)/3;yb2=(tb2-ub2)/3; alf3=13944.5; %定义标准差alf=a^2/2 a=167 l=501;%定义模板大小 l1=floor((n+1)/2);%计算中心 for i=1:n for j=1:n e(i,j) =exp(-((i-n1)^2+(j-n1)^2)/(4*alf3))/(4*pi*alf3); %高斯函数 end end nr3 = imfilter(mr,e,'conv', 'replicate');ng3 = imfilter(mg,e,'conv', 'replicate');nb3 = imfilter(mb,e,'conv', 'replicate');%卷积滤波 ur3=log(nr3); ug3=log(ng3); ub3=log(nb3); tr3=log(mr);tg3=log(mg);tb3=log(mb); yr3=(tr3-ur3)/3;yg3=(tg3-ug3)/3;yb3=(tb3-ub3)/3; dr=yr1+yr2+yr3;dg=yg1+yg2+yg3;db=yb1+yb2+yb3; cr=im2uint8(dr); cg=im2uint8(dg); cb=im2uint8(db); z=cat(3, cr, cg, cb); figure, imshow(z)。
2.写一篇《论算法设计中的分治与增量》的学术论文1500字1500字 爱问
一、动态规划的基本思想 在比较基本的算法设计思想里,动态规划是比较难于理解,难于抽象的一种,但是却又十分重要。
动态规划的实质是分治思想和解决冗余,因此它与分治法和贪心法类似,它们都是将问题的实例分解为更小的、相似的子问题,但是动态规划又有自己的特点。 贪心法的当前选择可能要依赖于已经作出的选择,但不依赖于还未做出的选择和子问题,因此它的特征是由顶向下,一步一步地做出贪心选择,但不足的是,如果当前选择可能要依赖子问题的解时,则难以通过局部的贪心策略达到全局最优解。
相比而言,动态规划则可以处理不具有贪心实质的问题。 在用分治法解决问题时,由于子问题的数目往往是问题规模的指数函数,因此对时间的消耗太大。
动态规划的思想在于,如果各个子问题不是独立的,不同的子问题的个数只是多项式量级,如果我们能够保存已经解决的子问题的答案,而在需要的时候再找出已求得的答案,这样就可以避免大量的重复计算。 由此而来的基本思路是,用一个表记录所有已解决的子问题的答案,不管该问题以后是否被用到,只要它被计算过,就将其结果填入表中。
比较感性的说,其实动态规划的思想是对贪心算法和分治法的一种折衷,它所解决的问题往往不具有可爱的贪心实质,但是各个子问题又不是完全零散的,这时候我们用一定的空间来换取时间,就可以提高解题的效率。 二、动态规划的基本步骤 动态规划算法通常用于求解具有某种最优性质的问题。
在这类问题中,可能会有许多可行解。每一个解都对应于一个值,我们希望找到具有最优值(最大值或最小值)的那个解。
设计一个动态规划算法,通常可以按以下几个步骤进行: (1)找出最优解的性质,并刻画其结构特征。 (2)递归地定义最优值。
(3)以自底向上的方式计算出最优值。 (4)根据计算最优值时得到的信息,构造一个最优解。
其中(1)——(3)步是动态规划算法的基本步骤。在只需要求出最优值的情形,步骤(4)可以省去。
若需要求出问题的一个最优解,则必须执行步骤(4)。 此时,在步骤(3)中计算最优值时,通常需记录更多的信息,以便在步骤(4)中,根据所记录的信息,快速构造出一个最优解。
三、典型的动态规划举例——矩阵连乘问题 作为经典的动态规划算法举例,矩阵连乘问题很好地展现了动态规划的特点和实用价值。 给定n个矩阵{A1,A2,。
,An},其中Ai与Ai 1是可乘的,i=1,2,。
n-1。
现在要计算这n个矩阵的连乘积。由于矩阵的乘法满足结合律,所以通过加括号可以使得计算矩阵的连乘积有许多不同的计算次序。
然而采用不同的加扩号方式,所需要的总计算量是不一样的。 若A是一个p*q矩阵,B是一个q*r矩阵,则其乘积C=AB是一个p*r矩阵。
如果用标准算法计算C,总共需要pqr次数乘。 现在来看一个例子。
A1,A2,A3分别是10*100,100*5和5*50的矩阵。 如果按照((A1A2)A3)来计算,则计算所需的总数乘次数是10*100*5 10*5*50=7500。
如果按照(A1(A2A3))来计算,则需要的数乘次数是100*5*50 10*100*50=75000,整整是前者的10倍。由此可见,在计算矩阵连乘积时,不同的加括号方式所导致的不同的计算对计算量有很大的影响。
如何确定计算矩阵连乘积A1A2,。
,An的一个计算次序,使得依此次序计算矩阵连乘积需要的数乘次数最少便成为一个问题。
对于这个问题,穷举法虽然易于入手,但是经过计算,它所需要的计算次数是n的指数函数,因此在效率上显得过于低下。 现在我们按照动态规划的基本步骤来分析解决这个问题,并比较它与穷举法在时间消耗上的差异。
(1)分析最优解的结构。 现在,将矩阵连乘积AiAi 1。
Aj简记为A[i:j]。对于A[1:n]的一个最优次序,设这个计算次序在矩阵Ak和Ak 1之间将矩阵链断开(1 *max) *max= A; if(A } } 上面这个算法需比较2(n-1)次。
能否找到更好的算法呢?我们用分治策略来讨论。 把n个元素分成两组: A1={A[1],。
,A[int(n/2)]}和A2={A[INT(N/2) 1],。
,A[N]} 分别求这两组的最大值和最小值,然后分别将这两组的最大值和最小值相比较,求出全部元素的最大值和最小值。
如果A1和A2中的元素多于两个,则再用上述方法各分为两个子集。直至子集中元素至多两个元素为止。
例如有下面一组元素:-13,13,9,-5,7,23,0,15。用分治策略比较的过程如下: 图中每个方框中,左边是最小值,右边是最大值。
从图中看出,用这种方法一共比较了10次,比直接比较法的14次减少4次,即约减少了1/3。算法如下: void maxmin2(int A[],int i,int j,int *max,int *min) /*A存放输入的数据,i,j存放数据的范围,初值为0,n-1,*max,int *min 存放最大和最小值*/ { int mid,max1,max2,min1,min2; if (j==i) {最大和最小值为同一个数;return;} if (j-1==i) {将两个数直接比较,求得最大会最小值;return;} mid=(i j)/2; 求i~mid之间的最大最小值分别为max1,min1; 求mid 1~j之间的最大最小值分别为max2,min2; 比较max1和max2,大的就是最大值; 比较min1和min2,小的就是最小值; } 利用分治策略求解时,所需时间取决于分解后子问题的个数、子问题的规模大小等因素,而二分法,由于。
3.求论文摘要的英文翻译,谢谢本文以计算机五子棋博弈系统作为课题,
In this paper, computer Gobang game system as a subject, in accordance with artificial intelligence and computer game design of the general principles of a Gobang game system's basic model, and based on the analysis of the plane tree Game Game. Gobang game and the algorithm a number of effective research, analysis of the game tree Minimax search technology, and on this basis, the Alpha-Beta pruning and pruning process optimization problem. It also has Alpha-Beta pruning to improve the algorithm NegaScout algorithm, the algorithm first to adopt a limited window of the Alpha-Beta, to determine the scope of the actual valuation, and then in this small area in search of the actual estimated value, because In the smaller scope of the search, efficiency can be improved. The system can be a variety of algorithm Game features, including Minimax algorithm, Alpha-Beta search, based on historical inspiration optimize the Alpha-Beta search, based on the replacement table and history inspired to explore enhanced window (NegaScout) 4种Algorithm. Procedures at the same time can be adjusted Game tree depth of the search, the algorithm is time-consuming and nodes to Traversal statistics, intuitive reaction different game difference between the algorithm.。
4.写一篇《论算法设计中的分治与增量》的学术论文1500字
一、动态规划的基本思想 在比较基本的算法设计思想里,动态规划是比较难于理解,难于抽象的一种,但是却又十分重要。
动态规划的实质是分治思想和解决冗余,因此它与分治法和贪心法类似,它们都是将问题的实例分解为更小的、相似的子问题,但是动态规划又有自己的特点。贪心法的当前选择可能要依赖于已经作出的选择,但不依赖于还未做出的选择和子问题,因此它的特征是由顶向下,一步一步地做出贪心选择,但不足的是,如果当前选择可能要依赖子问题的解时,则难以通过局部的贪心策略达到全局最优解。
相比而言,动态规划则可以处理不具有贪心实质的问题。在用分治法解决问题时,由于子问题的数目往往是问题规模的指数函数,因此对时间的消耗太大。
动态规划的思想在于,如果各个子问题不是独立的,不同的子问题的个数只是多项式量级,如果我们能够保存已经解决的子问题的答案,而在需要的时候再找出已求得的答案,这样就可以避免大量的重复计算。由此而来的基本思路是,用一个表记录所有已解决的子问题的答案,不管该问题以后是否被用到,只要它被计算过,就将其结果填入表中。
比较感性的说,其实动态规划的思想是对贪心算法和分治法的一种折衷,它所解决的问题往往不具有可爱的贪心实质,但是各个子问题又不是完全零散的,这时候我们用一定的空间来换取时间,就可以提高解题的效率。二、动态规划的基本步骤 动态规划算法通常用于求解具有某种最优性质的问题。
在这类问题中,可能会有许多可行解。每一个解都对应于一个值,我们希望找到具有最优值(最大值或最小值)的那个解。
设计一个动态规划算法,通常可以按以下几个步骤进行:(1)找出最优解的性质,并刻画其结构特征。(2)递归地定义最优值。
(3)以自底向上的方式计算出最优值。(4)根据计算最优值时得到的信息,构造一个最优解。
其中(1)——(3)步是动态规划算法的基本步骤。在只需要求出最优值的情形,步骤(4)可以省去。
若需要求出问题的一个最优解,则必须执行步骤(4)。此时,在步骤(3)中计算最优值时,通常需记录更多的信息,以便在步骤(4)中,根据所记录的信息,快速构造出一个最优解。
三、典型的动态规划举例——矩阵连乘问题 作为经典的动态规划算法举例,矩阵连乘问题很好地展现了动态规划的特点和实用价值。给定n个矩阵{A1,A2,。
,An},其中Ai与Ai+1是可乘的,i=1,2,。n-1。
现在要计算这n个矩阵的连乘积。由于矩阵的乘法满足结合律,所以通过加括号可以使得计算矩阵的连乘积有许多不同的计算次序。
然而采用不同的加扩号方式,所需要的总计算量是不一样的。若A是一个p*q矩阵,B是一个q*r矩阵,则其乘积C=AB是一个p*r矩阵。
如果用标准算法计算C,总共需要pqr次数乘。现在来看一个例子。
A1,A2,A3分别是10*100,100*5和5*50的矩阵。如果按照((A1A2)A3)来计算,则计算所需的总数乘次数是10*100*5+10*5*50=7500。
如果按照(A1(A2A3))来计算,则需要的数乘次数是100*5*50+10*100*50=75000,整整是前者的10倍。由此可见,在计算矩阵连乘积时,不同的加括号方式所导致的不同的计算对计算量有很大的影响。
如何确定计算矩阵连乘积A1A2,。,An的一个计算次序,使得依此次序计算矩阵连乘积需要的数乘次数最少便成为一个问题。
对于这个问题,穷举法虽然易于入手,但是经过计算,它所需要的计算次数是n的指数函数,因此在效率上显得过于低下。现在我们按照动态规划的基本步骤来分析解决这个问题,并比较它与穷举法在时间消耗上的差异。
(1)分析最优解的结构。现在,将矩阵连乘积AiAi+1。
Aj简记为A[i:j]。对于A[1:n]的一个最优次序,设这个计算次序在矩阵Ak和Ak+1之间将矩阵链断开(1<=k Ak)(Ak+1。An))。 依此次序,我们应该先分别计算A[1:k]和A[k+1:n],然后将计算结果相乘得到A[1:n],总计算量为A[1:k]的计算量加上A[k+1:n]的计算量,再加上A[1:k]和A[k+1:n]相乘的计算量。通过反证法可以证明,问题的关键特征在于,计算A[1:n]的一个最优次序所包含的计算矩阵子链A[1:k]和A[k+1:n]的次序也是最优的。 因此,矩阵连乘积计算次序问题的最优解包含着其子问题的最优解。这种最优子结构性质是该问题可以用动态规划解决的重要特征。 (2)建立递归关系定义最优值。设计算A[i:j](1<=i<=j<=n)所需的最少数乘次数为m[i][j],则原问题的最优值为m[1][n]。 而且易见,当i=j时,m[i][j]=0。根据上述最优子结构性质,当i 从而有:当i=j时,m[i][j]=0。当i 除此之外,若将对应于m[i][j]的断开位置记为s[i][j],在计算出最优值m[i][j]后,可以递归地由s[i][j]构造出相应的最优解。(3)计算最优值。 如果直接套用m[i][j]的计算公式,进行简单的递归计算需要耗费指数计算时间。然而,实际上不同的子问题的个数只是n的平方项级(对于1<=i<=j<=n不同的有序对(i,j)对应于不同的子问题)。 用动态规划。 目前,高校对于硕博士论文,需要通过抄袭检测系统的检测才能算过关。 对本科生来说,大部分学校也采取抽查的方式对本科论文进行检测。 抄袭过多,一经查出超过20%,后果严重。 轻者延期毕业,重者取消学位。尼玛辛辛苦苦读个大学,学位报销了多不爽。 但是,软件毕竟是人工设置的一种机制,里面内嵌了检测算法,我们只要摸清其中的机理,通过简单的修改,就能成功通过检测。 本文是在网络收集的资料。 整理了最重要的部分,供大家参考。 论文抄袭检测算法: 1.论文的段落与格式 论文检测基本都是整篇文章上传,上传后,论文检测软件首先进行部分划分,上交的最终稿件格式对抄袭率有很大影响。 不同段落的划分可能造成几十个字的小段落检测不出来。因此,我们可以通过划分多的小段落来降低抄袭率。 2.数据库 论文检测,多半是针对已发表的毕业论文,期刊文章,还有会议论文进行匹配的,有的数据库也包含了网络的一些文章。这里给大家透露下,很多书籍是没有包含在检测数据库中的。 之前朋友从一本研究性的著作中摘抄了大量文字,也没被查出来。就能看出,这个方法还是有效果的。 3.章节变换 很多同学改变了章节的顺序,或者从不同的文章中抽取不同的章节拼接而成的文章,对抄袭检测的结果影响几乎为零。所以论文抄袭检测大师建议大家不要以为抄袭了几篇文章,或者几十篇文章就能过关。 4.标注参考文献 参考别人的文章和抄袭别人的文章在检测软件中是如何界定的。其实很简单,我们的论文中加了参考文献的引用符号,但是在抄袭检测软件中。 都是统一看待,软件的阀值一般设定为1%,例如一篇文章有5000字,文章的1%就是50字,如果抄袭了多于50,即使加了参考文献,也会被判定为抄袭。 5.字数匹配 论文抄袭检测系统相对比较严格,只要多于20单位的字数匹配一致,就被认定为抄袭,但是前提是满足第4点,参考文献的标注。 论文抄袭修改方法: 首先是词语变化。文章中的专业词汇可以保留,尽量变换同义词;其次,改变文中的描述方式,例如倒装句、被动句、主动句;打乱段落的顺序,抄袭原文时分割段落,并重组。 通过上述方法,能有效降低抄袭率。 下面举几个例子,大家可以参考下: 例句A: 本文以设备利用率最大化为目标函数,采用整数编码与实数编码相结合的遗传算法,研究了HFS的构建问题。 本文提出的染色体编码方法及相应的遗传操作方法可实现研究对象的全局随机寻优。通过对car系列标准算例的研究,显示了本文提出方法具有较高的计算重复性和计算效率。 修改A: 本文研究了HFS问题的构建,通过遗传算法并结合整数与实数编码,目标函数为最大化设备利用率来求解。本文的染色体编码方法与对应的遗传算法操作可有效提高算法的全局搜索能力。 通过对一些列基准算例的研究,验证了本文算法的有效性,并具有较高的计算重复性和较高的运算效率。 例句B: 由于房地产商品的地域性强,房地产开发企业在进行不同区域投资时,通常需要建立项目公司,此时就会面临建立分公司还是子公司的选择。 子公司是一个独立的法人,而分公司则不是独立法人,它们在税收利益方面存在差异。子公司是独立法人,在设立区域被视为纳税人,通常要承担与该区域其它公司一样的全面纳税义务;分公司不是独立的法人实体,在设立分公司的所在区域不被视为纳税人,只承担有限的纳税义务,分公司发生的利润与亏损要与总公司合并计算。 修改B: 房地产开发企业在不同区域进行投资时,由于此类商品的地域性强,因此需要建立项目公司。此时,企业需要选择建立分公司还是子公司。 主要的区别是子公司具有独立的法人,分公司则不是独立法人。其次,在税收利益方面,由于分公司不是独立的法人实体,在设立分公司的所在区域不被视为纳税人,只承担纳税义务,总公司需要合并计算分公司的利润与亏损;而子公司是独立法人,在所在区域被视为法人实体,需要承担与区域其他公司一样的全面纳税义务。 修改抄袭的方法不外乎这些,这里更建议同学们,先熟悉你所看的参考论文,关闭文档,用自己的话写出来,这样就不会受参考文献的太多影响。有同学这里就提出问题了,学校用的检测系统是知网的学术不端检测系统,不是淘宝几元钱买的万方数据检测。 其实,各个检测系统的算法区别并不大,只是数据库有多有少,如果你没有太多,什么系统都不用怕。既然你抄了,得到检测报告的同时,先好好修改自己的文章。 转载请注明出处众文网 » aduino算法研究毕业论文5.南工院毕业设计(论文)老师查的严不严