计算智能理论作业

计算智能理论作业
计算智能理论作业

几种智能计算方法的研究及应用进展

本文对几种常用的智能计算方法(遗传算法、粒子群优化算法、蚁群优化与免疫算法)的理论、特点进行了归纳总结,并对四种智能计算方法的应用范围和前景进行了概括和探讨。

1、遗传算法

1.1 概述

遗传算法[1]是一类借鉴生物界的进化规律(适者生存,优胜劣汰遗传机制)演化而来的自适应概率性随机化迭代搜索算法。1962年霍兰德(Holland)教授首次提出了GA算法的思想,它的基本思想是基于Darwin进化论和Mendel的遗传演说。Darwin进化论最重要的是适者生存的原理,它认为每一代种群总是向着前进方向发展,越来越适应环境。每一个个体都有继承前代的特性,但不是完全继承,会产生一些新特性。最终只有适应环境的特征才能被保留下来。Mendel遗传学说最重要的是基因遗传原理,它认为遗传以密码方式存在细胞中,并以基因形式包含在染色体内。一条染色体中存在很多基因,每个基因有自己的位置并控制着外部特征;基因的产生和变异直接影响到个体的特性是否能适应环境。经过存优去劣的自然淘汰,适应性高的基因结构得以保存下来。

遗传算法正是借用了仿真生物遗传学和自然选择机理,通过自然选择、遗传、变异等作用机制,实现各个个体的适应性的提高。

与自然界相似,遗传算法对求解问题的本身一无所知,从代表问题可能潜在解集的一个种群(population)开始,每一个种群则由经过基因(gene)编码(coding)的一定数目的个体(individual)构成。每个个体实际上是染色体(chromosome)带有特征的实体。把问题的解表示成染色体,并基于适应值来选择染色体,遗传算法所需要的仅是对算法所产生的每个染色体进行评价,使适应性好的染色体有更多的繁殖机会。在算法中也就是以二进制编码的串。并且,在执行遗传算法之前,给出一群染色体,也就是假设解。然后,把这些假设解置于问题的“环境”中,也即在一个适应度函数中来评价。并按适者生存的原则,从中选择出较适应环境的染色体进行复制,淘汰低适应度的个体,再通过交叉,变异过程产生更适应环境的新一代染色体群。对这个新种群进行下一轮进化,直到最适合环境的值。

1.2遗传算法的基本原理和特点

1.2.1 算法原理

在遗传算法中,通过随机方式产生若干个所求解问题的数字编码,即染色体,形成初始种群;通过适应度函数给每个个体一个数值评价,淘汰低适应度的个体,选择高适应度的个体参加遗传操作,经过遗传操作后的个体集合形成下一代新的种群,再对这个新种群进行下一轮进化,这就是遗传算法的基本原理。

遗传算法的主要步骤如下:

1)随机产生一个由确定长度的特征串组成的初始群体;

2)对串群体迭代地执行步骤(1)和(2),直到满足停止准则:

(1)计算群体中每个个体的适应值。

(2)应用复制、杂交和变异算子产生下一代群体。

3)把在任一代中出现的最好的个体串指定为遗传算法的执行结果。这个结果可以表示问题的一个解(或近似解)。

基本遗传算法的流程图如图1-1,其中GEN是当前代数,M为每代种群中最大个体数。

图1-1基本遗传算法的流程图

1.2.2算法特点

遗传算法的特点如下:

1) 遗传算法中不包含待解决问题所持有的形态。它是从改变基因的配置来实现问题的整体优化的,因而属于自下而上的优化方法;

2) 类似于生物的进化过程,遗传算法处理的是变量集合的编码而非变量本身。它直接对结构对象进行操作,不存在求导和函数连续性的限定;

3) 遗传算法具有内在的隐并行性和更好的全局寻优能力;

4) 遗传算法采用概率化的寻优方法,能自动获取和指导优化的搜索空间,自适应地调整搜索方向,不需要确定的规则。

遗传算法的这些特点已被人们广泛地应用于组合优化、机器学习、信号处理、自适应控制和人工生命等领域。它是现代有关智能计算中的关键技术之一。

1.3遗传算法的应用

进入90年代后,遗传算法迎来了兴盛发展时期,无论是理论研究还是应用研究都成了十分热门的课题。尤其是遗传算法的应用研究显得格外活跃,不但它的应用领域扩大,而且利用遗传进行优化和规则学习的能力也显著提高,同时产业应用方面的研究也在摸索之中。

遗传算法提供了一种求解复杂系统问题的通用框架,它不依赖于问题的具体领域,对问题的种类有很强的鲁棒性,所以广泛应用于很多学科。如工程结构优化、计算数学、制造系统、航空航天、交通、计算机科学、通信、电子学、材料科学等。

1)GA在数值优化上的应用

最优化问题是遗传算法经典应用领域,但采用常规方法对于大规模、多峰态函数、含离散变量等问题的有效解决往往存在许多障碍。对全局变化问题,目前存在确定性和非确定性两类方法。前者以Brianin的下降轨线法、Levy的隧道法和R.Ge的填充函数为代表。该类方法虽然收敛快、计算效率高,但算法复杂,求得全局极值的概率不大。

遗传算法作为现代最优化的手段,实践证明,它应用于大规模、多峰多态函数、含离散变量等情况下的全局优化问题是合适的,在求解速度和质量上远远超过常规方法。

2)GA 在组合优化中的应用

组合优化(combinational optimization)是遗传算法最大基本的也是最重要的研究和应用领域之一。所谓组合优化是指在离散的、有限的数学结构上,寻找一个满足给定约束条件并使其目标函数值达到最大或最小的解。一般来说,组合优化问题通常带有大量的局部极值点,往往是不可微的、不连续的、多维的、有约束条件的、高度非线性的NP完全问题,因此精确地求出组合优化问题的全局最优解一般是不可能的。遗传算法作为一种新型的、模拟生物进化过程的随机化搜索、优化方法,近十几年来在组合优化领域得到了相当广泛的研究和应用,并已在解决诸多典型组合优化问题中显示了良好的性能和效果,例如,求解背包问题,作业调度问题等。

3)遗传算法在机器学习中的应用

机器学习系统实际上是对人的学习机制的一种抽象和模拟,是一种理想的学习模型。基于符号学习的机器学习系统如监督型学习系统、条件反射学习系统、类比式学习系统、推理学习系统等,只具备一些较初级的学习能力。近年来,由于遗传算法的发展,基于进化机制遗传学习成为一种新的机器学习方法,它将知识表达为另一种符号形式—遗传基因型,通过模拟生物的进化过程,实现专门领域知识的合理增长型学习。

4)遗传算法在并行处理中的应用

遗传算法固有的并行性和大规模并行机的快速发展,促使许多研究者开始研究遗传算法的并行化问题,研究数量更加接近自然界的软件群体将成为可能。遗传算法与并行计算的结合,能把并行机的高速性和遗传算法固有的并行性两者的长处彼此结合起来,从而也促进了并行遗传算法的研究与发展。

5)遗传算法在人工生命中的应用

人工生命是用人工的方法模拟自然生命的特有行为,而基于遗传算法进化模型是研究人工生命的主要基础理论之一,因此二者有着密切的关系。遗传算法、遗传编程和进化计算等是人工生命系统开发的有效工具。一般而言,遗传操作过程和进化计算机制非常适合于描述人工生命系统。

6)遗传算法在图解处理、模式识别中的应用

图像处理和模式识别是计算机视觉中的一个重要研究领域,在图像处理过程中,如扫描、特征提取、图像侵害等不可避免地会产生一些误差,这些误差会影响到图像处理和识别的效果。如何使这些误差最小是使计算机视觉达到实用化的重要要求。遗传算法在图像处理中的优化计算方面是完全能胜任的,目前已在图像校准、图像侵害、几何形状识别、图像压缩、三维重建优化以及图像检索等方面得到了应用。

7)遗传算法在生产调度问题中的应用

生产调度问题在许多情况下所建立起来的数学模型难以精确求解,即使经过一些简化之后可以进行求解,也会因简化太多而使得求解结果与实际相差甚远。因此,目前在现实生产中也主要靠一些经验进行调度。遗传算法已成为解决复杂调度问题的有效工具,在单件生产车间调度、流水线车间调度、生产规划、任务分配等方面遗传算法都得到了有效的应用。

8)遗传算法在计算智能中的地位

计算智能系统是在神经网络、模糊系统、进化计算三个分支发展相对成熟的基础上,通过相互之间的有机融合而形成的新的科学方法,也是智能理论和技术发展的崭新阶段。这些不同的成员方法从表面上看各不相同,但实际上它们是紧密相关、互为补充和促进的。近年来的研究发现:神经网络反映大脑思维的高层次结构;模糊系统模仿低层次的大脑结构;进化系统则与一个生物体种群的进化过程有着许多相似的特征。这些研究方法各自可以在某些特定方面起到特殊的作用,但是也存在一些固有的局限。因此,将这些智能方法有机地融合起来进行研究,就能为建立一种统一的智能系统设计和优化方法提供基础。基于这种考虑,将三者结合起来研究已经成为了一种发展趋势。1994年起,IEEE的神经网络、模糊系统、进化计算三大会议合在一起召开,就反映了这种趋势,计算智能作为人工智能新发展的主流地位就从此确定了。

2、粒子群优化算法

2.1概述

粒子群优化算法(Particle Swarm Optimization,PSO)是一种新型的仿生算法,由Kennedy和Eberhart于1995年提出[2,3]。该算法是基于群体智能(Swarm Intelligence,SI)的优化算法,其功能与遗传算法(Genetic Algorithm,GA)非常相似[4]。PSO优化算法因其需要调节的参数少,具有简单且易于实现的优点,因此越来越多地被应用于函数优化、神经网络训练、模式分类以及其他领域[5]。但是,其数学基础不完善,实现技术不规范,在适应度函数选取、参数设置、收敛理论等方面还存在许多需要深入研究的问题。本文主要是

