DreamBlooms/HansPub-15000-to-45000 huggingface dataset:
system: [SYSTEM]

user: 3. 系统硬件设计与实现 控制系统的硬件设计主要分为七个模块：主控制单元时钟模块、光照强度检测模块、加热模块、温度检测模块、自动投喂模块、LCD键盘显示模块、电源模块。 3.1. 主控制单元时钟模块 主控制单元时钟模块主要由单片机部分和时钟模块组成，其硬件电路的原理图如图2所示 [ 6 ] 。 图2. 主控制时钟模块硬件电路原理图 时钟模块控制电路主要完成时间的计算，体现计时功能。采用DS1302模块，它的VCC端口接5 V电压，GND接地，CLK端口和弹片的P04口相连，DAT和单片机的P03端口相连，RST和单片机的P02端口相连，从而与单片机进行数据转换，实现计时功能。 3.2. 光照强度检测模块 光照强度检测模块主要是由GY-30光照传感器 [ 7 ] 实现。通过VCC端口接5 V电源，SCL端口和单片机的P1.7端口相接，SDA和单片机的P1.6端口相接，实现对周围光照的检测，从而达到自动补光的效果，其硬件电路的原理图如图3所示。 3.3. 加热模块 加热模块使用加热棒和继电器实现，通过继电器控制加热棒，实现水的加热。加热棒和继电器的NC端相连，继电器的COM端口接12 V电源实现加热功能，其硬件电路的原理图如图4所示。 图3. 光照强度检测模块硬件电路原理图 图4. 加热模块硬件电路原理图 3.4. 温度检测模块 温度检测模块使用传感器为DS18B20 [ 8 ] 。测温的主要原理是利用DS18B20内部的计数功能完成温度的测量，DS18B20的内部含有计数器1和计数器2，它的测温原理为低温系数震荡器产生的脉冲信号给计数器1，高温系数振荡器产生的脉冲信号作为减法给计数器2输入，通过DS18B20产生的时钟脉冲完成计数，从而完成温度的测量。 通过DS18B20的DQ端口和单片机的P3.7端口相接，在DQ和VDD间接一个4.7 K的电阻保护电路，完成温度检测功能，硬件电路的原理图如图5所示。 图5. 温度检测模块硬件电路原理图 3.5. 自动投喂模块 自动投喂模块主要由继电器控制鼓风机实现。继电器由输入回路和输出回路组成，它在本质上是一种电子控制器。继电器的COM、NC端口和鼓风机相接，IN和单片机的P1.0端口相接，从而实现定时投喂的功能，其硬件电路的原理图如图6所示。 3.6. LCD键盘显示模块 使用器件LCD1602液晶显示器 [ 9 ] 实现LCD键盘显示模块功能。通过数字在液晶显示器上显示可以读出数值。LCD1602液晶显示器不仅可以显示数字，还可以显示字母和符号等，它是一种点阵型的液晶模块，功能十分强大。LCD1602液晶显示器显示的内容是两行，每行的长度为16个字符模块，通常表示为16X2。 图6. 自动投喂模块硬件电路原理图 3.7. 电源模块 控制系统的电源模块采用5 V输电源供电，通过自锁开关控制开闭，用LED发光二极管串联一个电阻，闭合开关，LED灯亮，则表示电源正常通电，所有的电源从这里输出，其硬件电路的原理图如图7所示。 图7. 电源电路模块硬件电路原理图
system: [SYSTEM]

user: 4. 系统软件设计 控制系统软件设计采用模块化的设计，首先系统外设先初始化，设定初始值，到达一定的时间，继电器打开控制鼓风机进行自动投喂；当水温和周围光照强度低于设定值时，继电器打开控制加热棒的工作，单片机控制LED灯进行补光。软件设计流程图如图8所示。 软件设计的主要模块有LCD1602液晶显示模块、温度传感器检测模块、光照传感器检测模块、继电器加热模块。 4.1. LCD1602液晶显示模块 液晶显示模块程序所实现的主要功能是读取它的光标显示值，确定光标的位置。首先根据程序的输入确定第一个显示的字符，接着再根据程序按位显示所有的数据，直到全部显示。液晶显示程序流程图如图9所示。 图8. 系统程序流程图 图9. WIFI模块实物图 1602液晶显示函数的主要程序如下所示： void Lcd1602WaitReady() sta = LCD1602_DB; void Lcd1602WriteCmd(unsigned char cmd) VoidLcd1602SetCursor(unsigned char x， unsigned char y) Lcd1602SetCursor(x， y); while (*str != '\0') { Lcd1602WriteDat(*str++); } LCD液晶显示模块函数先初始化，程序“sta = LCD1602_DB”表示读取状态字，接着向LCD1602液晶写入一字节的命令，显示设置RAM的起始地址，即光标的位置，上述程序中的“(x， y)”对应屏幕上的字符坐标，接着连续写入字符串数据，直到检测到结束符。 4.2. 温度传感器检测模块 此段程序设计的目的主要为读取DB18B20的时序。首先需要进行的是初始化程序，建立DB18B20和单片机的联系。接着进行复位，然后获得测量的温度数据，接着读取转换结果，读取高低字节数据结果并且进行整合。 4.3. 光照传感器检测模块 由于光照传感器检测模块选用的器件型号是GY-30，它的主芯片是BH1750 [ 10 ] ，因此光照传感器检测模块的程序编写主要使用BH1750函数来实现。其功能实现流程图如图10所示。 图10. BH1750函数功能实现流程图 4.4. 继电器加热模块 该模块的功能为显示器读取DS18B20温度，若是低于设定值，则单片机输出低电平，继电器常开触电吸合，开始工作，控制加热棒的加热。
system: [SYSTEM]

user: 5. 系统测试 控制系统的预期效果：当温度传感器检测到水温值，将其传送给单片机，由单片机进行处理和判断并且控制继电器是否工作。当水温低于设定值时，继电器打开，控制加热棒的加热，使水温上升，水温加热到之前设置的温度。鼓风机模拟自动定时投食模块，设置时间一分钟以后投食，鼓风机转动十秒钟，十秒钟以后鼓风机自动关闭。光照传感器感知周围的温度变化，并且传送给单片机，如果周围温度低于设定值，灯光自动打开，高于设定值，则自动关闭。 系统实际测试效果：将主控制板和鱼缸模型进行连接，打开电源开关，用按键设置自动补光的强度为100 Lux，当周围光照强度低于100 Lux时，LED发光二极管自动打开，进行补光；周围光照强度高于100 Lux时，LED发光二极管自动关闭。效果图如图11所示。 图11. 系统测试图
system: [SYSTEM]

user: 6. 结束语 本文研究并设计了基于单片机及鱼塘模型的智慧养鱼控制系统，模拟实现了养鱼的智能化。系统硬件部分主要分为主控制单元时钟模块、光照强度检测模块、加热模块、温度检测模块、自动投喂模块、LCD键盘显示模块、电源模块；软件设计分为LCD1602液晶显示模块、温度传感器检测模块、光照传感器检测模块、继电器加热模块。系统测试结果显示：通过继电器模块﹑传感器模块以及单片机控制模块，系统可实现温度和光照的自动调节以及定时投喂等操作。通过上述分析可得：该控制系统可稳定运行，成本低廉，操作简单，不仅仅可促进渔业的智能化发展，而且通过其展示作用可使得养殖户更易接受智慧养殖，促进其进一步推广。
system: [SYSTEM]

