如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
大连理工大学远程与继续教育学院《人工智能》课程设计题目:深度优先搜索算法1.谈谈你对本课程学习过程中的心得体会与建议?通过这学期的学习,我对人工智能有了一定的感性认识,个人觉得人工智能是一门极富挑战性的科学,从事这项工作的人必须懂得计算机知识,心理学和哲学。人工智能是包括十分广泛的科学,它由不同的领域组成,如机器学习,计算机视觉等等,总的说来,人工智能研究的一个主要目标是使机器能够胜任一些通常需要人类智能才能完成的复杂工作。个人认为学习中的建议:1、网上找一些视频,网上有很多教育网站,就是IT培训的网站,选一下靠谱的网站,会有一些视频卖,或者网络课程,挺多视频都是挺好的,认真的看完一套。有认识的朋友做人工智能的,一般都会有些资料,可以问问他们,分享出来。学习是要投入一些成本的,但也有很多坑,我没法说具体的,网上有一些,贩子专门卖资料的,希望谨慎不要踩坑。2、学习的时候一定要跟着书上或者视频进行操练,这样才能理会,比较很多抽象的东西,单靠看书时没有办法深入理解的,只有实战能够快速提升能力。我觉得自学,还是非常费劲的,效果不一定好,最好有老师指导,否则进展很慢,可以先跟教学视频学习,看书实操,做一些具体的项目等。2.《人工智能》课程设计,从以下5个题目中任选其一作答。《人工智能》课程设计题目三:深度优先搜索算法一、深度优先搜索的过程深度优先搜索(缩写DFS)的思想是从一个顶点V0开始,沿着大连理工大学远程与继续教育学院《人工智能》课程设计一条路一直走到底,如果发现不能到达目标解,那就返回到上一个节点,然后从另一条路开始走到底,这种尽量往深处走的概念即是深度优先的概念。假设按照以下的顺序来搜索:1.V0->V1->V4,此时到底尽头,仍然到不了V6,于是原路返回到V1去搜索其他路径;2.返回到V1后既搜索V2,于是搜索路径是V0->V1->V2->V6,,找到目标节点,返回有解。二、深度优先搜索的案例分析求图中的V0出发,是否存在一条路径长度为4的搜索路径。显然,我们知道是有这样一个解的:V0->V3->V5->V6。处理过程:大连理工大学远程与继续教育学院《人工智能》课程设计大连理工大学远程与继续教育学院《人工智能》课程设计对应的伪代码及核心代码:伪代码:/***DFS核心伪代码*前置条件是visit数组全部设置成false*@paramn当前开始搜索的节点*@paramd当前到达的深度,也即是路径长度*@return是否有解大连理工大学远程与继续教育学院《人工智能》课程设计*/boolDFS(Noden,intd){if(d==4){//路径长度为返回true,表示此次搜索有解returntrue;}for(NodenextNodeinn){//遍历跟节点n相邻的节点nextNode,if(!visit[nextNode]){//未访问过的节点才能继续搜索//例如搜索到V1了,那么V1要设置成已访问visit[nextNode]=true;//接下来要从V1开始继续访问了,路径长度当然要加if(DFS(nextNode,d+1)){//如果搜索出有解//例如到了V6,找到解了,你必须一层一层递归的告诉上层已经找到解returntrue;}//重新设置成未访问,因为它有可能出现在下一次搜索的别的路径中visit[nextNode]=false;}//到这里,发现本次搜索还没找到解,那就要从当前节点的下一个节点开始搜索。}returnfalse;//本次搜索无解大连理工大学远程与继续教育学院《人工智能》课程设计}核心代码:/***DFS核心伪代码*前置条件是visit数组全部设置成false*@paramn当前开始搜索的节点*@paramd当前到达的深度*@return是否有解*/boolDFS(Noden,intd){if(isEnd(n,d)){//一旦搜索深度到达一个结束状态,就返回truereturntrue;}for(NodenextNodeinn){//遍历n相邻的节点nextNodeif(!visit[nextNode]){//visit[nextNode]=true;//在下一步搜索中,nextNode不能再次出现if(DFS(nextNode,d+1)){//如果搜索出有解//做些其他事情,例如记录结果深度等returntrue;}//重新设置成false,因为它有可能出现在下一次搜索的