人工智能技术.docx
《人工智能技术.docx》由会员分享,可在线阅读,更多相关《人工智能技术.docx(17页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、人工智能技术.doc人工智能技术课程设计报告学号:姓名:年 年 月 日 课程设计题目:货郎担(旅行商)问题:设有个城市,城市之间均有道路,一个旅行商从某城市动身,经过其余个城市一次且仅一次,最终回到动身的城市,他如何走才能使他所走的路程最短?用* * 算法实现,语言不限算法 实现 :本程序运用*算法实现 *算法,作为启发式算法中很重要的一种,被广泛应用在最优路径求解和一些策略设计的问题中。而*算法最为核心的部分,就在于它的一个估值函数的设计上:()()() 其中()是每个可能摸索点的估值,它有两部分组成:一部分为(),它表示从起始搜寻点到当前点的代价(通常用某结点在搜寻树中的深度来表示)。另一
2、部分,即(),它表示启发式搜寻中最为重要的一部分,即当前结点到目标结点的估值。一种具有()()()策略的启发式算法能成为*算法的充分条件是:)搜寻树上存在着从起始点到终了点的最优路径。)问题域是有限的。 )全部结点的子结点的搜寻代价值>。 )()<*() (*()为实际问题的代价值)。 在 旅行商问题中节点()的代价起始城市到城的代价城到城的代价 其中的代价可以是距离,费用或者时间等节点(… )的启发值(城市总数已访问的城市数)* 全部两城之间的代价在程序中的实现:>>>>*(>);>>>其中() () () >
3、>:起始城市到城的代价>:一个二维数组,城到城的代价 : 全部两城之间的代价 : 城市总数 > >:城市节点所处于搜寻树的层次,和已访问的城市数同值在本程序中 定义一个结构体用于表示城市节点:;值值值; 层 *父节点 *后继 *前驱 ; 定义一个结构体表示表和表 *;*; 其中 表用于存放扩展出来的节点 表用于在程序的末尾存放最佳路径 测试数据的输入运用邻接矩阵表示完全图 运用二维数组 存放 程序流程:1 将数组中元素值置下标值: 2 按要求输入邻接矩阵 3 默认从第一个点起先搜寻,并将,表示该点已被纳入路径 4 扩展刚刚被纳入路径的节点,扩展的方法为在数组中搜寻值不为
4、的元素,为之创建节点写入数据(包括值值值节点)并纳入表中 5 在表中搜寻值最小的节点确定为当前的最优路径点,并且将上一次的最优路径点所在的路径上全部节点的表中的元素值改为其下标值,表示删除原路径,同时将所在的路径上全部节点的表中元素值改为,表示创建新路径。6 回第步循环,直至表中全部的元素值均为退出循环 7 由此获得最终一次的最优路径点,利用结构体中的指针得到最佳路径,并将路径存放在表中 8 输出最佳路径 9 程序退出。程序缺陷 :由于专注于算法的实现,没有设置输入不合法的报错。所以若要获得正确的结果,在输入路径点个数和邻接矩阵时要正确输入 程序截图 :(以个路径点为例)测试用例 : 供应四组
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 人工智能 技术 doc
限制150内