介绍PSO 算法原理和特点,并在此基础上提出一种改进的PSO 算法,并用测试函数对其进行验证。

2.2粒子群算法的基本原理和特点

2.2.1 算法原理 粒子群优化算法的基本概念是源于对鸟群捕食行为的模仿研究,人们从鸟群捕食过程当中得到启示,并用于解决优化问题。在PSO 算法中,每个优化问题的解都是搜索空间中一个粒子。所有的粒子都有一个由被优化的函数决定的适应度值,每个粒子还有一个速度(v )决定它们飞行的方向和距离。PSO 初始化为一群随机粒子,然后粒子根据当前的最优粒子在解空间中搜索最优解。在每一次迭代中,粒子都是通过跟踪两个“极值”来更新自己,一个就是粒子自身找到的最优解,称个体极值(pbest );另一个极值是整个群体找到的最优解,称全局极值(gbest )。如果粒子的群体规模为M ,目标搜索空间为D 维,则第i (i=1,2,…,M )个粒子的位置可表示为Xi ,它所经过的“最好”位置记为pi ,速度用Vi 表示,群体中“最好”粒子的位置记为pg 表示,那么粒子i 将根据下面的公式来更新自己的速度和位置:

()()1112211id id

k k k k id id id gd k k k id id id V V c r p X c r p X X X V +++=+-+-=+

其中,d=1,2,…D ,c 1,c 2为大于零的学习因子或称作加速系数;r 1和r 2是[0,1]上的随机数;

粒子在解空间内不断跟踪个体极值与全局极值进行搜索,直到达到规定的迭代次数或满足规定的误差标准为止。粒子在每一维飞行的速度不能超过算法设定的最大速度v max 。设置较大的v max 可以保证粒子种群的全局搜索能力,v max 较小则粒子种群的局部搜索能力加强。

2.2.2算法特点

虽然PSO 的功能与遗传算法极其类似,但存在如下显著的优点:无交叉和变异运算,仅依靠粒子速度完成搜索空间;有记忆性,每个粒子和群体的历史最优位置可以记忆并传递给其他粒子,而且需要调整的参数少,结构简单,易于实现;跟遗传算法采用的二进制编码不同,PSO 采用实数编码,直接由问题的解决定,问题解的变量数作为粒子的维数;收敛速度快,在迭代过程中只有最优的粒子把信息传递给其他粒子,属于单向的信息流动,整个搜索更新过程是跟随当前最优解的寻优迭代过程。

与进化算法比较,PSO 保留了基于种群的全局搜索策略,但是其采用的“速度—位移”模型操作简单,避免了复杂的遗传操作。其特有的记忆使其可以动态跟踪当前的搜索情况调整其搜索策略。与进化算法比较,粒子群优化算法是一种更高效的并行搜索算法[6]。

2.3粒子群算法的应用

1) 函数优化

许多实际的工程问题本质上是函数优化问题,或者可以转化为函数优化问题进行求解,

对于函数优化已经有一些成熟的解决方法如遗传算法。但是对于超高维、多局部极值的复杂函数而言,遗传算法往往在优化的收敛速度和精度上难以达到期望的要求。

Angeline经过大量的实验研究发现,粒子群优化算法在解决一些典型的函数优化问题时,能够取得比遗传算法更好的优化结果[7]。

Shi与Eberhart的实验证明,对大多数的非线性标准测试函数,PSO在收敛速度和解的精度上均较遗传算法有一定的改善[8]。

2) 神经网络训练

神经网络的训练问题属于超高维的优化问题。常用的反向传播(BP)算法难以克服局部最优问题,而遗传算法由于其复杂的进化操作,优化速度缓慢。研究表明,PSO是一种很有潜力的神经网络训练算法,PSO搜索速度较快而且可以得到比较好的优化结果,克服了上述两种算法的缺点[9]。在实际应用问题(如运用PSO算法训练神经网络进行医疗诊断)取得了较高的成功率,目前正在将其推广到更多的应用领域。

3) 模糊系统控制

模糊控制以模糊集理论作为其理论基础,由Zadeh教授于1965年提出,已经在很多实际领域取得成功应用。其中基于模糊系统控制的全自动洗衣机已经进入实用阶段。模糊规则自动生成是模糊控制领域的关键性技术之一。同样,模糊规则的设定也是模糊控制器开发的核心。对于多输入或多模糊度的控制对象,模糊规则的生成已经证明是NP-hard问题。因此,研究模糊规则的自动生成具有重要的研究和应用价值。

利用PSO算法优化模糊控制系统,设计模糊控制器的研究尚处于起步阶段。目前,学者致力于研究模糊神经网络系统自动提取模糊规则,并在一些典型的问题上取得进展,这对于将自动生成模糊规则的模糊控制器在应用领域的推广有很大启示。

4) 粒子群优化算法的工程应用概述

粒子群优化算法在一些实际应用领域也有很好的进展。

首先,日本的Fuji电力公司的研究人员将电力企业著名的RPVC(Reactive Power and Voltage Control)问题简化为函数优化问题,并使用改进的PSO算法进行优化求解。与传统方法如专家系统、敏感性分析相比,实验产生的结果证明了PSO算法在解决该问题的优势。

其次,将PSO算法与BP算法相结合训练神经网络已用于对电动汽车燃料电池组实时充电情况的模拟。对电动汽车燃料电池带电状况的模拟是电动汽车以及混合动力汽车技术发展过程中的重大课题。实验证明相对于1996年Eberhart,Simpson和Dobbins的模拟方法,上述方法的模拟精确程度明显提高。

此外,PSO算法已被美国一家公司用于各种生物化学成分的优化组合,进而人工合成微生物。与传统的工业优化方法比较,PSO产生合成结果的适应度是传统方法的两倍。实验的优化过程充分显示了PSO算法的优越性:尽管一种劣质成分在一定的迭代次数内能够影响优化搜索的进程,但是PSO最后总能得到比较理想的合成结果。这是因为PSO本质而言能够搜索到更大范围内的优化问题的解空间。

总的来说,粒子群优化算法与其他进化算法一样,可以解决几乎所有的优化问题,或者是可以转化为优化问题进行求解的问题。其中最具应用前景的领域包括多目标问题的优化、系统设计、分类、模式识别、生物系统建模、规划、信号处理、决策和模拟等等。目前,在模糊控制器的设计、图像分割、EEG信号模拟、语音识别、烧伤诊断以及探测移动目标等方面已经有成功应用的先例。

3、蚁群算法

3.1 概述 蚁群算法是一种新型的模拟自然界蚁群行为的进化算法,由意大利学者Dorigo M 等[10]人于20世纪90年代初首先提出。该算法采用了分布式并行计算机制,易于与其他优化算法相结合,而且具有鲁棒性较强、正反馈等许多优点,具有无中心控制和分布式个体之间间接通信的特征,被广泛的应用于求解复杂的优化问题。

3.2蚁群算法的基本原理和特点

3.2.1 算法原理 蚂蚁个体之间是通过一种称为信息素的物质进行信息传递,在运动过程中,能够在路径上留下一定量的信息素,并以此来指导自己的运动方向。蚂蚁都倾向于朝信息素浓度高的方向移动。因此由大量蚂蚁组成的蚁群的集体行为就表现出一种正反馈现象:某路径上走过的蚂蚁越多,后者选择该路径的概率就越大。蚂蚁个体之间就是通过这种信息交流来觅食的。 下面以具有代表性的TSP 问题为例介绍其基本算法。TSP 问题可以描述如下: 设C={c 1,c 2,……,c n }为n 个城市的集合,L={l ij |c i ,c j ∈C}

是C 中元素两两连接的集合,G=(C ,L )是一个图,各个城市之间的距离是已知的,TSP 问题的求解目标是从G 中找出长度最短的Hamiltonian 回路,也就是寻找一条遍历所有n 个城市有且仅有一次最后返回到出发城市的最短路径。

设b i (t )表示t 时刻位于元素i 的蚂蚁数,τij (t )为t 时刻路径(i ,j )上的信息量,时刻集合C 中元素两两连线ij l 上残留信息量的集合。每只简单的蚂蚁有以下特征: (1)根据以城市距离和连接边上信息素的数量为变量的概率函数选择下一个城市;

(2)完成一次循环后,蚂蚁在其访问过的每条边上留下一定量的信息素;

(3)规定蚂蚁走合法的路线,在完成一次循环之前,不允许蚂蚁选择已访问过的城市,由禁忌表来控制该过程。设tabu k 表示第k 只蚂蚁的禁忌表,在蚂蚁k 经过城市i 后,就将i 加入到禁忌表tabu k 中,表示下次不能选择城市i 。tabu k (s )表示禁忌表中第s 个元素。 算法初始时刻,把m 只蚂蚁随即放到n 个城市,将每只蚂蚁当前所在的城市加入到其禁忌表中,此时,各条路径上的信息素量相等,并设τij (0)=C (C 为一较小常数)。在搜索过程中,蚂蚁k 根据各条路径上的信息素量及路径的启发式信息来决定转移方向,此种状态转移规则称为随机比例规则。

一些学者对蚁群算法进行了改进,改进主要是从局部搜索策略、蚂蚁内部状态、信息素更新策略及选择策略四个方面进行,都取得了较好的效果。如自适应蚁群算法、基于信息素扩散的蚁群算法、多态蚁群算法、基于信息熵的改进蚁群算法、基于网格划分策略的连续域蚁群算法、基于交叉变异操作的连续域蚁群算法等。

