基于独立分量分析的自适应在线算法
贪心算法解决最优装载问题
算法设计与分析实验报告 //author : Kevin Black //这个是我刚刚做好的作业,我觉得应该上传一些文档到豆丁 //老师···假如你看到我的作业跟网上的这个文章一样···你别以为我是抄的啊··· //记得看看作者的名字啊!! 贪心算法之最优装载问题 一. 实验目的 掌握贪心算法的基本思想(具体阐述) 掌握贪心算法的基本要素:贪心选择性质和最优子结构性质 二. 实验内容 贪心算法基本思想: 整体划分成部分,分而治之。每个部分中寻找最优解,然后综合所有部分最优解。这是,可能得到整体的最优解,但往往得到的是近似的最优解。 贪心算法基本要素: 1. 贪心选择性质 所谓贪心选择性质是指所求问题的整体最优解可以通过一系列局部最优的选择,即贪心选择来达到。这是贪心算法可行的第一个基本要素,也是贪心算法与动态规划算法的主要区别。 2. 最优子结构性质 当一个问题的最优解包含其子问题的最优解时,称此问题具有最优子结构性质。 最优装载问题 1. 问题描述: 有一批集装箱要装上一艘载重量为c的轮船。其中集装箱i的重量为Wi。最优装载问题要求确定在装载体积不受限制的情况下,将尽可能多的集装箱装上轮船。 2. 数学描述:
三. 实验程序及运行结果 #include (本科毕业设计论文) 毕业设计(论文)外文资料翻译 作者: 学科专业: 学号: 班级: 指导老师: 2014年6月 变分贝叶斯独立分量分析 摘要 信号的盲分离通过info-max 算法在潜变量模型中被视为最大似然学习潜变量模型。在本文我们提出一个变换方法最大似然学习这些模型,即贝叶斯推理。它已经被证明可以应用贝叶斯推理来确定在主成分分析模型潜在的维度。在本文我们为去除在独立分量分析模型中不必要的来源维度获得类似的方法。我们给一个玩具数据集和一些人为的混合图像提出结果。 1.引言 独立分量分析的目的是为一个基于概率性的独立原件找到一个表示法。实现这样的表示方法是给潜变量是独立约束的潜变量模型拟合一个数据。我们假设一个,有潜在的尺寸W ,观察到的尺寸P 和我们的数据集包含样本n 的模型M 。在ICA 方法中通常把潜在的维度称为“来源”。因此我们为独立生成潜在变量X 寻找模型表示,我们将任何给定的数据点n 带入 ∏== I i in n x p x p 1 )()( 假设高斯噪声,观察到的变量的每个实例化的概率,带入 )2 exp(2),,,(2μβ πβμβ--= n x n n n W t W x t p 其中W 是PXI 矩阵的参数,B 代表了一种逆噪声方差和u 是一个向量的方法。 1.1源分布 众所周知在独立分量分析,潜在分布的选择是很重要的。特别说明它必须是非高斯。非高斯源分布可以分成两类,那些积极的峰度或“沉重的尾巴”和那些消极的峰度或“光明的尾巴”。前者被称为超高斯分布,后者是亚高斯。如果我 们真正的源分布属于这两个中的任何一个类我们可以尝试分开。对于我们的ICA 模型,我们遵循?(1998)选择超高斯或者是亚高斯灵活的源分布。的运算结果的模型应用于两个可能发生的事。阿蒂亚斯选择了每个因素的混合物M 高斯模型 () ∏∑==?? ????=I i m m ni M m m n m x x N p 121 ,)(σπ }{m π是混合系数和每个组件是由一个意思毫米和方差q2m 。 阿蒂亚斯提到作为独立的因子分析模型。我们可能现在写下一个可能性,是一个函数的参数W,β,μ ()()()?∏==x x x t n n n n N n d p W p W p μβμβ,,,,,t 1 这个功能现在可以最大化的参数来确定独立的组件。传统的优化执行限制作为B 倾向于零。这种方法由贝尔和介绍了盲源分离作为信息最大化算法。与最大的关系可能是由不同的作者包括卡多佐指出(1997)和麦(1996)。 2.ICA 的贝叶斯形式主义 在本文中我们提出,按照推断模型的参数化的贝叶斯方法,而不是通过最大似然学习的参数。这要求我们把先验对模型参数。我们的目标是如何通过一个特定的选择我们的先验分布的显示P(W)我们可能自动判断哪些已经产生了数据源的数量。我们是主教的贝叶斯PCA (1999年),它的目的是确定在启发我们的方法主要子空间的自动维数。我们选择将噪音精密β,与以前的马, ()() b ββαββ,gam p = 这里我们定义伽玛分布 ()() ()τττ b a b a a a b -Γ= -exp ,gam 1 对于混合矩阵W ,我们认为高斯之前。特别是每一个的相关性输入可通过使用自动相关性确定(ARD )来确定前(尼尔,1996;麦凯,1995年) ()() ∏∏==-=I i P p i ip N W p 11 1 ,0αωα 振 动 与 冲 击 第28卷第8期 JOURNAL OF V I B RATI O N AND SHOCK Vol .28No .82009 基于独立分量分析的多源冲击定位方法 基金项目:国家高技术研究发展计划(863计划)(2007AA03Z117);国家 自然科学基金项目(60772072) 收稿日期:2008-07-28 修改稿收到日期:2008-08-06第一作者苏永振男,博士生,1980年生通讯作者袁慎芳女,博士,博士,1968年生 苏永振,袁慎芳 (南京航空航天大学智能材料与结构航空科技重点实验室,南京 210016) 摘 要:结构健康监测中常用声发射信号进行声发射源的定位及特征描述。多个冲击事件发生时,声发射信号是 多个信号的混叠,而且混合方式未知,这使利用声发射信号对冲击源进行定位变得非常困难。而近年来兴起的基于独立 分量分析的盲源分离技术为解决这一难题提供了可能。采用基于信息极大化原理的反馈网络结构对同时作用在铝梁上的两个冲击事件产生的声发射混合信号进行分离,估计出各个源信号到达传感器的时延后,运用两点直线定位公式对两个冲击源进行定位。混合仿真实验验证了基于信息极大化原理的独立分量分析方法估计时延的有效性,铝梁上的两源冲击实验,进一步表明运用独立分量分析方法能较好的解决多冲击源定位问题。 关键词:盲源分离;独立分量分析;时延;冲击定位中图分类号:T B52;TG115.28 文献标识码:A 航空材料结构在服役过程中不可避免的要承受具 有不同能量的各种物体的冲击,由冲击所诱导的损伤,使结构承载能力大大降低、结构强度及稳定性严重退化[1]。因此,很有必要利用结构健康监测技术[2] 对冲击事件进行实时监测。目前对冲击定位的研究多是以单个冲击源为研究对象,常通过求解由冲击产生的声发射信号到达不同传感器的时延进行定位。在对多个 冲击源进行定位时,一些常规的求解时延方法[3] 如互相关函数法,能量法、阈值法等不再有效。因为在多个冲击源的情况下,声发射信号是多个源信号的混叠,上述方法只能求解出一个时延,因此无法实现多个冲击源的定位。近年来兴起的基于独立分量分析(I CA )的盲源分离(BSS )技术为这一问题的解决提供了有效途径。盲源信号分离是指在不知道源信号和混合参数的情况下,仅根据源信号的一些统计特性和有限的观测数据恢复出源信号。盲源信号分离技术在通信、生物医学信号处理、语音信号处理、阵列信号处理等获得了广泛的应用。 BSS 根据混合方式可分为瞬时混合和卷积混合,瞬时混合模型常假定信号源是同时混合的,不能容忍时延,而实际上混合源中有到达时间的区别。传感器测得的由冲击产生的声发射信号是结构的脉冲响应函数与源信号的卷积,而且由于传播介质的影响(时延和反射等),信号是多路径到达的,因此本文采用卷积混合模型模拟两个冲击源信号的混合过程。BSS 的卷积混合模型为:x =A 3s,其中“3”代表卷积,x 为t 时刻 M 维的观测信号向量,s 为t 时刻的N 维源信号向量,A 为M ×N 维的F I R 混合滤波器矩阵。解混目标是寻找 一逆F I R 滤波器矩阵W 使得解卷积后的输出y =W 3s 是源信号s 的估计。 本文以同时作用在铝梁上的两个冲击源的定位问题为例,研究基于BSS 技术的多源冲击定位问题。根据BSS 的卷积混合模型,采用基于信息最大化原理的反馈分离网络结构,对两个冲击源的混叠信号进行分离,求出各个冲击源到达传感器的时延,再根据波速,利用两点直线法实现两个冲击源的定位。 1 I nfomax 方法 1988年L inskers [‘4] 提出了可用非线性单元来处理任意分布的输入信号的信息最大化(I nfomax )原理,它可描述为:网络的输入端和输出端的互信息达到最大时,等价于输出端各分量间的相关性最小。1995年, A.J.Bell 和T .J.Sejnowski [5] 提出了基于信息最大化(I nf omax )原理的盲源分离算法。I nfomax 算法的独立性判据为信息极大传输准则,即通过对分离矩阵的调整,使非线性输出y 和网络输入x 之间的互信息I (y,x )极大。由信息论可知: I (y,x )=H (y )-H (y |x ) (1)由于H (y |x )不依赖于分离矩阵W ,可以看出,通过最大化输出信号的联合熵,就可实现输入输出之间的互信息最大。输出信号的联合熵为: H (y )=-E [log (f y (y ))] (2)f y (y )为非线性输出y 的概率密度函数,设输入经过非线性函数g (x )得到y,当g (x )为单调上升或下降时,输出输入概率密度函数之间的关系则可以写为: f y (y )=f x (x )/det (J ) (3)det (J )为网络的雅克比行列式,f x (x )为输入信号的概 《算法分析与设计》期末复习题 一、选择题 1.算法必须具备输入、输出和( D )等4个特性。 A.可行性和安全性B.确定性和易读性 C.有穷性和安全性D.有穷性和确定性 2.算法分析中,记号O表示( B ),记号Ω表示( A ) A.渐进下界 B.渐进上界 C.非紧上界 D.紧渐进界 3.假设某算法在输入规模为n时的计算时间为T(n)=3*2^n。在某台计算机上实现并完 成概算法的时间为t秒。现有另一台计算机,其运行速度为第一台的64倍,那么在这台新机器上用同一算法在t秒内能解输入规模为多大的问题( B )解题方法:3*2^n*64=3*2^x A.n+8 B.n+6 C.n+7 D.n+5 4.设问题规模为N时,某递归算法的时间复杂度记为T(N),已知T(1)=1, T(N)=2T(N/2)+N/2,用O表示的时间复杂度为( C )。 A.O(logN) B.O(N) C.O(NlogN) D.O(N2logN) 5.直接或间接调用自身的算法称为( B )。 A.贪心算法B.递归算法 C.迭代算法D.回溯法 6.Fibonacci数列中,第4个和第11个数分别是( D )。 A.5,89 B.3,89 C.5,144 D.3,144 7.在有8个顶点的凸多边形的三角剖分中,恰有( B )。 A.6条弦和7个三角形B.5条弦和6个三角形 C.6条弦和6个三角形D.5条弦和5个三角形 8.一个问题可用动态规划算法或贪心算法求解的关键特征是问题的( B )。 A.重叠子问题B.最优子结构性质 C.贪心选择性质D.定义最优解 9.下列哪个问题不用贪心法求解( C )。 A.哈夫曼编码问题B.单源最短路径问题 C.最大团问题D.最小生成树问题 10.下列算法中通常以自底向上的方式求解最优解的是( B )。 A.备忘录法B.动态规划法 C.贪心法D.回溯法 11.下列算法中不能解决0/1背包问题的是( A )。 A.贪心法B.动态规划 C.回溯法D.分支限界法 12.下列哪个问题可以用贪心算法求解( D )。 ICA (Independent Components Analysis),即独立分量分析。它是传统的盲源分离方法,旨在恢复独立成分观测的混合物。FastICA是一个典型的独立分量分析(ICA)方法。 它是信号盲处理的基础,对信号独立分量分析的检测是信号盲处理的起点。现有的信号盲处理的算法,大都是基于独立分量分析的,通过对独立分量分析的研究就可以把这些算法统一起来。 一、信号分类: 1.无噪声时: 假设混叠系统由m个传感器和n个源信号组成,并且源信号与观测信号遵从如下所示的混叠模型: x(t)=As(t),其中,x(t)=[x1(t),x2(t),...,x m(t)]T表示m维观测信号矢量; A为m*n维混叠权系数为未知的混叠矩阵; n个源信号的组合为:s(t)=[s 1(t),s 2 (t),...,s n (t)]T 2.有噪声时: 若考虑噪声的影响,则有: x(t)=As(t)+n(t), 其中,从m个传感器采集来的噪声集合为:n(t)=[n1(t),n2(t),...,n m(t)]T 针对式子:x(t)=As(t)+n(t) 独立分量分析(ICA)就是要求解分离矩阵W,使得通过它可以从观测信号x(t)中恢复出未知的源信号s(t),分离系统输出可通过下式表示:y(t)=Wx(t)其中,y(t)=[y1(t),y2(t),…,y n(t)]T为源信号的估计矢量,即:y(t)=S(t) 二、用ICA方法的信号分析——基于小波变换和ICA的分离方案(分离步骤) 首先介绍下语音分离的大体思路。先采用小波变换对各个带噪混叠语音进行预消噪处理,然后进行预处理,最后用ICA的方法对消噪后的混叠语音进行分离;最后根据分离信号的特点进一步提出对其进行矢量归一和再消噪处理,最终得到各个语音源信号的估计。 1.预消噪处理——小波变换 这里采用的是小波阈值法去噪,它类似于图像的阈值分割。(阈值就是临界值或叫判断设定的最小值) 设带噪语音信号为: f(t)=As(t)+n(t),式中: s(t)是纯语音信号, n(t)为噪声。 对式子作离散小波变换。首先对被噪声污染的语音信号进行离散序列小波变换, 得到带有噪声的小波系数;然后用设定的阈值作为门限对小波系数进行处理,对低于阈值的小波系数作为由噪声引起的,仅让超过阈值的那些显著的小波系数用来重构语音信号。 2.约束条件 第3章 基于信息论的独立分量分析算法 3.1 引言 由于没有任何参照目标,学习只能是自组织的。学习过程的第一步:建立一个以W 为变元的目 标函数()W L ,如果某个W ?能使()W L 达到极大(小)值,该W ?即为所需的解。第二步:用一种有效的算法求W ?。按照()W L 定义的不同和求W ?的方法不同可以构成各种ICA 算法。ICA 方法可归结为如下式子:ICA 方法=目标函数+优化算法。由ICA 的性质可知ICA 以统计独立为基本原则,统计独立的衡量为ICA 算法的关键。因此需选择一个恰当的目标函数。目标函数给定后,可以采用经典的优化算法最优化目标函数,如梯度法、拟牛顿法等。ICA 方法的特性取决于目标函数和优化算法两项。ICA 方法的统计特性(如一致性、鲁棒性)取决于目标函数的选取;算法特性(收敛速度、内存要求)取决于优化算法的选择。对于同一个目标函数可以有不同的优化算法,同一个优化算法可应用于不同的目标函数。衡量一个优化算法的主要性能指标有收敛速度,占用内存情况,稳定性等。算法的研究可分为基于信息论准则的迭代估计方法和基于统计学的代数方法两大类,从原理上来说,它们都是利用了源信号的独立性和非高斯性。基于信息论的方法研究中,各国学者从最大熵、最小互信息、最大似然和负熵最大化等角度提出了一系列估计算法。如FastICA 算法, Infomax 算法,最大似然估计算法等。基于统计学的方法主要有二阶累积量、四阶累积量等高阶累积量方法。在此我们主要讨论基于信息论的几种独立分量分析算法。 3.2 数据的预处理 一般情况下,所获得的数据都具有相关性,所以通常都要求对数据进行初步的白化或球化处理,因为白化处理可去除各观测信号之间的相关性,从而简化了后续独立分量的提取过程,而且,通常情况下,数据进行白化处理与不对数据进行白化处理相比,算法的收敛性较好。 若一零均值的随机向量()T M Z Z Z ,,1 =满足{}I ZZ E T =,其中:I 为单位矩阵,我们称这个向量为白化向量。白化的本质在于去相关,这同主分量分析的目标是一样的。在ICA 中,对于为零均值的独立源信号()()()[]T N t S t S t S ,...,1=,有:{}{}{} j i S E S E S S E j i j i ≠==当,0,且协方差矩阵是单位阵()I S =cov ,因此,源信号()t S 是白色的。对观测信号()t X ,我们应该寻找一个线性变换,使()t X 投影到新的子空间后变成白化向量,即: ()()t X W t Z 0= (3.1) 其中,0W 为白化矩阵,Z 为白化向量。 算法分析与设计实验报告第八次附加实验 for(int i=1;i 完整代码(分支限界法) //分支限界法求最优装载 #include 算法分析与设计实验报告第二次附加实验 )用可行性约束函数可剪去不满足约束条件 附录: 完整代码(贪心法) //回溯法递归求最优装载问题#include int n, //集装箱数 *x, //当前解 *bestx; //当前最优解 Type *w, //集装箱重量数组 c, //第一艘轮船的载重量 cw, //当前载重量 bestw, //当前最优载重量 r; //剩余集装箱重量 }; template 振动与冲击 第29卷第3期JOURNAl,OFVIBRATIONANDSHOCKV01.29No.32010基于独立分量分析的结构模态参数识别 静行1,袁海庆1,赵毅2 (1.武汉理工大学土木工程与建筑学院,武汉430070;2.武汉理工大学设计研究院,武汉430070) 摘要:简要介绍了独立分量分析的基本原理及算法,探讨了结构的正规坐标与独立分量的关系。分析认为,结构自由振动响应的振型分解可以看做是一个ICA问题。因此,可以把独立分量分析发展成为一种利用结构自由振动响应时域信号进行模态参数识别的方法。结合数值仿真算例及振动试验,验证了独立分量分析用于结构模态参数识别的有效性。结果表明,独立分量分析可以准确的从结构自振响应中,分离出各正规坐标,同时估计出各阶模态振型向量,适用于环境激励下的工作模态参数识别。 关键词:独立分量分析;参数识别;正规坐标 中图分类号:TU311.3;TN911.6文献标识码:A 模态参数识别是结构动力特性研究的一个重要课题,主要任务是从测试所得的数据中,确定振动系统的模态参数,其中包括模态固有频率、模态阻尼比及振型等。目前模态参数识别方法主要有频域法、时域法、时一频分析方法等‘1.2|。传统的模态识别方法往往要求同时测得结构上的激励和响应信号。但是,在实际工程应用中,对一些大型结构无法施加激励或施加激励费用很昂贵,因此,直接利用环境激励下的振动响应数据进行模态参数识别逐渐引起了人们的重视【3.4J。 独立分量分析一一7j(IndependentComponentAnaly?sis,ICA)是伴随着盲源分离问题而发展起来的一项统计信号处理的新技术,其处理对象是相互统计独立的信号源经线性组合而产生的一组混合信号,最终目的是从混合信号中分离出各独立的信号分量。相对于主成分分析(PrincipleComponentAnalysis,PCA)而言,ICA不仅含有信号的一、二阶信号,而且利用了信号的高阶信息,因此ICA方法是处理非高斯信号的一种有效手段,也可以看作是PCA方法的推广。本文在简单介绍独立分量分析的基本原理及算法后,探讨了结构的正规坐标与独立分量之间的关系,并结合数值仿真算例与振动试验,验证了ICA用于结构模态参数识别的实用效果。 1独立分量分析 1.1问题描述 独立分量分析是从多元(多维)统计数据中寻找其内在因子或成分的一种方法。ICA问题可简单描述为:假定共有Ⅳ个传感器拾取到Ⅳ个观测信号石;(i=1,2,…,Ⅳ),每个观测信号是肘个独立源信号s,(.『-1,2,…,M)的线性混合,即X=A?S。其中,X= 收稿日期:2008一12—22修改稿收到日期:2009—05—19 第一作者静行男,博士生.1982年生[茗l,戈2,…,戈_lv]7和S=[sl,s2,…,5^,]1是混合信号矢量和源信号矢量,A是N×M的未知混合矩阵。ICA就是要在仅能观测到z;的情况下,同时估计出矩阵A和s,。因此,ICA可以定义为寻找一个分离矩阵W,从混 合信号中分离出相互独立的源信号,即S=w?X,并 希望.s能较好地逼近真实源信号.s,如果矩阵W能够估计出,对其求逆就能得到矩阵A。ICA方法的关键问题是建立一个能够度量分离结果独立性的判决准则和相应的分离算法。 1.2判决准则 ICA分解的基本原则可以粗略的概括为两条【6]:一是非线性去相关;二是使输出尽可能非高斯化。在众多的ICA算法中,科研工作者从不同的角度提出了多种度量各分量之间独立性的判决准则,如信息极大化(infomax)判决准则、互信息极小化(minimizationofmutualinformation,MMI)判决准则等。而本文采用的判决准则是建立在中心极值定理和信息熵基础上的。 根据中心极值定理,非高斯随机变量之和比原变量更接近高斯变量。对ICA过程来说,混合信号是多个独立源信号的线性混合,故混合信号较各独立源信号更接近高斯分布,或者说前者较后者的高斯性强(或非高斯性弱)。因此可以通过对分离结果的非高斯性的度量来监测分离结果之间的相互独立性,当各分离结果的非高斯性达到最强时,表明已完成对各独立分量的分离。一个非常重要的非高斯判据就是负熵判据。对于一概率密度函数为P(Y)的随机量Y,其负熵的定义如下: J(Y)=日(%。)一H(Y)(1)其中Ysa。是与Y具有相同相关(和协方差)矩阵的高斯随机变量,日(?)为随机变量的信息熵: n(y)=一Ip(),)logp(y)dy(2)信息论中的一个基本结果指出:在具有相同方差的所 万方数据 活动安排 public static int greedySelector(int [] s, int [] f, boolean a[]) { //s[]开始时间f[]结束时间 int n=s.length-1; a[1]=true; int j=1; int count=1; for (int i=2;i<=n;i++) { if (s[i]>=f[j]) { a[i]=true; j=i; count++; } else a[i]=false; } return count; } 背包问题 void Knapsack(int n,float M,float v[],float w[],float x[]) { Sort(n,v,w); //以每种物品单位重量的价值Vi/Wi从大到小排序 int i; for (i=1;i<=n;i++) x[i]=0; float c=M; for (i=1;i<=n;i++) { if (w[i]>c) break; x[i]=1; c-=w[i]; } if (i<=n) x[i]=c/w[i]; //允许放入一个物品的一部分 } 最优装载 void Loading(int x[], T ype w[], T ype c, int n) { int *t = new int [n+1]; //t[i]要存的是w[j]中重量从小到大的数组下标Sort(w, t, n); //按货箱重量排序 for (int i = 1; i <= n; i++) x[i] = 0; //O(n) for (int i = 1; i <= n && w[t[i]] <= c; i++) {x[t[i]] = 1; c -= w[t[i]];} //调整剩余空间 } 单源最短路径Dijiksra template 第37卷第5期 2015年10月探测与控制学报Journal of Detection &Control Vol .37No .5Oct .2015 一?收稿日期:2015-02-11作者简介:尹洪伟(1987 ),男,江苏徐州人,博士研究生,研究方向:目标中近程探测二识别与信息对抗技术三E -mail :y inhon g wei168@https://www.360docs.net/doc/ff5648267.html, 三改进的复值快速独立分量分析算法 尹洪伟,李国林,路翠华 (海军航空工程学院,山东烟台264001) 摘一要:针对复值快速独立分量分析算法(CFastICA ) 对初始权值敏感且收敛速度较慢的问题,提出了改进的CFastICA 算法三该算法首先利用牛顿下降因子优化牛顿迭代的收敛方向, 使分离矩阵在一定程度上接近最优值,然后去除牛顿收敛因子,利用普通牛顿迭代实现分离矩阵快速收敛三仿真实验表明:提出的算法拥有和牛顿下降CFastICA 同样的收敛精度,收敛时间比牛顿下降CFastICA 减少了近53%,且在低SNR 下,提出算法的综合收敛性能明显优于CFastICA 和牛顿下降CFastICA 算法三关键词:盲源分离;复值快速独立分量分析算法;牛顿迭代 中图分类号:TN974一一一一文献标志码:A 一一一一文章编号:1008-1194(2015)05-0022-04 An Im p roved Com p lex Value Fast ICA Al g orithm YIN Hon g wei ,LI Guolin ,LU Cuihua (Naval Aeronautical and Astronautical Universit y ,Yantai 264001,China )Abstract :An im p roved CFastICA al g orithm was p ro p osed to solve the p roblem of initial value sensibilit y and to im p rove conver g ence s p eed .First ,Newton decline factor was used to o p timize Newton iteration conver g ence direction to make the se p arated matrix be close to the o p timal value to a certain extent ,then remove the conver -g ence factor and use the ori g inal Newton iteration realize fast conver g ence .Simulation results showed that the p ro p osed al g orithm had the same conver g ence p recision with Newton decline CFastICA ,and its conver g ence time was 52.85%less than Newton decline CFastICA .The combination p ro p ert y of p ro p osed al g orithm was si g -nificantl y better than both of CFastICA and Newton decline CFastICA under the low SNR . Ke y words :blind source se p aration ;com p lex value FastICA ;Newton iteration 0一引言 由于盲分离算法对信号先验知识无依赖性, 近年来其在雷达二声呐二语音二通信二图像和医学 等领域都得到了快速发展[12]三而一些领域,如阵列信号处理,其信号往往是复数形式,针对该特点,实数盲分离算法被扩展到了复数领域[3]三其中最典型的算法为复值快速独立分量分析(FastICA )算法,该算法因采用牛顿迭代而具有较快的收敛速度三但该算法存在一个大的缺陷,即当初始分离矩阵偏离最优值较远时,特别是含噪声条件下,不容易收敛到到最优点,甚至无法 收敛[45]三为解决这个问题,国内外不少学者进 行了研究三但总体来看,对该问题的解决方法主要有三种:一是对算法中非线性函数的优化,如文献[6-8],该方法虽可以在一定程度上缓解上述问题,但是也只是起到改善的效果,并不能从根源上解决;二是引入牛顿下降因子以保证牛顿 迭代朝着最优值方向,如文献[9-11],虽然效果很好,但这使得本来具有快速收敛优势的牛顿算 法速度被削减;三是先利用最速梯度法改善初始 分离矩阵,然后再利用牛顿迭代获取最优分离矩 阵,如文献[5,12],但是该算法中的所谓最速梯度,实际上就是牛顿算法[12],并不能起到良好的稳定效果三本文针对此问题,提出了改进的 CFastICA 算法三 最优装载 一、问题描述: 有一批集装箱要装上一艘载重量为c的轮船。其中集装箱i的重量为Wi。最优装载问题要求确定在装载体积不受限制的情况下,将尽可能多的集装箱装上轮船。 二、输入: 表格一:物品的重量 三、输出: 图一:放入轮船的物品 四、算法描述: 定义存放的重量w[]、总容量为c、定义一个新数组数组内的序号定义为0,首先把数组的序号和数值打印出来,进行冒泡排序,把排序好的数组内的值打印一遍,开始往船上放物品,每放入一个物品,把这个物品的下标定义为1,并且用总容量c-w[i],当c大于0,就一直存放,直到不能放入为止。 五、算法设计: 使用贪心算法 首先要明白贪心算法,贪心算法以贪心为主,要达到每一步都是最优解。 于是,我先对物品的重量进行排序,在问题描述中已经得知,要将尽可能多的集装箱装上轮船,所以我按照从小到大的顺序物品排序完毕后,开始往轮船上放;在每一次放入后,刷新剩余的总容量,并将放入物品的下表定义为1,就这样依次装入,直到物品不能放入为止。 六、举例: 表格二:排序后的物品重量 因为轮船的容量为100,当第一个物品放入后当前背背包的容量为90,并且下标为1. 表格三:第一个物品放入后 当第一个物品放入后容量已经变为90,开始放入第二个物品,放入后当前总量为78,并让第二个物品下标为1。 表格四:第二个物品放入后 第二个物品放入后容量由原来的90变为现在的78,准备放入第三个物品,并让第三个下标为1。 表格五:第三个物品放入后 第三个物品放入后容量由原来的78变为现在的64,准备放入第四个物品,并让第四个下标为1。 表格六:第四个物品放入后 第四个物品放入后容量由原来的64变为现在的49,准备放入第五个物品,并让第五个下标为1。 表格七:第五个物品放入后 第五个物品放入后容量由原来的49变为现在的34,准备放入第六个物品,并让第六个下标为1。 表格八:第六个物品放入后 一。选择题 1、二分搜索算法是利用( A )实现的算法。 A、分治策略 B、动态规划法 C、贪心法 D、回溯法 2、下列不是动态规划算法基本步骤的是( D )。 A、找出最优解的性质 B、构造最优解 C、算出最优解 D、定义最优解 3、最大效益优先是( A )的一搜索方式。 A、分支界限法 B、动态规划法 C、贪心法 D、回溯法 5. 回溯法解旅行售货员问题时的解空间树是()。 A、子集树 B、排列树 C、深度优先生成树 D、广度优先生成树6.下列算法中通常以自底向上的方式求解最优解的是( B )。 A、备忘录法 B、动态规划法 C、贪心法 D、回溯法 注意:动态规划采用的是自底向上的方式求解,而贪心算法采用的是自顶向下的方式来求解问题。 7、衡量一个算法好坏的标准是(C )。 A 运行速度快 B 占用空间少 C 时间复杂度低 D 代码短 8、以下不可以使用分治法求解的是(D )。 A 棋盘覆盖问题 B 选择问题 C 归并排序 D 0/1背包问题 9. 实现循环赛日程表利用的算法是( A )。 A、分治策略 B、动态规划法 C、贪心法 D、回溯法11.下面不是分支界限法搜索方式的是( D )。 A、广度优先 B、最小耗费优先 C、最大效益优先 D、深度优先12.下列算法中通常以深度优先方式系统搜索问题解的是( D )。 A、备忘录法 B、动态规划法 C、贪心法 D、回溯法 13.备忘录方法是那种算法的变形。( B ) A、分治法 B、动态规划法 C、贪心法 D、回溯法 注意:备忘录是动态规划方法的一个步骤。 14.哈弗曼编码的贪心算法所需的计算时间为( B )。 A、O(n2n) B、O(nlogn) C、O(2n) D、O(n)15.分支限界法解最大团问题时,活结点表的组织形式是( B )。 A、最小堆 B、最大堆 C、栈 D、数组16.最长公共子序列算法利用的算法是( B )。 A、分支界限法 B、动态规划法 C、贪心法 D、回溯法17.实现棋盘覆盖算法利用的算法是( A )。 A、分治法 B、动态规划法 C、贪心法 D、回溯法 18.下面是贪心算法的基本要素的是( C )。 A、重叠子问题 B、构造最优解 C、贪心选择性质 D、定义最优解注意:定义最优解与重叠子问题这俩个性质是动态规划算法的基本要素。 19.回溯法的效率不依赖于下列哪些因素( D ) A.满足显约束的值的个数 B. 计算约束函数的时间 C. 计算限界函数的时间 D. 确定解空间的时间 20.下面哪种函数是回溯法中为避免无效搜索采取的策略( B )A.递归函数 B.剪枝函数C。随机数函数 D.搜索函数 注意:剪枝函数又分为约束函数与限界函数。 21、下面关于NP问题说法正确的是(B ) A NP问题都是不可能解决的问题 B P类问题包含在NP类问题中 C NP完全问题是P类问题的子集 D NP类问题包含在P类问题中 24. ( D )是贪心算法与动态规划算法的共同点。 A、重叠子问题 B、构造最优解 C、贪心选择性质 D、最优子结构性质 注意:最优子结构性质是贪心算法与动态规划算法共同特点。 25. 矩阵连乘问题的算法可由(B)设计实现。 A、分支界限算法 B、动态规划算法 C、贪心算法 D、回溯算法 26. 分支限界法解旅行售货员问题时,活结点表的组织形式是( A )。 A、最小堆 B、最大堆 C、栈 D、数组 算法设计与分析实验报告- 1.实验要求: 将n个集装箱装上载重量为c1和c2的轮船,其中集装箱总重量 bestw=cw; } return; } r-=w[i]; if(cw+w[i]<=c1){ x[i]=1; cw+=w[i]; backtrack(i+1); cw-=w[i]; } if(cw+r>bestw){ x[i]=0; backtrack(i+1); } r+=w[i]; } public static void main(String[] args) throws IOException { BufferedReader read =new BufferedReader(new InputStreamReader(new FileInputStream("input.txt"))); String a=new String(); a=read.readLine(); n=Integer.parseInt(a); System.out.println("集装箱个数: "+n); x=new int[n+1]; String[]b=new String[n]; a=read.readLine(); System.out.println("集装箱重量: "+a); b=a.split(","); w=new int[n+1]; for(int i=1;i<=n;i++){ w[i]=Integer.parseInt(b[i-1]); } a=read.readLine(); c1=Integer.parseInt(a); a=read.readLine(); c2=Integer.parseInt(a); System.out.println("轮船载重量: "+c1+","+c2); int result= maxloading(w,c1,x); int max,temp; for(int i=1;i<3;i++){ for(int j=2;j<3;j++){ if(w[i]>w[j]){ temp=w[i]; w[i]=w[j];文献翻译-变分贝叶斯独立分量分析
基于独立分量分析的多源冲击定位方法
算法分析与设计》期末考试复习题纲(完整版)
独立分量分析(ICA)简单认识
第3章基于信息论的独立分量分析算法
分支限界法实验(最优装载问题)
回溯法实验(最优装载)
基于独立分量分析的结构模态参数识别
贪心算法经典问题:活动安排,背包问题,最优装载,单源最短路径 Dijiksra,找零钱问题,多机调度
改进的复值快速独立分量分析算法
最优装载
算法分析复习题目及答案16-12-10
算法装载问题