没有合适的资源?快使用搜索试试~ 我知道了~
理论计算机科学电子笔记266(2010)49-61www.elsevier.com/locate/entcs浮点到定点转换正确性测试用例生成范端雄一号,Anh-Hoang Truong2软件工程技术学院,越南国立大学,河内144 Xuan Thuy,河内,越南秦伟颜3计算机科学新加坡国立大学计算机学院3 Science Drive 2,Singapore117543青岛武信4Panasonic R D Center Vietnam No.1 Lang-Hoa Lac,河内,越南摘要将为个人计算机编写的应用程序移植到嵌入式设备需要将浮点数和运算转换为定点数和运算。因此,测试转换要求后者尽可能接近前者。接近度与代码覆盖率正交,需要不同的策略来生成测试套件,以揭示两个功能之间的差距。我们引入了一个新的测试充分性准则,并提出了几个度量来量化两个功能的接近。之后我们建议根据测试充分性准则,从给定的测试集生成更好的测试集的方法。我们还展示了一些著名的数学函数的实验结果关键词:质量保证,测试用例生成,定点转换。1介绍软件测试是任何软件开发项目中保证软件产品质量的重要阶段。在测试过程中,测试套件,1电子邮件:phamtuanhung@vnu.edu.vn2电子邮件:hoangta@vnu.edu.vn3电子邮件:chinwn@comp.nus.edu.sg4电子邮件:aoshima. jp.panasonic.com1571-0661 © 2010 Elsevier B. V.在CC BY-NC-ND许可下开放访问。doi:10.1016/j.entcs.2010.08.04850T.- H. Pham等人/理论计算机科学电子笔记266(2010)49包含测试用例的集合,用于测试程序。 在测试套件中, 每个测试用例包括输入和预期结果, 将与实际返回的结果进行比较,以确定输入程序在测试用例方面有多好。 我们通常认为一个好的测试集应该是一个小规模但高代码覆盖率的测试集,这意味着它不仅运行时消耗很少的内存,而且可以揭示尽可能多的输入程序行为。由于大多数嵌入式微处理器都没有用于高精度计算算术运算的浮点单元(FPU),因此为嵌入式设备和手机开发软件通常需要大量工作来将浮点数和运算转换为定点数和运算。另外,复杂的算法在移植到嵌入式系统之前,通常都是在个人计算机上使用浮点运算来建模的。 在许多情况下,移植过程保持了定点函数的原始算法,并通过一些技术增加了定点算术运算的精确性,例如在除法之前按比例放大被除数并按比例缩小结果。在某些情况下,必须对算法进行新的实现以满足要求。例如,为了避免在特定情况下的乘法和除法等缓慢的算术运算,程序员可以利用移位运算。定点操作的主要问题是精度损失和舍入和截断引起的过慢。 因此,将浮点函数转换为定点函数的一个主要目标是最小化精度损失。这两个功能应该尽可能接近。虽然理论上已经研究了浮动到定点的转换[17,9,22],并且在MATLAB等几个工具中部分实现,但确定转换过程后两个相应函数的接近程度仍然是一个悬而未决的问题。由于函数的输入空间维数目前测试定点转换的做法是在模拟器或实际设备上执行定点版本,然后观察结果。 在某些应用领域,观察上述结果不足以或不可能保证软件的质量,必须将每个计算函数的两个版本(浮点和定点)与随机输入或样本测试数据进行比较,并检查结果。如果输入的两个结果之间的差异高于预定阈值,则重新定义定点函数。在这种情况下,测试用例被认为是好的,因为它显示了一个临界点,在这个临界点上,固定点函数与原始函数不够接近。 重复转换的代码细化过程,直到测试套件中的所有测试用例都不好,这意味着此时细化的固定点函数可以接受。请注意,此时此刻,我们只能说固定点版本是足够的T.- H. Pham等人/理论计算机科学电子笔记266(2010)4951⊂⊂关于所选择的测试套件。 可能存在一个不在测试套件中的测试用例,并且是好的。因此,质量保证过程是不完整的。 为了提高质量,程序员或测试人员必须产生更多的测试用例和测试套件,以获得对固定点函数质量的一定程度的信心。但这项任务并不容易,需要人力和计算能力。简单地生成随机测试用例当然不是一个好的策略。最好有一种方法来生成最好的测试用例,或者至少从给定的测试用例生成一个更好的测试用例。将这两种类型的函数视为黑盒,我们引入了几个指标来评估固定点转换的两个测试用例。 根据这些指标,我们提出提出了一种新的测试充分性准则,当发现一个好的测试用例时,测试用例生成过程停止,然后用该度量来衡量一个固定点函数相对于其浮动点版本的充分性.从我们的角度来看,我们的测试方法是基于规范的,其中浮点函数可以被视为定点函数的规范。此外,给定输入上的两个函数之间的较大差异表明固定点函数中可能存在过流问题。为了生成满足充分性标准的测试用例,我们将数学结果应用于局部优化以从给定的测试用例生成更有效的测试用例,并应用于全局优化以找到最佳测试用例。更好的测试套件使我们能够快速评估定点函数的质量,而最好的测试用例可以保证一定水平的转换质量。我们使用遗传算法[6,19]和禁忌搜索[5]实现了一个原型工具,并在几个著名的数学函数上进行了测试本文的其余部分组织如下。第2节介绍了用于评估两个函数的接近度的几个度量。基于这些度量标准,第3节展示了如何从给定的测试套件生成更好的测试套件,第4节指出找出最佳测试用例的方法。我们在第5节中展示了几个数学函数的实验结果。相关工作在第6节中讨论。第7节结束。2接近度量和充分性准则在提出我们新的测试充分性标准和定义几个度量来衡量两个函数之间的接近度之前,我们形式化了几个相关的概念。设fl:Ln→L是原始的n元浮点函数,fi:In→I是其相应的定点版本,其中L是浮点数的集合,I是定点数的集合。 这是一个有限的集合,我L其中IR 是通常的实数集2.1贴近度度量接近度度量的关键概念是精度损失函数l,定义见2.1.注意,由于fl:Ln→L,fi:In→I和I<$L,我们可以考虑l:In→L+,其中L+是非负浮点数的集合。我们的目的是分析fl和fi在不动点函数fi的定义域I上的差异。为52T.- H. Pham等人/理论计算机科学电子笔记266(2010)49∈--为了简洁起见,我们不详细讨论如何执行从固定点到浮动点的类型转换,反之亦然,以使L在数学上有效。定义2.1[精度损失函数]l(x)=abs(fl(x)-fi(x))其中abs(x)是x的绝对值。根据精度损失定义,我们定义了两个简单但有用的度量。第一个度量是两个函数的最大损失定义2.2[最大度量]FM(fl,fi)=maxl(x)x∈In第二个度量定义在给定的测试套件S和阈值TI+上。它用于从第3节中的给定测试集生成最佳测试集。定义2.3[阈值度量]FM(fl,fi,S,T)=[{x |x ∈ S,l(x)> T}]/[S]在这里。]表示集合的基数。 阈值度量是百分比 在一个给定的测试套件中,好的测试用例的数量。 如果这个值小于, 比如说1%,我们说这个函数在99%以上是好的,或者在99%的概率下是好的。0.99.在某些情况下,像这样的阈值是完全可以接受的,特别是对于压缩音频信号中使用的函数。否则,可以自由地要求该阈值必须为零,以便我们对关于阈值T的转换质量有一些初步保证。这两个度量定义了两个函数接近程度的不同质量标准。有时,最大度量值高于某些值是不可接受的。在其他情况下,只要阈值度量对于所有测试用例都足够好,2.2充分性准则我们的充分性标准是基于错误的[24,11],在这个意义上,我们需要表明测试应证明定点版本不会偏离其定点版本。换句话说,浮点版本可以被看作是定点版本应该遵守的规范。基于上一节定义的最大度量和阈值度量,我们有两个相应的充分性概念。定义2.4 [最大充分性]给定一个阈值T,我们说函数满足规 范 fl ,如果FM(fl,fi) p,则测试集S对于fi是充分的。3从给定的测试套件生成更好的测试套件拥有上面部分中的指标已经非常有用,因为在许多给定的测试用例中,这些测试用例取自真实数据(例如音频和视频文件)。或者随机生成的,我们总是可以选择一个更好的或者最好的先测试,当转换后的函数不够好的时候就停止。 这可以让我们选择一个更小的测试用例集,在检测问题时同样有效我们的代码。但是,即使是真实的测试数据或随机生成的数据也可能无法揭示足够好的测试用例。因此,我们提出了一种方法来生成一个更好的测试套件从一个给定的。我们首先从一个给定的测试用例生成一个更好的测试用例。从一个给定的测试用例导出一个更好的测试用例的想法是基于损失函数的图。一个更好的测试用例是损失函数具有更大值的域的点。 这使我们找到给定点的局部极值(testcase)。当违反充分性准则时,搜索过程可以停止对于一个测试集S,我们求出其中所有测试用例的所有局部极值,因为图中的几个点可能共享同一个局部极值,所以所有局部极值的集合,比如S,通常比S中的元素少。 假设S是 我们想要找到的更好的测试套件。请注意,S测试更有效,因为它不仅具有更少的测试用例数量,而且还显示出更大的精度损失。现在我们准备一些问题域的形式概念,包括固定点数和局部最大化器,然后绘制寻找局部极值的算法,这也被称为组合优化问题[14]。即使浮点数和定点数的集合是有限的,我们也将输入空间限制在一个子域X上,就像在优化问题中一样。定 义 3.1[ 不 动 点 邻 域 ] 设 x= ( q1 , q2 , . , qn ) ∈X<$In. The fixed-potointnumberqiI,(i=1,..., n)在其小数部分中具有1比特,在其整数部分中具有2比特。我们可以加到q i或从q i减去的最小步长Δ i是qi的最小有效位可以表示的值:Δ i=2 −ai。x的邻居集定义为:N(x)={xJ=(q1+ k1× Δ 1,., q n+ k n× Δ n)∈ X |xxJ,k i∈ {−1,0,1}}。定义3.2[局部最大化]点x∈X称为l的如果对所有的xj ∈ N(x),l(x)≥l(XJ).为了搜索l的局部最大值,我们使用算法1中的离散最陡上升,这是一种基于梯度的算法,用于寻找离散函数的局部最大值54T.- H. Pham等人/理论计算机科学电子笔记266(2010)49∈X∈.Σ∈−|∈∈λmaxargmaxλl(xJ)|λ ∈ IIN+,XJ= x0+ λd ∈X<$该算法简单地找到从初始点到其相邻点的最陡上升方向d,然后以整数步长λ IIN+沿方向d前进,该步长λ IIN+使方向d上的l最大化。我们不断地重复这个过程,直到找到一个局部最大化器 这个过程将停止,因为输入空间X是有限的,并且l(x0)总是在while循环中增加。 注意在数学中argmax f(x):={x |f(x)=f(y)<= f(x)算法1:寻找l的局部最大化的最陡上升输入 :初始点x0X输出:局部最大化器1个程序最陡上升(x0)2开始3当x0不是局部最大化器时,xmaxargmax(l(x)l(x0))x N(x0)4X5d←x max−x0.6/* 最陡上升方向 */7x0←x0+λmax d/* 在方向d上的步长 */8返回x09端部请注意,即使我们必须在每次更新浮点或定点函数时生成一个更好的测试套件,当前更好的测试套件将是好的开始一个生成,而不是原始的或随机的。在实践中,程序员通常更新用于小数部分的位数有更精确的固定点版本,所以大多数局部最大化器通常是相同的。4寻找最佳测试用例当然,最好是生成精度损失函数的全局极值的最佳测试用例。在搜索过程中,我们还检查第2节中选择的充分性标准,以停止搜索过程。为了找到全局极值,我们考虑以下全局优化问题:Maxx∈X<$Inl(x)其中,X∈In是一个预定的、有限的、非空集的定点数。根据每种方法的操作,我们可以将全局优化方法[15]分为确定性和概率性两类。确定性算法,如状态空间搜索,分支定界,代数几何-当目标函数l与其约束条件之间的关系明确且搜索空间X较小时,通常使用try。然而,我们的目标函数l是一个黑盒;一般来说,我们不知道它的形状和特征。此外,我们的X经常有大量的维度,这显然阻碍了确定性的维度。T.- H. Pham等人/理论计算机科学电子笔记266(2010)4955←⊂因此,概率算法(所谓的元概率)在这种情况下是合适的。这些方法通常采用迭代探索的方法来找到好的解决方案,这些解决方案需要尽可能接近最佳。与简单的算法不同,这些算法不会停留在第一个局部最优。在最著名的概率算法中,我们选择禁忌搜索(TS)[5]和遗传算法(GA)[6,19]来解决这个问题,一个属于邻域搜索方法,另一个属于进化方法的范畴。它们是解决各种组合优化问题的两种最有效、最流行和最成功的方法[14]。为了发现l/X的全局优化器,它们可以完美地互补4.1遗传算法遗传算法(Genetic Algorithm,GA)是一种基于种群的元启发式优化方法,它模拟生物的交叉、突变和自然选择等活动,通过多代进化从初始个体中获得最适合的个体。GA基于一个拟合函数,在这种情况下是l,以决定哪个个体比其他个体更好。遗传算法最强大的功能之一是利用(如交叉过程)和探索(如变异)的结合。 的目标这种结合不仅要从目前已知的解决方案中找到新的、类似的候选方案,而且要找到新的、更好的方案。算法2:我们的遗传算法寻找全局最大化l输入:ps:群体大小输入:ss:选择大小输入:mr:突变率输出:找到的最佳元素Data:t:生成计数器数据:Pi:第i1程序遗传算法(ps,ss,mr)2开始3t04通过随机化生成P0的ps5while<$terminationCriterion()do6t←t+ 17通过拟合函数l对每个x∈Pt−18选择Pt Pt−1,使Pt包含ss个最佳个体9执行交叉,并在[Pt] l(xmax),则12x←xmax/* 更新最佳记录 */13如果[L] =s,则/*L 不超过s个元素 */14删除L15L.append(xmax)16x0=xmax/* 跳转到不在L中的最佳邻居 */17returnxreturn月18日结束众所周知的函数用于检查全局优化方法的性能,我们选择了表1中的复杂和流行的函数列表。 从列表中的每个f导出,我们定义fl:LnL,fi:InI,和I:InL+如上所述 在第2节。 请注意,在我们的问题中,我们不考虑找到 表1中函数的全局最大化器;我们的目标是找到全局最大化器在表1中的每个函数f的对应的l/X。表1和表2的第一列均表示功能编号。每个函数都有一个域,如表2中的X列所示。由于每个函数中固定点数的域和环境精度(用于表示小数部分的位数,对于所有函数,我们将其设置为6),每个函数的(离散)可能解的数量显示在列Total中。列MLoss包含我们通过暴力搜索找到的每个函数的最大损失。列GA和TS分别显示了算法2中的GA和算法3中的TS返回的最佳测试用例的最高损失值,最大可接受计算时间为5秒。为清楚起见,MLoss、GA和TS的所有数字均四舍五入至小数点后六位。对于我们的GA,我们设置ps=100,ss= 30,mr=20,并且58T.- H. Pham等人/理论计算机科学电子笔记266(2010)4934ππ8π3 Braninf(x,y)=(y−52x2+5x−6)2+ 10(1−1)cosx+ 104弗罗伊登斯坦·罗斯f(x,y)=(−13+x+((5−y)y−2)y)2+(−29+x+((y+1)y−14)y)25希梅尔布劳f(x,y)=(x2+y−11)2+(x+y2−7)26驼峰f(x,y)= 4x2− 2。1x4+x6+xy−4y2+ 4y4f(x,y)= 0. 26(x2+ y2)− 0。48xy8 Rosenbrock世代是1000我们的TS使用长度为1000的禁忌列表,初始解的数量为500。表2实验结果号X总MLossGATS1x,y∈[−20,20]65587219.0850159.0850157.4216802x,y∈[−60,60]5899776120.85500019.50500019.9350003x,y∈[−5,5]41088138.65664338.65664335.9928824x,y∈[−10,10]164096114091.28293414091.28293414089.9979355x,y∈[−9,9]132940953.58048753.58048737.7277346x,y∈[−4,4]26316971.26608571.26608571.2660857x,y∈[−50,50]4097280139.83840039.83840034.3814968x,y∈[−3,3]148225140.157744140.157744140.127744表2表明,过快的速度会导致定点函数与它们原来的定点函数有明显的不同,特别是对于第4号的函数Freudenstein Roth。我们还从表2中观察到,在我们实验的大多数情况下,我们的GA超过了TS;然而,我们应该将这两种方法结合起来以获得良好的结果。实验在具有1GB RAM的Intel(R)Pentium(R)Dual CPU 1.81 GHz上进行。我们使用MathFP 2.0.6 KVM、CLDC/MIDP和WABA5来实现定点环境。5http://home.comcast.net/ [accessed 2009-10-28]表1函数列表号名称定义1比厄f(x,y)=(1. 5− x(1 − y))2+(2. 25− x(1 − y2))2+(2.625−x(1−y3))22展位f(x,y)=(x+2y− 7)2+(2x+y− 5)2T.- H. Pham等人/理论计算机科学电子笔记266(2010)49596 相关工作在数字信号处理中,算法通常设计为浮点数据类型,但其相应的实现需要在仅支持定点运算符的硬件中执行。因此,定点转换在软件[17]和硬件实现[9,22]中都不可或缺。虽然定点算法比浮点算法更简单,更便宜,更快,但它会降低应用程序的性能,这可以通过基于模拟的方法[1,12]和分析方法[16,17,21]进行评估。尽管如此,据我们所知,没有一种方法评估退化的最坏情况,这种情况发生在一个浮点函数和它的定点版本之间的差异最大时,就像本文所做的那样。我们的工作还涉及到圆误差分析,其目的是计算近似值,函数或程序方法与其精确值之间的差异。这种差异是由于在计算机中用有限位数来表示数字造成的。关于这个问题有几种不同的方法。基于仿真的方法[2]尝试用一组选定的输入运行这两种类型的程序,然后观察相应的roundo错误。虽然这种方法更容易执行,但它导致了该方法的精度和速度之间的权衡。另一种方法是使用数学推理,其中Giraud et al.[4]使用经典的Gram-Schmidt算法,而Fang等人[3]使用的是一种带约束的算法。然而,他们鼓舞人心的方法是高度理论化的,不适合复杂的现实世界功能。EricGoubault和Sylvie Putot [7,8]通过静态分析和使用一种基于遗传算法的程序变量的范围值来克服这个问题我们的方法,不像他们,不需要分析给定的程序,但我们也得到了上述的交易时,输入参数的维数变大。测试用例的自动生成是近年来研究的热点。关于软件测试的全面讨论和参考资料可以在Kapfhammer的书中找到。Zhu等人的工作[24]还包含了对单元测试覆盖率和充分性标准的全面调查。测试用例生成技术主要分为三大类:随机、符号和动态。我们的工作属于动态的,即使我们只观察测试功能的输出,并把它们作为一个黑盒。 Michael等人。[18]使用遗传算法生成测试数据。Korel [13]也通过执行程序生成测试数据,但他监视执行流程以生成测试数据 用于路径覆盖标准。我们不知道相关的工作,直接生成测试用例,以评估像我们这样的两个函数的接近度。注意,我们的工作,但是,不排除其他测试用例生成技术,如符号执行。它们仍然需要包括覆盖其他测试充分性标准的测试用例,例如基于控制流的测试用例,基于数据流的测试用例。在我们的测试方法中的一个重要技术是使用最优化方法。它们不仅在理论领域而且在实际应用中都是正在进行的研究课题[15]。 我们在算法1中的最陡上升与 离散最速下降法的文件Ng等。[20 ]第20段。他们的方法,60T.- H. Pham等人/理论计算机科学电子笔记266(2010)49称为离散全局下降法,可以返回最优全局最小值的函数,符合他们的三个合理的假设。最近,Hvat-tum和Glover [10]结合了传统的直接搜索方法和分散搜索 寻找高维函数的局部最优解。 然而,由于我们的功能l是黑箱,这些鼓舞人心的方法在这里是不可行的。为了解决我们的问题,我们选择GA和TS,最流行的,强大的概率全局优化方法,许多混合算法的衍生。7结论我们引入了几个度量标准来衡量从浮点函数转换而来的定点函数的质量。当测试数据不方便手动或随机生成时,这些指标允许我们比较任何两个测试套件,并量化固定点函数相对于其浮动点函数的质量。生成可以通过我们的新的充分性准则来停止,该准则将源函数作为转换后的源函数的指定。 此外,本文还提出了一种由测试用例集生成更小但更高效的测试用例集的方法。 并应用全局优化问题的一些结果来生成最佳测试用例。实验结果表明,我们的方法可以在实践中非常有用。它使我们能够减少测试时间,还可以提高为嵌入式系统编写的软件产品对于未来的工作,我们计划研究准蒙特卡罗方法来计算 一个度量的基础上积分的损失函数和它的一些变化。我们还 计划加强我们的做法,考虑到执行的职能。这种源代码分析可以帮助我们识别参数或变量对精度损失影响较大的函数。这些信息可以帮助启发式算法更快地收敛,并可以为程序员提供一些提示来完善或修改他们的代码。确认这 项 工作 得 到 了研 究 项 目 No.QGTD.09.02 ( 由 河 内越 南 国 立 大学 授 予 ) 和Panasonic越南研发中心的支持。我们还要感谢Panasonic研发中心越南分部的Hong-Hai Nguyen、Ngoc-Khoa Pham和Hieu Tran,以及匿名审稿人对本文早期版本的评论引用[1] 帕夫·贝拉诺维奇和马库斯·鲁普使用fixify环境实现自动的浮点到定点转换。RSP'05:第16届IEEE快速系统原型国际研讨会论文集,第172-178页,美国华盛顿特区,2005年IEEE计算机协会。[2] 理查德·伯奇、法里德·纳吉姆、平阳和蒂莫西·特里克。McPOWER:一种蒙特卡罗方法来估计功率。在ICCAD中国计算机科学出版社.T.- H. Pham等人/理论计算机科学电子笔记266(2010)4961[3] 克莱尔·F· 方,罗布 A. Rutenbar和Tsuhan Chen。DSP设计中固定点的快速、精确静态分析。ICCAD'03:Proceedings of the 2003 IEEE/ACM计算机辅助设计国际会议,第275IEEE计算机协会。[4] LucGiraud,JulienLangou,Mirosl avRozl oZhaz n'ık,andJas pervandenEshof. 经典Gram-Schmidt正交化过程的舍入误差分析。Numerische Mathematik,101(1):87[5] 弗雷德·格洛弗和弗雷德·拉古纳。禁忌搜索。 Kluwer Academic Publishers,Norwell,MA,USA,1997.[6] David E.金伯格搜索、优化和机器学习中的遗传算法。艾迪生-韦斯利朗曼出版公司,股份有限公司、美国马萨诸塞州波士顿,1989年。[7] 埃里克·古博特和西尔维·普托。数值算法的静态分析。在SAS中,第18-34页[8] 埃里克·古博特和西尔维·普托。基于广义Ausanne算法的实数计算欠逼近。Hanne Riis Nielson和GilbertoFil,编辑,SAS,计算机科学讲义第4634卷,第137-152页。Springer,2007年。[9] N. Herve,D. Menard和O. Sentieys FPGA综合的数据字长优化。 在SIPS'05 : IEEE 信 号 处 理 系 统研讨会论文集 ,第623-628页,雅典 ,希腊, 2005 年11 月。[10] 拉尔斯·马格努斯·瓦图姆和弗雷德·格洛弗。用直接搜索法寻找高维函数的局部最优解。欧洲运筹学杂志,195(1):31-45,2009年5月。[11] Gregory M.卡普哈默计算机科学与工程手册,第105章:软件测试。CRC出版社,佛罗里达州博卡拉顿,第二版,2004年。[12] Holger Keding,Markus Willems,Martin Coors,and Heinrich Meyr. Fridge:一个定点设计和仿真环境。在日期98:欧洲设计,自动化和测试会议论文集,第429-435页[13] B. 科雷尔自动化软件测试数据生成。 IEEE Trans. 软件。Eng. ,16(8):870[14] 伯恩哈德·科特和延斯·维根。组合优化:理论与算法。施普林格,德国,第4版,2007年。[15] 里奥·利伯蒂和纳尔逊·马库兰全局优化:从理论到实现(非凸优化及其应用)Springer,2006.[16] D.梅纳德河塞里泽尔河Rocher和O. Sentieys定点系统设计中精度约束的确定。EURASIP J.嵌入式系统,2008(6):1[17] Daniel Menard,Daniel Chillet,and Olivier Sentieys.数字信 号处理器的浮 点到定点转 换。 EURASIPJournal on Applied Signal Processing应用信号处理杂志。,2006:1[18] C. C. Michael,G. McGraw,and M. A. 好家伙 通过演化生成软件测试数据。 IEEE传输软件Eng. ,27(12):1085[19] 梅兰妮·米切尔遗传算法导论。麻省理工学院出版社,美国马萨诸塞州剑桥,1998年。[20] Chi-Kong Ng,Duan Li,and Lian-Sheng Zhang.离散全局优化和非线性整数规划的离散全局下降法。Journal of Global Optimization,37(3):357[21] EmreOüzer,AndyNis bet和D avidGregg。可定制处理器中基于极值理论的静态位宽估计。 在EvelynDuesterwald,编辑,CC,计算机科学讲义第2985卷,第250Springer,2004.[22] Romuald Rocher,Daniel Menard,Nicolas Herve,and Olivier Sentieys.定点可配置硬件组件。EURASIP J.嵌入式系统,2006(1):20[23] 尚云伟和邱玉皇。关于广义Rosenbrock函数的注记评价Comput. ,14(1):119[24] 作者:Patrick A. V. Hall和John H. R.五月软件单元测试覆盖率和充分性。ACM计算监视器,29(4):366
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 4
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- RTL8188FU-Linux-v5.7.4.2-36687.20200602.tar(20765).gz
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
- SPC统计方法基础知识.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功