人工智能课程设计报告n皇后问题.docxVIP

  • 11
  • 0
  • 约1.19万字
  • 约 21页
  • 2021-09-17 发布于辽宁
  • 举报
课 程:人工智能课程设计报告 班 级: 姓 名: 学 号: 扌指导教师:赵曼 2015年11月 人工智能课程设计报告 课程背景 人工智能(Artificial Intelligenee ),英文缩写为 Al。它是研究、开发用于模拟、延伸和扩展人的智 能的理论、方法、技术及应用系统的一门新的技术科学。 人工智能是计算机科学的一个分支, 它企图了解智能 的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器,该领域的研究包括机器人、语言识 别、图像识别、自然语言处理和专家系统等。人工智能从诞生以来,理论和技术日益成熟,应用领域也不断扩 大,可以设想,未来人工智能带来的科技产品,将会是人类智慧的“容器”。 人工智能是对人的意识、思维的信息过程的模拟。人工智能不是人的智能,但能像人那样思考、也可能超 过人的智能。 人工智能是一门极富挑战性的科学,从事这项工作的人必须懂得计算机知识,心理学和哲学。人工智能是 包括十分广泛的科学,它由不同的领域组成,如机器学习,计算机视觉等等,总的说来,人工智能研究的一个 主要目标是使机器能够胜任一些通常需要人类智能才能完成的复杂工作。但不同的时代、不同的人对这种“复 杂工作”的理解是不同的。 人工智能是计算机学科的一个分支,二十世纪七十年代以来被称为世界三大尖端技术之一(空间技术、能 源技术、人工智能)。也被认为是二十一世纪三大尖端技术(基因工程、纳米科学、人工智能)之一。这是因 为近三十年来它获得了迅速的发展,在很多学科领域都获得了广泛应用,并取得了丰硕的成果,人工智能已逐 步成为一个独立的分支,无论在理论和实践上都已自成一个系统。 人工智能是研究使计算机来模拟人的某些思维过程和智能行为(如学习、推理、思考、规划等)的学科, 主要包括计算机实现智能的原理、制造类似于人脑智能的计算机,使计算机能实现更高层次的应用。人工智能 将涉及到计算机科学、心理学、哲学和语言学等学科。可以说几乎是自然科学和社会科学的所有学科,其范围 已远远超出了计算机科学的范畴,人工智能与思维科学的关系是实践和理论的关系,人工智能是处于思维科学 的技术应用层次,是它的一个应用分支。从思维观点看,人工智能不仅限于逻辑思维,要考虑形象思维、灵感 思维才能促进人工智能的突破性的发展,数学常被认为是多种学科的基础科学,数学也进入语言、思维领域, 人工智能学科也必须借用数学工具, 数学不仅在标准逻辑、模糊数学等范围发挥作用,数学进入人工智能学科, 它们将互相促进而更快地发展。 题目二:n皇后问题 .问题描述 分别用回溯法(递归)、GA算法和CSP的最小冲突法求解n皇后问题。 即如何能够在 nxn的国际象棋棋盘上放置 n个皇后,使得任何一个皇后都无法直接吃掉其他的皇后?为 了达到此目的,任两个皇后都不能处于同一条横行、纵行或斜线上。 要求: ?输入n,并用运行时间比较几种算法在相同规模的问题时的求解效率,并列表给出结果。 .比较同一算法在n不相同时的运行时间,分析算法的时间复杂性,并列表给出结果。 如八皇后问题的一个解 二.设计分析 算法分析 1)回溯法(递归) 回溯法解题的一般步骤编辑 (1)针对所给问题,定义问题的解空间; (2 )确定易于搜索的解空间结构; (3)以深度优先方式搜索解空间,并在搜索过程中用剪枝函数避免无效搜索。 引入一个整型一维数组 col[]来存放最终结果,col[i]就表示在棋盘第i列、col[i]行有一个皇后,为了使程序 再找完了全部解后回到最初位置,设定 col[0]的初值为0,即当回溯到第0列时,说明以求得全部解,结束程序 运行。为了方便算法的实现,引入三个整型数组来表示当前列在三个方向上的状态 : a[] a[i]=O 表示第i行上还没有皇后; b[] b[i]=O 表示第i列反斜线/上没有皇后; c[] c[i]=0 表示第i列正斜线 上没有皇后。 棋盘中同一反斜线/上的方格的行号与列号相同;同一正斜线 上的方格的行号与列号之差均相同,这就是判断 斜线的依据。 初始时,所有行和斜线上都没有皇后, 从第1列的第1行配置第一个皇后开始, 在第m列,col[m]行放置了一个合 理的皇后,准备考察第 m+列时,在数组a[] ,b[]和c[]中为第m列,col[m]行的位置设定有皇后的标志;当从第 m列回溯到m-1列时,并准备调整第 m-1列的皇后配置时,清除在数组 a[],b[]和c[]对应位置的值都为1来确定。 2)遗传算法 遗传算法的基本运算过程如下: a) 初始化:设置进化代数计数器 t=0,设置最大进化代数 T,随机生成M个个体作为初始群体 P(0)。 b) 个体评价:计算群体P(t)中各个个体的适应度。 遗传算法 遗传算法 c) 选择运算:将选择算子作用于群体。 选择的目的是把优化的个

文档评论(0)

1亿VIP精品文档

相关文档