人工智能_八数码实验报告

上传人:第*** 文档编号:32743212 上传时间:2018-02-12 格式:DOC 页数:9 大小:158.50KB
返回 下载 相关 举报
人工智能_八数码实验报告_第1页
第1页 / 共9页
人工智能_八数码实验报告_第2页
第2页 / 共9页
人工智能_八数码实验报告_第3页
第3页 / 共9页
人工智能_八数码实验报告_第4页
第4页 / 共9页
人工智能_八数码实验报告_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《人工智能_八数码实验报告》由会员分享,可在线阅读,更多相关《人工智能_八数码实验报告(9页珍藏版)》请在金锄头文库上搜索。

1、西安郵電大学人工智能实验报 告 书(三)学院:自动化学院专业:智能科学与技术班级:智能 1403姓名:刘忠强时间:2016-3-29一、实验目的1. 熟悉人工智能系统中的问题求解过程;2. 熟悉状态空间的盲目搜索策略;3.掌握盲目收索算法,重点是宽度优先收索和深度优先收索。二、实验算法广度优先收索是一种先生成的节点先扩展的策略。它的过程是:从初始节点开始逐层向下扩展,再第 n 层节点还没有完全搜索之前,不进如第 n+1 层节点。Open 表中的节点总是按进入的先后排序,先进入的节点排在前面,够进入的排在后面。三、程序框图四、实验结果及分析初始状态: 目标状态:2 8 3 2 1 61 6 4

2、4 0 87 0 5 7 5 3五、源程序及注释#include #include #include using namespace std;const int ROW = 3;const int COL = 3;const int MAXDISTANCE = 10000;const int MAXNUM = 10000;int abs(int a)if (a0) return a;else return -a;typedef struct _Nodeint digitROWCOL;int dist; / 距离 int dep; / 深度int index; / 索引值 Node;Node s

3、rc, dest;vector node_v; / 储存节点 bool isEmptyOfOPEN() /判断 Open 表是否空 for (int i = 0; i & rstep_v) /输出步骤 rstep_v.push_back(node_vindex);index = node_vindex.index;while (index != 0) rstep_v.push_back(node_vindex);index = node_vindex.index;for (int i = rstep_v.size() - 1; i = 0; i-)cout 0) Swap(node_up.di

4、gitxy, node_up.digitx - 1y);if (isExpandable(node_up) dist_up = Distance(node_up, dest.digit); node_up.index = index;node_up.dist = dist_up;node_up.dep = node_vindex.dep + 1;node_v.push_back(node_up);Node node_down; /下移操作Assign(node_down, index);int dist_down = MAXDISTANCE;if (x 0) Swap(node_left.di

5、gitxy, node_left.digitxy - 1);if (isExpandable(node_left) dist_left = Distance(node_left, dest.digit);node_left.index = index;node_left.dist = dist_left;node_left.dep = node_vindex.dep + 1;node_v.push_back(node_left);Node node_right; /右移操作Assign(node_right, index);int dist_right = MAXDISTANCE;if (y

6、number;src.digitij = number;src.index = 0;src.dep = 1;cout number;dest.digitmn = number;node_v.push_back(src);while (1) if (isEmptyOfOPEN() cout rstep_v;cout 初始状态: endl;cout src endl;PrintSteps(loc, rstep_v);cout 成功! endl;break;else ProcessNode(loc);return 0;6、实验心得:不得不说这次的实验内容真的好难,涉及到的算法很复杂也很抽象,但是这次实验确实让我的编程能力有了很大的提高,让我对人工智能技术有了更深一步的认识,在解决问题和算法设计方面也有了很大的提高。这次实验我花了好几天的时间去查找资料,阅读并消化,最后采用了深度优先算法解决了八数码难题。这次实验让我明白了一个问题一开始无论看起来有多么困难,只要你能花时间去研究就一定能找出解决问题的方法。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 工程造价

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号