user: 摘 要 本文以河南商丘睢县烤烟两种经营模式为例，分析了不同作物种植模式对烟叶等级质量的影响，同时比较了烤烟接茬种植甘蓝菜、大白菜、白皮大蒜的经济效益，为后续确立烤烟–蔬菜种植专业化生产的经营模式提供理论指导。 关键词 :烟草，接茬种植，烟叶质量，经济效益 Copyright © 2019 by author(s) and Hans Publishers Inc. This work is licensed under the Creative Commons Attribution International License (CC BY). http://creativecommons.org/licenses/by/4.0/
system: [SYSTEM]

user: 1. 引言 在河南商丘睢县主产烟区，烤烟采收完毕后，接茬蔬菜主要有大白菜、白皮大蒜、甘蓝菜等蔬菜作物，也有冬季休闲。经营方式主要为订单模式、自由种植销售模式。本文从烤烟接茬甘蓝菜、大白菜、白皮大蒜的种植方式入手，对两种经营模式下的经济效益和对烤烟产量、质量、产值影响进行分析，明确烤烟接茬哪种蔬菜更适宜于睢县主产烟区发展产业，哪种运作经营模式更有利于提高经济效应。
system: [SYSTEM]

user: 2. 材料与方法 2.1. 试验材料 烤烟供试品种为云烟87，由商丘市烟草公司睢县分公司提供，甘蓝菜、大白菜、白皮大蒜的种子由当地蔬菜合作社提供和市场购买。 2.2. 试验设计 该调查研究设三个处理。 处理I：选取烤烟接茬大白菜订单模式和自由种植销售大白菜模式，代号I1和I2。处理II：选取烤烟接茬大白蒜订单模式和自由种植销售大白蒜模式，代号II1和II2。处理III：选取烤烟接茬甘蓝菜，订单模式和自由种植销售甘蓝菜模式，代号III1和III2。 2.3. 栽培管理技术 2.3.1. 烤烟栽培管理 烘烤、分级技术烤烟栽培烘烤技术按商丘市烤烟规范技术执行，分级标准按国标 [ 42 ] 分级，统一由商丘市烟草公司睢县分公司实施。 2.3.2. 蔬菜栽培管理 1) 甘蓝菜栽培技术。① 育亩时间：8月20日开始育苗。搞好苗期管理，及时间苗。② 移栽时间：苗长至6~7片叶时移栽为宜。③ 移栽：每亩施入复合肥50公斤做基肥，翻耕耙匀；移栽前将苗床浇透水，切成小块，尽量带土移栽。大田中按照行、株距40~45厘米，移栽密度为3335~4168株/亩为宜。④ 田间管理：搞好中耕除草、水肥管理及防治病虫害工作。⑤ 采收当叶球长到最大及时采收。2) 大白菜栽培技术与甘蓝菜相同。3) 大白蒜栽培技术。① 播种：9月底选用单瓣重5~6 g大白蒜直播，畦面覆膜直播。株行距为15 × 18 cm，保持在27，000~30，000株/亩。② 施肥：播种前耕翻土地施入基肥，腐熟厩肥约400斤/亩。③ 田间管理：加强水、肥管理，越冬后减少浇水和追氮次数，同时加强病虫害、杂草防治。 2.4. 调查内容和方法 每个处理选取当地有代表性的烟农三户进行调查，内容包括烤烟接茬大白菜、白皮大蒜和甘蓝后，病虫害的发生，单位面积投入(元/hm 2 )、单位面积产量(kg/hm 2 )、对烟叶产量(kg/hm 2 )等级质量单位面积产值(元/hm 2 )的影响，获取原始数据，然后求取平均数。进行接茬不同蔬菜对烤烟生产的影响，对比不同蔬菜的经济效益和每种蔬菜不同经营模式的经济效益。蚜虫、菜青虫、烟青虫的调查和分析方法见参考文献 [ 1 ] [ 2 ] ，花叶病的调查则是在花叶病发生时期，采用五点取样法，每点取100株，记载发病叶(株数)和发病的程度，然后用以下公式和标准分别计算发病率(%)病情指数。 发 病 率 ( % ) = 病 叶 ( 株 ) 数 调 查 总 叶 ( 株 ) 数 × 100 % 病 情 指 数 = ∑ [ 病 级 数 × 该 级 病 叶 ( 株 ) 数 ] 最 高 病 级 数 × 调 查 总 叶 ( 株 ) 数 × 100 % 2.5. 烤烟和大白菜、白皮大蒜、甘蓝菜的种植技术实施 烤烟栽培和烘烤技术按商丘市烟草公司制度的烤烟规范栽培技术实行，分级标准和技术按国标 [ 3 ] 实施。订单模式的大白菜、大白蒜、甘蓝菜种植农户由合作社统一发放种子和需用的肥料等生产资料，统一技术指导；自由种植销售农户一切自定。 2.6. 烟叶和蔬菜产品的销售 三个处理所有农户烘烤后的烟叶，由睢县烟草分公司统一收购，确定均价(元/kg)，等级和各等级比率，收购量。订单模式农户的甘蓝菜、大白菜和白皮大蒜产品的价格和数量按订单销售，自由种植销售农户的产品投入市场销售，由市场需要临时确定价格销售量。生产投入只核算种子、化肥、薄膜等生产资料费用(元/hm 2 )，未计算人工投入成本。收益等于单位面积产值减去单位面积投入费用。
system: [SYSTEM]

user: 4. 小结与讨论 4.1. 小结 从以上的结果分析可能得出以下结论： 1) 烤烟接茬种植白皮大蒜，产值较高，且无与烤烟共同发生的病虫害，但投入成本太大，净收益较低，不太适宜作为烤烟的接茬种植的蔬菜作物。 2) 烤烟接茬种植大白菜，产值高，投入成本中等，收益较高，但有与烤烟共同感染的花叶病，还有共同为害的蚜虫和菜青虫/烟青虫，会严重影响烟叶产量、质量和经济效益，因此不宜烤烟接茬种植大白菜。 3) 烤烟接茬种植甘蓝菜，投入成本小，收益较高，与烤烟共同发生病虫害为害小，对烤烟生产影响不大，可以作为烤烟接茬种植的蔬菜作物。 4) 在三种蔬菜的两种经营模式，收益均以订单模式高。 4.2. 讨论 在烤烟接茬种植蔬菜作物的调查分析中发现，蔬菜种类的选择十分重要，考虑蔬菜作物的投入成本、收获的产品在销售后的农业效益和烟农收入，关键的问题要考虑种植的蔬菜所发生的病虫害会对种植烤烟的产量、质量和经济效益产生的不利影响。以上调查结果来看，接茬种植白皮大蒜，虽然产值较高，但投入成本大，如果加上生产过程中的人工投入，其净收益很低，用当地烟农的看法说，接茬种植白皮大蒜不亏本就是赚钱了，而白皮大蒜没有与烤烟共同感染和发生的病虫害，市场价格高，消费量大，因此，如何降低白皮大蒜的生产投入成本，提高农业效益和烟农收入，是一个值得进一步深入研究的课题。种植大白菜投入较高，而产值和收益高，市场消费量大，但与烟草共同感染花叶病，共同发生的虫害有蚜虫、菜青虫、烟青虫，会影响烟叶产量、质量和经济效益，因此，本研究认为不宜作为烤烟接茬种植的蔬菜作物。
system: [SYSTEM]

