ImageVerifierCode 换一换
格式:DOCX , 页数:21 ,大小:235.10KB ,
资源ID:923282      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/923282.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(人工智能课程设计报告样本.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

人工智能课程设计报告样本.docx

1、人工智能课程设计报告样本 课 程:人工智能课程设计汇报 班 级: 姓 名: 学 号: 指导老师:赵曼 11月人工智能课程设计汇报课程背景 人工智能(Artificial Intelligence),英文缩写为AI。它是研究、开发用于模拟、延伸和扩展人智能理论、方法、技术及应用系统一门新技术科学。 人工智能是计算机科学一个分支,它企图了解智能实质,并生产出一个新能以人类智能相同方法做出反应智能机器,该领域研究包含机器人、语言识别、图像识别、自然语言处理和教授系统等。人工智能从诞生以来,理论和技术日益成熟,应用领域也不停扩大,能够设想,未来人工智能带来科技产品,将会是人类智慧“容器”。人工智能是对

2、人意识、思维信息过程模拟。人工智能不是人智能,但能像人那样思索、也可能超出人智能。人工智能是一门极富挑战性科学,从事这项工作人必需知道计算机知识,心理学和哲学。人工智能是包含十分广泛科学,它由不一样领域组成,如机器学习,计算机视觉等等,总说来,人工智能研究一个关键目标是使机器能够胜任部分通常需要人类智能才能完成复杂工作。但不一样时代、不一样人对这种“复杂工作”了解是不一样。人工智能是计算机学科一个分支,二十世纪七十年代以来被称为世界三大尖端技术之一(空间技术、能源技术、人工智能)。也被认为是二十一世纪三大尖端技术(基因工程、纳米科学、人工智能)之一。这是因为近三十年来它取得了快速发展,在很多学

3、科领域全部取得了广泛应用,并取得了丰硕结果,人工智能已逐步成为一个独立分支,不管在理论和实践上全部已自成一个系统。人工智能是研究使计算机来模拟人一些思维过程和智能行为(如学习、推理、思索、计划等)学科,关键包含计算机实现智能原理、制造类似于人脑智能计算机,使计算机能实现更高层次应用。人工智能将包含到计算机科学、心理学、哲学和语言学等学科。能够说几乎是自然科学和社会科学全部学科,其范围已远远超出了计算机科学范围,人工智能和思维科学关系是实践和理论关系,人工智能是处于思维科学技术应用层次,是它一个应用分支。从思维见解看,人工智能不仅限于逻辑思维,要考虑形象思维、灵感思维才能促进人工智能突破性发展,

4、数学常被认为是多个学科基础科学,数学也进入语言、思维领域,人工智能学科也必需借用数学工具,数学不仅在标准逻辑、模糊数学等范围发挥作用,数学进入人工智能学科,它们将相互促进而愈加快地发展。题目二:n皇后问题一.问题描述分别用回溯法(递归)、GA算法和CSP最小冲突法求解n皇后问题。即怎样能够在 nn 国际象棋棋盘上放置n个皇后,使得任何一个皇后全部无法直接吃掉其它皇后?为了达成此目标,任两个皇后全部不能处于同一条横行、纵行或斜线上。要求:. 输入n,并用运行时间比较多个算法在相同规模问题时求解效率,并列表给出结果。. 比较同一算法在n不相同时运行时间,分析算法时间复杂性,并列表给出结果。如八皇后

5、问题一个解二.设计分析1.算法分析 1) 回溯法(递归)回溯法解题通常步骤编辑(1)针对所给问题,定义问题解空间;(2)确定易于搜索解空间结构;(3)以深度优先方法搜索解空间,并在搜索过程中用剪枝函数避免无效搜索。引入一个整型一维数组col来存放最终止果,coli就表示在棋盘第i列、coli行有一个皇后,为了使程序再找完了全部解后回到最初位置,设定col0初值为0,即当回溯到第0列时,说明以求得全部解,结束程序运行。为了方便算法实现,引入三个整型数组来表示目前列在三个方向上状态 :a ai=0表示第i行上还没有皇后;b bi=0表示第i列反斜线/上没有皇后;c ci=0表示第i列正斜线上没有皇

6、后。棋盘中同一反斜线/上方格行号和列号相同;同一正斜线上方格行号和列号之差均相同,这就是判定斜线依据。初始时,全部行和斜线上全部没有皇后,从第1列第1行配置第一个皇后开始,在第m列,colm行放置了一个合理皇后,准备考察第m+1列时,在数组a,b和c中为第m列,colm行位置设定有皇后标志;当从第m列回溯到m-1列时,并准备调整第m-1列皇后配置时,清除在数组a,b和c对应位置值全部为1来确定。 2)遗传算法遗传算法基础运算过程以下:a)初始化:设置进化代数计数器t=0,设置最大进化代数T,随机生成M个个体作为初始群体P(0)。b)个体评价:计算群体P(t)中各个个体适应度。遗传算法遗传算法c