蚁群算法还能与其他优化算法相融合,从而相互取长补短,改善算法的性能。目前这方面的研究有蚁群算法与遗传算法、人工神经网络、粒子群算法及人工免疫算法等算法之间的融合。这些融合了的算法在解决某些特定问题时,表现出了比较优异的性能,因此,设计新的融合策略结合其他优化算法进一步改善蚁群算法的性能是非常有意义的研究方向。

3.2.2算法特点

蚁群算法自20世纪90年代出问世以来,其理论和应用都有了很大的进步,从最初求解TSP问题开始,逐渐发展为一个优化工具,并成功地应用到科学和工程中的多个领域。蚁群算法具有分布式计算、无中心控制、个体之间异步间接通信等特点,并且易于与其他优化算法相结合。

同时其也存在一些缺点:问题规模大时,其搜索时间长;易出现停滞现象;易陷于局部最优;在数学上缺少严格的理论基础及正确性和可靠性的有效证明。因此,蚁群算法还有很大尚待解决的问题,其应用也有待进一步挖掘。

蚁群算法仍有很多方面值得深入研究:

(1)目前大部分改进蚁群算法的普适性不强,同时其模型也不能直接应用于实际优化问题。因此,对通用的蚁群算法普适性模型的研究值得深入下去。

(2)同其他几种仿生优化算法相比较,蚁群算法没有坚实的数学基础。

(3)蚁群算法与其他算法之间的比较研究还处于起步阶段,与其他算法之间融合机制和策略仍有待进一步的探讨。

(4)仿生硬件是并行计算环境下的产物,蚁群算法的硬件实现是仿生硬件研究领域中的一个新分支,还存在许多问题需要解决。

(5)目前蚁群算法的应用领域大多是静态组合优化问题,如何使其应用于动态组合优化问题和连续优化问题也是一个研究方向。

3.3蚁群算法的应用

蚁群算法最初被应用到经典的组合优化问题,随着研究的深入,应用范围扩大到更多的组合优化问题,如在作业调度、网络路由、电力系统、生命科学、空战决策、聚类分析等领域都得到了广泛的应用,体现了蚁群算法的实用性和通用性。以下是几个蚁群算法应用的例子。

1)网络路由问题

将蚁群算法应用于解决受限路由问题,目前可以解决包括带宽、延时、丢包率和最小花费等约束条件在内的QoS组播路由问题,比现有的链路状态路由算法有明显的优越性。

2)电力系统领域

电力系统的许多优化问题本质上是属于组合优化问题。Gomez等[11]将蚁群算法应用于配电网络的规划。王林川等[12]将一种改进蚁群算法应用于配电网故障的定位。王海燕等[13]将蚁群算法应用于电力系统暂态稳定评估特征选择,减少了特征维数,提高了分类正确率。电力系统的这些组合优化问题的有效解决将为电力企业节省大量的资金,因此在电力系统的应用具有很大的实际价值。

3)航迹规划问题

航迹规划是指在特定的约束条件下,寻找运动体从初始点到目标点满足某种性能指标最优的运动轨迹。在空防技术日益先进、防空体系日益完善的现代战争中,航迹规划是提高飞

行器作战效能、实施远程精确打击的有效手段。因此对航迹规划方法的研究将有重要的现实意义。田伟等[14]提出了一种改进蚁群算法用于无人作战飞机的航路寻优过程,提高了无人作战飞机的航路寻优能力。孟祥恒等[15]将蚁群算法用于多无人机航迹规划。曹晋等[16]提出了一种基于蚁群算法的最小代价航迹规划方法,解决了航迹维数解算问题,为飞行器提供最优航迹规划路径。

总之,蚁群算法是一种很有前途的一种算法,也是一个很值得研究的领域。随着对其研究的不断深入,其应用也将更加广泛,其理论将更加成熟。

4、免疫算法

4.1 概述

免疫算法是模仿生物免疫原理和基因进化机制,通过人工方式构造的一类优化搜索算法,是对生物免疫过程的一种数学仿真,是免疫计算的一种最重要形式。人工免疫算法为完成各种特定任务,从不同的角度对免疫机制进行模拟,形成了不同的算法思想和结构,比如否定选择算法、基于疫苗的免疫算法等。

在进化过程中,免疫算法将与抗原的亲和性高的抗体加入到记忆单元中,所以记忆单元中用新加入的抗体取代与其亲和性最高的原有抗体,某些与抗原有较高亲和性的相同抗体也必须受到抑制,即与抗原亲和性高的抗体和低密度的抗体生存机率较大。

4.2免疫算法的基本原理和特点

4.2.1 算法原理

免疫算法由以下7个主要步骤组成。

步骤1:抗原识别

输入目标函数和各种约束作为免疫算法的抗原。

步骤2:产生初始抗体

在解空间中用随机方法产生抗体。

步骤3:计算亲和性

分别计算抗原和抗体V之间的亲和性Av及抗体V和抗体W之间的亲和性Av,w。

步骤4:记忆单元更新

将与抗原亲和性高的抗体加入到记忆单元,并用新加入的抗体取代与其亲和性最高的原有抗体。

步骤5:促进和抑制抗体的产生

计算抗体i的期望值Exi,期望值低的抗体将受到抑制。

式中,Ci 是抗体i的密度(即数目)。

由上式可知,与抗原亲和性高的抗体和低密度的抗体生存机率较大。由于高亲和性的抗体得到促进而高密度的抗体受到抑制,体现了免疫控制的多样性。

步骤6:产生抗体

通过变异和交叉,产生进入下一代的抗体。重复执行步骤3至步骤6,直到收敛判据满足为止。

步骤7:终止条件

终止条件满足后,优化过程结束。

应用免疫算法求解实际问题时,常将抗原、抗体、抗原和抗体间的亲和性分别对应于优化问题的目标函数、优化解、解与目标函数的匹配程度。

4.2.2算法特点

综上可知,免疫算法有以下优点:

1) 保存了多样性。免疫算法的步骤5实现了对抗体的促进和抑制、自我调节能力,步骤6通过变异和交叉产生新的抗体,体现了生物的多样性。所以免疫算法能够获得许多优化问题的最优解。

2) 记忆训练。对于曾出现过的抗原,免疫算法产生相应抗体的速度比以前更快,故能够很快收敛到最优解。

遗传算法(GA)和免疫算法(IA),都是模仿自然进化过程的优化模型,但在记忆训练、抗体产生方面,两者有本质区别。正是由于这些优点,免疫算法在求解TSP问题、函数优化、机器学习等方面有较大优势。

4.2.3免疫算法与其他算法的比较

说明: ★表示已有成熟结果; ◆表示已相当一部分结果;▲表示已仅有少量结果; ━表示未开发。

免疫算法与其它随机搜索优化算法一样,都是从搜索解空间的一系列点(种群)出发,处理的对象是表示待求解参数的染色体串,而不是参数本身,它不需其导数或其它附加信息。

由免疫算法的计算步骤可以看出,它与其他随机算法之间又有显著的区别:

1) 它在记忆单元基础上运行,确保了快速收敛于全局最优解;

2) 它有计算亲和性的程序,反映了真实的免疫系统的多样性;

3) 它通过促进或抑制抗体的产生,体现了免疫反应的自我调节功能。

4.3免疫算法的应用

近年来,各种人工免疫模型和算法已应用于许多工程领域中的复杂问题,这些问题通常是传统理论和方法无法解决的。

1.自动控制

现代自动控制理论研究中一个重要的领域就是设计控制系统的鲁棒性。生物免疫系统具有的天然鲁棒性,使许多学者开始研究基于免疫的控制方法,为现代控制工程的发展提供了新的方向。主要的研究方向有Bersini[17]为代表的自适应控制、Ootsuki[18]为代表的顺序控制、以及Ishiguro[19]的机器人行为控制。

2.数据挖掘

在人工智能的研究中,知识的自动获取是一个关键,数据挖掘技术是解决这一关键的主要方案。数据挖掘旨在从大量的数据中寻找隐含的层次的信息,是一个从系统内部自动获取知识的过程,免疫系统强大的信息处理能力也可用于数据挖掘。

3.计算机安全

与计算机系统遇到的各种病毒、非法入侵等计算机安全问题与生物免疫系统遇到的问题十分相似。因此可以借鉴生物免疫系统的“自己”、“非己”识别方式来解决计算机安全问题。在计算机入侵检测和病毒检测方面开创性的研究是Forrest的否定选择算法。随后Kim[20]等人提出了一种结合多种免疫机制的基于人工免疫多代理入侵检测模型。

4.故障监测和诊断

D Dasgupta等[21]将人工免疫系统用于工业中,进行加工工具破损监测。刘树林等[22]受生物免疫系统自己一非己识别过程的启发提出了反面选择算法,在故障诊断应用领域中改进了反面选择算法,提出了对旋转机械在线故障诊断的新方法.杜海峰等[23]还将ART-人工免疫网络用于解决多级往复式压缩机故障诊断,效果良好。

5.图像处理

D F McCoy(1997)等[24]将人工免疫系统用于图象分割,王肇捷[25]等为了得到最佳视差图,将免疫算法用于解决计算机视觉中的立体匹配;与基于像素点灰度匹配相比,免疫算法的匹配效果好;与模拟退火匹配相比,虽然都能得到全局最优的视差图,但免疫算法的匹配速度快[26]。

6.智能优化

许多的工程问题都能抽象成优化问题。作为一种智能优化搜索策略,人工免疫算法在函数优化、组合优化、调度问题等许多方面都得到了应用并取得了很好的效果。抗体对抗原的识别和随后的进化过程实质上是一种生物搜索和优化过程,通过借鉴免疫系统高效的多样化抗体产生和保持机制可以建立高效的搜索和优化算法。在优化问题求解中,各种基于免疫原理的人工免疫算法展示了良好的性能,通常情况下,免疫算法都取得了比传统的启发式算法更好的求解结果,尤其在求解的效率方面,显示出人工免疫系统在智能优化领域具有广阔的应用前景[27]。