user: 摘 要 本文基于经典FxLMS算法，提出一种在线辨识的自适应控制算法。该方法采用变步长策略来进行误差通道辨识过程的调节，由于步长随辨识过程动态变化的特点，它能较好地消除误差通道辨识环节和主动控制环节之间的相互影响，使系统的总体性能得到提高。在MATLAB环境下与前人的方法进行了比较，仿真结果表明本文的方法在误差通道的辨识、振动的控制以及对误差通道参数变化的适应等方面，均优于之前的方法。 关键词 :自适应算法，误差通道在线辨识，主动控制 Copyright © 2019 by author(s) and Hans Publishers Inc. This work is licensed under the Creative Commons Attribution International License (CC BY). http://creativecommons.org/licenses/by/4.0/
system: [SYSTEM]

user: 1. 引言 在实际的振动主动控制系统中，为了消除误差通道对系统稳定性的影响，常常采用基于滤波x-LMS (FxLMS)算法 [ 1 ] 的自适应有源控制策略。与其他的算法相比，它具有结构简单、鲁棒性好、计算量小等优点 [ 2 ] [ 3 ] [ 4 ] 。FxLMS算法需要对误差通道进行在线辨识，并使用辨识得到的误差通道权向量对参考信号进行滤波。理论上说对误差通道辨识得越准确，它对控制系统的影响就越小，因而控制效果也越好 [ 5 ] 。常用的误差通道辨识方法可分为离线辨识和在线辨识两类。当被控系统的参数变化慢或近似不变时，采用误差通道离线辨识可使控制算法大大简化。然而在多数情况下系统误差通道是时变的，需要对误差通道进行在线辨识以保证滤波FxLMS算法收敛，因此对基于误差通道在线辨识的自适应控制算法的研究对于时变系统的振动控制具有重要的意义 [ 6 ] [ 7 ] 。 误差通道在线辨识按是否需要外加噪声可分为叠加噪声方法和整体考虑方法。前者需要在控制器输出端叠加噪声而后者直接利用控制信号本身进行误差通道在线辨识。研究表明 [ 8 ] [ 9 ] [ 10 ] ，叠加噪声的方法在收敛性、辨识环节与控制环节的独立性、对被控信号变化的响应速度以及计算的复杂程度等方面具有优越性，因此本文只对叠加噪声的在线辨识方法进行研究。 早在1989年，Eriksson [ 11 ] 就提出了一种通过在控制器输出端加入随机噪声信号实现误差通道在线辨识的方法。该方法的缺点在于其控制环节和辨识环节是相互影响的，这种影响严重时会导致系统不收敛，外加的随机噪声信号会对主动控制过程中控制滤波器权值的调整产生影响，导致误差信号中总是会有一定量级的残差。为了解决控制环节和辨识环节相互影响的问题，Bao [ 12 ] 、Kuo [ 13 ] 和张明 [ 14 ] 等人对Eriksson的方法进行了改进研究。其中张明等提出的控制策略是在系统中加入一个附加滤波器，很好地解决外加噪声对控制器权系数的影响以及控制环节和辨识环节的相互影响，但是与Eriksson的方法相比较，系统的复杂程度增加了，导致误差通道的建模速度降低，而且当误差信号收敛后其中还会含有与加入的随机噪声的功率大小呈比例关系的残差存在。为了消除随机噪声对误差信号造成的残差影响，H. Lan [ 15 ] 等人提出了一种的基于误差通道在线辨识的振动主动控制方法。该方法是在张明方法的基础之上改进得到的，通过将辨识环节输入的白噪声信号乘上动态系数控制其在控制阶段和即将收敛阶段不同的功率大小，解决了由输入白噪声信号功率所引起的矛盾。实验研究表明该方法的误差通道辨识效果不如张明方法的理想，但是却能得到较好的控制效果。在实际的应用中，我们要得到的就是系统具有良好的控制效果，因而该方法是具有优势的。
system: [SYSTEM]

