文档库 最新最全的文档下载
当前位置:文档库 › 人工智能(蔡自兴) 实验2 事实的表示

人工智能(蔡自兴) 实验2 事实的表示

人工智能(蔡自兴) 实验2 事实的表示
人工智能(蔡自兴) 实验2 事实的表示

实验2Prolog程序事实表示Visual Prolog是面向对象的、严格类型化的和模式检验的程序设计语言。在编写Visual Prolog程序时,必须掌握这些内容,但是在这里将集中在编写代码这个核心问题上,也就是说,编写这些代码时暂时不考虑类、类型和模式。

为此,将使用包含在Visual Prolog6中的PIE例子。PIE是一个经典的Prolog解释器,通过它,可以学会和实现Prolog程序,而不必关心类、类型等方面的知识。

这里的内容是基于使用Build6004或者是以后的Visual Prolog6版本,否则,PIE应用程序将不会象现在描述的这样工作。这个编译号可以在VDE的About对话框中找到。

1.Horn子句逻辑

Visual Prolog和其它Prolog用语都是基于Horn子句逻辑的。Horn 子句逻辑是对事物及其相互关系进行推理的形式系统。

在自然语言中,可以有这样样的一个陈述句:

John是Bill的父亲。

这里涉及两个实体,John和Bill,以及他们之间的关系,即一个是另一个的父亲.在Horn子句逻辑中,可以这样形式化地表述上面的陈述句:

father(“Bill”,”John”).

上面的father是带两个参量的一个谓词或关系,它表示第2个人是第1个人的父亲。

注意:此处已经选择了第2个人是第1个人的父亲,也可以选择另外的方式,变量的顺序形式化设计者的选择,然而一旦选定了,就必须保持一致,在这里的表述中,父亲始终是第2个人。

已经选择用人名来代表人,因为在现实世界中,许多人有相同的名字,所以这一方法不一定有效。但在这里,用这一简单的形式化表示。

有了上面的形式化方法,可以表示任何人之间的任何类型的家庭关系,但是,为了让这些表述更为有趣,制定下面的规则。

X是Z的祖父,如果X是Y的父亲且Y是Z的父亲

其中X,Y,Z指人。在Horn子句逻辑中,可以这样表述grandFather(Person,GrandFathe):-

father(Person,Father),father(Father,GrandFather).

已经选择使用了比X,Y,Z更容易理解的变量名。另外,还引入了一个谓词来描述祖父关系。再次选择了祖父作为第二个变量,像这样的保持一致是明智的,不同谓词的变量可以遵循相同的规则,当解读这些规则时,可以将:-解释为“如果(if)”,将隔开关系的逗号解释为“与(and)”.

像“John是Bill的父亲”这样的陈述称为事实,而“X是Z的祖父,如果X是Y的父亲且Y是Z的父亲“称为规则。

可以用事实和规则来形成定理,一个定理是事实和规则的集合,下面陈述一个小定理:

father(“Bill”,”John”).

fathaer(“Pam””Bill”).

grandFather(Person,GrandFather):-

father(Person,Father),father(Father,GrandFather).这个定理的作用是回答这样的一些问题:

John是Sue的父亲吗?

谁是Pam的父亲?

John是Pam的祖父吗?

^……

这些问题称为目标(goal),它们可以这样形式化表示:

?-father(“Sue”,”John”).

?-father(“Pam”,X).

?-grandfather(“Pam”,”John”).

这些问题被称为目标子句(goal clause)或简称为目标。事实(facts),规则(rules)及目标合起来称为Horn子句,因此得名为Horn子句逻辑。

某些目标,如第一个和最后一个目标,可以简单地用“是”或“不是”来回答,其他目标,如第2个目标,需要寻找一个解,例如,X=“Bill”.一个目标可以有多个解,例如:

?-father(X,Y).

E有两个解:

X=“Bill”,Y=”John”.

X=“Pam”,Y=”Bill”.

一个Prolog程序是一个定理和目标的集合。当程序开始时,它试图使用定理为目标找到一个解。

探索Prolog

Prolog在英语中的意思就是Programming in LOGic(逻辑编程)。它是建立在逻辑学的理论基础之上的,最初是运用于自然语言的研究领域。然而现在它被广泛的应用在人工智能的研究中,它可以用来建造专家系统、自然语言理解、智能知识库等。同时它对一些通常的应用程序的编写也很有帮助。使用它能够比其他的语言更快速地开发程序,因为它的编程方法更象是使用逻辑的语言来描述程序。

