在生命科学领域中,人们已经对遗传(Heredity)与免疫(Immunity)等自然现象进行了广泛深入的研究。
六十年代Bagley和Rosenberg等先驱在对这些研究成果进行分析与理解的基础上,借鉴其相关内容和知识,特别是遗传学方面的理论与概念,并将其成功应用于工程科学的某些领域,收到了良好的效果。
时至八十年代中期,美国Michigan大学的Hollan教授不仅对以前的学者们提出的遗传概念进行了总结与推广,而且给出了简明清晰的算法描述,并由此形成目前一般意义上的遗传算法(GeneticAlgorithm)GA。
由于遗传算法较以往传统的搜索算法具有使用方便、鲁棒性强、便于并行处理等特点,因而广泛应用于组合优化、结构设计、人工智能等领域。
另一方面,Farmer和Bersini等人也先后在不同时期、不同程度地涉及到了有关免疫的概念。
遗传算法是一种具有生成+检测(generateandtest)的迭代过程的搜索算法。
从理论上分析,迭代过程中,在保留上一代最佳个体的前提下,遗传算法是全局收敛的。
然而,在对算法的实施过程中不难发现两个主要遗传算子都是在一定发生概率的条件下,随机地、没有指导地迭代搜索,因此它们在为群体中的个体提供了进化机会的同时,也无可避免地产生了退化的可能。
在某些情况下,这种退化现象还相当明显。
另外,每一个待求的实际问题都会有自身一些基本的、显而易见的特征信息或知识。
然而遗传算法的交叉和变异算子却相对固定,在求解问题时,可变的灵活程度较小。
这无疑对算法的通用性是有益的,但却忽视了问题的特征信息对求解问题时的辅助作用,特别是在求解一些复杂问题时,这种忽视所带来的损失往往就比较明显了。
实践也表明,仅仅使用遗传算法或者以其为代表的进化算法,在模仿人类智能处理事物的能力方面还远远不足,还必须更加深层次地挖掘与利用人类的智能资源。
从这一点讲,学习生物智能、开发、进而利用生物智能是进化算法乃至智能计算的一个永恒的话题。
所以,研究者力图将生命科学中的免疫概念引入到工程实践领域,借助其中的有关知识与理论并将其与已有的一些智能算法有机地结合起来,以建立新的进化理论与算法,来提高算法的整体性能。
基于这一思想,将免疫概念及其理论应用于遗传算法,在保留原算法优良特性的前提下,力图有选择、有目的地利用待求问题中的一些特征信息或知识来抑制其优化过程中出现的退化现象,这种算法称为免疫算法(ImmuneAlgorithm)IA。
下面将会给出算法的具体步骤,证明其全局收敛性,提出免疫疫苗的选择策略和免疫算子的构造方法,理论分析和对TSP问题的仿真结果表明免疫算法不仅是有效的而且也是可行的,并较好地解决了遗传算法中的退化问题。
1
1、本期内容1.1版权申明1.2内容详情1.2.1相关概念简介1.2.2一致性的重要1.2.3Codis的使用经验1.2.4分布式数据库和架构1.2.5现场答疑(Q&A)2、知识扩展2.1CAP理论简介2.1.1CAP的历史2.1.2CAP被上升为定理2.1.3前所未有的质疑2.1.4对质疑的回应2.1.5该如何看待CAP2.1.6参考资料2.2Raft一致性算法2.2.1问题描述2.2.2算法描述2.2.3基本概念2.2.4发展现状2.2.5应用场景2.3Paxos的应用场景2.3.1主要内容2.3.2参考文献2.4GoogleSpanner2.4.1介绍2.4.2实现2.4.3TrueTime2.4.4并发控制2.4.5实验分析2.4.6相关工作2.4.7未来的工作2.4.8总结2.5Codis集群部署实战2.5.1集群概要2.5.2系统架构2.5.3角色分配2.5.4部署安装2.5.5服务启动及初始化集群2.5.6codis-server的HA2.5.7关于集群监控的思考2.5.8使用过程中遇到的问题
2025/6/7 3:35:29 1.57MB 架构 java redis codis
1
这是我花了不少时间做的,里面有相关的算法描述和详细的代码,还有详细的注释,他是有MFC编的,里面有他每个部分的代码希望对爱好C++的人有所帮助
2025/4/9 10:36:28 556KB 八皇后 课程设计 代码 MFC
1
列主元Gauss消去法是指在解方程组时,未知数顺序消去,在要消去的那个未知数的系数中找按模最大者作为主元.完成消元后,系数矩阵化为上三角形,然后在逐步回代求解未知数.列主元Gauss消去法是在综合考虑运算量与舍人误差控制的情况下一种较为理想的算法.本文档给出了算法描述及算法matlab代码实现。
2024/12/25 3:08:01 41KB 列主元 Gauss消去法 解方程组 matlab
1
一、课程设计题目:哈夫曼树应用二、课程设计要求:1) 从终端读入字符集大小n,以及n个字符和n个权值,建立哈夫曼树并将它存于文件hfmTree中.将已在内存中的哈夫曼树以直观的方式(比如树)显示在终端上;
2) 利用已经建好的哈夫曼树(如不在内存,则从文件htmTree中读入),对文件Text.txt中的正文进行编码,然后将结果存入文件Code.txt中。
3) 利用已建好的哈夫曼树将文件Code.txt中的代码进行译码,结果存入文件Text.txt中,并输出结果。
三、进度安排1.分析问题,给出数学模型,选择数据结构。
2.设计算法,给出算法描述,给出源程序清单。
3.编辑、编译、调试源程序,撰写课程设计报告。
四、基本要求1.界面友好,函数功能要划分好2.总体设计应画一流程图3.程序要加必要的注释4.要提供程序测试方案5.程序一定要经得起测试,宁可功能少一些,也要能运行起来,不能运行的程序是没有价值的。
目录1•设计目的 32.需求分析 42.1哈夫曼编码/译码器简介 42.2.问题描述 42.3需求分析 43.概要设计 53.1问题分析哈夫曼树的定义 54.详细设计 64.1系统框架图 64.2总体流程图 74.3编码函数 84.4译码函数 104.5运行结果 115.调试分析 136.小结 14参考文献 15附录:源程序代码 16
1
1、问题描述 12、问题分析 13、词法分析 13.1总体分析 13.2具体分析 14、文法描述 25、语法分析方法描述及语法分析表设计 36、中间代码形式的描述及中间代码序列的结构设计 37、详细的算法描述 47.1主要的词法分析如下 47.2主要的词法分析及三地址形式分析如下 68、软件测试方法和测试结果 108.1软件测试方法 108.2测试结果 109、收获与心得 1310、参考文献 1411、附源代码 14
2024/5/26 20:04:20 972KB 武汉理工 if-else 编译原理
1
图像处理中,已知一系列圆上的点,计算圆心和半径。
具体算法描述可以参考文献以下文献。
岳健《一种改进的Hough圆检测算法》应用科技2006年本类完全按照以上文献描述的算法编写。
2024/2/7 0:44:09 12KB C# Hough
1
图像拼接的综述、各种算法描述,算是对自己学习的一个交代
2024/1/19 17:04:57 542KB 图像拼接 算法
1
写文章描述算法的latex模板,简单实用
2023/11/7 14:14:19 25KB 算法描述 latex
1
1.对于二叉排序树,下面的说法()是正确的。
A.二叉排序树是动态树表,查找不成功时插入新结点时,会引起树的重新分裂和组合B.对二叉排序树进行层序遍历可得到有序序列C.用逐点插入法构造二叉排序树时,若先后插入的关键字有序,二叉排序树的深度最大D.在二叉排序树中进行查找,关键字的比较次数不超过结点数的1/22.在有n个结点且为完全二叉树的二叉排序树中查找一个键值,其平均比较次数的数量级为()。
A.O(n)B.O(log2n)C.O(n*log2n)D.O(n2)3.静态查找与动态查找的根本区别在于()。
A.它们的逻辑结构不一样B.施加在其上的操作不同C.所包含的数据元素类型不一样D.存储实现不一样4.已知一个有序表为{12,18,24,35,47,50,62,83,90,115,134},当折半查找值为90的元素时,经过()次比较后查找成功。
A.2B.3C.4D.55.已知数据序列为(34,76,45,18,26,54,92,65),按照依次插入结点的方法生成一棵二叉排序树,则该树的深度为()。
A.4B.5C.6D.76.设散列表表长m=14,散列函数H(k)=kmod11。
表中已有15,38,61,84四个元素,如果用线性探测法处理冲突,则元素49的存储地址是()。
A.8B.3C.5D.97.平衡二叉树的查找效率呈()数量级。
A.常数阶B.线性阶C.对数阶D.平方阶8.设输入序列为{20,11,12,…},构造一棵平衡二叉树,当插入值为12的结点时发生了不平衡,则应该进行的平衡旋转是()。
A.LLB.LRC.RLD.RR二、填空题(每空3分,共24分)。
1.在有序表A[1..18]中,采用二分查找算法查找元素值等于A[7]的元素,所比较过的元素的下标依次为。
2.利用逐点插入法建立序列(61,75,44,99,77,30,36,45)对应的二叉排序树以后,查找元素36要进行次元素间的比较,查找序列为。
3.用顺序查找法在长度为n的线性表中进行查找,在等概率情况下,查找成功的平均比较次数是。
4.二分查找算法描述如下:intSearch_Bin(SSTST,KTkey){low=1;high=ST.length;while(low<=high){mid=(low+high)/2;if(key==ST.elem[mid].key)returnmid;elseif(key<ST.elem[mid].key);else;}return0;}5.链式二叉树的定义如下:typedefstructBtn{TElemTypedata;;}BTN,*BT;6.在有n个叶子结点的哈夫曼树中,总结点数是。
三、综合题(共52分)。
1.(共12分)假定关键字输入序列为19,21,47,32,8,23,41,45,40,画出建立二叉平衡树的过程。
2.(共15分)有关键字{13,28,31,15,49,36,22,50,35,18,48,20},Hash函数为H=keymod13,冲突解决策略为链地址法,请构造Hash表(12分),并计算平均查找长度(3分)。
ASL=3.(共10分)设关键字码序列{20,35,40,15,30,25},给出平衡二叉树的构造过程。
4.(共15分)设哈希表长为m=13,散列函数为H(k)=kmod11,关键字序列为5,7,16,12,11,21,31,51,17
2023/10/29 19:17:51 88KB 数据结构 第九章  查找 作业
1
共 25 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