user: 2. 本文提出的方法 对于H. Lan等人提出的变随机噪声的方法，前文提到它对于误差通道的辨识效果不如张明的方法。理论上来说，误差通道辨识的效果越好，控制环节的误差信号e(n)收敛时的量级就越小，于是本文在H. Lan的方法的基础上，结合Akhtar [ 16 ] 方法的辨识环节采用变步长因子的思想得到本文的方法，其原理框图如图1所示。与H. Lan的方法相比较，本文方法进一步提高了对误差通道的辨识效果，使得e(n)的残差得到进一步降低，控制效果更好。 图1. 本文的方法的系统结构框图 本文提出的方法采用变步长的思想，使得误差通道的辨识速度随着子系统残差的强弱变化而变化，一方面提高了误差通道的辨识速度，另一方面当误差通道权系数收敛时，该方法同样能够大大减弱叠加白噪声对控制系统的影响。由框图可知，对于控制环节有： e a l l ( n ) = e ( n ) − v ^ m ( n ) = e ( n ) − v m ( n ) ∗ s ^ ( n ) = [ d ( n ) − s ( n ) ∗ y ( n ) ] + [ s ( n ) ∗ v m ( n ) − v m ( n ) ∗ s ^ ( n ) ] (1) v m ( n ) = v ( n ) | e ( n − 1 ) | (2) W ( n + 1 ) = W ( n ) + μ w X ′ ( n ) e a l l ( n ) (3) X ′ ( n ) = [ x ′ ( n ) ， x ′ ( n − 1 ) ， ⋅ ⋅ ⋅ ， x ′ ( n − L + 1 ) ] T (4) 其中， | e ( n − 1 ) | 表示前一时刻误差信号的绝对值。 μ w 为步长因子，L为控制滤波器 W ( n ) 的阶数。 对于辨识环节有： f ( n ) = e ′ ( n ) − v ^ m ( n ) = e ( n ) − e ^ ( n ) − v ^ m ( n ) = [ d ( n ) − s ( n ) ∗ y ( n ) − e ^ ( n ) ] + [ v m ( n ) ∗ s ( n ) − v m ( ( n ) ∗ s ^ ( n ) ] (5) 在系统控制进行的初始阶段， f ( n ) 具有较大的幅值，辨识环节的步长因子应取得较小，否则会导致辨识环节不稳定；当控制进行一段时间且控制环节趋于收敛时， f ( n ) 幅值较小，此时采用较大的步长因子加快对误差通道的辨识。为了实现辨识环节步长因子随着系统的进程不断发生改变采用Akhtar [ 16 ] 的变步长因子方法，具体步骤如下： 首先利用下式分别计算出控制环节和辨识环节的误差信号的功率 P e ( n ) 和 P f ( n ) ， P e ( n ) = λ P e ( n − 1 ) + ( 1 − λ ) e 2 ( n ) P f ( n ) = λ P f ( n − 1 ) + ( 1 − λ ) f 2 ( n ) (6) 其中： λ 为遗忘因子，其取值范围为 0.9 < λ < 1 ，当 n = 0 时， P e ( 0 ) = 1 ， P f ( 0 ) = 1 则步长因子 μ s ( n ) 可表示为： μ s ( n ) = ρ ( n ) μ s min + ( 1 − ρ ( n ) ) x s max (7) 其中： μ s min > 0 ， μ s max < 1 ， ρ ( n ) 定义为： ρ ( n ) = P f ( n ) / P e ( n ) (8) 于是辨识滤波器的权向量迭代公式为： S ^ ( n + 1 ) = S ^ ( n ) + μ s ( n ) v m ( n ) f ( n ) (9)
system: [SYSTEM]

user: 3. 仿真及结果分析 将本文提出的方法在MATLAB环境下进行两种情况下的振动主动控制仿真，并与张明、H. Lan的方法进行比较，为了便于比较选取误差通道辨识结果 S ^ ( z ) 和真实误差通道 S ( z ) 之间的相对误差 Δ S ( n ) 作为评定辨识效果的好坏，其表达式为： Δ S ( n ) = 10 log 10 { ∑ l = 0 L − 1 ( s ( n ) − s ^ ( n ) ) 2 ∑ l = 0 L − 1     s 2 ( n ) } (10) 主动控制环节控制效果由参数R(n)来衡量，其表达式为： R ( n ) = − 10 log 10 { ∑ i = 1 n     e 2 ( i ) ∑ i = 1 n     d 2 ( i ) } (11) 仿真中的系统的初级通道 P ( z ) 和误差通道 S ( z ) 是由文献 [ 1 ] 中提供的实验数据得到，可以把它们分别看作阶数为48和16的FIR滤波器，其频率响应曲线如图2中黑色实线所示。 在仿真过程中，选取控制滤波器 W ( z ) 和附加滤波器 H ^ ( z ) 的阶数为32，辨识滤波器 S ^ ( z ) 阶数为16，采样频率 f = 2   kHz ，滤波器的初始值均设为零。 仿真一： 仿真过程中，参考信号x(n)是由基频为50 Hz的四个正弦信号组成的，随机噪声信号采用方差为1的高斯白噪声信号。每种方法的参数的选取满足使控制系统具有最佳的效果，它们的值的选取如表1所示： 仿真的结果如图3所示，从图3(a)中可以看出，与H. Lan的方法相比，本文方法在误差通道辨识的精度上有所提高，但是依然没有张明的方法好；由图3(b)可知，本文的方法具有最快的收敛速度，收敛的效果也比较好，而且与其他两种方法相比具有最大的振动减少量(R)。图4是采用各种控制算法的控前和控后的振动信号的频谱比较图，不难发现本文的算法的减振效果比其它两种要好。 仿真二： 仿真中，参考信号x(n)和随机噪声信号v(n)的选取以及三种控制算法参数的取值都与仿真一中的相 图2. 被控系统的频率响应曲线。(a) 初级通道；(b) 误差通道 图3. 仿真一的仿真结果图。(a) 误差通道建模相对误差；(b) 振动减少量 Table 1 The parameters of three simulation 方法 数值 张明的方法( μ w ， μ s ， μ h ) 8 × 10 − 7 ， 10 − 3 ， 2 × 10 − 5 H. Lan的方法( μ w ， μ s ， μ h ) 8 × 10 − 7 ， 2 × 10 − 3 ， 5 × 10 − 5 本文的方法( μ w ， μ s max ， μ s min ， λ ， μ h ) 8 × 10 − 7 ， 10 − 3 ， 4 × 10 − 3 ， 0.99 ， 5 × 10 − 5 表1. 三种方法的仿真参数 同，但是在系统控制进行到迭代步数为n = 20，000时，系统的初级通道和误差通道发生突变，初始时刻和变化之后的初级通道和误差通道的频率响应曲线如图2所示，图中黑色实线和蓝色虚线分别表示初始时和突变之后的频率响应曲线。 仿真得到的系统控制效果对比和误差通道辨识的相对误差对比，分别如图5(a)和图5(b)所示。通过分析可以看出，当被控系统的误差通道发生变化时，系统并没有出现发散的现象，经过一段时间的调整后，系统的振动又重新收敛得到良好的控制。误差通道的辨识精度也较高，经历突变之后能再次实现较高的 图4. 三种方法控制效果对比。(a) 张明的方法；(b) H. Lan的方法；(c) 本文的方法 图5. 仿真二的仿真结果图。(a) 误差通道建模相对误差；(b) 振动减少量；(c) 控前控后振动信号频谱 辨识精度，最终达到稳定值，且精度优于H. Lan的方法。因此，本文所用方法对系统参数的变化具有较强的适应性和鲁棒性。
system: [SYSTEM]

user: 4. 结论 在H. Lan的方法的基础上，结合Akhtar方法的变步长因子的思想，本文提出了一种新的具有误差通道在线辨识功能的自适应控制算法，该算法实现了控制环节和误差通道辨识环节的相互独立。仿真实验结果表明，在控制的收敛速度与算法稳定后的控制效果上，该算法都优于其它两种算法，而且当系统的初级通道和误差通道发生突变时，系统能进行很好地适应这种变化，具有更好的鲁棒性。
system: [SYSTEM]

user: 摘 要 利用WRF中尺度数值模式对2012年5月16日江苏北部一次飑线过程进行了数值模拟，采用三重嵌套，模式水平分辨率最高为5 km。利用模式输出的高分辨率资料，分析了地面和中层的飑线结构及飑线发展机制，结果表明，模拟的地面散度场存在一个“散度环”、三条辐合线，雷暴高压带形成一条辐散线，其前部和后部各存在一条辐合线，中层500 hPa上升运动中心南侧和北侧分别存在正涡度和负涡度中心。飑线的气流与经典模式的顺切变和逆切变气流不同，上升气流和下沉气流基本处在同一垂直气柱中，并在中层分离。中高空产生的降水物质掉入下半部分的下沉气流中，不会对上升气流形成拖曳作用，下降的降水物质在下沉气流中蒸发降温，在地面形成雷暴高压和冷池。利用涡度方程，分析了中层涡度偶形成的机制，垂直风切变和强垂直运动梯度相互作用在上升运动中心北侧形成负涡度，南侧形成正涡度。雷暴高压中的冷池和垂直风切变相互作用的结果使得雷暴在冷池前缘新生，而在冷池后部消亡，飑线自激发展。 关键词 :飑线，散度环，涡度偶，冷池，数值模拟 Copyright © 2019 by author(s) and Hans Publishers Inc. This work is licensed under the Creative Commons Attribution International License (CC BY). http://creativecommons.org/licenses/by/4.0/
system: [SYSTEM]

user: 1. 引言 飑线是一种组织性较强的对流系统，是由多个雷暴单体或雷暴群组成的狭窄强对流天气带，飑线往往伴随着灾害性大风、暴雨、冰雹等，具有突发性强、破坏力大等特点。研究飑线形成的大尺度天气背景及生消机理、飑线系统的三维结构，以及飑线内部中尺度天气系统的发生发展机制，将为提高飑线的预报准确率、减少飑线造成的灾害提供理论依据。 因为飑线等强对流天气灾害严重，美国1985年开展了PRE-STORM中尺度天气试验，使得飑线成为中尺度气象学研究的热点问题 [ 1 ] 。针对美国1985年6月10~11日的飑线过程，气象学者开展了大量观测分析和数值模拟研究，这些研究充分利用了无线电探空测风仪、风廓线、地面站、多普勒雷达等高时空分辨率资料，探讨了飑线的中尺度结构和发生发展过程，使人们对飑线的中尺度结构了解得更加深入，极大推动了中尺度气象学的发展 [ 2 ] - [ 11 ] 。 由于中尺度观测资料特别是探空资料的缺乏，人们对飑线中尺度结构的认识还不够深入，因此，数值模拟是一个重要的方法。然而飑线的数值模拟成功率比较低，即使采用最先进的高分辨率非静力数值模式，也只有少部分飑线能够得到较好地模拟，这可能和模式初始场缺少中尺度信息或者模式物理过程描述对流过程不够准确等多种因素有关，这涉及到飑线的可预报性问题。对于一次成功的数值模拟，模式首先要模拟出飑线的中尺度结构，如地面的中高压、尾流低压、中层的双涡结构、回波结构等，进而探讨飑线的发生发展。早期，张群等利用中尺度η坐标模式模拟了边界层辐合线激发飑线的过程，在位势不稳定背景场中，用边界层辐合线强迫出飑线，模拟出了地面的中尺度高压、中尺度低压等结构。虽然模式分辨率不够高，但是由于引入了Fritsch-Chappell对流参数化方案，模式仍然可以通过参数化的形式较好地模拟出飑线中的下沉气流 [ 12 ] 。Jiang和Wang推导了线涡形成的流场，指出雷暴高压中的强下沉气流可以在地面形成强烈非地风，非地转出流通过地转适应过程产生中尺度气压偶，并利用浅水方程模式模拟出了这种现象，与以往对飑线中尺度高压和中尺度低压形成原因的解释有所不同 [ 13 ] 。张进和谈哲敏针对一次热带海洋飑线过程，利用一个风暴尺度云分辨数值模式进行数值模拟，采用不同的初始扰动触发对流发展，讨论这些不同初始扰动对飑线演变、生命史及其成熟结构等模拟的影响。结果表明，初始扰动的结构、形态分布及其与环境场的不同配置对具有深对流的飑线具有不同的影响 [ 14 ] 。闵锦忠等应用WRF模式及其3DVar同化系统，对江苏地区2009年6月14日飑线过程进行了多普勒雷达资料的同化试验研究，结果表明，同化后初始场得到不同程度改善，能够有效改进对模式初始场中700 hPa风场和850 hPa温度场以及组合反射率因子等要素的分析，进而改善短时降水预报和风暴的垂直结构配置 [ 15 ] 。 目前，越来越多的工作采用WRF模式开展飑线的数值模拟。因为该模式对流参数化和微物理过程方案丰富，针对历史个例，采用不同的物理过程方案，可以得到较好地效果。许广等采用WRF模式对2012年5月16日江苏北部的一次飑线过程进行了数值模拟，探讨了不同对流参数化过程和云微物理过程对这次飑线的模拟效果，结果表明，在5 km模式水平分辨率情况下，采用云微物理过程方案的模拟结果要好于对流参数化方案，而在诸多云微物理过程方案中，Lin等的方案模拟的结果最接近实际，但他们没有对此次飑线的结构做更细致的分析 [ 16 ] 。本文是在该论文研究基础上进一步对此次飑线过程进行中尺度分析，探讨飑线的发生发展机制。
system: [SYSTEM]

user: 2. 模式和资料 WRF模式(Weather Research and Forecasting Model)是美国多所科研机构的科学家们共同研发了业务与研究共用的新一代高分辨率中尺度预报模式，是一种完全可压非静力模式。本文采用WRF 3.3版本，模式水平方向采用Arakawa C网格，垂直方向采用地形跟随坐标。采用三重嵌套方案，中心为(32˚N，120˚E)，从外到内区域水平分辨率分别为45、15、5 km，格点数分别为181 × 175、133 × 127、100 × 94。垂直分层35层，模式顶气压为50 hPa。对于对流降水的计算，不选择对流参数化方案，采用云微物理过程Lin等的方案 [ 17 ] ，边界层潜热、感热、动量的垂直通量采用ACM2方案 [ 18 ] [ 19 ] ，长波辐射采用RRTM方案 [ 20 ] ，短波辐射采用Dudhia方案 [ 21 ] 。初始场采用2012年5月16日0000UTC NCEP 1˚ × 1˚全球再分析资料，积分24 h，本文的分析采用5 km分辨率资料。
system: [SYSTEM]

user: 3. 飑线概况及大尺度形势分析 2012年5月16日，在东北冷涡背景下发展起来的飑线所带来的冰雹、大风、强降雨袭击苏北地区。该飑线发生发展直至消亡历时约7 h。自江苏徐州生成，途经宿迁、淮安、连云港、盐城，而后入海消亡。初生位置位于徐州附近的柳泉站(114.2˚E，39.5˚N)。0630UTC，柳泉开始出现几个孤立的对流单体，随后逐渐发展强盛，0830UTC对流单体发展强盛，回波最大强度达到65 dBZ。1100UTC，飑线移至盐城附近，强度减弱，其后入海消亡。过程中苏北大片地区出现大风、冰雹和强降水天气，宿迁、睢宁、连云港、灌云、灌南等地出现冰雹，部分地区出现的最大风力达到了24 m/s以上。 图1为2012年5月16日0000UTC初始形势场，为典型的冷涡背景形势。500 hPa东北冷涡有一横槽，槽后偏北风，槽前西北风。与一般槽线不同的是，槽后为暖平流，槽前到黄河北部一带为冷平流。700 hPa形势和500 hPa类似，且槽前后均有风速大于12 m/s的急流，槽后存在偏北风风速超过了24 m/s的急流中心。对流层低层850 hPa槽后西北风，为冷平流，槽前为西南风，暖平流较强。苏北地区处于高空槽前，该地区这种低层暖平流、中层冷平流的形势可以形成很强的位势不稳定层结，低空西南风急流可以为强对流区域输送大量暖湿空气，并可以形成扰动，有利于低空的辐合，激发飑线的形成。 图1. 2012年5月16日0000UTC形势场((a) 500 hPa; (b) 700 hPa; (c) 850 hPa，黑实线为位势高度(gpm)，红色虚线为等温线(℃)，绿色箭头为风矢(m/s)，棕色粗实线为槽线，阴影区为风速大于12 m/s的区域)
system: [SYSTEM]

user: 5. 结论 采用WRF中尺度数值模式对2012年5月16日江苏北部一次飑线过程进行数值模拟，分析该次飑线天气过程的大尺度背景场、飑线地面和高空的中尺度特征，以及中层涡度偶和飑线自激发展的机制，得到如下结论： 1) 东北冷涡南部低槽是飑线过程的大尺度背景形势，飑线发生在低层暖平流、中层冷平流的形成强位势不稳定层结大气中。 2) 云微物理过程Lin等的方案能够成功模拟此次飑线过程，模拟的雷暴高压、尾流低压及降水等天气过程与实况接近，模拟地面最大风速达到27 m/s。模拟的地面散度场存在一个“散度环”，雷暴高压带形成一条辐散线，其前部和后部各存在一条辐合线。 3) 飑线的气流与经典模式的顺切变和逆切变气流不同，上升气流和下沉气流基本处在同一垂直气柱中。由于上升气流源于中空，其在中高空产生的降水物质掉入下半部分的下沉气流中，不会对上升气流形成拖曳作用，同时，下降的降水物质在下沉气流中蒸发降温，在地面形成雷暴高压。 4) 利用线性化涡度方程，分析了飑线中层涡度偶形成的机制，垂直风切变和强垂直运动梯度相互作用在上升运动中心北侧形成负涡度，南侧形成正涡度。模拟的垂直环流和冷池分析验证了RKW理论，即雷暴高压中的冷池和垂直风切变相互作用的结果使得雷暴在冷池前缘新生，而在冷池后部消亡，飑线自激发展。
system: [SYSTEM]