从纯理论的角度来讲,Prolog是一种令人陶醉的编程语言,但是在这本书中还是着重介绍他的实际使用方法。

逻辑编程

什么叫逻辑编程?也许你还没有一个整体的印象,还是让我们首先来研究一个简单的例子吧。运用经典的逻辑理论,我们可以说“所有的人(person)都属于人类(moral)”,如果用Prolog的语言来说就是“对于所有的X,只要X是一个人,它就属于人类。”

moral(X):-person(X).

同样,我们还可以加入一些简单的事实,比如:苏格拉底(socrates)是一个人。

person(socrates).

有了这两条逻辑声明,Prolog就可以判断苏格拉底是不是属于人类。在Prolog的Listener中键入如下的命令:

?-mortal(socrates).(此句中的'?-'是Listener的提示符,本句表示询问苏格拉底是不是属于人类。)

Linstener将给出答案:

yes

我们还可以询问,“谁属于人类?”

?-mortal(X).

我们会得到如下的答案:

X=socrates

这个简单的例子显示了Prolog的一些强大的功能。它能让程序代码更简洁、更容易编写。在多数情况下Prolog的程序员不需要关心程序的运行流程,这些都由Prolog自动地完成了。

当然,一个完整的程序不能只包括逻辑运算部分,还必须拥有输入输出,乃至用户界面部分。很遗憾,Prolog在这些方面做得不好,或者说很差。不过它还是提供了一些基本的方法的。下面是上述的程序一个完整的例子。

%This is the syntax

for comments.%MORTAL

-The first

illustrative Prolog

program mortal(X):-

person(X).

person(socrates).

person(plato).

person(aristotle).

mortal_report:-

