电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

人工智能-实验报告VIP免费

人工智能-实验报告_第1页
1/28
人工智能-实验报告_第2页
2/28
人工智能-实验报告_第3页
3/28
实验一:知识表示方法一、实验目的状态空间表示法是人工智能领域最基本的知识表示方法之一,也是进一步学习状态空间搜索策略的基础,本实验通过牧师与野人渡河的问题,强化学生对知识表示的了解和应用,为人工智能后续环节的课程奠定基础。二、问题描述有 n 个牧师和 n 个野人准备渡河,但只有一条能容纳 c 个人的小船,为了防止野人侵犯牧师,要求无论在何处,牧师的人数不得少于野人的人数(除非牧师人数为 0),且假定野人与牧师都会划船,试设计一个算法,确定他们能否渡过河去,若能,则给出小船来回次数最少的最佳方案。三、基本要求输入:牧师人数(即野人人数):n;小船一次最多载人量:c。输出:若问题无解,则显示 Failed,否则,显示 Successed 输出一组最佳方案。用三元组(X1, X2, X3)表示渡河过程中的状态。并用箭头连接相邻状态以表示迁移过程:初始状态->中间状态->目标状态。例:当输入 n=2,c=2 时,输出:221->110->211->010->021->000其中:X1表示起始岸上的牧师人数;X2表示起始岸上的野人人数;X3表示小船现在位置(1 表示起始岸,0 表示目的岸)。要求:写出算法的设计思想和源程序,并以图形用户界面实现人机交互,进行输入和输出结果,如:Please input n: 2 Please input c: 2Successed or Failed?: SuccessedOptimal Procedure: 221->110->211->010->021->000四、实验组织运行要求本实验采用集中授课形式,每个同学独立完成上述实验要求。五、实验条件每人一台计算机独立完成实验。六、实验代码Main.cpp#include #include "RiverCrossing.h"using namespace std;//主函数void main(){RiverCrossing::ShowInfo();int n, c;cout<<"Please input n: ";cin>>n;cout<<"Please input c: ";cin>>c;RiverCrossing riverCrossing(n, c);riverCrossing.solve();system("pause");}RiverCrossing.h#pragma once#include //船class Boat{public:static int c;int pastor;//牧师int savage;//野人Boat(int pastor, int savage);};//河岸状态class State{public:static int n;int iPastor;//牧师数量int iSavage;//野人数量int iBoatAtSide;//船所在河岸State *pPrevious;//前一个状态State(int pastor, int savage, int boatAtSide);int getTotalCount();//获得此岸总人数bool check();//检查人数是否符合实际bool isSafe();//检查是否安全State ope...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

人工智能-实验报告

您可能关注的文档

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部