user: 摘 要 关联缺陷具有不确定性，现有的一些软件测试方法与测试策略难以发现此类缺陷。本文提出了一种面向故障传播路径覆盖的软件测试方法，该方法在分析经验与历史数据的基础上，对缺陷特征和类型进行推测和归纳，从而培育出能够诱发这些缺陷的种子缺陷，并将其注入到软件代码中。通过设计算法，找到能够激活这些种子缺陷的测试用例，再以得到的测试用例作为输入，激活缺陷并覆盖其传播路径。最终在传播路径上发现潜在的关联缺陷。 关键词 :关联缺陷，故障传播路径，测试用例生成，改进的模拟退火算法(ISAA) Copyright © 2019 by author(s) and Hans Publishers Inc. This work is licensed under the Creative Commons Attribution International License (CC BY). http://creativecommons.org/licenses/by/4.0/
system: [SYSTEM]

user: 1. 引言 如今，软件在计算机系统中起着日益重要的作用，而随着人们对软件的依赖性越来越强，软件的可靠性问题在软件工程领域的重要性显得愈发明显。因此，软件测试在软件的生命周期中所占的比重越来越高。在对软件测试的过程中有学者发现，软件缺陷之间存在某种关联关系。 Katerina和Trivedi [ 1 ] 引入了失效关联的概念，认为在实际测试过程中软件失效不是相互独立的，并且提出了一种Markov更新模型来对有失效关联的软件可靠性进行建模。Chen [ 2 ] 等人认为测试回合不是相互独立的，在此基础上提出了一种二进制Markov过程模型，用来预测随机测试策略发现的软件失效数。Bishop [ 3 ] 等人指出可以用失效屏蔽效应来解释软件失效之间的关联关系，并可以通过适当的软件设计来杜绝失效关联。Mehmet [ 4 ] 则根据失效关联/分支覆盖关联定义了一种Bayesian测试停止规则，以决定何时停止测试。 在软件缺陷层面，景涛 [ 5 ] 提出了关联缺陷的定义，并将关联缺陷应用于软件检测过程中，提出了一种缺陷放回的测试方法来剔除关联缺陷。但是没有对缺陷之间关联的形式进行建模，也没有提出一种针对关联缺陷的测试方法。刘新忠 [ 6 ] 进一步推进了关联缺陷的研究，他认为关联缺陷的存在很大程度上是由于缺陷的检测能力被其它缺陷所屏蔽，并且引入了关联缺陷的P-NHPP模型来对关联缺陷进行检测和评估，但是对这类缺陷的预测和最后的验证没有系统的算法和方法。 在测试方法层面，宋想 [ 7 ] 提出了一种基本路径覆盖的测试用例生成方法，有效解决了软件测试中部分路径不可达的问题，却没有考虑关联缺陷并不仅存在于某一条基本路径，因此基于基本路径覆盖所生成的测试用例会约束缺陷检测率的提高。 综上所述，针对这种缺陷的预测，我们将使用引入种子缺陷的方法，来诱发与之相关联的缺陷，使其成为可测的故障；而针对最后的验证我们将提出一种基于故障传播路径覆盖的测试方法，利用智能算法测试用例自动生成的功能不断尝试输入，尽可能多地覆盖故障传播路径，在这一过程中发现更多的缺陷。最后，设计对比实验，验证相比较全路径覆盖测试法和基本路径覆盖测试法，基于故障传播路径覆盖的缺陷测试法可以用最少的测试用例发现最多的缺陷数量。
system: [SYSTEM]

