人工智能课程大作业——基于回溯搜索的地图着色班级:20110616学号:2011061624姓名:曾江东2014年11月26号精选文档—2摘要:人工智能是20世纪50年代中期兴起的一门边缘学科。人工智能领域中,地图着色问题是一典型的优化的问题。由它引发的“四色猜想”是全世界的难题,直到1975年由三台超高速电子计算机,经过1200小时的计算才终于正明了“四色定理”。这是世界上最长的证明。本文并不是想证明,而只是想基于回溯法来给地图着色,求出最少用色。本文着重介绍利用MFC设计界面来对中国省级地图着色进行演示。计算机视觉是研究为完成在复杂的环境中运动和在复杂的场景中识别物体所需要哪些视觉信息,以及如何从图像中获取这些信息的科学领域。关键词:地图着色;回溯搜索;MFC本组成员:曾江东,杨星,俞洋本人分工:本人主要基于回溯搜索算法的代码的编写。1引言人,现在社会的发展中心都离不开这个人字,人是发展的本体,人类的自然智能伴随到处都是,本次实验研究什么是人工智能,人工智能又能如何的运用在生活和学习中。人工智能(ArtificialIntelligence),英文缩写为AI。它是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。人工智能(ArtificialIntelligence,AI)是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。人工智能从诞生以来,理论和技术日益成熟,应用领域也不断扩大,但没有一个统一的定义。人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器,该领域的研究包括机器人、语言识别、图像识别、自然语言处理和专家系统等。本次实验研究的是关于人工智能中搜索的功能,实现用回溯法对地图不同地区的着色问题,地图上有不同国家(不同区域),每个国家都与其他一些国家邻接。现要求对地图着色,使所有的国家与它的邻接的国家有不同的颜色。通常由四种颜色就已足够。地图着色的算法比较多,但是切实可行的算法很少,回溯法在地图区域较大,邻接关系复杂的情况下,回溯次数将会大大增多,严重影响了程序执行效率。不过本次作业则是采用修改后的回溯法,在一定的条件下,执行效率还是很高。本次实验是要对中国地图中的省级行政区最多使用四种颜色来进行着色,编程实现回溯算法用于地图自动着色。我负责得是改进的回溯算法的代码的编写。2算法原理与系统设计2.1回溯算法原理要解决地图着色的问题,本文采用的是回溯法。回溯法是一种系统地搜索问题解的搜索算法。回溯法递归地在解空间中搜索,直至找到所要求的解或解空间中已没有活结点时为止。其基本步骤:1.定义一个解空间,它包含问题的解。2.利用适于搜索的方法组织解空间。3.利用深度优先法搜索解空间。4.利用限界函数避免移动到不可能产生解的子空间。而地图着色的问题可以处理为:如果把每一个区域收缩为一个顶点,把相邻两个区域用一条边相连接,就可以把一个区域图抽象为一个平面图。则着色问题变成了对解问题的最优搜索算法的实现。我利用分枝定界法对候选解进行系统检查,能以较高效率的找到最优解。2.2详细设计地图着色功能流程图如图2-1所示:精选文档—3Colr[0]=0,i=1,colr=0,pl=nullinext否是是是是否否否开始结束图2-1地图颜色确定流程图在窗口上着色时,用到的是广度算法的思想,搜索遍历一个省区域内的所有像素点。精选文档—4着色是各省渐变着色,感观上能看见是从省中间向边缘扩散。在对一个省进行着色时,用深度优先的算法实现,共用4种颜色,分别是红,绿,蓝,黄。每次给当前省份4种颜色中的一种,然后判断是否合理,如不合理则换另一种颜色值,根据图的4色定理一定能从4种颜色中找到一个合适的颜色,直到当前省份找到合适颜色后,进行下个省份的判断。在着色时,以这个省份的中心点为基准,由环形向外进行着色,采用深度优先搜索算法,并根据标记的二维数组来进行边界检测,以保证着色的准确性。在本次设计中,用到了关于地图信息的两个文件,...