除了上述几个方面的应用,人工免疫算法在模式识别、联想记忆、机器学习、智能建筑等诸多领域也都有相应的应用。由于人工免疫算法独具的分布式、自适应、自组织系统特性以及其在解决实际问题尤其是复杂问题时所体现出来的鲁棒性和高效性,使之成为一个具有较强实用价值的研究方向。

参考文献:

[1]刘勇. 非数值并行算法(第二册)遗传算法[M]. 北京:科学出版社,2003.1—6.

[2]SHI Yu-hui,EBERHART R.Parameter selection in particle swarm optimization[A].Evolutionary Programming VII:Proceedings of El98[c].New York:Springer-Verlag,1998.591-600.

[3]SHI Yu-hui,EBERHART R.Empirical study of particle swarm optimization[A].Proceedings of the IEEE Congress on Evolutionary Computation (CEC 1999)[C].New Jersey:IEEE Press,1999.1945-1950.

[4]Goldberg D.Genetic algorithms in search,optimization,and machine learning[A].Boston:Addison-Wesley,1989.

[5]EBERHART R,SHI Yu-hui.Particle swarm optimization:devel-opments,applications and resources[A].Proceeding Congress on Evolutionary Computation[C].Seoul:IEEE Press,2001.81-86.

[6] Eberhart RC, Shi YH. Comparison between genetic algorithms and particle swarm optimization. Proceedings of Annual Conference on Evolutionary Programming, SanDiego, 1998

[7] Angeline PJ. Evolutionary optimization versus particle swarm optimization: philosophyand performance difference. Proceedings of Annual Conference on EvolutionaryProgramming, San Diego, 1998

[8] Shi YH, Eberhart RC. Experimental study of particle swarm optimization. Proceedings of SCI Conference, Orlando, FL, 2000

[9] Eberhart RC, Shi YH. Evolving artificial neural networks. Proceedings of InternationalConference on Neural networks and Brain, Beijing, 1998

[10] Colorni A,Dorigo M,Maniezzo V,etal. Distributed optimization by ant colonies. Proceedings of the 1st European Confon Artificial Life [C]. Paris,1991.

[11] Gomez J F,KhodrH M, PM De Oliveira, etal. Ant colony system algorithm for the planning of primary distribution circuits[J]. IEEE Transactions on PowerSystems,2004,19(2): 996-1004.

[12] 王林川,李庆鑫,刘新全,张伟,潘文明. 基于改进蚁群算法的配电网故障定位[J]. 电力系统保护与控制,2008,36(22):29-33,53.

[13] 王海燕,刘天琪,李兴源,陈烨. 基于蚁群优化算法的电力系统暂态稳定评估特征选择[J]. 电力系统保护与控制,2008,36(21):1-6.

[14] 田伟,张安. 改进蚁群算法的无人机航路规划[J]. 火力与指挥控制,2008,33(11):69-72.

[15] 孟祥恒,王社伟,陶军. 基于改进蚁群算法的多无人机航路规划研究[J]. 计算机仿真,2008,25(11):56-59.

[16] 曹晋,陈红林,戴峤笠. 基于蚁群算法的最小代价航迹规划仿真[J]. 计算机辅助工程,2008,17(4):77-80.

[17] Bersini H, Uarela F J. Hints for Adaptive Problem Solving Gleaned fromImmune Networks. In: Proc the First Workshop on Parallel Problem Solvingfrom Nature. Dortmund, Germany, 1990, 343-354

[18] Ootsuki J T, Sekiguchi T. Application of the immune system network conceptto sequential control. In: Proc of the IEEE System, Man, and Cybernetics(SMC’99). Piscataway, USA: 1999, (3):869-874

[19] Ishiguro A, Ichikawa S, Shibat T, Uchikawa Y. Modernationism in the immunesystem:

Gait acquisition of a legged robot using the metadynamics function. In:Proceedings of IEEE International Conference on Systems and Man andCybernetics(SMC). San Diego, USA, 1998, 3827-3823

[20] Kim J, Bentley P. Towards an artificial immune system for network intrusiondetection: An investigation of clonal selection with a negative selection operator.In: Proc Congress on Evolutionary Computation. Seoul, Korea, 2001, 27-30

[21] D Dasgupta, S Forrest. Artificial immune systems in industrial applications. In:Proceedings of the Second International Conference on Intelligent Processingand Manufacturing of Materials, Honolulu, USA, 1999, 1:257-267

[22] 刘树林,张嘉钟,王日新等. 基于免疫系统的旋转机械在线故障诊断. 大庆石油学院学报,2001,25(4):96-100

[23] 杜海峰,王孙安. 基于ART-人工免疫网络的多级压缩机故障诊断. 机械工程学报,2002,38(4):88-90

[24] D F McCoy, V Devarajan. Artificial immune systems and aerial imageSegmentation. In: 1997 IEEE International Conference on Systems, Man, andCybernetics. Institute of Eletrical and Electronics, Engineers, Incorporated,Orlando, USA, 1997, 867-872

[25] 王肇捷,黄文剑.立体匹配的免疫算法. 电脑与信息技术,2001,9(4):4-6

[26] 焦李成,杜海峰. 人工免疫系统进展与展望. 电子学报,2003, 31(10):1540-1548

[27] 肖人彬,王磊. 人工免疫系统原理、模型、分析及展望. 计算机学报,2002,12(25):1281-1291

计算智能大作业--蚁群算法解决TSP问题

(计算智能大作业) 应用蚁群算法求解TSP问题

目录 蚁群算法求解TSP问题 (3) 摘要: (3) 关键词: (3) 一、引言 (3) 二、蚁群算法原理 (4) 三、蚁群算法解决TSP问题 (7) 四、解决n个城市的TSP问题的算法步骤 (9) 五、程序实现 (11) 六、蚁群算法优缺点分析及展望 (18) 七、总结 (18)

采用蚁群算法解决TSP问题 摘要:蚁群算法是通过蚂蚁觅食而发展出的一种新的启发算法,该算法已经成功的解决了诸如TSP问题。本文简要学习探讨了蚂蚁算法和TSP问题的基本内容,尝试通过matlab 仿真解决一个实例问题。 关键词:蚁群算法;TSP问题;matlab。 一、引言 TSP(Travelling Salesman Problem)又称货郎担或巡回售货员问题。TSP问题可以描述为:有N个城市,一售货员从起始城市出发,访问所有的城市一次,最后回到起始城市,求最短路径。TSP问题除了具有明显的实际意义外,有许多问题都可以归结为TSP问题。目前针对这一问题已有许多解法,如穷举搜索法(Exhaustive Search Method), 贪心法(Greedy Method), 动态规划法(Dynamic Programming Method)分支界定法(Branch-And-Bound),遗传算法(Genetic Agorithm)模拟退火法(simulated annealing),禁忌搜索。本文介绍了一种求解TSP问题的算法—蚁群算法,并通过matlab仿真求解50个城市之间的最短距离,经过仿真试验,证明是一种解决TSP问题有效的方法。

工程计算软件大作业

几何模型图 为空心矩形截面,梁2和3为工字型截面,梁4和梁5为空心圆柱形截面,各梁截面具体参数如下: 1米,高0.6米,厚度均为60毫米; X Y Z

有限元模型示意图: 所有梁单元示意图: 梁截面2(紫色)和3(红色)与路面(绿色)相对位置示意图 1 X Y Z JUL 17 2015 21:15:04 ELEMENTS SEC NUM 1 X Y Z JUL 17 2015 21:17:43 ELEMENTS SEC NUM

1)用文字及必要图片叙述主要建模过程及思路 a)生成几何模型 使用创建矩形创建一个15*56的底面出来,然后将(3,0,0)、(53,0,0)和(28,0,1)的点标记出来,以三点绘出圆弧线,节点连线平分10份 标记关键点,做这些关键点上方Z轴坐标高过弧线的各点连接它们,并用这些线以用Divide里的Line by Line函数来划分圆弧线以得到截点,连接节点与平面上的点来得到平行的竖杆,对另一侧进行同样的处理后,调整坐标至对称点位置,之后采用Reflect来镜像图形,得到全图。

b) 定义参数 根据题意,选择梁和版单元,其中,梁选用BEAM188单元,板使用SHELL181单元。输入材料常数E=2.1E11Pa,ν=0.3,密度为7800kg/m2。参数定义梁截面性质(Sections>>Beam>>Common Sections),定义板厚

c) 划分网格 首先分别赋予单元属性,后利用Mesh Tool划分网格。梁单元在每条线上均设定为10个单元,将剖分面单元的大小设为0.5。 2)静力分析,要求贴出结构的Mises应力及合成位移的云图

人工智能习题作业神经计算I习题答案

第五章 神经网络课后习题及答案 一、选择题: 1. 在BP算法中,设y=f(xi)为xi的平滑函数,想知道xi对y增大变化的情况, 我们可求 ,然后进行下列的哪一项? ( B ) A 取最小 B 取最大 C 取积分 D 取平均值 2. 对于反向传播学习,无论是在识别单个概念的学习或识别两个概念的学习中,都涉及到下列的哪一个操作? ( A ) A 权值的修正 B 调整语义结构 C 调整阀值 D 重构人工神经元 3. 根据Hopfield网络学习的特点,能实现联想记忆和执行线性和非线性规划等求解问题其应用没有涉及到下列的哪一个内容? ( D ) A 模糊推理模型 B 非线性辨认 C 自适应控制模型 D 图象识别 4. 对于神经网络的二级推理产生式规则由三个层次构成,它不含下列的哪一个层次? ( C ) A 输入层 B 输出层 C 中间层 D 隐层 5. 人工神经网络借用了生理神经元功能的一些描述方式,它涉及到下列的哪一些内容? ( ABC ) A 模拟神经元 B 处理单元为节点 C 加权有向图 D 生理神经元连接而成

