




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
整理为word格式整理为word格式整理为word格式人工智能课程大作业——基于回溯搜索的地图着色班级:20110616学号:2011061624姓名:曾江东2014年11月26号整理为word格式整理为word格式整理为word格式摘要:人工智能是20世纪50年代中期兴起的一门边缘学科。人工智能领域中,地图着色问题是一典型的优化的问题。由它引发的“四色猜想”是全世界的难题,直到1975年由三台超高速电子计算机,经过1200小时的计算才终于正明了“四色定理”。这是世界上最长的证明。本文并不是想证明,而只是想基于回溯法来给地图着色,求出最少用色。本文着重介绍利用MFC设计界面来对中国省级地图着色进行演示。计算机视觉是研究为完成在复杂的环境中运动和在复杂的场景中识别物体所需要哪些视觉信息,以及如何从图像中获取这些信息的科学领域。关键词:地图着色;回溯搜索;MFC本组成员:曾江东,杨星,俞洋本人分工:本人主要基于回溯搜索算法的代码的编写。1引言人,现在社会的发展中心都离不开这个人字,人是发展的本体,人类的自然智能伴随到处都是,本次实验研究什么是人工智能,人工智能又能如何的运用在生活和学习中。
人工智能(Artificial
Intelligence)
,英文缩写为AI。它是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。
人工智能(Artificial
Intelligence,AI)是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。人工智能从诞生以来,理论和技术日益成熟,应用领域也不断扩大,但没有一个统一的定义。人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器,该领域的研究包括机器人、语言识别、图像识别、自然语言处理和专家系统等。
本次实验研究的是关于人工智能中搜索的功能,实现用回溯法对地图不同地区的着色问题,地图上有不同国家(不同区域),每个国家都与其他一些国家邻接。现要求对地图着色,使所有的国家与它的邻接的国家有不同的颜色。通常由四种颜色就已足够。地图着色的算法比较多,但是切实可行的算法很少,回溯法在地图区域较大,邻接关系复杂的情况下,回溯次数将会大大增多,严重影响了程序执行效率。不过本次作业则是采用修改后的回溯法,在一定的条件下,执行效率还是很高。
本次实验是要对中国地图中的省级行政区最多使用四种颜色来进行着色,编程实现回溯算法用于地图自动着色。我负责得是改进的回溯算法的代码的编写。2算法原理与系统设计2.1
回溯算法原理要解决地图着色的问题,本文采用的是回溯法。回溯法是一种系统地搜索问题解的搜索算法。回溯法递归地在解空间中搜索,直至找到所要求的解或解空间中已没有活结点时为止。
其基本步骤:1.定义一个解空间,它包含问题的解。
2.利用适于\o"搜索"搜索的方法组织解空间。3.利用\o"深度优先法"深度优先法搜索解空间。4.利用\o"限界函数"限界函数避免移动到不可能产生解的子空间。而地图着色的问题可以处理为:如果把每一个区域收缩为一个顶点,把相邻两个区域用一条边相连接,就可以把一个区域图抽象为一个平面图。则着色问题变成了对解问题的最优搜索算法的实现。我利用分枝定界法对候选解进行系统检查,能以较高效率的找到最优解。2.2
详细设计地图着色功能流程图如图2-1所示:整理为word格式整理为word格式整理为word格式图2-1地图颜色确定流程图在窗口上着色时,用到的是广度算法的思想,搜索遍历一个省区域内的所有像素点。整理为word格式整理为word格式整理为word格式着色是各省渐变着色,感观上能看见是从省中间向边缘扩散。在对一个省进行着色时,用深度优先的算法实现,共用4种颜色,分别是红,绿,蓝,黄。每次给当前省份4种颜色中的一种,然后判断是否合理,如不合理则换另一种颜色值,根据图的4色定理一定能从4种颜色中找到一个合适的颜色,直到当前省份找到合适颜色后,进行下个省份的判断。在着色时,以这个省份的中心点为基准,由环形向外进行着色,采用深度优先搜索算法,并根据标记的二维数组来进行边界检测,以保证着色的准确性。在本次设计中,用到了关于地图信息的两个文件,一个是地图标记点文档,如图2-2所示。它里边存储的是地图的每个省份的中间点的像素坐标,如“新疆
125
123”,代表的是新疆在地图中的坐标位置,一共32个省。另一个是相邻之间的关系的文档,如图2-3所示。它里边存储的是省与省之间的相邻接关系,比如“13”,代表省1,省3相邻。这里的0和1是根据node表中的顺序得来的,0代表新疆,1代表西藏。当两个省相临时,他们不能着相同的颜色。程序不要求用户输入,运行程序后自动从文件中读取地图信息,并加载原始地图,出现可操作的可视化界面。图2-2地图标记点文件图2-3相邻之间的关系文件3系统实现3-1回溯算法我采用的是深度优先搜索算法,它就是把最近刚产生的结点优先扩展,直到达到一定的深度限制。若未找到目标或无法再扩展时,再回溯到另一个结点继续扩展。它类似于树的先根搜索,是树的先根搜索的推广。3-2代码实现地图涂色用到深度优先搜索算法voidCMyDlg::On_Color(){ //TODO:Addyourcontrolnotificationhandlercodehere ALgraphG; inti,s,d;listnode*p,*q; ifstreamifile("C:\\地图(邻接表)\\text2.txt",ios::in);整理为word格式整理为word格式整理为word格式 G.vexnum=32; G.arcnum=68; for(i=1;i<=32;i++) { G.vexs[i].first=NULL; } for(i=1;i<=68;i++){ ifile>>s>>d; p=newlistnode; p->adjvex=d; p->next=G.vexs[s].first; G.vexs[s].first=p; q=newlistnode; q->adjvex=s; q->next=G.vexs[d].first; G.vexs[d].first=q;} ifstreamifile1("C:\\地图(邻接表)\\坐标1.txt",ios::in); for(i=0;i<32;i++) { ifile1>>P[i].x>>P[i].y; } intj,a[MAXVER]; intcolor[MAXVER]; color[0]=1; for(i=0;i<MAXVER;i++) a[i]=0; for(i=1;i<MAXVER;i++) color[i]=1; for(i=1;i<=32;i++) { intcount=1; listnode*p; p=G.vexs[i].first; while(p!=NULL) { if(i<p->adjvex) p=p->next; else { a[count]=p->adjvex;整理为word格式整理为word格式整理为word格式 count++; p=p->next; } } if(count>1) { intt=1; for(j=1;j<=n;j++) { intflag=1; for(t=1;t<count;t++) { if(j==color[a[t]]) { flag=0; break; } } if(flag==1) { color[i]=j; break; } } } } for(i=1;i<=32;i++) { CDC*pdc=GetDC(); Color(P[i-1].x,P[i-1].y,c[color[i]-1],pdc); }}4实验或测试结果程序运行后出现如下界面:整理为word格式整理为word格式整理为word格式图4-1地图初始化点击着色后,开始着色:图4-2地图着色中整理为word格式整理为word格式整理为word格式图4-3地图着色完成 在调试过程中,我们发现地图着色非常缓慢,我们分析是由于我们是对点像素的遍历,而图的范围又非常广,导致遍历速度很慢,程序效率不快。5结论 在这次利用回溯搜索算法实现中国地图着色的实验中,我负责的是回溯搜索算法的编写,其实基本的回溯算法,是一种系统地搜索问题的解的方法。但是,又怎么利用它实现地图的着色呢?我利用的是将图着色的问题具体化,把每一个区域收缩为一个顶点,把相邻两个区域用一条边相连接,就可以把一个区域图抽象为一个平面图,这样就可以用到遍历了。 虽然在编写代码的时候遇到了很多问题,但是更让人烦躁的是,调试时,程序老是出现错误,这让我们相当沮丧,后来,通过小组成员不断地努力,终于排除所有的问题,程序成功运行,这还是让我们很有成就感的。参考文献[1]
梁述明,陆忠武.四
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024八年级物理下册 第七章 运动和力7.3 探究物体不受力时怎样运动教学实录(新版)粤教沪版
- 矿井改建合同范本
- 机车队入门知识培训课件
- 叉车过户合同范本
- 合伙企业投资合同模板范文
- 以销售入股合同范本
- 押金代销合同范本
- 字画书法售卖合同范本
- 执业医师出租合同范本
- 购房资金监管合同范本
- 维生素D在儿科的应用课件
- 质量控制计划QCP
- 纳税人进项税额分摊方式备案报告表(样本)
- 老版入团志愿书表格(空白)
- 面瘫病人的康复指导
- 学习解读2023年涉税专业服务基本准则和职业道德守则课件
- 修理厂喷漆承包合同
- GB/T 42430-2023血液、尿液中乙醇、甲醇、正丙醇、丙酮、异丙醇和正丁醇检验
- 淮北市事业单位考试历年真题
- 2023年中考英语复习 第4部分 5 读写综合 (回答问题)课件
- 临时用地申请书参考模板
评论
0/150
提交评论