人工智能原理实验

  • 格式:docx
  • 大小:531.83 KB
  • 文档页数:18

下载文档原格式

  / 18
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

人工智能实验

计算机科学与技术

必修

实验一产生式系统实验

一、实验目的:

复习产生式系统相关内容,熟悉和掌握产生式系统的运行机制,掌握基于规则推理的基本方法,能够应用产生式系统解决简单问题的方法。

二、实验原理

产生式系统用来描述若干个不同的以一个基本概念为基础的系统,这个基本概念就是产生式规则或产生式条件和操作对。在产生式系统中,论域的知识分为两部分:用事实表示静态知识;用产生式规则表示推理过程和行为。

三、实验条件:

1、PC机

2、Windows操作系统平台

3、VC集成开发环境

四、实验内容:

1、问题描述:设有N(本次设计控制在1-9之间,下同)个传教士和N个野人同在河的左岸,他们都要到对岸去;河里只有一条船,他们都会划船,但每次渡船至多只能乘N人;如果在任何一边河岸上,野人的数量超过传教士,野人就要吃掉传教士,问怎样才能用船将N个传教士和N个野人从左岸都渡到右岸,又不会发生传教士被吃的事件呢?

2.建造产生式系统(包括规则库和事实库),然后进行推理,即可以自己输入任何的规则和事实,并基于这种规则和事实进行推理。

五、实验步骤:

1.数学模型描述:设计该问题的状态。使用三元组表示某一时刻传教士,野人,渡船情况,(左岸牧师数,左岸野人数,船的位置)。其中:左岸牧师数、左岸野人数取值范围为1-9之间;船的位置取值范围为0-1,0代表左岸,1代表右岸。

2.定义初始状态和目标状态。根据数学模型描述,初始状态为(N,N,1),目标状态为(0,0,0)。

3.定义产生式规则库。根据系统设计的规则要求列出所有合法的状态转变过程。基本思想:树的按层次遍历算法。由初始状态开始按层次逐个生成符合规则的产生式规则。

4.控制策略应用深度优先搜索方式在规则库中查找答案。控制策略用于整个的推理过程实现,本次设计的搜索算法为图搜索策略中的深度优先搜索方式。实验结论:

包括做实验的目的、方法、过程等,具体要写成实验报告,如下图所示。

次:左岸到右岸,传教士过去1人,野人过去1人次:右岸到左岸,传教士过去1人,野人过去0人次:左岸到右岸,传教士过去0人,野人过去2人次:右岸到左岸,传教士过去0人,野人过去1人次:左岸到右岸,传教士过去2人,野人过去0人次:右岸到左岸,传教士过去1人,野人过去1人次:左岸到右岸,传教士过去2人,野人过去0人次:右岸到左岸,传教士过去0人,野人过去1人次:左岸到右岸,传教士过去0人,野人过去2人次:右岸到左岸,传教士过去0人,野人过去1人

实验二谓词公式合一

一、实验目的:

理解代换、合一的概念,掌握对文字进行代换的方法;能够判断文字L1和L2经过执行某个代换s是否可合一。

二、实验原理

合一算法:文字L1和L2如果经过执行某个代换s,满足L1s=L2s,则称L1与L2可合一,s称为其合一元。

三、实验条件:

1. 合一演示程序。

2.IE5.0以上,可以上Internet。

四、实验内容:

理解合一原理,熟悉对可合一文字进行合一的方法。

五、实验步骤:

1.对测试用例进行试验。进入演示程序,点击“合一测试”,得到合一结果。

2.自定义待合一文字。点击“合一测试”验证合一概念。

3.语法检查。点击“语法检查”检查输入谓词公式的语法错误。如无错误,则依次点击步骤按钮进行消解。

4.重复运行2、3步,熟悉消解原理和消解过程。

六、实验报告:

实验三子句归结与合一

一、实验目的:

理解含有变量的子句如何使用消解规则,掌握子句消解的原理和规则,能熟练进行任意两个子句的消解,了解消解推理的某些常用规则。

二、实验原理:

对子句集进行消解推理,得到相应的结论。为了对含有变量的子句使用消解规则,我们必须找到一个置换,作用于父辈子句使其含有互补文字。消解两个子句时,可能有一个以上的消解式,不过,在任何情况下最多有有限个消解式。三、实验条件

子句归结与合一演示程序。

四、实验内容:

1.运行并观察演示实例。

2.输入新的子句,检查消解结果。

3.根据消解过程理解消解原理和常用规则。

五、实验步骤:

1. 默认示例演示。进入演示实例,点击“演示实例1”,然后点击“开始消解”,得到消解结果。

2.分别运行“演示实例2”和“演示实例 3”,观察消解结果,理解常用消解规则的应用。

3.自定义消解子句。点击“系统重置”按钮,再通过键盘与两个按钮“~”

与“∨”输入合法的子句,点击“加入子句集”加入子句集,点击“开始消解”,观察消解结果。

4.重复步骤3,多次输入不同子句进行消解,熟悉消解过程。

六、实验结论:

1.熟悉消解过程,理解子句消解规则。

2.给出自己输入的待消解子句、消解结果和详细过程。

实验四搜索算法的实现

一、实验目的:

熟悉和掌握广度优先、深度优先及启发式搜索的定义、估价函数涵义及作用,掌握算法实现方法,并利用A*算法求解N数码难题,理解求解流程和搜索顺序。

二、实验原理:

A*算法是一种有序搜索算法,其特点在于对估价函数的定义上。对于一般的有序搜索,总是选择f值最小的节点作为扩展节点。因此,f是根据需要找到一条最小代价路径的观点来估算节点的,所以,可考虑每个节点n的估价函数值为两个分量:从起始节点到节点n的代价以及从节点n到达目标节点的代价。

三、实验条件:

1.N数码难题演示程序。

2.IE5.0以上,可以上Internet。

三、实验内容:

1.分别以8数码和15数码为例实际求解A*算法。

2.画出A*算法求解框图。

3.分析估价函数对搜索算法的影响。

4.分析A*算法的特点。

四、实验步骤:

1.开始演示。进入N数码难题演示程序,可选8数码或者15数码,点击“选择数码”按钮确定。第一次启动后,点击两次“缺省”或者“随机”按钮,才会出现图片。