6. 在应用和研究中采用的神经网络模型有许多种,下列的哪一些是具有代表性的? ( ABD ) A 反向传递(BP) B Hopfield网 C 自适应共振 D 双向联想存储器 7. 下列的哪一些内容与反向传播学习算法有关? ( ABCD ) A 选取比率参数 B 误差是否满足要求 C 计算权值梯度 D 权值学习修正 8. 构造初始网络后,要用某种学习算法调整它的权值矩阵,使NN在功能上满足样例集给定的输入一输出对应关系,并由此产生推理,该矩阵必须满足下列的哪一个性质? ( A ) A 收敛性 B 对称性 C 满秩性 D 稀疏性 9. 在人工神经元的功能描述中,往往会用一激发函数来表示输出,常用的一般非线性函数有下列的哪一些项? ( ABD ) A 阀值型 B 分段线性强饱和型 C 离散型 D S i gm oid型 10. 基于神经网络的推理,其应用中必须涉及到下列的哪一些内容? ( ACD ) A NN的结构模型 B NN的推理规则 C NN的学习算法 D 从NN到可解释的推理网 二、填空题: 1. 前馈网络是一种具有很强学习能力的系统,结构简单,易于编程。前馈网络通

西电人工智能大作业

人工智能大作业 学生:021151** 021151** 时间:2013年12月4号

一.启发式搜索解决八数码问题 1.实验目的 问题描述:现有一个3*3的棋盘,其中有0-8一共9个数字,0表示空格,其他的数字可以和0交换位置(只能上下左右移动)。给定一个初始状态和一个目标状态,找出从初始状态到目标状态的最短路径的问题就称为八数码问题。 例如:实验问题为

到目标状态: 从初始状态: 要求编程解决这个问题,给出解决这个问题的搜索树以及从初始节点到目标节点的最短路径。 2.实验设备及软件环境 利用计算机编程软件Visual C++ 6.0,用C语言编程解决该问题。 3.实验方法 (1).算法描述: ①.把初始节点S放到OPEN表中,计算() f S,并把其值与节点S联系 起来。 ②.如果OPEN表是个空表,则失败退出,无解。 ③.从OPEN表中选择一个f值最小的节点。结果有几个节点合格,当其 中有一个为目标节点时,则选择此目标节点,否则就选择其中任一节点作为节点i。 ④.把节点i从OPEN表中移出,并把它放入CLOSED的扩展节点表中。 ⑤.如果i是目标节点,则成功退出,求得一个解。 ⑥.扩展节点i,生成其全部后继节点。对于i的每一个后继节点j: a.计算() f j。 b.如果j既不在OPEN表中,也不在CLOSED表中,则用估价函数f

把它添加入OPEN表。从j加一指向其父辈节点i的指针,以便一旦 找到目标节点时记住一个解答路径。 c.如果j已在OPEN表或CLOSED表上,则比较刚刚对j计算过的f 值和前面计算过的该节点在表中的f值。如果新的f值较小,则 I.以此新值取代旧值。 II.从j指向i,而不是指向它的父辈节点。 III.如果节点j在CLOSED表中,则把它移回OPEN表。 ⑦转向②,即GO TO ②。 (2).流程图描述: (3).程序源代码: #include #include

人工神经网络大作业

X X X X大学 研究生考查课 作业 课程名称:智能控制理论与技术 研究生姓名:学号: 作业成绩: 任课教师(签名) 交作业日时间:2010年12月22日

人工神经网络(artificial neural network,简称ANN)是在对大脑的生理研究的基础上,用模拟生物神经元的某些基本功能元件(即人工神经元),按各种不同的联结方式组成的一个网络。模拟大脑的某些机制,实现某个方面的功能,可以用在模仿视觉、函数逼近、模式识别、分类和数据压缩等领域,是近年来人工智能计算的一个重要学科分支。 人工神经网络用相互联结的计算单元网络来描述体系。输人与输出的关系由联结权重和计算单元来反映,每个计算单元综合加权输人,通过激活函数作用产生输出,主要的激活函数是Sigmoid函数。ANN有中间单元的多层前向和反馈网络。从一系列给定数据得到模型化结果是ANN的一个重要特点,而模型化是选择网络权重实现的,因此选用合适的学习训练样本、优化网络结构、采用适当的学习训练方法就能得到包含学习训练样本范围的输人和输出的关系。如果用于学习训练的样本不能充分反映体系的特性,用ANN也不能很好描述与预测体系。显然,选用合适的学习训练样本、优化网络结构、采用适当的学习训练方法是ANN的重要研究内容之一,而寻求应用合适的激活函数也是ANN研究发展的重要内容。由于人工神经网络具有很强的非线性多变量数据的能力,已经在多组分非线性标定与预报中展现出诱人的前景。人工神经网络在工程领域中的应用前景越来越宽广。 1人工神经网络基本理论[1] 1.1神经生物学基础 可以简略地认为生物神经系统是以神经元为信号处理单元,通过广泛的突触联系形成的信息处理集团,其物质结构基础和功能单元是脑神经细胞即神经元(neu ron)。(1)神经元具有信号的输入、整合、输出三种主要功能作用行为。突触是整个神经系统各单元间信号传递驿站,它构成各神经元之间广泛的联接。(3)大脑皮质的神经元联接模式是生物体的遗传性与突触联接强度可塑性相互作用的产物,其变化是先天遗传信息确定的总框架下有限的自组织过程。 1.2建模方法 神经元的数量早在胎儿时期就已固定,后天的脑生长主要是指树突和轴突从神经细胞体中长出并形成突触联系,这就是一般人工神经网络建模方法的生物学依据。人脑建模一般可有两种方法:①神经生物学模型方法,即根据微观神经生物学知识的积累,把脑神经系统的结构及机理逐步解释清楚,在此基础上建立脑功能模型。②神经计算模型方法,即首先建立粗略近似的数学模型并研究该模型的动力学特性,然后再与真实对象作比较(仿真处理方法)。 1.3概念 人工神经网络用物理可实现系统来模仿人脑神经系统的结构和功能,是一门新兴的前沿交叉学科,其概念以T.Kohonen.Pr的论述最具代表性:人工神经网络就是由简单的处理单元(通常为适应性)组成的并行互联网络,它的组织能够模拟生物神经系统对真实世界物体所作出的交互反应。 1.4应用领域 人工神经网络在复杂类模式识别、运动控制、感知觉模拟方面有着不可替代的作用。概括地说人工神经网络主要应用于解决下述几类问题:模式信息处理和模式识别、最优化问题、信息的智能化处理、复杂控制、信号处理、数学逼近映射、感知觉模拟、概率密度函数估计、化学谱图分析、联想记忆及数据恢复等。 1.5理论局限性 (1)受限于脑科学的已有研究成果由于生理试验的困难性,目前对于人脑思维与记忆机制的认识尚很肤浅,对脑神经网的运行和神经细胞的内部处理机制还没有太多的认识。 (2)尚未建立起完整成熟的理论体系目前已提出的众多人工神经网络模型,归纳起来一般都是一个由节点及其互连构成的有向拓扑网,节点间互连强度构成的矩阵可通过某种学

计算方法上机作业

计算方法上机报告 姓名: 学号: 班级: 上课班级:

说明: 本次上机实验使用的编程语言是Matlab 语言,编译环境为MATLAB 7.11.0,运行平台为Windows 7。 1. 对以下和式计算: ∑ ∞ ? ?? ??+-+-+-+=0681581482184161n n n n S n ,要求: ① 若只需保留11个有效数字,该如何进行计算; ② 若要保留30个有效数字,则又将如何进行计算; (1) 算法思想 1、根据精度要求估计所加的项数,可以使用后验误差估计,通项为: 1421114 16818485861681 n n n a n n n n n ε??= ---<< ?+++++??; 2、为了保证计算结果的准确性,写程序时,从后向前计算; 3、使用Matlab 时,可以使用以下函数控制位数: digits(位数)或vpa(变量,精度为数) (2)算法结构 1. ;0=s ?? ? ??+-+-+-+= 681581482184161n n n n t n ; 2. for 0,1,2,,n i =??? if 10m t -≤ end; 3. for ,1,2,,0n i i i =--??? ;s s t =+

(3)Matlab源程序 clear; %清除工作空间变量 clc; %清除命令窗口命令 m=input('请输入有效数字的位数m='); %输入有效数字的位数 s=0; for n=0:50 t=(1/16^n)*(4/(8*n+1)-2/(8*n+4)-1/(8*n+5)-1/(8*n+6)); if t<=10^(-m) %判断通项与精度的关系break; end end; fprintf('需要将n值加到n=%d\n',n-1); %需要将n值加到的数值 for i=n-1:-1:0 t=(1/16^i)*(4/(8*i+1)-2/(8*i+4)-1/(8*i+5)-1/(8*i+6)); s=s+t; %求和运算 end s=vpa(s,m) %控制s的精度 (4)结果与分析 当保留11位有效数字时,需要将n值加到n=7, s =3.1415926536; 当保留30位有效数字时,需要将n值加到n=22, s =3.14159265358979323846264338328。 通过上面的实验结果可以看出,通过从后往前计算,这种算法很好的保证了计算结果要求保留的准确数字位数的要求。

人工智能作业一(答案)

