网站大量收购独家精品文档,联系QQ:2885784924

-刘浩-实验.docVIP

此“教育”领域文档为创作者个人分享资料,不作为权威性指导和指引,仅供参考
  1. 1、本文档共14页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
-刘浩-实验

人工智能导论 实验一 A*算法Python实现 实验环境: Python(英语发音:/ˈpaɪθən/), 是一种面向对象、解释型计算机程序设计语言,由Guido van Rossum于1989年底发明,第一个公开发行版发行于1991年。Python语法简洁而清晰,具有丰富和强大的类库。它常被昵称为胶水语言,它能够把用其他语言制作的各种模块(尤其是C/C++)很轻松地联结在一起。常见的一种应用情形是,使用Python快速生成程序的原型(有时甚至是程序的最终界面),然后对其中有特别要求的部分,用更合适的语言改写,比如3D游戏中的图形渲染模块,性能要求特别高,就可以用C++重写。 实验目的: 了解和掌握Python语言的使用方法,并能利用它解决实际应用中所遇到的问题;同时实现经典的A*算法,加深对它的印象,并巩固对人工智能领域中最重要的方面“有哪些信誉好的足球投注网站”的理解。 实验内容: 利用python语言实现经典的A*算法,其中A*(A-Star)算法是一种静态路网中求解最短路最有效的直接有哪些信誉好的足球投注网站方法。估价值与实际值越接近,估价函数取得就越好。 它的原理在于A*[1] (A-Star)算法是一种静态路网中求解最短路最有效的直接有哪些信誉好的足球投注网站方法。 注意是最有效的直接有哪些信誉好的足球投注网站算法。之后涌现了很多预处理算法(ALT,CH,HL等等),在线查询效率是A*算法的数千甚至上万倍。 公式表示为: f(n)=g(n)+h(n), 其中 f(n) 是从初始点经由节点n到目标点的估价函数, g(n) 是在状态空间中从初始节点到n节点的实际代价, h(n) 是从n到目标节点最佳路径的估计代价。 保证找到最短路径(最优解的)条件,关键在于估价函数h(n)的选取: 估价值h(n)= n到目标节点的距离实际值,这种情况下,有哪些信誉好的足球投注网站的点数多,有哪些信誉好的足球投注网站范围大,效率低。但能得到最优解。并且如果h(n)=d(n),即距离估计h(n)等于最短距离,那么有哪些信誉好的足球投注网站将严格沿着最短路径进行, 此时的有哪些信誉好的足球投注网站效率是最高的。 如果 估价值实际值,有哪些信誉好的足球投注网站的点数少,有哪些信誉好的足球投注网站范围小,效率高,但不能保证得到最优解。 实验步骤: 1.算法的基本描述 采用数组的方式来进行A*查找 首先定义Map类,作为障碍迷宫的地图,里头会根据地图的大小,生成四个跟地图大小一致的列表: self._nodeparentx = [] 节点的父节点X信息 self._nodeparenty = [] 节点的父节点Y信息 self._nodegcost = [] 节点的权值g self._nodehcost = [] 节点的估算开销h 而地图本身则是一个一维列表即self._maze = [] 于是,python自身对小整数的优化,就导致我们的算法的优化 本算法采用起点,终点同时有哪些信誉好的足球投注网站的办法: 起点使用A*有哪些信誉好的足球投注网站; 终点采用波纹扩散有哪些信誉好的足球投注网站 ,也就是说随便找一个点,只要不在close列表,就扩展其相邻节点,直到无路可寻或找到起点有哪些信誉好的足球投注网站过来的节点为止; 一旦起点终点的有哪些信誉好的足球投注网站路径相遇,表示实际上已经有一条不是最优的路径了,直接返回该路径,对于一般的大面积零星障碍地图,A*肯定比终点算法快;如果从终点的有哪些信誉好的足球投注网站更快,说明该地图障碍密集,因此,这里不考虑再去用A*有哪些信誉好的足球投注网站剩余路径了,返回起点路径 + 终点路径的集合 在 本代码中,就是写了个例子,其障碍图几乎就是一个从上到下,又从下到上,仅余一个格子让其通过的这么一个极度疏密的迷宫 2.算法的实现 # -*- coding: utf-8 -*- from time import time # A*地图可达数据管理接口。 class AMap: def __init__(self, width, height, maze): self._width = width self._height = height self._mask = -1 self._maze = maze # 直接指向内存结构 self._nodeparentx = [] self._nodeparenty = [] self._nodegcost = [] self._nodehcost = [] self._size = width * height for i in range(self._size): self._nodeparentx.append(-1) self._nodeparenty.append(-1) self._nodegcost.append(0) se

文档评论(0)

panguoxiang + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档