user: 2. 相关知识 2.1. 基于路径覆盖的软件测试方法 2.1.1. 基于路径测试方法 文献 [ 8 ] 程序的路径是程序中顺序执行的一个语句序列，是由控制流图中的一系列节点组成。在实际测试中，一个不太复杂的程序，其路径数都是一个庞大的数字。为了解决这一难题只得把路径数压缩到一定限度内，如程序中的循环体只执行一次。因此，基本路径集满足了实际测试过程中的这种需求。基本路径集具有以下特点：1) 每一条路径都是一条独立路径；2) 程序中所有的边都被访问；3) 程序中的所有的、不属于该基本路径集的路径都可以由这个基本路径集中的路径经过线性运算得到。 基本路径覆盖的测试方法可以描述为：将覆盖程序的基本路径集作为测试的目标，在程序的输入空间中寻找测试数据，使得该测试数据为输入，运行程序后执行基本路径的过程。 2.1.2. 故障传播路径测试法 故障传播路径，即对缺陷演化过程的一种描述方式。当软件系统中某个节点发生故障时，可能会逐步向其他节点扩散。在故障扩散的过程中故障会有限选择传播概率较大的路径进行传播(传播概率可以从故障历史数据中提取，也可以根据系统参数进行估计) [ 9 ] 。我们把这种发生一系列故障的节点所在的路径就叫做故障传播路径。 故障传播路径测试法就是通过引入培育的种子缺陷，使其能够激发一系列的潜在缺陷，继而设计测试用例，运行程序后执行这一系列缺陷所在的故障传播路径的方法。该方法的优势在于引入种子缺陷之后能够引发直接运行程序不容易发现的潜在缺陷，因此相比较其他的路径测试法，可以发现更多的缺陷。 2.2. 故障传播路径的建模 故障传播模型的建立基于两个基本前提：1. 测试过程中在一个缺陷被激活变为故障继而演化为失效的过程中更容易激发其它的缺陷，即缺陷具有动态群聚性。2. 关联缺陷的发现需要首先激活一个缺陷，才能触发与之相关联的缺陷 [ 5 ] 。
system: [SYSTEM]

user: 3. 基于故障传播路径覆盖的缺陷测试方法原理 基于上一部分叙述的两个前提，我们提出了故障传播路径覆盖的软件测试方法原理。 (1) 为了发现新的缺陷，我们采用缺陷注入的方法，引入种子缺陷，并设计测试用例激活该种子缺陷使之成为故障，在覆盖该故障传播路径的过程中发现新的未知缺陷。 (2) 缺陷注入的关键在于培育典型缺陷，在这个过程中运用了测试用例设计中的猜错的方法。所谓典型缺陷就是通过传播诱发新缺陷的能力强，且类型与被测软件特点相吻合。这些特点的来源可以是以往对类似软件测试的经验或者从已有的缺陷类型总结中提取。 (3) 通过借鉴已有的软件建模形式(例如状态图、程序切片或者复杂网络)对被测软件进行建模，从而找到一种对传播路径进行准确便捷的描述方式。在本文中，由于我们是研究基于路径覆盖的测试方法，因此选用控制流图的形式对软件进行建模。 (4) 利用智能算法的自动生成测试用例的功能，不断尝试用例输入，激活缺陷，执行覆盖故障传播路径，在此过程中发现更多的潜在缺陷，从而比其他测试方法发现更多的缺陷。
system: [SYSTEM]