作业一 1.考虑一个实时的在线电话翻译系统,该系统实现英语与日语之间的实时在线翻译,讨论 该系统的性能度量,环境,执行器,感知器,并对该环境的属性进行分析。 【Answer】 性能度量:翻译的正确率 环境:电话线路 传感器:麦克风 执行器:音响 完全可观察的,单agent,确定的(无噪音条件下),片段的,静态的,离散的。 2.考虑一个医疗诊断系统的agent,讨论该agent最合适的种类(简单agent,基于模型的agent, 基于目标的agent和基于效用的agent)并解释你的结论。 【Answer】 utility-based agent。 能够治愈病人的方法有很多种,系统必须衡量最优的方法来推荐给病人 3.先建立一个完整的搜索树,起点是S,终点是G,如下图,节点旁的数字表示到达目标状态 的距离,然后用以下方法表示如何进行搜索。 (a).深度优先; (b).宽度优先; (c).爬山法; (d).最佳优先; 图一 【Answer】: 建立树:

深度: 宽度: 爬山法: 优先搜索:

4.图二是一棵部分展开的搜索树,其中树的边记录了对应的单步代价,叶子节点标注了到 达目标结点的启发式函数的代价值,假定当前状态位于结点A。 (a)用下列的搜索方法来计算下一步需要展开的叶子节点。注意必须要有完整的计算过 程,同时必须对扩展该叶子节点之前的节点顺序进行记录: 1.贪婪最佳优先搜索 2.一致代价搜索 3.A*树搜索 (b)讨论以上三种算法的完备性和最优性。 【Answer】: 贪婪最佳优先:如果h(B)>5,首先访问叶子结点C,如果h(B)<=5,首先访问B,再访问C 一致代价搜索:B,D,E,F,G,H,C A*树搜索:如果h(B)>15,首先访问D 如果h(B)<=15,首先访问B,在E,G,D,H,F,C 图二 5.给定一个启发式函数满足h(G)=0,其中G是目标状态,证明如果h是一致的,那么它是 可采纳的。 【Answer】: 假设n为任意一个状态,G是任意一个目标状态。n,n1,n2,....,nm,G为从状态n到达状态G的一条最优路径,我们已知 评估代价f(n)=g(n)+h(n)

人工智能导论大作业

人工智能导论大作业 姓名:XXX 学号:XXXXXXXXXXXXX 班级:XXXXX 邮箱:XXXXXXXXXXX@XXXXXXX 1摘要 本次人工智能导论课为考察课,期末上交一份人工智能相关的报告,报告内容范围要求具体见正文。需要注意的是,本次作业要求报告可读性高,亮点突出,行文流畅,图表清晰,引文标注正确。报告结构与本说明相似,建议以本说明为模版,章节标题自行修改。请在截止日期前在精品课程网站内上交作业。如有问题可联系zqw@https://www.360docs.net/doc/e617009567.html,,邮件联系请注明学号,班级,姓名,主题格式如“人工智能导论大作业——XXX(姓名)”。 2正文 2.1报告范围 报告内容应与人工智能相关[1-5],具体可见,但不限于下面所罗列的条目[4]: 1)关于当前某一领域、应用场景中的人工智能应用调研。如具体什么产品 使用了什么人工智能技术,起到什么作用,如何实现(可以是自己的合 理猜想,有一定的理由及依据)。 2)人工智能某一相关技术的研究前沿及发展趋势调研,及其应用展望等。 3)某一软硬件产品的个人设想,需要结合人工智能某一相关技术,要求人 工智能技术的应用合情合理,有清晰的功能需求描述,系统结构框图等。 如在实现过程中需要指导可邮件联系。 2.2报告撰写要求 不限字数和页数,要求将问题描述清楚,有头有尾,逻辑连贯清晰。 图表一律在文本框中编辑,范例可见下表1和图1。标点符号要合理使用中 [3]

图1:图1[2,5] 英文标点,准则是美观,工整。注意使用样式功能,以保持格式一致。 2.3评分标准 1)格式工整,语言流畅,逻辑连贯清晰,人工智能相关,报告可读性高可 获得60%~80%分数。 2)亮点突出,能体现自己的思考过程可获得另外的20%分数 3)请准时在精品课程网站上交作业,否则将酌情扣分。 参考文献 [1] 作者,期刊,出版日期,卷,页,其他属性 [2] 作者,专著名,出版社,出版日期,章节,页,其他属性 [3] 网址,日期 [4] 作者,报告名,获取途径,日期

高性能计算实验大作业

大数据处理技术研究 姓名:;学号:1502;专业:模式识别与智能系统 摘要:本文详细介绍了大数据的相关概念及其对应的处理方法,列举了大数据处理技术在当代计算机处理中的应用,并简要的解释了Hadoop的相关概念,展望了大数据处理技术的发展方向。 关键词:大数据 Hadoop高性能计算 1.研究背景: 大数据浪潮汹涌来袭,与互联网的发明一样,这绝不仅仅是信息技术领域的革命,更是在全球范围启动透明政府、加速企业创新、引领社会变革的利器。 大数据,IT行业的又一次技术变革,大数据的浪潮汹涌而至,对国家治理、企业决策和个人生活都在产生深远的影响,并将成为云计算、物联网之后信息技术产业领域又一重大创新变革。未来的十年将是一个“大数据”引领的智慧科技的时代、随着社交网络的逐渐成熟,移动带宽迅速提升、云计算、物联网应用更加丰富、更多的传感设备、移动终端接入到网络,由此而产生的数据及增长速度将比历史上的任何时期都要多、都要快。 2.大数据定义: “大数据”是一个涵盖多种技术的概念,简单地说,是指无法在一定时间内用常规软件工具对其内容进行抓取、管理和处理的数据集合。IBM将“大数据”理念定义为4个V,即大量化(Volume)、多样化(Variety)、快速化(Velocity)及由此产生的价值(Value)。如下图;

3.大数据技术的发展: 大数据技术描述了一种新一代技术和构架,用于以很经济的方式、以高速的捕获、发现和分析技术,从各种超大规模的数据中提取价值,而且未来急剧增长的数据迫切需要寻求新的处理技术手段。 在“大数据”(Big data)时代,通过互联网、社交网络、物联网,人们能够及时全面地获得大信息。同时,信息自身存在形式的变化与演进,也使得作为信息载体的数据以远超人们想象的速度迅速膨胀。 云时代的到来使得数据创造的主体由企业逐渐转向个体,而个体所产生的绝大部分数据为图片、文档、视频等非结构化数据。信息化技术的普及使得企业更多的办公流程通过网络得以实现,由此产生的数据也以非结构化数据为主。预计到2012年,非结构化数据将达到互联网整个数据量的75%以上。用于提取智慧的“大数据”,往往是这些非结构化数据。传统的数据仓库系统、BI、链路挖掘等应用对数据处理的时间要求往往以小时或天为单位。但“大数据”应用突出强调数据处理的实时性。在线个性化推荐、股票交易处理、实时路况信息等数据处理时间要求在分钟甚至秒级。 而“大数据”的多样性决定了数据采集来源的复杂性,从智能传感器到社交网络数据,从声音图片到在线交易数据,可能性是无穷无尽的。选择正确的数据来源并进行交叉分析可以为企业创造最显著的利益。随着数据源的爆发式增长,

作业计算题答案

作业计算题参考答案 1.某一类建筑工程人工开挖基坑土方项目,砼基础尺寸为 2.2m×4.2m,砼垫层厚100mm且每边比基础宽100mm,基础埋深1.8m,室内外高差450mm,三类干土,单轮车弃土150m,共40个基坑。计算该项目的费用并完成清单计价表。 答: V 1 =2.4×4.4×1.9×40=802.56m3 (已知条件) (1)按省计价表计算含量 h=1.8+0.1=1.9m a=2.4+0.3×2=3m b=4.4+0.3×2=5m A=3+2×1.9×0.33=4.254m B=5+2×1.9×0.33=6.254m V 2 =1.9/6×[3×5+4.254×6.254+(3+4.254)×(5+6.254)]×40=1561.05m3 含量=V 2/V 1 =1561.05/802.56=1.945 (2)按省计价表计算综合单价 ①人工开挖基坑土方: 1-60换 64.96×1.945=126.35元/m3 ②双轮车运土150m: 1-92换 20.92×1.945=40.69元/m3 1-95换 4.40×2×1.945=17.12元/m3 综合单价为: 126.35+40.69+17.12=209.83元/m3 (3)计算总费用 209.83×802.56=168401.16元

2.某工程现场搅拌砼钻孔灌注桩,土壤类别为三类,桩顶设计标高-2.6m,桩底设计标高-1 3.6m,设计室内外高差为450mm,桩直径400mm,砼强度等级C30(粒级20mm、42.5级水泥),泥浆外运5公里以内,共计100根桩。计算该项目的费用并完成清单计价表。 答: 清单工程量=100根(已知条件) (1)按省计价表计算含量 ①钻土孔: 含量=3.14×0.22×(13.6-0.45)×100/100=1.652 ②土孔内灌注混凝土: 含量=3.14×0.22×(13.6-2.6+0.4)×100/100=1.432 ③泥浆外运:同钻土孔,含量=1.652 ④砖砌浆池:同土孔内灌注混凝土,含量=1.432 (2)按省计价表计算综合单价 ①钻土孔: 3-28 300.96×1.652=497.19元/根 ②土孔内灌注混凝土: 3-39换 466.85×1.432=668.53元/根 ③泥浆外运: 3-41 112.21×1.652=185.37元/根 ④砖砌浆池: 2.00×1.432=2.86元/根 ⑤综合单价为: 497.19+668.53+185.37+2.86=1353.95元/根 (3)计算总费用 1353.95×100=135395.00元

《计算思维与人工智能基础》课程质量标准PDF版进店另有word版或PPT版