7、)选择运算:将选择算子作用于群体。选择目标是把优化个体直接遗传到下一代或经过配对交叉产生新个体再遗传到下一代。选择操作是建立在群体中个体适应度评定基础上。d)交叉运算:将交叉算子作用于群体。遗传算法中起关键作用就是交叉算子。e)变异运算:将变异算子作用于群体。即是对群体中个体串一些基因座上基因值作变动。群体P(t)经过选择、交叉、变异运算以后得到下一代群体P(t+1)。f)终止条件判定:若t=T,则以进化过程中所得到含有最大适应度个体作为最优解输出,终止计算。3)csp最小冲突法(1)初始化N个皇后一个放置,许可有冲突(2)考虑某一行某个皇后,她可能和x个皇后冲突,然后看看将这个皇后移动到这一

8、行哪个空位能使得和其冲突皇后个数最少,就移动到那里。(也能够考虑列,是等价)(3)不停实施(2),直到没有冲突为止2.数据结构使用数组结构存放相关数据一维数组:二维数组:3.算法设计1)/回溯搜索 void Function1:DFS(int t,bool isShowTime) if (t = n)/说明已经排了n行了(从0开始),即排列结束了 for (int i = 0; in; i+) reci = boardi; if (! isShowTime )PrintChessBoard();/输出棋局 count+; return; for (int i = 0; in; i+) /有冲突

9、 if (veri = 1|rui - t + n = 1|rdi + t = 1) continue; /没有冲突 veri = 1; rui - t + n = 1; rdi + t = 1; boardt = i; DFS(t + 1, isShowTime);/深搜递归 /后退处理 rdi + t = 0; rui - t + n = 0; veri = 0; return;2)遗传算法void CGAQueen:PrintChessBoard(bool PrintChessBoard) bool DisplayAllAnsures=PrintChessBoard;/是否输出全部棋盘结

10、果 int g = 0, num = 0; InitialPopulation(); while (g = 0 & num Iteration) num+; g = 0; for (int k = 0; k Population ; k+) this-FillArea(k); this-CostMatrixk = this-CostFunc(k); this-PopulationSort(); if (this-CostMatrix0 = 0)/已经完成计算 g = 1; if (DisplayAllAnsures) PrintTheBestAnsure(); /*for (i = 0; i

11、= ChessBoradLenght - 1; i+) cout row: i col: ChromosomeMatrixi0 endl; cout GenerateCrossOverMatrix(); this-Mating(); this-ApplyMutation(); cout 实际迭代: num 次 endl; if (DisplayAllAnsures) cout 最好答案为: PrintTheBestAnsure(); 3)CSP最小冲突算法/用最小冲突算法调整第row行皇后位置(初始化时每行全部有一个皇后,调整后仍然在第row行)/调整过后check一下看看是否已经没有冲突,假

12、如没有冲突(达成终止状态),返回truebool CSP_Queens:Adjust_row(int row) int cur_col = Rrow; int optimal_col = cur_col;/最好列号,设置为目前列,然后更新 /计算总冲突数 int min_conflict = coloptimal_col + pdiagGetP(row, optimal_col) - 1 + cdiagGetC(row, optimal_col) - 1;/对角线冲突数为目前对角线皇后数减一,三次重合了 /逐一检验第row行每个位置,看看是否存在冲突数更小位置 for (int i = 0;

13、i N; i+) if (i = cur_col) continue; int conflict = coli + pdiagGetP(row, i) + cdiagGetC(row, i); if (conflict min_conflict) min_conflict = conflict; optimal_col = i; /假如最好列位置改变,则皇后移向新最小冲突位置,要更新col,pdiag,cdiag, if (optimal_col != cur_col) colcur_col-; pdiagGetP(row, cur_col)-; cdiagGetC(row, cur_col)

14、-; coloptimal_col+; pdiagGetP(row, optimal_col)+; cdiagGetC(row, optimal_col)+; Rrow = optimal_col; if (colcur_col = 1 & coloptimal_col = 1 & pdiagGetP(row, optimal_col) = 1 & cdiagGetC(row, optimal_col) = 1) return Qualify();/qualify相对更耗时,所以只在满足上面基础条件后才检验 /不然目前点就是最好点,一切全部保持不变 return false;/假如全部没变话,肯定不满足终止条件,不然上一次就应该返回true并终止了/检验冲突

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1