登录
首页 » Others » 算法实验代码和报告(时间复杂度、0-1背包问题、分治与贪心、蛮力法)

算法实验代码和报告(时间复杂度、0-1背包问题、分治与贪心、蛮力法)

于 2020-12-01 发布
0 304
下载积分: 1 下载次数: 1

代码说明:

算法实验代码和报告(时间复杂度、0-1背包问题、分治与贪心、蛮力法)。

下载说明:请别用迅雷下载,失败请重下,重下不扣分!

发表评论

0 个回复

  • 基于tensorflow的IMDB文本情感分析完整代码(包含数据和词向量可直接运行)
    基于tensorflow的IMDB文本情感分析完整代码(包含数据和词向量可直接运行),网络结构采用双层LSTM。
    2021-05-06下载
    积分:1
  • 利用Hilbert变换提取信号瞬时特征的算法实现
    研究了在工程中如何通过算法来实现利用 Hilbert 变换提取信号的瞬时特征。深入地分析了如何利用数值微分法提高提取瞬时频率特征的精度。最后,给出了一种可行的算法,并通过实验验证了这种方法可以在工程中有效地提取信号的瞬时频率特征。84微机发展第13卷①H(x)=y;H(x)=y;(i=0,1,…n)(j=0,1(11)②在每个小区间/x1,x1+17i=0,1,…,n-1)上由相关定理知:当划分的小区间的长度趋于零时H(x)是三次多项式。s(x)及其一至三阶导数分别一致收敛到f(x)及其一至可以写出分段三次 Hermite插值函数的分段表达式:三阶导数。所以用三次样条插值函数去近似表达用离散值(x)=(1+2x-x过+)2v;+表示的原函数,具有较高的可靠性。3)两种插值的比较挨尔米特 Hermite插值较三次样I-i,1+2条插值具有较好的稳定性与收敛性,但它只能休让各段曲线在连接点上的连续性,而不能保证整条曲线在这些点上y+1Ditl的光滑性。而有时不仅要求曲线连续,而且要求曲线的曲X/(i=0,18)率也连续即要求分段插值函数具有连续的一阶导数,埃H(x)的导数为尔米特 Hermite插值此时就不能满足上述要求6次样条插值较埃尔米特 Hermite插值具有较好的H(x光滑程度,用三次样条插值函数求数值导数比用埃尔米特+2(x-x2(xHermite插值可靠性大,但计算比较复杂,二者的区别见图h2yV+17, h(i-0,12)三次样条插值。已知函数y=f(x)在区间/a,b上的n+1个节点上的值y=f(x;)(i=0,1,…m),求插值函数s(x),使(i=0,1图4 Hermite插值与三次样条插值的比较图2在每个小区间x,x+1(=0.1.…n-1)上利用埃尔米特 Hermite插值得到的2FSK信号的瞬时s(x是三次多项式,记为s(x频率见图5,利用二次样条插值得到的该信号的瞬时频率③3(x)在la,b/上二阶连续可徵。见图6。数s(x)称为f(x)的三次样条插值函数可以利用节点处的二阶导数值为参数,也可以利用节点处的导数值为参数求三次样条插值涵数的表达式。若利用节点处的一阶导数值为参数,求得的三次样条插值函数的表达式为(x)=M-1x-x-)36 h6 hMihi5 DEMeN5a亩pai66hx∈[x;,x+17,b-x+1-x,S"(x)=M图5由 Hermite插值提取图6由三次样条插值提取(j=0,1的2FSK信号的瞬时频率的2FSK信号的瞬时频率对s(x)进行求导,利用S(x)在节点处一阶导数连从图5、图6可以看出利用三次样条插值得到的瞬时续的性质结合边界条件求解出参数M,把求得的参数代频率可以准确反映出信号具有的的摒时频率特征而利用入公式(10),即得三次样条插值函数的s(x)分段表示式。埃尔米特 Hermite插值得到的瞬时频率与信号具有的瞬s;(x)的导数为时频率特征不符。这是因为利用数值微分法求瞬时频率插值以后喫进行求导。三次样条插值函数具有连续的二阶M2 hiM; 2 hj导数,因而具有较好的光滑程度,符合求导条件,所以可以J+1-h(M2+1-M/)准确求出信号的瞬时频率;而埃尔米特 Hernite插值.不够光滑,虽能保证插值多项式收敛于原函数,但不能保证插x Elx,x;+1 h,=xi+I-x, S(xj )=M;值多顷式的导数收敛于原函数的导数,所以求得的值与信o1994-2010ChinaAcademicJournalElectronicPublishingHouse.Allrightsreservedhttp://www.cnki.net第6期刘慧婷等:利用 Hilbert变提取信号瞵时特征的算法实现号实际的瞬时频率值不符。实验结果和理论分析结果是(1) Hilbert变换只能近似应用于窄带信号,即形如纹的(t)=a(1)cosu+6(1)),其中>>B(B为信号带2.3.3结论宽)的信号。但实际应用中,存在许多非窄带信号, Hilbcrt利用数值微分法求瞬时频率ω(t)的步骤可以归纳变换对这些信号无能为力为:首先通过三次样条插值得到分段多项式p(1),(2)对于任意给定时刻,通过 Hilbert变换运算后的结pp(抄);然后分别对分段多项式p(t),Pp()关于变量t果只能存在一个频率值,即只能处理任何时刻为单一频率进行求导,得到pd(,ppd(t);最后求出每一时刻t所对的信号。这显然不合理,因为在实东中同一信号会含有多应的导数值,即求得t(t,u(t)。再把求得的值代入公种频率成分式(6)就完成了提取瞬时频率ω(1)的过程。求解结果见(3)对信号进行 Hilbert变换时,信号的两端会出现严图7重的端点效应。提取某些信号瞬时特征所得的瞬时频率在局部出现了负数,端点效应是造成负频率的一个原因而端点效应可以通过利用特征波对原有数据序列进行延拓的方法来解决,具体解决办法将在今后讨论。尽管目前出现了EMD担论4,其目的是将不满足Hibt变换的信号进行分解得到若干个IMF( intrinsic mode function),然后进行 Hilbert运算,达到提取信号瞬时特征的目的。该理论开辟了信号处理的新空间。但它还不够成熟还需喫进一步的完善和研究图7利用数值微分法提取信号的瞬时频率特征参考文献从图7可以看出,以三次烊条指值进行的数值微分可[]黄长蓉. Hilbert变换及其应用[J].成都气象学院学报以准确岀提取岀信号的瞬时频率特征。199,14(3):273-276.[2]杨小牛,楼A义,徐建良.软件无线电原理与应用[M].北3结束语京:电子工业出版社,2001在工程中, Hilbert变换使得我们对短信号和复杂信号[3]丁丽妤.数值计算方法[M].北京:北京理工大学出版社,的摒时特征的提取成为可能特别是对瞬时频率特征提1997取,在工程中具有十公重要的意义。文中讨论的利用三次[4] Huang N e. The empirical mode decomposition and the hilbert样条插值进行数值徵分以提取瞬时特征的方法是可行的,spectrum for nonlinear and nor stationary time series anal ysis但还存在着如下问题。[].Proc.R.soc.Lond.A,1998,454:903-995(上接第81页)218994。例22(x)=(1-2siny=223101075一般的(A算法计算了120代,求到的最大值为454176.219。154370083改进的α算法计算了34代,求到的最大值为1048575.875。改进后的αA算法收敛速度(指迭代次数)比一般GA算法几乎快了一个数量级,精度也提高了不少,特别是例2的最大值提高一倍多,速度提高这么快是未曾料到的y=74958参考文献+4X Axl Thla[1]陈国良.遗传算法及其应用[M]·北京:人民邮电出版社,图2函数2的图像1996一般GA算法计算了20代,求到的最大值为[2]袁亚湘,孙文瑜.最优化理沦与方法[M]北京:科学出版社,19991.218983[3]张铃,张钹·遗传算法杋理的硏究[J]·软件学报,改进(A算法计算了5代,求到的最大值为2000,11(7):945952o1994-2010ChinaacAdemicJournalElectronicPublishingHouse.Allrightsreservedhttp://www.cnki.net
    2020-12-05下载
    积分:1
  • MATLAB 车牌识别
    MATLAB 车牌识别,实现对车牌识别功能,源码完整,注释清楚。
    2020-07-02下载
    积分:1
  • 花卉识别序+数据集
    亲测可以直接运行,先运行CNN训练神经网络,再运行predict进行花卉预测。
    2020-06-26下载
    积分:1
  • 离线OJ判系统
    BNUEP Offline Judge 北京师范大学珠海分校离线评测系统是在具备题目测试数据的情况下,能无联网自动评测ACM/ICPC模式的源代码评测系统(即本地测试工具、评测机)。它主要有以下功能(所有的功能都无需联网,在本机即可实现): *评测核心功能: 基本具备Online Judge的判题核心功能,如编译代码、内存限定,时间限定,获取代码长度等; *支持多种语言: 1.0 Beta2版本支持C/C++、Pascal、C#、JAVA; *出题模式 可以在有标准输入数据和标准程序的情况下,由系统产生标准输出数据,并可批量保存,同时自动命名标准输出数据的后缀; *文本高
    2021-05-07下载
    积分:1
  • MIPI csi-2 协议
    MIPI csi-2 协议 目前手机架构中,芯片之间传输的主要协议。主要用于传输 图像数据,也支持低速的数据传输。
    2020-12-06下载
    积分:1
  • Google word2vec算法 数学原理
    文档是 word2vec 算法 数学原理详解。word2vec是google的一个开源工具,能够仅仅根据输入的词的集合计算出词与词直接的距离,既然距离知道了自然也就能聚类了,而且这个工具本身就自带了聚类功能,很是强大。32预备知识本节介绍word2v中将用到的一些重要知识点,包括 sigmoid函数、 Bccs公式和Huffman编码等821 sigmoid函数sigmoid函数是神经网络中常用的激活函数之一,其定义为1+e该函数的定义域为(-∞,+∞),值域为(0,1).图1给出了 sigmoid函数的图像0.56图1 sigmoid函数的图像sigmoid函数的导函数具有以下形式(x)=0(x)1-0(x)由此易得,函数loga(x)和log(1-0(x)的导函数分别为log a(a)-1 a(a),log(1 o(a))l-a(a),(2.1)公式(2.1)在后面的推导中将用到32.2逻辑回归生活中经常会碰到二分类问题,例如,某封电子邮件是否为垃圾邮件,某个客户是否为潜在客户,某次在线交易是否存在欺诈行为,等等设{(x;)}温1为一个二分类问题的样本数据,其中x∈Rn,∈{0,1},当v=1时称相应的样本为正例当v=0时称相应的样本为负例利用 sigmoid函数,对于任意样本x=(x1,x2,…,xn),可将二分类问题的 hypothesis函数写成h(x)=o(6o+b1x1+62+…+bnxn)其中θ=(0,61,…,On)为待定参数.为了符号上简化起见,引入x0=1将x扩展为(x0,x1,x2,……,xn),且在不引起混淆的情况下仍将其记为ⅹ.于是,he可简写为取阀值T=0.5,则二分类的判别公式为ho(x)≥0.5:X)=0,ha(x)6),可分别用000001、010、011、100、101对“A,E,R,T,F,D”进行编码发送,当对方接收报文时再按照三位一分进行译码显然编码的长度取决报文中不同字符的个数.若报文中可能出现26个不同字符,则固定编码长度为5(25=32>26).然而,传送报文时总是希望总长度尽可能短.在实际应用中各个字符的出现频度或使用次数是不相同的,如A、B、C的使用颗率远远高于X、Y、Z,自然会想到设计编码时,让使用频率高的用短码,使用频率低的用长码,以优化整个报文编码为使不等长编码为前缀编码(即要求一个字符的编码不能是另一个字符编码的前缀),可用字符集中的每个字符作为叶子结点生成一棵编码二叉树,为了获得传送报文的最短长度,可将每个字符的岀现频率作为字符结点的权值赋于该结点上,显然字使用频率越小权值起小,权值越小叶子就越靠下,于是频率小编码长,频率高编码短,这样就保证了此树的最小带权路径长度,效果上就是传送报文的最短长度.因此,求传送报文的最短长度问题转化为求由字符集中的所有字符作为叶子结点,由字符出现频率作为其权值所产生的 Huffman树的问题.利用 Huffman树设计的二进制前缀编码,称为 Huffman编码,它既能满足前缀编码的条件,又能保证报文编码总长最短本文将介绍的word2ve工具中也将用到 Huffman编码,它把训练语料中的词当成叶子结点,其在语料中岀现的次数当作权值,通过构造相应的 Huffman树来对每一个词进行Huffman编码图3给岀了例2.1中六个词的 Huffman编码,其中约定(词频较大的)左孩子结点编码为1,(词频较小的)右孩子编码为0.这样一来,“我”、“喜欢”、“观看”、“巴西”、“足球”、“世界杯”这六个词的 Huffman编码分别为0,111,110,101,1001和100000欢观有巴西足球图3 Huffman编码示意图注意,到目前为止关于 Huffman树和 Huffman编码,有两个约定:(1)将权值大的结点作为左孩子结点,权值小的作为右孩子结点;(②)左孩子结点编码为1,右孩子结点编码为0.在word2vee源码中将权值较大的孩子结点编码为1,较小的孩子结点编码为θ.为亐上述约定统一起见,下文中提到的“左孩子结点”都是指权值较大的孩子结点3背景知识word2vec是用来生成词向量的工具,而词向量与语言模型有着密切的关系,为此,不妨先来了解一些语言模型方面的知识83.1统计语言模型当今的互联网迅猛发展,每天都在产生大量的文本、图片、语音和视频数据,要对这些数据进行处理并从中挖掘出有价值的信息,离不开自然语言处理( Nature Language processingNIP)技术,其中统计语言模型( Statistical language model)就是很重要的一环,它是所有NLP的基础,被广泛应用于语音识别、机器翻译、分词、词性标注和信息检索等任务例3.1在语音识别亲统中,对于给定的语音段Voie,需要找到一个使概率p(Tcrt| Voice最大的文本段Tert.利用 Bayes公式,有P(Teact Voice)p(VoiceTert)p(Text)P(Veonce其中p( Voice Teat)为声学模型,而p(Tert)为语言模型(l8])简单地说,统计语言模型是用来计算一个句子的概率的概率模型,它通常基于一个语料库来构建那什么叫做一个句子的概率呢?假设W=m1:=(n1,w2,…,tr)表示由T个词1,2,…,ur按顺序构成的一个句子,则n,U2,…,wr的联合概率p(W)=p(u1)=p(u1,u2,…,r)就是这个句子的概率.利用 Baves公式,上式可以被链式地分解为1)=p(u1)·p(u2l1)·p(vai)…p(ur1-)3.1其中的(条件)概率p(1),p(U2mn1),p(u3),…,p(urln1-1)就是语言模型的参数,若这些参数巳经全部算得,那么给定一个句子1,就可以很快地算出相应的p(1)了看起来妤像很简单,是吧?但是,具体实现起来还是有点麻烦.例如,先来看看模型参数的个数.刚才是考虑一个给定的长度为T的句子,就需要计算T个参数.不妨假设语料库对应词典D的大小(即词汇量)为N,那么,如果考虑长度为T的任意句子,理论上就有N种可能,而每种可能都要计算T个参数,总共就需要计算TN个参数.当然,这里只是简单估算,并没有考虑重复参数,但这个量级还是有蛮吓人.此外,这些概率计算好后,还得保存下来,因此,存储这些信息也需要很大的內存开销此外,这些参数如何计算呢?常见的方法有 II-gram模型、决策树、最大熵模型、最大熵马尔科夫模型、条件随杋场、神经网络等方法.本文只讨论n-gram模型和神经网络两种方法.首先来看看n-gram模型32n-gram模型考虑pko4-)(k>1)的近似计算.利用 Baves公式,有p(wr wi)P(uP(w根据大数定理,当语料库足够大时,p(k4-1)可近似地表示为P(wwi)count(wi)(3.2)count(a其中 count(u4)和 count-)分别表示词串t和v-在语料中出现的次数,可想而知,当k很大时, count(o4)和 count(4-1)的统计将会多么耗时从公式(3.1)可以看出:一个词出现的慨率与它前面的所有词都相关.如果假定一个词出现的概率只与它前面固定数目的词相关呢?这就是n-gran模型的基本思想,它作了一个n-1阶的 Markov假设,认为一个词出现的概率就只与它前面的n-1个词相关,即-1)≈p(kk-1+),于是,(3.2)就变成了p(wxJuk-)count(n+1countri(3.3以〃=2为例,就有p(uk4-1)≈count(k-1, Wk)count(Wk-1)这样一简化,不仅使得单个参数的统计变得更容易(统计时需要匹配的词串更短),也使得参数的总数变少了那么, n-gran中的参数n取多大比较合适呢?一般来说,n的选取需要同时考虑计算复杂度和模型效果两个因素表1模型参数数量与n的关系模型参数数量1( ingram)2×1052(bigram)4×10103( trigram)8×10154(4grm)16×10在计算复杂度方面,表1给出了n-gram模型中模型参数数量随着n的逐渐增大而变化的情况,其中假定词典大小N=2000(汉语的词汇量大致是这个量级).事实上,模型参数的量级是N的指数函数(O(N"),显然n不能取得太大,实际应用中最多的是采用n=3的三元模型在模型效果方面,理论上是π越大,效果越奷.现如今,互联网的海量数据以及机器性能的提升使得计算更高阶的语言模型(如n>10)成为可能,但需要注意的是,当n大到一定程度时,模型效果的提升幅度会变小.例如,当n从1到2,再从2到3时,模型的效果上升显著,而从3到4时,效果的提升就不显著了(具体可参考吴军在《数学之美》中的相关章节).事实上,这里还涉及到一个可靠性和可区别性的问题,参数越多,可区别性越好,但同时单个参数的实例变少从而降低了可靠性,因此需要在可靠性和可区别性之间进行折中另外, n-gran模型中还有一个叫做平滑化的重要环节.回到公式(3.3),考虑两个问题:若 count(uk-n+1)=0,能否认为p(kln1-1)就等于0呢?若 count(kn+)= count(uk-+1,能否认为p(uur-)就等于1呢?显然不能!但这是一个无法回避的问题,哪怕你的语料库有多么大.平滑化技术就是用来处理这个问题的,这里不展开讨论,具体可参考[11总结起来,n-gram模型是这样一种模型,其主要工作是在语料中统计各种词串岀现的次数以及平滑化处理.概率值计算好之后就存储起来,下次需要计算一个句子的概率时,只需找到相关的概率参数,将它们连乘起来就好了然而,在机器学习领域有一种通用的招数是这样的:对所考虑的问题建模后先为其构造一个目标函数,然后对这个目标函数进行优化,从而求得一组最优的参数,最后利用这组最优参数对应的模型来进行预測对于统计语言模型而言,利用最大似然,可把目标函数设为plwlConteat(w))∈C其中C表示语料( Corpus), Context(u)表示词U的上下文( Context),即周边的词的集合.当 Context(u)为空时,就取p( Context(w)=p(u).特别地,对于前面介绍的 n-gran模型,就有 Context(mn)=2-n+1注3.1语料¢和词典仍的区别:词典仍是从语料¢中抽取岀来的,不存在重复的词;而语料C是指所有的文本內容,包括重复的词当然,实际应用中常采用最大对数似然,即把目标函数设为∑ logp(u( ontext(o)(3.4)然后对这个函数进行最大化从(3.4)可见,概率p( CONtex()已被视为关于和 Context()的函数,即p(w Context(w))= F(w, Conteact(w), 0)
    2020-06-14下载
    积分:1
  • 纯电动汽车整车控制策略研究
    纯电动汽车整车控制策略研究
    2020-12-10下载
    积分:1
  • mfc配合listbox操作数据库
    vc6操作数据库,从数据库到listbox读写数据。自己的测试代码,保证能用。
    2020-12-05下载
    积分:1
  • 全面详解LTE:MATLAB建模、仿真与实现,
    《全面详解LTE:MATLAB建模、仿真与实现》书本的书后程序电子版
    2020-12-08下载
    积分:1
  • 696516资源总数
  • 106914会员总数
  • 0今日下载