write('Known mortals

are:'),nl,mortal(X),

write(X),nl,

fail.

把这个程序调入Listener中,运行mortal_report.。?-mortal_report.

Known mortals are:

socrates

plato

aristotle

no

以上程序中的一些函数以后还会详细的介绍的。最后的那个no表示没有其他的人了。

进入下一章

从下一章起,就开始正式介绍Prolog的编程方法了。我将用一个实例来介绍Prolog,这是一个文字的冒险游戏,你所扮演的角色是一个三岁的小女孩,你想睡觉了,可是没有毛毯(nani)你就不能安心的睡觉。所以你必须在那个大房子中找到你的毛毯,这就是你的任务。这个游戏能够显示出一些Prolog的独到之处,不过Prolog的功能远不止编个简单的游戏,所以文中还将介绍一些其他的小程序。

事实(facts)注:斜粗体字表示Prolog的专有名词

事实(facts)是prolog中最简单的谓词(predicate)。它和关系数据库中的记录十分相似。在下一章中我们会把事实作为数据库来搜索。

谓词:Prolog语言的基本组成元素,可以是一段程序、一个数据类型或者是一种关系。它由谓词名和参数组成。两个名称相同而参数的数目不同的谓词是不同的谓词。

事实的语法结构如下:

pred(arg1,arg2,...argN).

其中pred为谓词的名称。arg1,...为参数,共有N个。‘.’是所有的Prolog子句的结束符。没有参数的谓词形式如下:

pred.

参数可以是以下四种之一:

整数(integer)

绝对值小于某一个数的正数或负数。

原子(atom)

由小写字母开头的字符串。

变量(variable)

由大写字母或下划线(_)开头。

结构(structure)

在以后的章节介绍。

不同的Prolog还增加了一些其他的数据类型,例如浮点数和字符串等。

Prolog字符集包括:大写字母,A-Z;小写字母,a-z;数字,0-9;+-/\^,.~:.?#$等。

原子通常是字母和数字组成,开头的字符必须是小写字母。例如:hello

twoWordsTogether

x14

为了方便阅读,可以使用下划线把单词分开。例如:

a_long_atom_name

z_23

下面的是不合法的原子,

no-embedded-hyphens

123nodigitsatbeginning

_nounderscorefirst

Nocapsfirst

使用单引号扩起来的字符集都是合法的原子。例如:

'this-hyphen-is-ok'

'UpperCase'

'embedded blanks'

下面的由符号组成的也是合法的原子:

-->

++

变量和原子相似,但是开头字符大写字母或是下划线。例如:

X

Input_List

_4th_argument

Z56

有了这些基本的知识,我们就可以开始编写事实了。事实通常用来储存程序所需的数据。例如,某次商业买卖中的顾客数据。customer/3。(/3表示customer有三个参数)

customer('John Jones',boston,good_credit).

customer('Sally Smith',chicago,good_credit).

必须使用单引号把顾客名引起来,因为它们是由大写字母开头的,并且中间有空格。

再看一个例子,视窗系统使用事实储存不同的窗口信息。在这个例子中参数有窗口名称和窗口的位置坐标。

window(main,2,2,20,72).

window(errors,15,40,20,78).

某个医疗专家系统可能有如下的疾病数据库。

disease(plague,infectious).{疾病(瘟疫,有传染性)} Prolog的解释器提供了动态储存事实和规则的方法,并且也提供了访问它们的方法。数据库的更新是通过运行‘consult’或

‘reconsult’命令。我们也可以直接在解释器中输入谓词,但是这些谓词不会被储存到硬盘上。

寻找Nani

下面我们正式开始“寻找Nani”游戏的编写。我们从定义基本的事实开始,这些事实是本游戏的基本的数据库。它们包括:

房间和它们的联系

?物体和它们的位置

?物体的属性

?玩家在游戏开始时的位置

图2.1“寻找Nani”游戏的的房间格局

首先我们使用room/1谓词定义房间,一共有五条子句,它们都是事实,如图2.1。

room(kitchen).

room(office).

room(hall).

room('dining room').

room(cellar).

我们使用具有两个参数的谓词来定义物体的位置。第一个参数代表物体的名称,第二个参数表示物体的位置。开始时,我们加入如下的物体。

location(desk,office).

location(apple,kitchen).

location(flashlight,desk).

location('washing machine',cellar).

location(nani,'washing machine').

location(broccoli,kitchen).

location(crackers,kitchen).

location(computer,office).

注意:我们定义的那些符号,例如:kitchen、desk等对于我们是有意义的,可是它们对于Prolog是没有任何意义的,完全可以使用任何符号来表示房间的名称。

谓词location/2的意思是“第一个参数所代表的物体位于第二个参数所代表的物体中”。Prolog能够区别location(sink,kitchen)

和location(kitchen,sink)。因此,参数的顺序是我们定义事实时需要考虑的一个重要问题。

下面我们来表达房间的联系。使用door/2来表示两个房间有门相连,这里遇到了一个小小的困难:

door(office,hall).

我们想要表达的意思是,office和hall之间有一个门。可是由于Prolog能够区分door(office,hall)和door(hall,office),所

以如果我们想要表达一种双向的联系,就必须把每种联系都定义一遍。

door(office,hall).

door(hall,office).

参数的顺序对定义物体的位置有帮助,可是在定义房间的联系时却带来了麻烦。我们不得不把每个房门都定义两次!

在这一章里,只定义单向的门,以后会很好地解决此问题的。

door(office,hall).

door(kitchen,office).

door(hall,'dining room').

door(kitchen,cellar).

door('dining room',kitchen).

下面定义某些物体的属性,

edible(apple).

edible(crackers).

tastes_yucky(broccoli).

最后,定义手电筒(由于是晚上,玩家必须想找到手电筒,并打开它才能到那些关了灯的房间)的状态和玩家的初始位置。

turned_off(flashlight).

here(kitchen).

好了,到此你应该学会了如何使用Prolog的事实来表达数据了。用事实表达完成以下描述

作业1

作业2

比如一群年轻人正在恋爱,每个人都有自己心中所追求的对象:张学友爱王菲

张学友爱周慧敏

王菲爱谢廷峰

周慧敏爱张学友

谢廷峰爱王菲

谢廷峰爱周慧敏

刘德华爱周慧敏

......

人工智能及其应用(蔡自兴)课后答案

第二章知识表示方法 2-1 状态空间法、问题归约法、谓词逻辑法和语义网络法的要点是什么?它们有何本质上的联系及异同点? 答:状态空间法:基于解答空间的问题表示和求解方法,它是以状态和算符为基础来表示和求解问题的。一般用状态空间法来表示下述方法:从某个初始状态开始,每次加一个操作符,递增的建立起操作符的试验序列,直到达到目标状态为止。 问题规约法:已知问题的描述,通过一系列变换把此问题最终变成一个子问题集合:这些子问题的解可以直接得到,从而解决了初始问题。问题规约的实质:从目标(要解决的问题)出发逆向推理,建立子问题以及子问题的子问题,直至最后把出示问题规约为一个平凡的本原问题集合。 谓词逻辑法:采用谓词合式公式和一阶谓词算法。要解决的问题变为一个有待证明的问题,然后采用消解定理和消解反演莱证明一个新语句是从已知的正确语句导出的,从而证明这个新语句也是正确的。 语义网络法:是一种结构化表示方法,它由节点和弧线或链组成。节点用于表示物体、概念和状态,弧线用于表示节点间的关系。语义网络的解答是一个经过推理和匹配而得到的具有明确结果的新的语义网络。语义网络可用于表示多元关系,扩展后可以表示更复杂的问题 2-2 设有3个传教士和3个野人来到河边,打算乘一只船从右岸渡到左岸去。该船的负载能力为两人。在任何时候,如果野人人数超过传教士人数,那么野人就会把传教士吃掉。他们怎样才能用这条船安全地把所有人都渡过河去? 用S i(nC, nY) 表示第i次渡河后,河对岸的状态,nC表示传教士的数目,nY表示野人的数目,由于总人数的确定的,河对岸的状态确定了,河这边的状态也即确定了。考虑到题目的限制条件,要同时保证,河两岸的传教士数目不少于野人数目,故在整个渡河的过程中,允许出现的状态为以下3种情况: 1. nC=0 2. nC=3 3. nC=nY>=0 (当nC不等于0或3) 用d i(dC, dY)表示渡河过程中,对岸状态的变化,dC表示,第i次渡河后,对岸传教士数目的变化,dY表示,第i次渡河后,对岸野人数目的变化。当i为偶数时,dC,dY同时为非负数,表示船驶向对岸,i为奇数时,dC, dY同时为非正数,表示船驶回岸边。

《人工智能及其应用》(蔡自兴)课后习题答案第7章

第七章机器学习 7-1 什么是学习和机器学习?为什么要研究机器学习? 按照人工智能大师西蒙的观点,学习就是系统在不断重复的工作中对本身能力的增强或者改进,使得系统在下一次执行同样任务或类似任务时,会比现在做得更好或效率更高。 机器学习是研究如何使用机器来模拟人类学习活动的一门学科,是机器学习是一门研究机器获取新知识和新技能,并识别现有知识的学问。这里所说的“机器”,指的就是计算机。 现有的计算机系统和人工智能系统没有什么学习能力,至多也只有非常有限的学习能力,因而不能满足科技和生产提出的新要求。 7-2 试述机器学习系统的基本结构,并说明各部分的作用。 环境向系统的学习部分提供某些信息,学习部分利用这些信息修改知识库,以增进系统执行部分完成任务的效能,执行部分根据知识库完成任务,同时把获得的信息反馈给学习部分。 影响学习系统设计的最重要的因素是环境向系统提供的信息。更具体地说是信息的质量。 7-3 试解释机械学习的模式。机械学习有哪些重要问题需要加以研究? 机械学习是最简单的机器学习方法。机械学习就是记忆,即把新的知识存储起来,供需要时检索调用,而不需要计算和推理。是最基本的学习过程。任何学习系统都必须记住它们获取的知识。在机械学习系统中,知识的获取是以较为稳定和直接的方式进行的,不需要系统进行过多的加工。 要研究的问题: (1) 存储组织信息 只有当检索一个项目的时间比重新计算一个项目的时间短时,机械学习才有意义,检索的越

快,其意义也就越大。因此,采用适当的存储方式,使检索速度尽可能地快,是机械学习中的重要问题。 (2) 环境的稳定性与存储信息的适用性问题 机械学习基础的一个重要假定是在某一时刻存储的信息必须适用于后来的情况 (3) 存储与计算之间的权衡 如果检索一个数据比重新计算一个数据所花的时间还要多,那么机械学习就失去了意义。 7-4 试说明归纳学习的模式和学习方法。 归纳是一种从个别到一般,从部分到整体的推理行为。 归纳学习的一般模式为: 给定:观察陈述(事实)F,假定的初始归纳断言(可能为空),及背景知识 求:归纳断言(假设)H,能重言蕴涵或弱蕴涵观察陈述,并满足背景知识。 学习方法 (1) 示例学习 它属于有师学习,是通过从环境中取得若干与某概念有关的例子,经归纳得出一般性概念的一种学习方法。示例学习就是要从这些特殊知识中归纳出适用于更大范围的一般性知识,它将覆盖所有的正例并排除所有反例。 (2) 观察发现学习 它属于无师学习,其目标是确定一个定律或理论的一般性描述,刻画观察集,指定某类对象的性质。它分为观察学习与机器发现两种,前者用于对事例进行聚类,形成概念描述,后者用于发现规律,产生定律或规则。 7-5 什么是类比学习?其推理和学习过程为何? 类比是一种很有用和很有效的推理方法,它能清晰,简洁地描述对象间的相似性,是人类认识世界的一种重要方法。 类比推理的目的是从源域S中,选出与目标域T最近似的问题及其求解方法,解决当前问题,或者建立起目标域中已有命题间的联系,形成新知识。 类比学习就是通过类比,即通过对相似事物加以比较所进行的一种学习。 类比推理过程如下: (1) 回忆与联想

人工智能(蔡自兴)实验2事实表示

实验2 Prolog程序事实表示 Visual Prolog是面向对象的、严格类型化的和模式检验的程序设计语言。在编写Visual Prolog程序时,必须掌握这些内容,但是在这里将集中在编写代码这个核心问题上,也就是说,编写这些代码时暂时不考虑类、类型和模式。 为此,将使用包含在Visual Prolog 6 中的PIE例子。PIE是一个经典的Prolog解释器,通过它,可以学会和实现Prolog程序,而不必关心类、类型等方面的知识。 这里的内容是基于使用Build6004或者是以后的Visual Prolog 6版本,否则,PIE应用程序将不会象现在描述的这样工作。这个编译号可以在VDE的About对话框中找到。 1.Horn子句逻辑 Visual Prolog 和其它Prolog用语都是基于Horn子句逻辑的。Horn 子句逻辑是对事物及其相互关系进行推理的形式系统。 在自然语言中,可以有这样样的一个陈述句: John是Bill的父亲。

这里涉及两个实体,John和Bill,以及他们之间的关系,即一个是另一个的父亲.在Horn子句逻辑中,可以这样形式化地表述上面的陈述句: father(“Bill”,”John”). 上面的father是带两个参量的一个谓词或关系,它表示第2个人是第1个人的父亲。 注意:此处已经选择了第2个人是第1个人的父亲,也可以选择另外的方式,变量的顺序形式化设计者的选择,然而一旦选定了,就必须保持一致,在这里的表述中,父亲始终是第2个人。 已经选择用人名来代表人,因为在现实世界中,许多人有相同的名字,所以这一方法不一定有效。但在这里,用这一简单的形式化表示。 有了上面的形式化方法,可以表示任何人之间的任何类型的家庭关系,但是,为了让这些表述更为有趣,制定下面的规则。 X是Z的祖父,如果X是Y的父亲且Y是Z的父亲 其中X,Y,Z指人。在Horn子句逻辑中,可以这样表述grandFathe(Person,GrandFathe):- father(Person,Father),father(Father,GrandFather).

蔡自兴_人工智能课后答案

人工智能作业题 1 - 1 什么是人工智能?试从学科和能力两方面加以说明。 1 - 4 现在人工智能有哪些学派?它们的任知观是什么? 1 - 6 人工智能的主要研究和应用领域是什么?其中,哪些是新的研究热点? 2 - 6 用谓词演算公式表示下列英文句子 ( 多用而不是省用不同谓词和项。例如不要用单一的谓词字母来表示每个句子 ) 。 A computer system is intelligent if it can perform a task which,if performed by a human, requires intelligence. 2 - 7 把下列语句表示成语义网络描述: (1) All man are mortal. (2) Every cloud has a silver liming. (3) All branch managers of DEC participate in a profit-sharing plan. 2 - 9 试构造一个描述你的寝室或办公室的框架系统。 补充题: 1 、张某被盗,公安局派出五个侦察员去调查。研究案情时,侦察员 A 说“赵与钱中至少有一人作案”;侦察员 B 说“钱与孙中至少有一人作案”;侦察员 C 说“孙与李中至少有一人作案”;侦察员 D 说“赵与孙中至少有一人与此案无关”;侦察员 E 说“钱与李中至少有一人与此案无关”。如果这五个侦察员的话都是可信的,试用归结演绎推理求出谁是盗窃犯。 3 - 4 如何通过消解反演求取问题的答案? 3 - 11 规则演绎系统和产生式系统有哪几种推理方式?各自的特点为何? 3 - 6 下列语句是一些几何定理,把这些语句表示为基于规则的几何证明系统的产生式规则: (1) 两个全等三角形的各对应角相等。 (2) 两个全等三角形的各对应边相等。

《人工智能及其应用》(蔡自兴)课后习题答案第5章

第五章机器学习 7-1 什么是学习和机器学习?为什么要研究机器学习? 按照人工智能大师西蒙的观点,学习就是系统在不断重复的工作中对本身能力的增强或者改进,使得系统在下一次执行同样任务或类似任务时,会比现在做得更好或效率更高。 机器学习是研究如何使用机器来模拟人类学习活动的一门学科,是机器学习是一门研究机器获取新知识和新技能,并识别现有知识的学问。这里所说的“机器”,指的就是计算机。 现有的计算机系统和人工智能系统没有什么学习能力,至多也只有非常有限的学习能力,因而不能满足科技和生产提出的新要求。 7-2 试述机器学习系统的基本结构,并说明各部分的作用。 环境向系统的学习部分提供某些信息,学习部分利用这些信息修改知识库,以增进系统执行部分完成任务的效能,执行部分根据知识库完成任务,同时把获得的信息反馈给学习部分。 影响学习系统设计的最重要的因素是环境向系统提供的信息。更具体地说是信息的质量。 7-3 试解释机械学习的模式。机械学习有哪些重要问题需要加以研究? 机械学习是最简单的机器学习方法。机械学习就是记忆,即把新的知识存储起来,供需要时检索调用,而不需要计算和推理。是最基本的学习过程。任何学习系统都必须记住它们获取的知识。在机械学习系统中,知识的获取是以较为稳定和直接的方式进行的,不需要系统进行过多的加工。 要研究的问题: (1) 存储组织信息 只有当检索一个项目的时间比重新计算一个项目的时间短时,机械学习才有意义,检索的越

快,其意义也就越大。因此,采用适当的存储方式,使检索速度尽可能地快,是机械学习中的重要问题。 (2) 环境的稳定性与存储信息的适用性问题 机械学习基础的一个重要假定是在某一时刻存储的信息必须适用于后来的情况 (3) 存储与计算之间的权衡 如果检索一个数据比重新计算一个数据所花的时间还要多,那么机械学习就失去了意义。 7-4 试说明归纳学习的模式和学习方法。 归纳是一种从个别到一般,从部分到整体的推理行为。 归纳学习的一般模式为: 给定:观察陈述(事实)F,假定的初始归纳断言(可能为空),及背景知识 求:归纳断言(假设)H,能重言蕴涵或弱蕴涵观察陈述,并满足背景知识。 学习方法 (1) 示例学习 它属于有师学习,是通过从环境中取得若干与某概念有关的例子,经归纳得出一般性概念的一种学习方法。示例学习就是要从这些特殊知识中归纳出适用于更大范围的一般性知识,它将覆盖所有的正例并排除所有反例。 (2) 观察发现学习 它属于无师学习,其目标是确定一个定律或理论的一般性描述,刻画观察集,指定某类对象的性质。它分为观察学习与机器发现两种,前者用于对事例进行聚类,形成概念描述,后者用于发现规律,产生定律或规则。 7-5 什么是类比学习?其推理和学习过程为何? 类比是一种很有用和很有效的推理方法,它能清晰,简洁地描述对象间的相似性,是人类认识世界的一种重要方法。 类比推理的目的是从源域S中,选出与目标域T最近似的问题及其求解方法,解决当前问题,或者建立起目标域中已有命题间的联系,形成新知识。 类比学习就是通过类比,即通过对相似事物加以比较所进行的一种学习。 类比推理过程如下: (1) 回忆与联想

最新人工智能及其应用(蔡自兴)课后答案

第二章知识表示方法 1 2-1 状态空间法、问题归约法、谓词逻辑法和语义网络法的要点是什么?它2 们有何本质上的联系及异同点? 3 答:状态空间法:基于解答空间的问题表示和求解方法,它是以状态和算符为4 基础来表示和求解问题的。一般用状态空间法来表示下述方法:从某个初始状态5 开始,每次加一个操作符,递增的建立起操作符的试验序列,直到达到目标状态6 为止。 7 问题规约法:已知问题的描述,通过一系列变换把此问题最终变成一个子问题8 集合:这些子问题的解可以直接得到,从而解决了初始问题。问题规约的实质:9 从目标(要解决的问题)出发逆向推理,建立子问题以及子问题的子问题,直至10 最后把出示问题规约为一个平凡的本原问题集合。 11 谓词逻辑法:采用谓词合式公式和一阶谓词算法。要解决的问题变为一个有待12 证明的问题,然后采用消解定理和消解反演莱证明一个新语句是从已知的正确语13 句导出的,从而证明这个新语句也是正确的。 14 语义网络法:是一种结构化表示方法,它由节点和弧线或链组成。节点用于表15 示物体、概念和状态,弧线用于表示节点间的关系。语义网络的解答是一个经过16 推理和匹配而得到的具有明确结果的新的语义网络。语义网络可用于表示多元关17 系,扩展后可以表示更复杂的问题 18 19 20 2-2 设有3个传教士和3个野人来到河边,打算乘一只船从右岸渡到左岸去。 21 该船的负载能力为两人。在任何时候,如果野人人数超过传教士人数,那么野22 人就会把传教士吃掉。他们怎样才能用这条船安全地把所有人都渡过河去? 23

24 用S i (nC, nY) 表示第i次渡河后,河对岸的状态,nC表示传教士的数目,nY 25 表示野人的数目,由于总人数的确定的,河对岸的状态确定了,河这边的状态也26 即确定了。考虑到题目的限制条件,要同时保证,河两岸的传教士数目不少于野27 人数目,故在整个渡河的过程中,允许出现的状态为以下3种情况: 28 1. nC=0 29 2. nC=3 30 3. nC=nY>=0 (当nC不等于0或3) 31 32 用d i (dC, dY)表示渡河过程中,对岸状态的变化,dC表示,第i次渡河后, 33 对岸传教士数目的变化,dY表示,第i次渡河后,对岸野人数目的变化。当i 34 为偶数时,dC,dY同时为非负数,表示船驶向对岸,i为奇数时,dC, dY同时为35 非正数,表示船驶回岸边。 36 37 初始状态为S 0(0, 0),目标状态为S (3, 3),用深度优先搜索的方法可寻找渡 38 河方案。 39 40 在此,用图求法该问题,令横坐标为nY, 纵坐标为nC,可行状态为空心点表41 示,每次可以在格子上,沿对角线移动一格,也可以沿坐标轴方向移动1格,或42 沿坐标轴方向移动2格。第奇数次数状态转移,沿右方,上方,或右上方移动,43 第偶数次数状态转移,沿左方,下方,或左下方移动。 44

人工智能及其应用(蔡自兴)课后答案知识分享

人工智能及其应用(蔡自兴)课后答案

第二章知识表示方法 2-1 状态空间法、问题归约法、谓词逻辑法和语义网络法的要点是什么?它们有何本质上的联系及异同点? 答:状态空间法:基于解答空间的问题表示和求解方法,它是以状态和算符为基础来表示和求解问题的。一般用状态空间法来表示下述方法:从某个初始状态开始,每次加一个操作符,递增的建立起操作符的试验序列,直到达到目标状态为止。 问题规约法:已知问题的描述,通过一系列变换把此问题最终变成一个子问题集合:这些子问题的解可以直接得到,从而解决了初始问题。问题规约的实质:从目标(要解决的问题)出发逆向推理,建立子问题以及子问题的子问题,直至最后把出示问题规约为一个平凡的本原问题集合。 谓词逻辑法:采用谓词合式公式和一阶谓词算法。要解决的问题变为一个有待证明的问题,然后采用消解定理和消解反演莱证明一个新语句是从已知的正确语句导出的,从而证明这个新语句也是正确的。 语义网络法:是一种结构化表示方法,它由节点和弧线或链组成。节点用于表示物体、概念和状态,弧线用于表示节点间的关系。语义网络的解答是一个经过推理和匹配而得到的具有明确结果的新的语义网络。语义网络可用于表示多元关系,扩展后可以表示更复杂的问题 2-2 设有3个传教士和3个野人来到河边,打算乘一只船从右岸渡到左岸去。该船的负载能力为两人。在任何时候,如果野人人数超过传教士人数,那么野人就会把传教士吃掉。他们怎样才能用这条船安全地把所有人都渡过河去?

用S i(nC, nY) 表示第i次渡河后,河对岸的状态,nC表示传教士的数目,nY表示野人的数目,由于总人数的确定的,河对岸的状态确定了,河这边的状态也即确定了。考虑到题目的限制条件,要同时保证,河两岸的传教士数目不少于野人数目,故在整个渡河的过程中,允许出现的状态为以下3种情况: 1. nC=0 2. nC=3 3. nC=nY>=0 (当nC不等于0或3) 用d i(dC, dY)表示渡河过程中,对岸状态的变化,dC表示,第i次渡河后,对岸传教士数目的变化,dY表示,第i次渡河后,对岸野人数目的变化。当i为偶数时,dC,dY同时为非负数,表示船驶向对岸,i为奇数时,dC, dY同时为非正数,表示船驶回岸边。 初始状态为S0(0, 0),目标状态为S0(3, 3),用深度优先搜索的方法可寻找渡河方案。 在此,用图求法该问题,令横坐标为nY, 纵坐标为nC,可行状态为空心点表示,每次可以在格子上,沿对角线移动一格,也可以沿坐标轴方向移动1格,或沿坐标轴方向移动2格。第奇数次数状态转移,沿右方,上方,或右上方移动,第偶数次数状态转移,沿左方,下方,或左下方移动。

蔡自兴-人工智能课后答案

! 人工智能作业题 1 - 1 什么是人工智能试从学科和能力两方面加以说明。 1 - 4 现在人工智能有哪些学派它们的任知观是什么 1 - 6 人工智能的主要研究和应用领域是什么其中,哪些是新的研究热点 2 - 6 用谓词演算公式表示下列英文句子 ( 多用而不是省用不同谓词和项。例如不要用单一的谓词字母来表示每个句子 ) 。 A computer system is intelligent if it can perform a task which,if performed by a human, requires intelligence. 2 - 7 把下列语句表示成语义网络描述: (1) All man are mortal. (2) Every cloud has a silver liming. % (3) All branch managers of DEC participate in a profit-sharing plan. 2 - 9 试构造一个描述你的寝室或办公室的框架系统。 补充题: 1 、张某被盗,公安局派出五个侦察员去调查。研究案情时,侦察员 A 说“赵与钱中至少有一人作案”;侦察员 B 说“钱与孙中至少有一人作案”;侦察员 C 说“孙与李中至少有一人作案”;侦察员 D 说“赵与孙中至少有一人与此案无关”;侦察员 E 说“钱与李中至少有一人与此案无关”。如果这五个侦察员的话都是可信的,试用归结演绎推理求出谁是盗窃犯。 3 - 4 如何通过消解反演求取问题的答案 3 - 11 规则演绎系统和产生式系统有哪几种推理方式各自的特点为何

3 - 6 下列语句是一些几何定理,把这些语句表示为基于规则的几何证明系统的产生式规则: … (1) 两个全等三角形的各对应角相等。 (2) 两个全等三角形的各对应边相等。 3 - 17 把下列句子变换成子句形式: 4 - 1 计算智能的含义是什么它涉及哪些研究分支 4 - 6 构作一个神经网络,用于计算含有两个输入的 XOP 函数。指定所用神经网络单元的种类。 . 4 - 16 设有下列两个模糊关系 试求出R 1和R 2的复合关系R 1。R 2。 5 - 1 什么是进化计算它包括哪些内容它们的出发点是什么 5 - 2 试述遗传算法的基本原理,并说明遗传算法的求解步骤。 5 - 9 什么是人工生命请按你的理解用自己的语言给人工生命下个定义。 6 - 1 什么叫做专家系统它具有哪些特点与优点 补充习题 ) 补充习题:

相关文档
相关文档 最新文档