《计算思维与人工智能基础》课程教学质量标准 32学时 2学分 “计算思维与人工智能基础”是高校计算机基础教育的第一门公共基础必修课,在培养学生的计算思维水平以及人工智能基础理论方面具有基础性和先导性的重要作用,适用于非计算机专业学生。该课程主要讲述计算机与计算思维、互联网与物联网、计算机求解问题基础、人工智能基础和计算问题案例。通过该课程的学习,使学生对计算思维和人工智能学科有一个整体的认识,掌握计算机软硬件的基础知识,计算机求解问题的基本方法以及人工智能的基本知识,以培养学生的信息素养和计算思维能力,运用计算机解决实际问题的能力,进一步提高学生对人工智能的整体认知和应用水平。 一、课程目标 通过本课程学习,使学生了解计算机发展趋势,认识计算机在现代社会中的地位和作用,理解计算思维的概念、本质及应用,掌握计算机的基本工作原理,掌握人工智能学科的基本知识,熟悉计算机求解问题的基本方法,熟悉典型的计算机操作环境及工作平台,具备使用常用软件工具处理日常事务的能力。该课程应培养学生利用计算机分析问题、解决问题的意识与能力,并为学生学习计算机的后续课程打下坚实的基础。 二、课程内容、要求及学时分配 主要教学内容

5 第5章 大数据与云计 算 1)理解大数据的特点。 2)了解大数据对于科学研究和思维方式的影响。 3)理解大数据应用案例。 4)理解云计算的概念。 5)了解云计算的关键技术。 6)理解云计算的应用。 2 6 第6章计算机 求解问题基础 —算法 1)理解算法的概念。 2)了解如何设计算法。 3)掌握算法的主要描述工具。 4)掌握枚举算法的基本原理。 5)掌握递推算法的基本原理。 6)了解递归算法的基本原理。 7)熟练运用枚举算法和递推算法解决实际问题。 8)理解冒泡排序、选择排序算法。 6 7 第7章 人工智能概述1)了解智能、人工智能的概念; 2)了解人工智能的发展历程; 3)理解图灵测试的基本原理; 4)了解人工智能当前主要的应用领域; 5)理解人工智能+的概念; 4

最新人工智能大作业实验

湖南中医药大学本科课程实验教学大纲 《人工智能》 计算机科学与技术专业 执笔人:丁长松 审定人:*** 学院负责人:*** 湖南中医药大学教务处 二○一四年三月

一、课程性质和教学目的 《人工智能》是计算机专业本科生的一门专业必修课,适应于计算机科学与技术专业、医药信息工程专业。本课程是关于人工智能领域的引导性课程,通过本课程的学习,是使学生了解和掌握人工智能的基本概念、原理和方法,培养学生在计算机领域中应用人工智能技术提高分析和解决较复杂问题的能力,启发学生对人工智能的兴趣,培养知识创新和技术创新能力。 《人工智能》主要研究智能信息处理技术、开发具有智能特性的各类应用系统的核心技术。本课程主要介绍人工智能的基本理论、方法和技术,主要包括常用的知识表示、逻辑推理和问题求解方法、人工智能发展学派以及主要理论。 先修课程:高等数学、数据结构、数据库原理、算法设计与分析、数理逻辑 二、课程目标 人工智能实验应在一种为高效率开发专家系统而设计的高级程序系统或高级程序设计语言环境中进行。在目前开来,专家系统开发工具和环境可分为5种主要类型:程序设计语言、知识工程语言、辅助型工具、支持工具及开发环境。在这里主要是要求学生能用相关术语描述、表示一些问题;用程序设计语言如:C、C++、JA V A编程来实现一些基本的算法、推理、搜索等过程。 三、实验内容与要求 实验一:谓词表示 【实验内容】 设农夫、狼、山羊、白菜都在河的左岸,现在要把它们运送到河的右岸去,农夫有条船,过河时,除农夫外船上至多能载狼、山羊、白菜中的一种。狼要吃山羊,山羊要吃白菜,除非农夫在那里。试设计出一个确保全部都能过河的方案。

人工智能大作业翻译

Adaptive Evolutionary Artificial Neural Networks for Pattern Classification 自适应进化人工神经网络模式分类 Abstract—This paper presents a new evolutionary approach called the hybrid evolutionary artificial neural network (HEANN) for simultaneously evolving an artificial neural networks (ANNs) topology and weights. Evolutionary algorithms (EAs) with strong global search capabilities are likely to provide the most promising region. However, they are less efficient in fine-tuning the search space locally. HEANN emphasizes the balancing of the global search and local search for the evolutionary process by adapting the mutation probability and the step size of the weight perturbation. This is distinguishable from most previous studies that incorporate EA to search for network topology and gradient learning for weight updating. Four benchmark functions were used to test the evolutionary framework of HEANN. In addition, HEANN was tested on seven classification benchmark problems from the UCI machine learning repository. Experimental results show the superior performance of HEANN in fine-tuning the network complexity within a small number of generations while preserving the generalization capability compared with other algorithms. 摘要——这片文章提出了一种新的进化方法称为混合进化人工神经网络(HEANN),同时提出进化人工神经网络(ANNs)拓扑结构和权重。进化算法(EAs)具有较强的全局搜索能力且很可能指向最有前途的领域。然而,在搜索空间局部微调时,他们效率较低。HEANN强调全局搜索的平衡和局部搜索的进化过程,通过调整变异概率和步长扰动的权值。这是区别于大多数以前的研究,那些研究整合EA来搜索网络拓扑和梯度学习来进行权值更新。四个基准函数被用来测试的HEANN进化框架。此外,HEANN测试了七个分类基准问题的UCI机器学习库。实验结果表明在少数几代算法中,HEANN在微调网络复杂性的性能是优越的。同时,他还保留了相对于其他算法的泛化性能。 I. INTRODUCTION Artificial neural networks (ANNs) have emerged as a powerful tool for pattern classification [1], [2]. The optimization of ANN topology and connection weights training are often treated separately. Such a divide-and-conquer approach gives rise to an imprecise evaluation of the selected topology of ANNs. In fact, these two tasks are interdependent and should be addressed simultaneously to achieve optimum results. 人工神经网络(ANNs)已经成为一种强大的工具被用于模式分类[1],[2]。ANN 拓扑优化和连接权重训练经常被单独处理。这样一个分治算法产生一个不精确的评价选择的神经网络拓扑结构。事实上,这两个任务都是相互依存的且应当同时解决以达到最佳结果。

(完整word版)EDA计算器设计大作业

计算器设计 专业:电子信息工程 设计者:

摘要 本文介绍了一个简单的计算器的设计,该设计采用了现场可编程逻辑器件FPGA设计,并基于VHDL语言实现加减乘除功能,并用十进制显示在数码管上。系统由计算部分、输入部分、选择部分、输出部分组成,计算部分为加法器、减法器、乘法器和除法器组成。使用Altera公司的QuartusII开发软件进行功能仿真并给出仿真波形,并下载到试验箱,用实验箱上的按键开关模拟输入,用数码管显示十进制计算结果。通过外部按键可以完成四位二进制数的加、减、乘、除四种运算功能,其结果简单,易于实现。 关键字:VHDL,计算器,QuartusII

目录 一.实验目的 (4) 二、流程图 (4) 三.顶层原理图 (5) 四、各个模块 (6) (1)加法器模块 (6) 1、封装元件 (6) 2、加法器程序 (7) 3、仿真结果 (7) (2)减法器模块 (8) 1、封装元件 (8) 2、减法器程序 (9) 3、仿真结果 (10) 4、硬件运行结果 (11) (3)乘法器模块 (12) 1、封装元件 (12) 2、乘法器的设计思想 (12) 3、乘法器程序 (13) 4、仿真结果 (14) 5、硬件运行结果 (14) (4)除法器模块 (15) 1、封装元件 (15) 2、除法器设计思想 (15) 3、除法器程序 (16) 4、仿真结果 (16) 5、硬件运行结果 (17) (5)8位除法器 (18) 1、封装元件 (18) 2、8位除法器设计思想 (18) 3、8位除法器程序 (19) 4、仿真结果 (21) (6)数码管七段译码电路 (22) 1、封装元件 (22) 2、共阴极七段显示码十六进制转换表 (22) 3、七段译码器程序 (23) 4、仿真结果 (23) (7)选择模块 (24) 1、封装元件 (24) 2、程序 (25) 五、管脚锁定 (25) 六、小结与收获 (26)

人工智能课程大作业

作业题目 摘要:机器博弈是人工智能的一个重要研究分支,本文通过设计一个五子棋智能博奕程序,采用传统的博弈树算法,利用剪枝和极大极小树搜索最佳位置,从而实现人机智能博弈。并对现有算法存在的问题进行探究改进,最后给出展示,结果表明效果比较理想。 关键词:人工智能;五子棋;博弈 本组成员: 本人分工:α-β剪枝实现 1 引言 人工智能[1]是一门综合新型的新兴边缘科学,与生物工程、空间技术并列为三大尖端技术,而机器博弈却是其一个重要的研究分支。它研究如何利用计算机去实现那些过去只能靠人的智力去完成的工作,博弈为人工智能提供了一个很好的应用场所。 博弈过程可以采用与或树进行知识表达,这种表达形式称为博弈树。α—β剪枝技术是博弈树搜索中最常采用的策略。 2 算法原理与系统设计 根据五子棋游戏规则,此次五子棋游戏我们采用基于极大极小值分析法的α—β剪枝算法来实现计算机走棋。α—β剪枝技术是博弈树搜索中最常采用的策略,α—β剪枝搜索由极大极小值分析法演变而来[2]。 极大极小分析法其基本思想或算法是: (1) 设博弈的双方中一方为MAX,另一方为MIN。然后为其中的一方(例如MAX)寻找一个最优行动方案。 (2) 为了找到当前的最优行动方案,需要对各个可能的方案所产生的后果进行比较,具体地说,就是要考虑每一方案实施后对方可能采取的所有行动,并计算可能的得分。 (3) 为计算得分,需要根据问题的特性信息定义一个估价函数,用来估算当前博弈树端节点的得分。此时估算出来的得分称为静态估值。 (4) 当端节点的估值计算出来后,再推算出父节点的得分,推算的方法是:对“或”节点,选其子节点中一个最大的得分作为父节点的得分,这是为了使自己在可供选择的方案中选一个对自己最有利的方案;对“与”节点,选其子节点中一个最小的得分作为父节点的得分,这是为了立足于最坏的情况。这样计算出的父节点的得分称为倒推值。 (5) 如果一个行动方案能获得较大的倒推值,则它就是当前最好的行动方案。 上述的极小极大分析法,实际是先生成一棵博弈树,然后再计算其倒推值,至使极小极大分析法效率较低。于是在极小极大分析法的基础上提出了α-β剪枝技术。α-β剪枝技术的基本思想或算法是,边生成博弈树边计算评估各节点的倒推值,并且根据评估出的倒推值范围,及时停止扩展那些已无必要再扩展的子节点,即相当于剪去了博弈树上的一些分枝,从而节约了机器开销,提高了搜索效率。 具体的剪枝方法如下: (1) 对于一个与节点MIN,若能估计出其倒推值的上确界β,并且这个β值不大于MIN的父节

