人工智能导论学习体会及遗传算法应用
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《人工智能》课程学习体会兼论遗传算法在最优化问题的应用与发展
一、《人工智能》课程学习体会
1.课程学习历程
这学期,在《人工智能》课程学习中,我们以中国大学MOOC网上浙江工业大学王万良教授主讲的《人工智能导论》课程为主。课上老师给我们讲解了一些课程中的难点,课下老师发放了很多的人工智能课外阅读资料,供我们参考学习。
在学习的过程中,我们先对智能有了初步了解,之后再谈人工智能的概念。要想实现人工智能,就需要把我们人的思维形式化,于是学习了谓词逻辑知识表示,之后是产生式,然后是概率论和数理统计的一些内容。掌握了这些之后,我们就可以根据知识去解决问题了。可是怎么去解决,如何去推出结果,又是一个问题,于是我们学习了一些推理方法,如模糊推理等。按照智能的定义,那么现在已经基本实现智能了。即实现了智能=知识+智力,虽然不是真正意义上的智能。虽然现在可以去处理一些问题了,但是很明显的,它的效率非常的低,甚至于有些问题找到答案花费的时间特别长,是我们无法接受的。于是我们学习了如A*算法、遗传算法、粒子群优化算法、蚁群算法等一些加快处理问题的算法。最后,我们学习了神经网络、专家系统、机器学习和智能体系等内容。对于这些学习的知识,基本上还处于一个了解的水平,要想实际应用还需要更深入的学习。
课下,我们也看了一些和人工智能的书籍,诸如《浪潮之巅》,向我们讲述了科技公司像IBM,微软,英特尔等公司的兴衰;《智能革命》向我们讲述了AI 与我们的生活密切相关,并且越来越离不开智能。通过阅读这些课外读物,也使得我们对人工智能有了更深的理解与思考。
2.课程学习体会与感悟
学习完主要课程之后,给我的第一感觉就是:“哎!怎么还没有学呢!课程就结束了”。有这样的感觉主要还是受到疫情的影响,在家不能像在学校一样学的那么精细。很多的知识几乎是走一个概念便草草离场了,同时,人工智能这门课程本身涉及的知识面也比较广,如讲到神经网络的时候提到了生物学中的神经元、突触等这些结构,想一下子掌握这些内容是不可能的。
另一个方面则是,人工智能的应用领域非常之多,诸如机器学习,专家系统等,每一部分都是可以单独拿出来作为深入学习的方向的。因此,现在的学习,只是对人工智能有了一个初步的了解,想要入门还需要学习更多的内容,还需要投入更多的时间。
二、遗传算法在最优化问题的应用与发展
1.遗传算法简述
遗传算法GA是一类借鉴生物界自然选择和自然遗传机制的随机搜索算法,非常适合用于处理传统搜索方法难以解决的复杂和非线性优化问题。遗传算法可广泛应用与组合优化、机器学习、自适应控制、规划设计和人工生命等领域。
2.生物遗传与遗传算法的对应关系
3.用遗传算法在经典的最优化问题TSP(旅行商问题)中的应用
(1)问题提出
有一个旅行商从一个城市出发,每个城市访问一次,并且只能访问一次,最后再回到出发城市,问如何行走才能使得行走的路径长度最短。
(2)方法策略
采用遗传算法求解
(3)求解过程
①编码:假设有n个城市,依次编号1、2、3、4、...、n;
②初始化种群:随机产生规模为k的种群序列,设置迭代次数为m;
③编写适应度函数:这里选用染色体编码表示的路径总长度;
④选择:这里可以选择达到迭代次数时,选择当前的最优解,作为整
个问题的最优解;
⑤交叉:当不满足选择的条件时,就进行部分匹配交叉,并消除基因
冲突;
⑥变异:产生两个随机数,交换其位置。
(4)输出结果
根据(3)中的求解过程就可以得到一个TSP问题的可行解,即一个长度为
n的数字串序列,同时可以得到最短路径的值。
(5)问题总结
从算法的步骤上我们可以看出,遗传算法它是一种随机算法,但并
不是盲目的,它是有一定目的性的,对于适应度比较差的个体可以过滤
掉。同时对于不满足适应度函数或选择的种群或个体可以进行交叉和变
异,以此来使其进化,以达到我们的需求。
应当注意的是,遗传算法得到的解并不是唯一的,并且每次得出的结果也不一定是相同的,它往往求得的值是该问题的最优解的一个近似
解或者是问题的一个可行解。当然,对于大规模的问题,往往求出精确
的最优解是没有必要的,那么这时使用一个近似解或可行解的优势就体
现出来了。
4.遗传算法的发展
通过上述TSP问题的应用,我们可以知道遗传算法在最优化问题中还是有着一定地位的。它可以有效的解决传统求解策略中,当数据量、计算量过于庞大时,无法快速得到结果的情况。
当然,基本的遗传算法在解决问题时会显的很繁琐,所求得的结果往往和问题的最优解有一定的差距。这时我们可以给算法中的一些步骤做相应优化,比如在交叉、变异时,可能会产生父代已经产生过的序列,我们可以将这些序列进行排除。因此在使用遗传算法解决问题的过程中一定要对算法进行组合优化。
遗传算法除了在求解最优化问题上有着广泛的应用,还在机器学习、信号处理、自适应控制等领域发挥着重要作用。