user: 4. 算法介绍 在测试过程中，需要不断尝试输入，激活注入的缺陷使之成为故障，并且需要判断每次的输入是否覆盖了故障传播的路径，以及在该传播路径上是否发现了新的缺陷。这个过程需要大量的设计测试用例，而文献 [ 10 ] 中提到了一种改进的模拟退火智能算法(SAA)可以自动生成测试用例，已有的模拟退火算法在软件测试用例的生成的应用中，对劣解的处理只是单纯的依概率接受，这导致了接受劣解的过程只是出于形式化的考虑，或者是很盲目的去寻找局部最优解之外的全局最优解。然而在实例运用中，由于效率和时间的限制，很少会出现最优解之外的全局最优解。改进的退火算法通过缺陷覆盖率和语句覆盖率结合的双重校验的思想，也就是在原有的外层状态接收函数中嵌套了另外一层状态接受函数，并且在迭代的过程中通过设置的判断条件对输入进行优化使之向我们需要的方向不断进化，这样就满足了我们的测试需求。因此在寻找新的缺陷的过程中我们使用了模拟退火智能算法，大大减少了测试人员的工作量。退火算法的基本流程介绍如图1所示。 图1. 退火算法流程 在该算法中，我们设定初始温度为T = 100℃，降温系数为k，每次降温幅度为kT。因此，T2 = T1 − kT。随机产生初始测试用例集，运行程序之后得到结果，即覆盖的路径数和新发现的缺陷数。到此为止，第一次迭代结束。然后从输入域产生一组新的输入，运行程序。得到新的结果。判断是否覆盖了更多的路径，如果是，则接受这一组新的输入，并且判断是否满足了算法的终止条件。如果满足，则算法终止。如果不满足，则降低温度，然后在当前输入的邻域内寻找新的测试用例集。再进行下一次迭代。如果新的输入没有覆盖到更多的路径，那么我们需要再次判断是否发现了更多的新的缺陷。如果是，则依照概率接受这一组新的输入。如果不是，则舍弃当前输入，在原输入的邻域内寻找新的测试用例集，开始下一次迭代。直到算法结束。
system: [SYSTEM]