智能仪器大作业

课程名称:数据采集与智能仪器 姓名: 学号: 班级: 《数据采集与智能仪器》课程考核(大作业) 武汉理工大学信息学院 参考书赵茂泰《智能仪器原理及应用》(第三版) 电子工业出版社 程德福《智能仪器》(第二版)机械工业出版社 第1章概述 本章要求掌握的内容:智能仪器分类、基本结构及特点、智能仪器设计的要点 考试题(10分) 1 智能仪器设计时采用CPLD/FPGA有哪些优点? 第2章数据采集技术 本章要求掌握的内容:数据采集系统的组成结构、模拟信号调理、A/D转换技术、高速数据采集与传输、D/A转换技术、数据采集系统设计 考试题(30分) 1 设计一个MCS-51单片机控制的程控增益放大器的接口电路。已知输入信号小于10mv,要求当输入信号小于1mv时,增益为1000,而输入信号每增加1mv时,其增益自动减少一倍,直到100mv为止。(15分) 评分标准:正确设计硬件电路图(5分);正确编写控制程序(5分);完成仿真调试,实现基本功能(5分); 2 运用双口RAM或FIFO存储器对教材中图2-22所示的高速数据采集系统进行改造,画出采集系统电路原理图,简述其工作过程。(15分) 评分标准:正确设计硬件电路图(10分);正确描述工作过程(5分); 第3章人机接口 本章要求掌握的内容:键盘;LED、LCD、触摸屏 考试题(30分) 1 设计8031单片机与液晶显示模块LCM-512-01A的接口电路,画出接口电路图并编写上下滚动显示XXGCXY(6个大写英文字母)的控制程序(包含程序流程图)。

评分标准:正确设计硬件电路图(10分);正确画出程序流程图(5分);正确编写控制程序(5分);完成仿真调试(10分) 第4章数据通信 本章要求掌握的内容:RS232C、RS485串行总线,USB通用串行总线,PTR2000无线数据传输 考试题(30分) 1 设计PC机与MCS-51单片机的RS232C数据通信接口电路(单片机端含8位LED 显示),编写从PC机键盘输入数字,在单片机的6位LED上左右滚动显示的通信与显示程序。 评分标准:正确设计硬件电路图(5分);正确画出程序流程图(5分);正确编写单片机通信程序(5分);在开发系统上运行,实现基本功能(10分);制作实物,实现基本功能,效果良好(5分)。 第1章概述 考试题(10分) 1 智能仪器设计时采用CPLD/FPGA有哪些优点? 答:FPGA/CPLD芯片都就是特殊的ASIC芯片,她们除了ASIC的特点之外,还有以下优点:(1)随着VLSI工艺的不断提高,FPGA/CPLD的规模也越来越大,所能实现的功能越来越强可以实现系统集成;(2)FPGA/CPLD的资金投入小,研制开发费用低;(3)FPGA/CPLD可反复的编程、擦除、使用或者在外围电路不动的情况下用不同的EPROM就可实现不同的功能;(4)FPGA/CPLD芯片电路的实际周期短;(5)FPGA/CPLD软件易学易用,可以使设计人员更能集中精力进行电路设计。FPGA/CPLD适合于正向设计,对知识产权保护有利。 第2章数据采集技术 考试题(30分) 1、设计一个MCS-51单片机控制的程控增益放大器的接口电路。已知输入信号小于10mv,要求当输入信号小于1mv时,增益为1000,而输入信号每增加1mv时,其增益自动减少一倍,直到100mv为止。(15分) 评分标准:正确设计硬件电路图(5分);正确编写控制程序(5分);完成仿真调试,实现基本功能(5分); 1.设计原理及简介 程控放大器利用选通开关,控制放大器的反馈电阻阻值,实现改变放大倍数的原理工作。这里采用两片8选1模拟开关器件CD4051作为放大器反馈电阻选择开关,通过两两电阻并联得到32种放大倍数。下面有程序将电阻组合一一列出

人工智能大作业

人工智能基础 大作业 —---八数码难题 学院:数学与计算机科学学院 班级:计科14—1 姓名:王佳乐 学号:12 2016、12、20 一、实验名称 八数码难题得启发式搜索 二、实验目得 八数码问题:在3×3得方格棋盘上,摆放着1到8这八个数码,有1个方格就是空得,其初始状态如图1所示,要求对空格执行空格左移、空格右移、空格上移与空格下移这四个操作使得棋盘从初始状态到目标状态. 要求:1、熟悉人工智能系统中得问题求解过程; 2、熟悉状态空间得启发式搜索算法得应用; 3、熟悉对八数码问题得建模、求解及编程语言得应用。 三、实验设备及软件环境 1.实验编程工具:VC++ 6、0 2.实验环境:Windows7 64位 四、实验方法:启发式搜索 1、算法描述 1.将S放入open表,计算估价函数f(s)

2.判断open表就是否为空,若为空则搜索失败,否则,将open表中得第 一个元素加入close表并对其进行扩展(每次扩展后加入open表中 得元素按照代价得大小从小到大排序,找到代价最小得节点进行扩展) 注:代价得计算公式f(n)=d(n)+w(n)、其中f(n)为总代价,d(n)为节点得度,w(n)用来计算节点中错放棋子得个数. 判断i就是否为目标节点,就是则成功,否则拓展i,计算后续节点f(j),利用f(j)对open表重新排序 2、算法流程图: 3、程序源代码: #include<stdio、h> # include<string、h> # include # include〈stdlib、h> typedef struct node{ ?int i,cost,degree,exp,father; ?int a[3][3]; ?struct node *bef,*late;

C语言程序设计大作业设计说明书修改版(计算器设计)

高级语言程序设计大作业 设计说明书 简单计算器 学院电子信息工程学院 专业班级11级通信工程4班 学生姓名彭艺 学号201130095302 指导老师张伟娜

1.概述: 本程序是在C++6.0环境下开发的一款集整数与小数的四则运算和求余运算为一体的简单计算器。主要运用了赋值、计算、选择结构(switch语句实现多分支选择结构)、条件运算、循环计算、函数调用等原理。 2.程序概要设计: 前实现的功能: 程序已经可以完成整数、小数的基本加减乘除;整数基本求余运算;二进制,八进制,十进制,十六进制的相互转换,并可以对输入者的输入错误提出错误警告;程序可以循环运行,也可以自我实现退出菜单的功能(需要按2次回车)。目前发现的BUG有: 1、在整数输入数字的时候,如果输入的是小数的话会一直循环菜单,不会出现结果,也不会提示输入者输入错误,也不会有结果。 2、在整数求余功能中,如果输入的是小数或者输入不合理也会出现一直循环菜单的情况,同样不会提示输入者输入错误,也不会有结果。 目前没有实现的功能有: 1.给出一个二进制数,不可以计算它的原码、补码和反码。 2.整数,小数的基本运算和整数求余的运算出现错误无法提示,函数不是十分完整。 3.全部进制的函数输入的数字个数都是有限制(数字个数不能大于100),超范围就会输出错误结果,无法实现无限制的输入而得出正确结果。 4.每次算完第一次不能按回车,只能按其他按键,否则会退出,因为按两次回车就会退出程序。 5.每次算完,按非回车键都会出现一级菜单,有点繁琐,再次选择整数、小数、进制运算。 流程图:

3.程序详细设计: 在主函数中设置了全局变量,以实现功能选择,并用char函数实现循环输入。 运用do while语句控制结束程序,即在运算过后,如由键盘输入回车键则结束程序。 之后进入功能选择菜单,先调用写好的menu函数(回车2次可退出程序)。 输入提示及输入控制: 若输入的数字不是1-3,则提示输入错误,重新输入: (运用选择结构进行判断) 其中,整数、小数、及进制转换计算功能分别使用了另一个switch语句嵌套,实现选择功能。 整数的加减乘除: 运用基本的加减乘除的函数完成,输入和输出的数字为整型。将输入的数字赋值到变量中,在让变量在程序进行相关的基本运算,输出结果即可。 小数的加减乘除: 运用基本的加减乘除的函数完成,输入和输出的数字都双精度浮点型。将输入的数字赋值到变量中,在让变量在程序进行相关的基本运算,输出结果即可。 整数求余运算: 运用%计算来完成,将输入的数字赋值到变量中,在让变量在程序进行%的运算。得出的值就是所求的余数,输出结果即可。 二进制转换八进制:

相关文档
最新文档