人工智能作业

发布 2022-09-15 05:18:28 阅读 3911

真空吸尘器问题。

一实验目的。

在人工智能领域,有一个重要部分,是研究智能化智能体的。智能体可以被视为通过传感器感知所处环境并通过执行器对该环境产生作用的东西。本实验分析真空吸尘器这个简单反射型智能体、环境以及它们之间的关系。

验证该吸尘器是否是理性智能体(行为表现尽可能好的智能体)。

二实验内容。

1. 智能体的描述。

智能体可以被视为通过传感器感知所处环境并通过执行器对该环境产生作用的东西。人类智能体具有眼睛、耳朵和其它器官作为传感器,也具有手、腿和身体的其它部位作为执行器。机器人智能体则可能用摄像头、红歪测距仪作为传感器,各种马达作为执行器。

简单放射型智能体直接对感知信息做出反应。

图1 智能体通过传感器和执行器与环境进行交互。

2.真空吸尘器的描述。

真空吸尘器属于简单智能体的一种,真空吸尘器世界只有两个地点:a地点和b地点。一个吸尘器智能体可以感知它处于哪个方格中,以及该地点是否有灰尘。

它可以选择向左移动,向右移动,吸取灰尘,或者什么也不做。机器人所处位置有两种选择,要么在a,要么在b。a、b两地点的状态分别有两种,干净或脏。

a、b两地具体状态及吸尘器的行动如下表:

表1 a、b两地具体状态及吸尘器的行动。

其清理过程如下图:

图 2 a、b两地具体状态及吸尘器的行动。

3.开发环境。

所使用的软件:vc++6.0

程序说明:在程序中吸尘器所处位置用房间表示,分别表示a、b两地。a、b两地的状态用黑色方块表示,分别表示干净不需要清扫、脏需要清扫。

通过吸尘器对环境的判断得知a、b两地干净与否,再来回移动进行清扫。

4.吸尘器流程图。

图3 程序流程图。

三实验分析。

图 4 吸尘器清理界面。

由图4可以看出,现在吸尘器(红色方块)在房间a,清扫模式为手动换房间,在这个界面上有三个按钮,一个调节清扫模式,即自动换房和手动换房。中间按钮对吸尘机加速。右边按钮为修改吸尘器清扫方法。

图 5 房间a垃圾清扫完毕时界面上的情况。

形式1:黑色方块代表垃圾,黑色方块从每个房间的左上角开始移动,由移动的距离来表示垃圾的量得多少。

由图5可以看出在手动清扫模式下,当一个房间清扫完毕后,吸尘器任然在寝室的那个房间,在提示框里会显示“x房间清扫完毕”此时可以通过手动改变吸尘器的房间。当把左边按钮调节到自动换房模式,当吸尘器在一个房间里面清扫完毕以后,就自动的转移到另一个房间。这种形式下,垃圾只会沿着已经给出的路径行走,吸尘器也是如此,所以在实际问题中根本不可能实现,所有接下来又做了另外几种形式。

图 6 形式2的界面。

在形式2下,垃圾为随机产生,为无规律的。各个房间的垃圾是完全可观察的,在已知各个垃圾点的位置,通过计算找出合适的路径,在形式2下是通过先比较每个垃圾点的y(y坐标是以房间的左上角为原点)坐标,先从y最小的开始清扫,这样以次得进行下去,直到最后清扫完毕换房间。

形式1中吸尘器移动的源**:

switch(movemode)

case 1:

水平向右移动。

if ( m_ -10*gmtop)

elsegmtop++;

movemode = 2;

break;

case 2:

竖直向下移动。

if ( m_ -10*gmright)

elsegmright++;

movemode = 3;

break;

case 3:

水平向左移动。

if ( m_ +10*gmbontom)

else gmbontom++;

movemode = 4;

break;

case 4:

竖直向上移动。

if ( m_ +10*gmleft)

elsegmleft++;

movemode = 1;

break;

形式2中垃圾随机产生源**:

int mode2time = getsecond % 5;

if (mode2time ==0)

int ljplacex = rand()%30;

int ljplacey = rand()%30;

int ljplacex1 = rand()*2%30;

int ljplacey1 = rand()*2%30;

if (m_rnum !=1)

ntempnum ++

= m_ +10*ljplacey;

= m_ +10*ljplacex;

m_for (int i=0;i

if (

recttemp1[i].top=

recttemp1[i].right=

recttemp1[i].left=

recttemp1[i].bottom=

if (i ==ntempnum)

recttemp1[ntempnum].top=

recttemp1[ntempnum].right=

recttemp1[ntempnum].left=

recttemp1[ntempnum].bottom=

m_for (int j=ntempnum;j>0;j--)

m_ntempnum ++

ifif (m_rnum !=2)

= m_ +10*ljplacey1;

= m_ +10*ljplacex1;

m_m_

ntemp1num ++ifif

形式2的吸尘器寻路径程序。

if (m_rnum ==1)

ntemp1num = ntemp1num - mode2int2;

= m_= m_

mode2int2 = 0;

for (int i = 0;i<=ntempnum;i++)

int i =0;

if (mode2int1<=ntempnum)

人工智能作业

人工智能 由自然探索于创新课程所想。管理学院李先同 201200272120 人工智能是一个大家看似并不陌生的字眼,我们平时所用的手机,电影中的科幻元素无不充斥着人工智能。由此人工智能变成为了一个人人都知道,却又都不甚了解的事物。通过这学期自然探索与创新课程的学习,我了解到了人工智能的发展简史,更对...

人工智能作业

2014 人工智能 作业 1 提交时间10 21 1 食草动物与食肉动物问题。3只食草动物与3只食肉动物在河一边,并有一条船。船能坐一至两只动物。船不能空载。目标是,把每只动物送到河对岸,并且留在某岸边或者船上的食肉动物数不能多于食草动物数。请将此问题转换成一个搜索问题 a.定义一个状态表示。b.给...

人工智能作业

1.何谓估价函数,在估价函数中,g n 和h n 各起什么作用?解 估价函数的任务是估计待搜索节点的重要程度,给它们排定次序。g n 是起始点到达n的实际路径代价,h n 就是n到目标点最短路径的启发函数。2.设有如下结构的移动将牌游戏 其中,b表示黑色将牌,w表是白色将牌,e表示空格。游戏的规定走...