user: 5. 对比实验的设计与结果分析 5.1. 被测软件介绍 本章实例验证选取的是calendar软件作为实验对象。由于该日历软件实现的功能较多，结构复杂，涉及过多操作类的测试用例，且本文对复杂软件系统测试方法研究深度有限，因此，只选取了其中一个next date模块进行测试。该模块的主要功能是输入一个日期序列，可以自动计算下一个日期并以序列形式输出。该模块的特点是程序结构清晰，路径数量适中，适合作为本章的实例进行该方法的验证。 5.2. 实验步骤 5.2.1. 分析软件结构 分析被测程序结构，导出控制流图，得到圈复杂度。控制流图如图2所示，其中，圈复杂度 = 独立路径条数 = 41。 图2. 被测软件控制流图 5.2.2. 基于软件需求的初始测试用例集设计 被测程序为calendar软件的一个next date功能模块，要实现的功能是随机输入一个2000年到2999年之间的日期，系统能够自动输出后一天的日期。那么在实验中我们给出的初始测试用例就是随机的在2000年到2999年之间取41个日期，作为三组对比实验的初始测试用例。 5.2.3. 算法对比实验 第一个实验：随机测试法(random)，其原理是用初始测试用例作为第一次实验输入，运行程序，得到路径覆盖率。将被覆盖路径所对应的测试用例集中的日期按照原有顺序保存，然后随机更新初始测试用例集中其它的日期，作为第二次实验的输入，以此往复不断迭代生成新的测试用例集。直到路径覆盖率达到100%，记录此时算法的迭代次数和最终得到的测试用例集。 第二个实验：模拟退火算法(SAA)，其原理是用初始测试用例作为第一次实验输入，运行程序，得到路径覆盖率。将被覆盖路径所对应的测试用例集中的日期按照原有顺序保存，然后给其余的日期一个微小的扰动，将年月日中的任意一个数字加一或者减一，得到一组新的测试用例集，作为第二次实验的输入。若第二次得到的覆盖率大于第一次，那么，以第二次的输入作为新的初始输入进行下一次迭代；如果第二次得到的覆盖率比第一次小，则依概率接受第二次初始输入，否则保留第一次输入。以此往复不断迭代生成新的测试用例集。直到路径覆盖率达到100%，记录此时算法的迭代次数和最终得到的测试用例集。 第三个实验：改进的模拟退火算法(ISAA)，其原理是用初始测试用例作为第一次实验输入，运行程序，得到路径覆盖率。将被覆盖路径所对应的测试用例集中的日期按照原有顺序保存，然后给其余的日期一个微小的扰动，将年月日中的任意一个数字加一或者减一，得到一组新的测试用例集，作为第二次实验的输入。若第二次得到的覆盖率大于第一次，那么，以第二次的输入作为新的初始输入进行下一次迭代；如果第二次得到的覆盖率比第一次小，则先判断第二次的语句覆盖率大于第一次，如果是，则依概率接受第二次初始输入，否则保留第一次输入。以此往复不断迭代生成新的测试用例集。直到路径覆盖率达到100%，记录此时算法的迭代次数和最终得到的测试用例集。 5.2.4. 路径覆盖对比实验 在软件测试中，圈复杂度可以用来衡量一个程序结构的复杂程度，数量上表现为独立路径的条数，即发现错误所需要测试的最少路径条数 [ 11 ] 。圈复杂度大说明程序代码测试和维护的难度越大。因此，该实验选取两个测试难度大小不同的程序，程序一为三角形判定程序，圈复杂度为4，程序二是next-date程序，圈复杂度为41。 两个被测程序中都存在着一定数量的已知缺陷，并且程序中分别注入了两个潜在缺陷。在用故障传播路径覆盖测试过程中引入了能够诱发其中两个潜在缺陷的种子缺陷。两种方法在每次迭代的过程中产生的测试用例数都等于圈复杂度。 5.3. 实验结果及分析 算法对比实验结果如图3、图4所示，我们将第一组实验和第二组实验数据分别和第三组实验数据进行对比，其中横坐标为实验次数，纵坐标为迭代次数。 根据以上实验数据以及各组实验数据对比，我们可以得出以下几点结论： 1) 基于模型的测试技术与软件模型检验思想融合的集成测试框架将两者很好的结合起来，保证测试需求模型正确的同时，提高了测试用例的质量。 2) 第一组实验与第三组实验结果进行数据对比，我们可以看出，改进的模拟退火算法在覆盖同样多的路径时，所用的迭代次数比随机算法要少，即生成测试用例的效率要高。 3) 第二组实验与第三组实验结果对比可知，从方差上看，改进的模拟退火算法在测试用例生成方面的表现比传统的模拟退火要稳定。 路径覆盖对比实验结果如表1，表2所示。 表1中的结果显示，基本路径覆盖测试法在软式过程中发现了4处缺陷，不包括注入的关联缺陷。而基于故障传播路径覆盖的测试法却能够在使用相同数量测试用例的情况下发现包括关联缺陷在内的所有已知缺陷。与表1中的结果相同，实验二同样证明了由于种子缺陷的引入和基于故障传播路径的覆盖，本文提出的方法可以达到用最少的测试用例发现更多缺陷的目的。 图3. 第一、三组实验结果对比曲线 图4. 第二、三组实验结果对比曲线 Table 1 Number of defects found in program one (average 实验迭代次数 基本路径覆盖 故障传播路径覆盖 100 1 1 200 3 3 500 4 5 1000 4 6 1500 4 6 表1. 程序一中发现的缺陷数量(平均) Table 2 Number of defects found in program two (average 实验迭代次数 基本路径覆盖 故障传播路径覆盖 100 4 4 200 4 6 500 4 6 800 5 8 1000 6 8 1500 8 9 1800 8 10 2000 8 10 表2. 程序二中的缺陷数量(平均)
system: [SYSTEM]

user: 6. 结论 从上述的实验结果分析中可以看出，由于基于故障传播路径覆盖的软件测试方法引入了故障传播路径的模型，并且在软件测试过程中根据对软件缺陷类型的预测，引入了培育好的种子缺陷，通过改进的退火算法生成测试用例集，激活了基本路径覆盖测试法等其他方法所不容易发现的、与种子缺陷相关联的潜在缺陷。因此，这种方法基本可以达到用最少的测试用例发现更多缺陷的目的，可以更有效地为软件的可靠性提供保障。
system: [SYSTEM]

user: 摘 要 随着信息爆炸时代的到来，信息数据本身所具有的大量性、高速性、多样性为数据科学和大数据技术带来了天然的应用场景。本文通过研究大数据的特点、相关理论和技术，剖析了大数据实践应用及发展现状，给出了大数据相关的几个重要方法及其应用的简要全景图，为大数据的推广和应用提供参考。 关键词 :大数据，机器学习，云计算 Copyright © 2019 by author(s) and Hans Publishers Inc. This work is licensed under the Creative Commons Attribution International License (CC BY). http://creativecommons.org/licenses/by/4.0/
system: [SYSTEM]

user: 1. 引言 “大数据”的概念已经提出了很多年。从一开始的神秘到如今的快速发展，对人们的生活产生了巨大的影响。从当初在巴士站、的士站人们的久久等待到如今随手滴滴打车的迅速接驾，从起初淘宝购物大海捞针似地寻找心仪的商品到如今淘宝主页精准的商品推荐，从当初为了美食一家一家店的尝试到如今根据美团推荐随心所欲挑选心仪饭店，可以说“大数据”已经渗入到生活的方方面面，为人们的生活提供了巨大的便利。 从二十世纪八十年代进入信息时代以来，信息爆炸和互联网的普及使得数据量呈指数级增长，数据量及类型的增长速度也早已超越了摩尔定律的限制。只2015年每天就有4.7个万亿字节的数据产生。据IBM研究指出目前大概90%的数据是近两年产生的。百度产生数PB的用户搜索数据，八亿八千万在线交易产生的20 TB的数据发生在淘宝平台。马云曾在第五届阿里巴巴技术论坛说：“我们正在从IT时代走向DT时代(数据时代)。IT和DT之间，不仅仅是技术的变革，更是思想意识的变革，IT主要是为自我服务，用来更好地自我控制和管理，DT则是激活生产力，让别人活得比你好。”这一切都说明，大数据时代已经到来。
system: [SYSTEM]

user: 2. 大数据的特点 “大数据”的概念起始于二十世纪九十年代，由John Mashey提出并将其发扬光大 [ 1 ] 。该概念通常是指那些传统统计分析软件无法在可容许的时间内抓取、处理的数据集。“大数据”的数据规模不仅仅是一个静态的数值，它可能是一个不断积累的量，所以对其处理所使用的技术手段提出了新的要求。传统的数据分析更多的是采用随机抽样调查的方法，而大数据则是运用所有相关数据来进行挖掘分析。 2001年，META集团(Gartner)分析师Doug Laney在其报告中从三个维度定义了数据增长：Volume (大量)，Velocity (高速)，Variety (多样)。随后工业界逐渐沿用“3V”模型来描述大数据 [ 2 ] 。2012年，META集团对该理论提出了改进指出：大数据是通过新数据科学处理模式才能具有更强决策力、洞察发现力及流程优化能力的海量和多样化的信息资产。海量且多样化的数据为具体问题提供了更多的信息，充分利用海量数据中的信息来解决问题，这就是大数据的价值。2015年以来，随着深度学习的快速发展，卷积神经网络处理高维空间数据、循环神经网络处理高维序列数据以及深度置信网络实现数据生成模型为大数据产业的升级转化提供了新的技术温床；同时一定程度上实现了真正意义上的大数据高维性(˃10 8 )突破 [ 3 ] [ 4 ] [ 5 ] [ 6 ] 。 研究大数据，需要从理论、技术和实践三个方面来展开。具体框架如图1所示。
system: [SYSTEM]

user: 3. 大数据相关的理论 理论是认知的必经途径，是任何技术方法被广泛认同和传播的基线。通过大数据的特征定义理解各行各业对大数据的整体描绘和定性；通过基于机器学习算法的大数据科学建模，实现大数据信息精准导向在各行各业中的应用，进而实现大数据价值的探讨来深入解析大数据的珍贵所在；因为精准，所以更需要考虑大数据安全隐私问题，从这一重要的视角审视人和数据之间的长久博弈。 图1. 研究维度 大数据的理论方法，更多的是从机器学习发展来的。谈到机器学习，首先要理解的是机器学习、数据挖掘和大数据之间的关系。大数据以海量多样数据为研究对象来提出全方位精确解决方案的过程，其中包括数据处理、数据分析和数据挖掘等步骤。然而，数据挖掘却受到很多学科领域的影响，其中数据库、机器学习、统计学无疑影响最大。对数据挖掘而言，数据库提供数据管理技术，机器学习和统计学提供数据分析技术。统计学对大数据的理论的研究发展至关重要，通过统计学界提供的坚实理论基础转化为实用机器学习算法之后进入数据挖掘领域，从而使得基于机器学习算法的大数据研究具有牢固的理论基石。 机器学习是人工智能领域的基础理论方法，主要研究计算机如何模拟或实现人类学习行为，以获取新知识或新技能，重新组织已有的知识结构进而不断改善自身性能。由于部分机器学习并不能处理海量数据，因此需要对相应的算法进行适度改进以适应海量数据，使得算法性能和空间占用达到最优实用的地步 [ 7 ] [ 8 ] 。 机器学习算法可以分为监督学习算法和无监督学习算法两类。监督学习算法是对具有标记的训练样本进行学习，以尽可能对训练样本集以外的数据进行标记预测。回归问题就是典型的监督学习问题。无监督学习算法是对没有标记的训练样本进行学习，以发现训练样本集中的结构性知识。聚类就是典型的无监督学习问题。具体的算法分类如图2所示。 比较主流、成熟和应用广泛的大数据算法有聚类算法、广义主成分分析、支持向量机(SVM)、决策树算法、逻辑回归、随机森林算法、贝叶斯网、神经网络算法、因子分析和关联分析。正如图中所示，针对不同的问题我们有不同的解决办法。例如：支持向量机、卷积神经网络及贝叶斯网算法是从机器学习算法改进而来的，更多的是针对预测、分类问题；而聚类、广义主成分分析和因子分析等算法是基于统计理论分析不同数据变量之间的相关关系的算法 [ 9 ] 。 探究数据的内在规律，除了高大上的大数据建模算法和数据处理之外，统计学中的基础统计分析方法也尤为重要。在追求更细致、更完美结果的过程中，那些基础的、经典的推理分析所得出的结果或许更能够一针见血的说明问题。 图2. 算法分类