文档库 最新最全的文档下载
当前位置:文档库 › 实验一 Visual Prolog运行环境实验

实验一 Visual Prolog运行环境实验

实验一  Visual Prolog运行环境实验
实验一  Visual Prolog运行环境实验

实验一Visual Prolog运行环境实验

一、实验目的

1、了解PROLOG解释器;

2、掌握PROLOG语言中常量、变量的表示方法;

3、掌握利用PROLOG进行事实库、规则库的编写方法。

二、实验要求

1、熟悉Visual Prolog运行环境,包括硬件与软件环境;

2、学习示例程序,分析其功能;

3、写出Example 1、Example 2、Example 3示例程序的功能;

4、利用PROLOG进行事实库、规则库的编写,并在此基础上进行简单的询问。

三、实验设备

计算机,Visual prolog教学软件。

四、实验内容及步骤

(一)实验内容:

1、熟悉Visual prolog的运行环境,包括所用的机器的硬件与软件环境;

2、学习使用Visual prolog,包括进入Prolog主程序、编辑源程序、退出等基本操作;

3、学习Visual prolog的简单程序结构,掌握分析问题、询问解释技巧;

4、了解PROLOG语言中常量、变量的表示方法;

5、利用PROLOG进行事实库、规则库的编写,并在此基础上进行简单的询问。

(二)实验步骤:

1、、安装Visual Prolog集成开发环境;

3、双击桌面图标或者找到Visual Prolog可执行文件所在目录双击图标,启动Visual prolog集成开发环境;

4、打开Project菜单,选择New Project菜单项,将工作目录修改为你要保存到的文件夹,输入项目名称,选择“console application”。

5、建立项目之后,单击Build/Build 一下,出现如图所示对话框,单击取消按钮,

6、编辑m ain.pro 文件内容,运行Example 1、Example 2,分析程序功能;

7、保存每个.Pro文件,保存工程。退出Visual Prolog系统。

五、源程序

Example 1:搜索表中所有的元素的过程。

implement main

open core

class predicates

member:(integer, integer*) nondeterm anyflow.

member:(string, string*) nondeterm anyflow.

test:(string*) procedure (i).

test:(integer*) procedure (i).

clauses

classInfo("main", "searchList").

member(H, [H|X]):-stdio::write("\n\t[",H,"|", X,"]").

member(H, [X|T]) :- member(H, T),stdio::write("\t[",X,"|", T,"]").

test(L) :-

stdio::write("\n",L,"============>"),

member(H, L),stdio::write("\n\t",H),

fail

or succed).

run():-

console::init(),

L= [2,3,4,5], test(L),

stdio::nl,

S= ["a", "b", "c"], test(S),

_=stdio::readli

ne(). end implement

main goal

mainExe::run(main::run).

Example 2:求阶乘。运行后,我们输入一个数字,就得到一个阶乘结果,直至我们同时按下Ctrl键和右上角的B reak 键结束。

class predicates

fact:(integer N, integer Res) procedure (i,o).

clauses

classinfo("facfun", "1.0").

fact(N, 1) :- N<1, !.

fact(N, N*F) :- fact(N-1, F).

run():-

console::init(),

X =stdio::read(),

fact(X, F),

stdio::write("控制台应用输出结果", " 输入数字= ",X, " 其阶乘= ",

F), stdio::nl,

!,

run().

run(). %按C trl+Break 结束

end implement main

goal

mainExe::run(main::run ).

六、实验报告要求

实验报告应简单明了,语言通顺,结果正确,程序规范。实验报告的重点是实验结

果的正确性与分析。包括:实验题目、要求、实验环境、实验内容与实验结果(要求附上运行的源程序)、实验中出现的问题、对问题的解决方案、实验总结等。

人工智能实验一指导

实验1: Prolog语言程序设计 人工智能(AI)语言是一类适应于人工智能和知识工程领域的、具有符号处理和逻辑推理能力的计算机程序设计语言。能够用它来编写求解非数值计算、知识处理、推理、规划、决策等具有智能的各种复杂问题。 Prolog是当代最有影响的人工智能语言之一,由于该语言很适合表达人的思维和推理规则,在自然语言理解、机器定理证明、专家系统等方面得到了广泛的应用,已经成为人工智能应用领域的强有力的开发语言。 尽管Prolog语言有许多版本,但它们的核心部分都是一样的。Prolog的基本语句仅有三种,即事实、规则和目标三种类型的语句,且都用谓词表示,因而程序逻辑性强,方法简捷,清晰易懂。另一方面,Prolog是陈述性语言,一旦给它提交必要的事实和规则之后,Prolog就使用内部的演绎推理机制自动求解程序给定的目标,而不需要在程序中列出详细的求解步骤。 一、实验目的 1、加深学生对逻辑程序运行机理的理解。 2、掌握Prolog语言的特点、熟悉其编程环境。 3、为今后人工智能程序设计做好准备。 二、实验内容 1、编写一个描述亲属关系的Prolog程序,然后再给予出一些事实数据,建立一个小型演绎数据库。 提示:可以以父亲和母亲为基本关系(作为基本谓词),再由此来描述祖父、祖母、兄弟、姐妹以及其他所属关系。 2、编写一个路径查询程序,使其能输出图中所有路径。 提示:程序中的事实描述了下面的有向图,规则是图中两节点间通路的定义。 e

3、一个雇主在发出招聘广告之后,收到了大量的应聘申请。为了从中筛选出不量的候选人,该雇主采用下列判据:申请者必须会打字、开车,并且住在伦敦。 (a)用Prolog规则表述这个雇主的选择准则。 (b)用Prolog事实描述下列申请者的情况: 史密斯住在剑桥,会开车但不会打字。 布朗住在伦敦,会开车也会打字。 简住在格拉斯哥,不会开车但会打字。 埃文斯住在伦敦,会开车也会打字。 格林住在卢顿,会开车也会打字。 (c)要求Prolog提供一个候选人名单。 4、实现递归谓词remove(X,Y,Z),它用于从表Y中除去所有整型数X的倍数值后得到新表Z。例如,对于询问 remove(2,[3,4,5,6,7,8,9,10],Z). 的回答为: Z=[3,5,7,9] 三、实验建议 1、首先运行Prolog安装目录中PROGRAM目录下的示例程序,对Prolog功能有一个感性认识。 (1)HANOI.PRO 实现汉诺塔演示的程序。 程序运行界面如图所示。

人工智能实验报告大全

人工智能实验报告大 全

人工智能课内实验报告 (8次) 学院:自动化学院 班级:智能1501 姓名:刘少鹏(34) 学号: 06153034 目录 课内实验1:猴子摘香蕉问题的VC编程实现 (1) 课内实验2:编程实现简单动物识别系统的知识表示 (5)

课内实验3:盲目搜索求解8数码问题 (18) 课内实验4:回溯算法求解四皇后问题 (33) 课内实验5:编程实现一字棋游戏 (37) 课内实验6:字句集消解实验 (46) 课内实验7:简单动物识别系统的产生式推理 (66) 课内实验8:编程实现D-S证据推理算法 (78)

人工智能课内实验报告实验1:猴子摘香蕉问题的VC编程实现 学院:自动化学院 班级:智能1501 姓名:刘少鹏(33) 学号: 06153034 日期: 2017-3-8 10:15-12:00

实验1:猴子摘香蕉问题的VC编程实现 一、实验目的 (1)熟悉谓词逻辑表示法; (2)掌握人工智能谓词逻辑中的经典例子——猴子摘香蕉问题的编程实现。 二、编程环境 VC语言 三、问题描述 房子里有一只猴子(即机器人),位于a处。在c处上方的天花板上有一串香蕉,猴子想吃,但摘不到。房间的b处还有一个箱子,如果猴子站到箱子上,就可以摸着天花板。如图1所示,对于上述问题,可以通过谓词逻辑表示法来描述知识。要求通过VC语言编程实现猴子摘香蕉问题的求解过程。 图1 猴子摘香蕉问题

四、源代码 #include unsigned int i; void Monkey_Go_Box(unsigned char x, unsigned char y) { printf("Step %d:monkey从%c走到%c\n", ++i, x, y);//x表示猴子的位置,y为箱子的位置 } void Monkey_Move_Box(char x, char y) { printf("Step %d:monkey把箱子从%c运到%c\n", ++i, x, y);//x表示箱子的位置,y为香蕉的位置 } void Monkey_On_Box() { printf("Step %d:monkey爬上箱子\n", ++i); } void Monkey_Get_Banana() { printf("Step %d:monkey摘到香蕉\n", ++i); } void main() { unsigned char Monkey, Box, Banana; printf("********智能1501班**********\n"); printf("********06153034************\n"); printf("********刘少鹏**************\n"); printf("请用a b c来表示猴子箱子香蕉的位置\n"); printf("Monkey\tbox\tbanana\n"); scanf("%c", &Monkey); getchar(); printf("\t"); scanf("%c", &Box); getchar(); printf("\t\t"); scanf("%c", &Banana); getchar(); printf("\n操作步骤如下\n"); if (Monkey != Box) { Monkey_Go_Box(Monkey, Box); } if (Box != Banana)

控制系统仿真与设计实验报告

控制系统仿真与设计实验报告 姓名: 班级: 学号: 指导老师:刘峰 7.2.2控制系统的阶跃响应 一、实验目的 1.观察学习控制系统的单位阶跃响应; 2.记录单位阶跃响应曲线; 3.掌握时间相应的一般方法; 二、实验内容 1.二阶系统G(s)=10/(s2+2s+10)

键入程序,观察并记录阶跃响应曲线;录系统的闭环根、阻尼比、无阻尼振荡频率;记录实际测去的峰值大小、峰值时间、过渡时间,并与理论值比较。 (1)实验程序如下: num=[10]; den=[1 2 10]; step(num,den); 响应曲线如下图所示: (2)再键入: damp(den); step(num,den); [y x t]=step(num,den); [y,t’] 可得实验结果如下:

记录实际测取的峰值大小、峰值时间、过渡时间,并与理论计算值值比较 实际值理论值 峰值 1.3473 1.2975

峰值时间 1.0928 1.0649 过渡时间+%5 2.4836 2.6352 +%2 3.4771 3.5136 2. 二阶系统G(s)=10/(s2+2s+10) 试验程序如下: num0=[10]; den0=[1 2 10]; step(num0,den0); hold on; num1=[10]; den1=[1 6.32 10]; step(num1,den1); hold on; num2=[10]; den2=[1 12.64 10]; step(num2,den2); 响应曲线:

(2)修改参数,分别实现w n1= (1/2)w n0和w n1= 2w n0响应曲线试验程序: num0=[10]; den0=[1 2 10]; step(num0,den0); hold on; num1=[2.5]; den1=[1 1 2.5]; step(num1,den1); hold on; num2=[40]; den2=[1 4 40]; step(num2,den2); 响应曲线如下图所示:

北邮大三下 人工智能 PROLOG作业2013 实验报告

作业: 用PROLOG完成以下系统的编写。給出代码和一个运行实例,指出某人吞入毒物后要采取什么措施。 已知下列毒物:酸(如去溴剂、碘酒)、碱(如氨水、漂白剂),以及石油产品(如汽油、松节油)。其他所有毒物归为其他类型other类。中毒时,应呼叫医师或中毒控制中心。对于酸、碱和其他类型毒物,应该让病人喝水或牛奶之类的液体以稀释毒药。对于其他类型的毒物,要呕吐。但对于酸、碱或石油产品不能呕吐。如果病人神志不清或惊厥,则不要喝水类液体,也不要呕吐。 *写出一个运行实例(输入、输出)。 源代码: predicates acid(symbol) alkali(symbol) oil(symbol) other(symbol) patient_unaware(symbol) patient_aware(symbol) emergency_treatment(symbol,symbol,symbol) goal emergency_treatment(aware,bleach,What). clauses acid(take_bromine)./*去溴剂*/ acid(iodine). alkali(ammonia_water). alkali(bleach). oil(gasoline). oil(turpentine). other(_). patient_unaware(unaware). patient_aware(aware). emergency_treatment(Patient,Drug,"can't drink"):-patient_unaware(Patient),other(Drug),fail. emergency_treatment(Patient,Drug,"can't vomit"):-patient_unaware(Patient),other(Drug).

游戏人工智能实验报告四

实验四有限状态机实验 实验报告 一、实验目的 通过蚂蚁世界实验掌握游戏中追有限状态机算法 二、实验仪器 Windows7系统 Microsoft Visual Studio2015 三、实验原理及过程 1)制作菜单 设置参数:点击会弹出对话框,设置一些参数,红、黑蚂蚁的家会在地图上标记出来 运行:设置好参数后点击运行,毒药、食物、水会在地图上随机显示 下一步:2只红蚂蚁和2只黑蚂蚁会随机出现在地图上,窗口右方还会出现红、黑蚂蚁当前数量的统计 不断按下一步,有限状态机就会不断运行,使蚁群产生变化 2)添加加速键 资源视图中 下方

选择ID和键值 3)新建头文件def.h 在AntView.cpp中加入#include"def.h" 与本实验有关的数据大都是在这里定义的 int flag=0; #define kForage 1 #define kGoHome 2 #define kThirsty 3 #define kDead 4 #define kMaxEntities 200 class ai_Entity{ public: int type; int state; int row; int col; ai_Entity(); ~ai_Entity() {} void New (int theType,int theState,int theRow,int theCol); void Forage(); void GoHome(); void Thirsty(); void Dead(); }; ai_Entity entityList[kMaxEntities]; #define kRedAnt 1 #define kBlackAnt 2

哈工大_控制系统实践_磁悬浮实验报告

研究生自动控制专业实验 地点:A区主楼518房间 姓名:实验日期:年月日斑号:学号:机组编号: 同组人:成绩:教师签字:磁悬浮小球系统 实验报告 主编:钱玉恒,杨亚非 哈工大航天学院控制科学实验室

磁悬浮小球控制系统实验报告 一、实验内容 1、熟悉磁悬浮球控制系统的结构和原理; 2、了解磁悬浮物理模型建模与控制器设计; 3、掌握根轨迹控制实验设计与仿真; 4、掌握频率响应控制实验与仿真; 5、掌握PID控制器设计实验与仿真; 6、实验PID控制器的实物系统调试; 二、实验设备 1、磁悬浮球控制系统一套 磁悬浮球控制系统包括磁悬浮小球控制器、磁悬浮小球实验装置等组成。在控制器的前部设有操作面板,操作面板上有起动/停止开关,控制器的后部有电源开关。 磁悬浮球控制系统计算机部分 磁悬浮球控制系统计算机部分主要有计算机、1711控制卡等; 三、实验步骤 1、系统实验的线路连接 磁悬浮小球控制器与计算机、磁悬浮小球实验装置全部采用标准线连接,电源部分有标准电源线,考虑实验设备的使用便利,在试验前,实验装置的线路已经连接完毕。 2、启动实验装置 通电之前,请详细检察电源等连线是否正确,确认无误后,可接通控制器电源,随后起动计算机和控制器,在编程和仿真情况下,不要启动控制器。 系统实验的参数调试

根据仿真的数据及控制规则进行参数调试(根轨迹、频率、PID 等),直到获得较理想参数为止。 四、实验要求 1、学生上机前要求 学生在实际上机调试之前,必须用自己的计算机,对系统的仿真全部做完,并且经过老师的检查许可后,才能申请上机调试。 学生必须交实验报告后才能上机调试。 2、学生上机要求 上机的同学要按照要求进行实验,不得有违反操作规程的现象,严格遵守实验室的有关规定。 五、系统建模思考题 1、系统模型线性化处理是否合理,写出推理过程? 合理,推理过程: 由级数理论,将非线性函数展开为泰勒级数。由此证明,在平衡点)x ,(i 00对 系统进行线性化处理是可行的。 对式2x i K x i F )(),(=作泰勒级数展开,省略高阶项可得: )x -)(x x ,(i F )i -)(i x ,(i F )x ,F(i x)F(i,000x 000i 00++= )x -(x K )i -(i K )x ,F(i x)F(i,0x 0i 00++= 平衡点小球电磁力和重力平衡,有 (,)+=F i x mg 0 |,δδ===00 i 00 i i x x F(i,x) F(i ,x )i ;|,δδ===00x 00i i x x F(i,x)F (i ,x )x 对2 i F(i,x )K()x =求偏导数得:

人工智能小型专家系统的设计与实现解读

人工智能技术基础实验报告 指导老师:朱力 任课教师:张勇

实验三小型专家系统设计与实现 一、实验目的 (1)增加学生对人工智能课程的兴趣; (2)使学生进一步理解并掌握人工智能prolog语言; (3)使学生加强对专家系统课程内容的理解和掌握,并培养学生综合运用所学知识开发智能系统的初步能力。 二、实验要求 (1)用产生式规则作为知识表示,用产生系统实现该专家系统。 (2)可使用本实验指导书中给出的示例程序,此时只需理解该程序,并增加自己感兴趣的修改即可;也可以参考该程序,然后用PROLOG语言或其他语言另行编写。 (3)程序运行时,应能在屏幕上显示程序运行结果。 三、实验环境 在Turbo PROLOG或Visual Prolog集成环境下调试运行简单的PROLOG程序。 四、实验内容 建造一个小型专家系统(如分类、诊断、预测等类型),具体应用领域由学生自选,具体系统名称由学生自定。 五、实验步骤 1、专家系统: 1.1建造一个完整的专家系统设计需完成的内容: 1.用户界面:可采用菜单方式或问答方式。

2.知识库(规则库):存放产生式规则,库中的规则可以增删。 3.数据库:用来存放用户回答的问题、已知事实、推理得到的中 间事实。 4.推理机:如何运用知识库中的规则进行问题的推理控制,建议 用正向推理。 5.知识库中的规则可以随意增减。 1.2推理策略 推理策略包括:正向(数据驱动),反向(目标驱动),双向 2、动物分类实验规则集 (1)若某动物有奶,则它是哺乳动物。 (2)若某动物有毛发,则它是哺乳动物。 (3)若某动物有羽毛,则它是鸟。 (4)若某动物会飞且生蛋,则它是鸟。 (5)若某动物是哺乳动物且有爪且有犬齿且目盯前方,则它是食肉动物。(6)若某动物是哺乳动物且吃肉,则它是食肉动物。 (7)若某动物是哺乳动物且有蹄,则它是有蹄动物。 (8)若某动物是有蹄动物且反刍食物,则它是偶蹄动物。 (9)若某动物是食肉动物且黄褐色且有黑色条纹,则它是老虎。 (10)若某动物是食肉动物且黄褐色且有黑色斑点,则它是猎豹。 (11)若某动物是有蹄动物且长腿且长脖子且黄褐色且有暗斑点,则它是长颈鹿。 (12)若某动物是有蹄动物且白色且有黑色条纹,则它是斑马。 (13)若某动物是鸟且不会飞且长腿且长脖子且黑白色,则它是驼鸟。

过程控制系统实验报告

实验一过程控制系统的组成认识实验 过程控制及检测装置硬件结构组成认识,控制方案的组成及控制系统连接 一、过程控制实验装置简介 过程控制是指自动控制系统中被控量为温度、压力、流量、液位等变量在工业生产过程中的自动化控制。本系统设计本着培养工程化、参数化、现代化、开放性、综合性人才为出发点。实验对象采用当今工业现场常用的对象,如水箱、锅炉等。仪表采用具有人工智能算法及通讯接口的智能调节仪,上位机监控软件采用MCGS工控组态软件。对象系统还留有扩展连接口,扩展信号接口便于控制系统二次开发,如PLC控制、DCS控制开发等。学生通过对该系统的了解和使用,进入企业后能很快地适应环境并进入角色。同时该系统也为教师和研究生提供一个高水平的学习和研究开发的平台。 二、过程控制实验装置组成 本实验装置由过程控制实验对象、智能仪表控制台及上位机PC三部分组成。 1、被控对象 由上、下二个有机玻璃水箱和不锈钢储水箱串接,4.5千瓦电加热锅炉(由不锈钢锅炉内胆加温筒和封闭外循环不锈钢锅炉夹套构成),压力容器组成。 水箱:包括上、下水箱和储水箱。上、下水箱采用透明长方体有机玻璃,坚实耐用,透明度高,有利于学生直接观察液位的变化和记录结果。水箱结构新颖,内有三个槽,分别是缓冲槽、工作槽、出水槽,还设有溢流口。二个水箱可以组成一阶、二阶单回路液位控制实验和双闭环液位定值控制等实验。 模拟锅炉:锅炉采用不锈钢精致而成,由两层组成:加热层(内胆)和冷却层(夹套)。做温度定值实验时,可用冷却循环水帮助散热。加热层和冷却层都有温度传感器检测其温度,可做温度串级控制、前馈-反馈控制、比值控制、解耦控制等实验。 压力容器:采用不锈钢做成,一大一小两个连通的容器,可以组成一阶、二阶单回路压力控制实验和双闭环串级定值控制等实验。 管道:整个系统管道采用不锈钢管连接而成,彻底避免了管道生锈的可能性。为了提高实验装置的使用年限,储水箱换水可用箱底的出水阀进行。 2、检测装置 (液位)差压变送器:检测上、下二个水箱的液位。其型号:FB0803BAEIR,测量范围:0~1.6KPa,精度:0.5。输出信号:4~20mA DC。 涡轮流量传感器:测量电动调节阀支路的水流量。其型号:LWGY-6A,公称压力:6.3MPa,精度:1.0%,输出信号:4~20mA DC 温度传感器:本装置采用了两个铜电阻温度传感器,分别测量锅炉内胆、锅炉夹套的温度。经过温度传感器,可将温度信号转换为4~20mA DC电流信号。 (气体)扩散硅压力变送器:用来检测压力容器内气体的压力大小。其型号:DBYG-4000A/ST2X1,测量范围:0.6~3.5Mpa连续可调,精度:0.2,输出信号为4~20mA DC。 3、执行机构 电气转换器:型号为QZD-1000,输入信号为4~20mA DC,输出信号:20~100Ka气压信号,输出用来驱动气动调节阀。 气动薄膜小流量调节阀:用来控制压力回路流量的调节。型号为ZMAP-100,输入信号为4~20mA DC或0~5V DC,反馈信号为4~20mA DC。气源信号 压力:20~100Kpa,流通能力:0.0032。阀门控制精度:0.1%~0.3%,环境温度:-4~+200℃。 SCR移相调压模块:采用可控硅移相触发装置,输入控制信号0~5V DC或4~20mA DC 或10K电位器,输出电压变化范围:0~220V AC,用来控制电加热管加热。 水泵:型号为UPA90,流量为30升/分,扬程为8米,功率为180W。

《人工智能及其应用》实验指导书Word版

《人工智能及其应用》 实验指导书 浙江工业大学计算机科学与技术学院—人工智能课程组 2011年9月

前言 本实验是为了配合《人工智能及其应用》课程的理论学习而专门设置的。本实验的目的是巩固和加强人工智能的基本原理和方法,并为今后进一步学习更高级课程和信息智能化技术的研究与系统开发奠定良好的基础。 全书共分为八个实验:1.产生式系统实验;2.模糊推理系统实验;3.A*算法求解8数码问题实验;4.A*算法求解迷宫问题实验;5.遗传算法求解函数最值问题实验;6.遗传算法求解TSP问题实验;7.基于神经网络的模式识别实验;8.基于神经网络的优化计算实验。每个实验包括有:实验目的、实验内容、实验条件、实验要求、实验步骤和实验报告等六个项目。 本实验指导书包括两个部分。第一个部分是介绍实验的教学大纲;第二部分是介绍八个实验的内容。 由于编者水平有限,本实验指导书的错误和不足在所难免,欢迎批评指正。 人工智能课程组 2011年9月

目录 实验教学大纲 (1) 实验一产生式系统实验 (3) 实验二模糊推理系统实验 (5) 实验三A*算法实验I (9) 实验四A*算法实验II (12) 实验五遗传算法实验I (14) 实验六遗传算法实验II (18) 实验七基于神经网络的模式识别实验 (20) 实验八基于神经网络的优化计算实验 (24)

实验教学大纲 一、学时:16学时,一般安排在第9周至第16周。 二、主要仪器设备及运行环境:PC机、Visual C++ 6.0、Matlab 7.0。 三、实验项目及教学安排 序号实验名称实验 平台实验内容学 时 类型教学 要求 1产生式系统应用VC++设计知识库,实现系统识别或 分类等。 2设计课内 2模糊推理系统应用Matlab1)设计洗衣机的模糊控制器; 2)设计两车追赶的模糊控制 器。 2验证课内 3A*算法应用I VC++设计与实现求解N数码问题的 A*算法。 2综合课内4A*算法应用II VC++设计与实现求解迷宫问题的A* 算法。 2综合课内5遗传算法应用I Matlab1)求某一函数的最小值; 2)求某一函数的最大值。 2验证课内6遗传算法应用II VC++设计与实现求解不同城市规模 的TSP问题的遗传算法。 2综合课内 7基于神经网络的模式识别Matlab1)基于BP神经网络的数字识 别设计; 2)基于离散Hopfiel神经网络 的联想记忆设计。 2验证课内 8基于神经网络的 优化计算 VC++设计与实现求解TSP问题的连2综合课内 四、实验成绩评定 实验课成绩单独按五分制评定。凡实验成绩不及格者,该门课程就不及格。学生的实验成绩应以平时考查为主,一般应占课程总成绩的50%,其平时成绩又要以实验实际操作的优劣作为主要考核依据。对于实验课成绩,无论采取何种方式进行考核,都必须按实验课的目的要求,以实际实验工作能力的强弱作为评定成绩的主要依据。

人工智能实验报告_2

课程实验报告 学年学期2015—2016年第一学期课程名称人工智能原理与技术实验名称PROLOG语言编程练习实验室无 专业年级电气134 学生姓名赵倩 学生学号2013011989 提交时间2015.12.28 成绩 任课教师樊强 水利与建筑工程学院

第一章PROLOG语言编程练习 1.1实验目的 加深学生对逻辑程序运行机理的理解,使学生掌握PROLOG语言的特点、熟悉其编程环境,同时为后面的人工智能程序设计做好准备。 (1)熟悉PROLOG语言编程环境的使用; (2)了解PROLOG语言中常量、变量的表示方法; (3)了解利用PROLOG进行事实库、规则库的编写方法; 1.2实验环境 计算机,Turbo PROLOG教学软件。 1.3预习要求 实验前应阅读实验指导书,了解实验目的、预习PROLOG语言的相关知识。 1.4实验内容 (1)学习使用Turbo PROLOG,包括进入PROLOG主程序、编辑源程序、修改环境目录、退出等基本操作。(2)在Turbo prolog集成环境下调试运行简单的Turbo PROLOG程序,如描述亲属关系的PROLOG程序或其他小型演绎数据库程序等。 1.5实验方法和步骤 (1)启动Windows XP操作环境。 (2)打开文件目录,执行prolog应用程序,启动Turbo prolog,并按空格键(SPACE)进入集成开发环境。(3)选择Setup项,打开下拉菜单,选择Directories项,进行工作目录修改,按Esc键退出,选择Save Configuration项,保存修改。 (4)选择Files项,打开下拉菜单,选择New file项,进入源程序输入和编辑,或选择Load项,选择要打开的示例程序,再选择Edit项,可以进行编辑源程序。 (5)编辑之后,可以选择Run项,执行程序,可以在Dialog窗口进行询问,即外部目标的执行,查看程序运行结果,分析程序之功能。 (6)仿前例,可以选择其他程序并运行,分析程序功能。 (7)退出,选择Quit项,可以退出Turbo Prolog程序,返回到Windows XP环境。 1.6示例程序 逻辑电路模拟程序。该程序以逻辑运算“与”、“或”、“非”的定义为基本事实,然后在此基础上定义了“异或”运算。那么,利用这些运算就可以对“与”、“或”、“非”和“异或”等逻辑电路进行模拟。事实上,在此基础上也可以对其他任一逻辑门电路进行模拟。 domains d=integer predicates not_(d,d) and_(d,d,d) or_(d,d,d) xor_(d,d,d) clauses not_(1,0). not_(0,1). and_(0,0,0). and_(0,1,0). and_(1,0,0). and_(1,1,1).

人工智能实验报告大全

人工智能课内实验报告 (8次) 学院:自动化学院 班级:智能1501 姓名:刘少鹏(34) 学号: 06153034

目录 课内实验1:猴子摘香蕉问题的VC编程实现 (1) 课内实验2:编程实现简单动物识别系统的知识表示 (5) 课内实验3:盲目搜索求解8数码问题 (18) 课内实验4:回溯算法求解四皇后问题 (33) 课内实验5:编程实现一字棋游戏 (37) 课内实验6:字句集消解实验 (46) 课内实验7:简单动物识别系统的产生式推理 (66) 课内实验8:编程实现D-S证据推理算法 (78)

人工智能课内实验报告实验1:猴子摘香蕉问题的VC编程实现 学院:自动化学院 班级:智能1501 姓名:刘少鹏(33) 学号: 06153034 日期: 2017-3-8 10:15-12:00

实验1:猴子摘香蕉问题的VC编程实现 一、实验目的 (1)熟悉谓词逻辑表示法; (2)掌握人工智能谓词逻辑中的经典例子——猴子摘香蕉问题的编程实现。 二、编程环境 VC语言 三、问题描述 房子里有一只猴子(即机器人),位于a处。在c处上方的天花板上有一串香蕉,猴子想吃,但摘不到。房间的b处还有一个箱子,如果猴子站到箱子上,就可以摸着天花板。如图1所示,对于上述问题,可以通过谓词逻辑表示法来描述知识。要求通过VC语言编程实现猴子摘香蕉问题的求解过程。 图1 猴子摘香蕉问题 四、源代码 #include unsigned int i; void Monkey_Go_Box(unsigned char x, unsigned char y) {

自动控制系统实验报告

自动控制系统实验报告 学号: 班级: 姓名: 老师:

一.运动控制系统实验 实验一.硬件电路的熟悉和控制原理复习巩固 实验目的:综合了解运动控制实验仪器机械结构、各部分硬件电路以及控制原理,复习巩固以前课堂知识,为下阶段实习打好基础。 实验内容:了解运动控制实验仪的几个基本电路: 单片机控制电路(键盘显示电路最小应用系统、步进电机控制电路、光槽位置检测电路) ISA运动接口卡原理(搞清楚译码电路原理和ISA总线原理) 步进电机驱动检测电路原理(高低压恒流斩波驱动电路原理、光槽位置检测电路)两轴运动十字工作台结构 步进电机驱动技术(掌握步进电机三相六拍、三相三拍驱动方法。) 微机接口技术、单片机原理及接口技术,数控轮廓插补原理,计算机高级语言硬件编程等知识。 实验结果: 步进电机驱动技术: 控制信号接口: (1)PUL:单脉冲控制方式时为脉冲控制信号,每当脉冲由低变高是电机走一步;双 脉冲控制方式时为正转脉冲信号。 (2)DIR:单脉冲控制方式时为方向控制信号,用于改变电机转向;双脉冲控制方式 时为反转脉冲信号。

(3)OPTO :为PUL 、DIR 、ENA 的共阳极端口。 (4)ENA :使能/禁止信号,高电平使能,低电平时驱动器不能工作,电机处于自由状 态。 电流设定: (1)工作电流设定: (2)静止电流设定: 静态电流可用SW4 拨码开关设定,off 表示静态电流设为动态电流的一半,on 表示静态电流与动态电流相同。一般用途中应将SW4 设成off ,使得电机和驱动器的发热减少,可靠性提高。脉冲串停止后约0.4 秒左右电流自动减至一半左右(实际值的60%),发热量理论上减至36%。 (3)细分设定: (4)步进电机的转速与脉冲频率的关系 电机转速v = 脉冲频率P * 电机固有步进角e / (360 * 细分数m) 逐点比较法的直线插补和圆弧插补: 一.直线插补原理: 如图所示的平面斜线AB ,以斜线起点A 的坐标为x0,y0,斜线AB 的终点坐标为(xe ,ye),则此直线方程为: 00 00Y Ye X Xe Y Y X X --= -- 取判别函数F =(Y —Y0)(Xe —Xo)—(X-X0)(Ye —Y0)

控制系统仿真实验报告

哈尔滨理工大学实验报告 控制系统仿真 专业:自动化12-1 学号:1230130101 姓名:

一.分析系统性能 课程名称控制系统仿真实验名称分析系统性能时间8.29 地点3# 姓名蔡庆刚学号1230130101 班级自动化12-1 一.实验目的及内容: 1. 熟悉MATLAB软件的操作过程; 2. 熟悉闭环系统稳定性的判断方法; 3. 熟悉闭环系统阶跃响应性能指标的求取。 二.实验用设备仪器及材料: PC, Matlab 软件平台 三、实验步骤 1. 编写MATLAB程序代码; 2. 在MATLAT中输入程序代码,运行程序; 3.分析结果。 四.实验结果分析: 1.程序截图

得到阶跃响应曲线 得到响应指标截图如下

2.求取零极点程序截图 得到零极点分布图 3.分析系统稳定性 根据稳定的充分必要条件判别线性系统的稳定性最简单的方法是求出系统所有极点,并观察是否含有实部大于0的极点,如果有系统不稳定。有零极点分布图可知系统稳定。

二.单容过程的阶跃响应 一、实验目的 1. 熟悉MATLAB软件的操作过程 2. 了解自衡单容过程的阶跃响应过程 3. 得出自衡单容过程的单位阶跃响应曲线 二、实验内容 已知两个单容过程的模型分别为 1 () 0.5 G s s =和5 1 () 51 s G s e s - = + ,试在 Simulink中建立模型,并求单位阶跃响应曲线。 三、实验步骤 1. 在Simulink中建立模型,得出实验原理图。 2. 运行模型后,双击Scope,得到的单位阶跃响应曲线。 四、实验结果 1.建立系统Simulink仿真模型图,其仿真模型为

《人工智能及其应用》实验指导书上课讲义

《人工智能及其应用》实验指导书

《人工智能及其应用》 实验指导书 浙江工业大学计算机科学与技术学院—人工智能课程组 2011年9月

前言 本实验是为了配合《人工智能及其应用》课程的理论学习而专门设置的。本实验的目的是巩固和加强人工智能的基本原理和方法,并为今后进一步学习更高级课程和信息智能化技术的研究与系统开发奠定良好的基础。 全书共分为八个实验:1.产生式系统实验;2.模糊推理系统实验;3.A*算法求解8数码问题实验;4.A*算法求解迷宫问题实验;5.遗传算法求解函数最值问题实验;6.遗传算法求解TSP问题实验;7.基于神经网络的模式识别实验;8.基于神经网络的优化计算实验。每个实验包括有:实验目的、实验内容、实验条件、实验要求、实验步骤和实验报告等六个项目。 本实验指导书包括两个部分。第一个部分是介绍实验的教学大纲;第二部分是介绍八个实验的内容。 由于编者水平有限,本实验指导书的错误和不足在所难免,欢迎批评指正。 人工智能课程组 2011年9月

目录 实验教学大纲 (1) 实验一产生式系统实验 (4) 实验二模糊推理系统实验 (6) 实验三 A*算法实验I (11) 实验四 A*算法实验II (14) 实验五遗传算法实验I (16) 实验六遗传算法实验II (21) 实验七基于神经网络的模式识别实验 (24) 实验八基于神经网络的优化计算实验 (28)

实验教学大纲 一、学时:16学时,一般安排在第9周至第16周。 二、主要仪器设备及运行环境:PC机、Visual C++ 6.0、Matlab 7.0。 三、实验项目及教学安排 序号实验名称实验 平台 实验内容学 时 类型教学 要求 1 产生式系统应 用VC++ 设计知识库,实现系统识 别或分类等。 2 设计课内 2 模糊推理系统 应用Matlab 1)设计洗衣机的模糊控制 器; 2)设计两车追赶的模糊控 制器。 2 验证课内 3 A*算法应用I VC++ 设计与实现求解N数码问 题的A*算法。 2 综合课内4 A*算法应用II VC++ 设计与实现求解迷宫问题 的A*算法。 2 综合课内 5 遗传算法应用 I Matlab 1)求某一函数的最小值; 2)求某一函数的最大值。 2 验证课内 6 遗传算法应用 II VC++ 设计与实现求解不同城市 规模的TSP问题的遗传算 法。 2 综合课内 7 基于神经网络 的模式识别Matlab 1)基于BP神经网络的数 字识别设计; 2)基于离散Hopfiel神经 网络的联想记忆设计。 2 验证课内 8 基于神经网络 的优化计算VC++ 设计与实现求解TSP问题 的连续Hopfield神经网 络。 2 综合课内 四、实验成绩评定

人工智能实验报告

实验报告 1.对CLIPS和其运行及推理机制进行介绍 CLIPS是一个基于前向推理语言,用标准C语言编写。它具有高移植性、高扩展性、 强大的知识表达能力和编程方式以及低成本等特点。 CLIPS由两部分组成:知识库、推理机。它的基本语法是: (defmodule< module-n ame >[< comme nt >]) CLIPS的基本结构: (1).知识库由事实库(初始事实+初始对象实例)和规则库组成。 事实库: 表示已知的数据或信息,用deftemplat,deffact定义初始事实表FACTLIS,由关系名、后跟 零个或多个槽以及它们的相关值组成,其格式如下: 模板: (deftemplate [] *) :: = | 事实: (deffacts [] *) 当CLIPS系统启动推理时,会把所有用deffact定义的事实自动添加到工作存储器中。常用命令如下:asser:把事实添加到事实库(工作存储器)中retract:删除指定事实 modify :修改自定义模板事实的槽值duplicate :复制事实 clear:删除所有事实 规则库 表示系统推理的有关知识,用defrule命令来定义,由规则头、后跟零个或多个条件元素以 及行为列表组成,其格式如下: (defrule [] * ; =>

《人工智能及其应用》实验指导书

《人工智能及其应用》 实验指导书

浙江工业大学计算机科学与技术学院—人工智能课程组 2011年9月

前言 本实验是为了配合《人工智能及其应用》课程的理论学习而专门设置的。本实验的目的是巩固和加强人工智能的基本原理和方法,并为今后进一步学习更高级课程和信息智能化技术的研究与系统开发奠定良好的基础。 全书共分为八个实验:1.产生式系统实验;2.模糊推理系统实验;3.A*算法求解8数码问题实验;4.A*算法求解迷宫问题实验;5.遗传算法求解函数最值问题实验;6.遗传算法求解TSP问题实验;7.基于神经网络的模式识别实验;8.基于神经网络的优化计算实验。每个实验包括有:实验目的、实验内容、实验条件、实验要求、实验步骤和实验报告等六个项目。 本实验指导书包括两个部分。第一个部分是介绍实验的教学大纲;第二部分是介绍八个实验的内容。 由于编者水平有限,本实验指导书的错误和不足在所难免,欢迎批评指正。 人工智能课程组 2011年9月

目录 实验教学大纲 (1) 实验一产生式系统实验 (4) 实验二模糊推理系统实验 (7)

实验三A*算法实验I (13) 实验四A*算法实验II (17) 实验五遗传算法实验I (19) 实验六遗传算法实验II (26) 实验七基于神经网络的模式识别实验 (29) 实验八基于神经网络的优化计算实验 (35)

实验教学大纲 一、学时:16学时,一般安排在第9周至第16周。 二、主要仪器设备及运行环境:PC机、Visual C++ 6.0、Matlab 7.0。 三、实验项目及教学安排 序号实验名称实验 平台实验内容学 时 类型教学 要求 1 产生式系统应用VC++ 设计知识库,实现系统识别或 分类等。 2 设计课内 2 模糊推理系统应 用Matla b 1)设计洗衣机的模糊控制器; 2)设计两车追赶的模糊控制 器。 2 验证课内 3 A*算法应用I VC++ 设计与实现求解N数码问题的 A*算法。 2 综合课内 4 A*算法应用II VC++ 设计与实现求解迷宫问题的A* 算法。 2 综合课内 5 遗传算法应用I Matla b 1)求某一函数的最小值; 2)求某一函数的最大值。 2 验证课内 6 遗传算法应用II VC++ 设计与实现求解不同城市规模 的TSP问题的遗传算法。 2 综合课内7 基于神经网络的Matla1)基于BP神经网络的数字识 2 验证课内

实验一电力拖动自动控制系统实验报告

第五章仿真及实验 第一节晶闸管直流调速系统参数和环节特性的测定 一、实验目的 1 熟悉晶闸管直流调速系统的组成及其基本结构。 2掌握晶闸管直流调速系统参数及反馈环节测定方法。 二、实验原理 晶闸管直流调速系统由整流变压器、晶闸管整流跳水装置、平波电抗器、电动机-发电机组等组成。 在本实验中,整流装置的主电路喂三相桥式电路,控制电路可直接由给定电压Ug作为触发器的移相控制电压Ua。改变Ug的大小即可改变控制角a,从而获得可调的直流电压,以满足实验要求。实验系统的组成原理如图5.1所示。 三.实验内容 1测定晶闸管直流调速系统主电路总电阻值R。 2测定晶闸管直流系统电路电感值L.. 3测定直流电机-直流发电机-测速发电机的飞轮惯量GD的平方。 4测定晶闸管直流调速系统主电路电磁时间常数Td。

5测定直流电动机电势常数Ce和转矩常数Cm。 6测定晶闸管直流调速系统机电时间常数Tm。 7测定晶闸管触发及整流装置特性Ud=f(Ue)。 8测定测速发电机特性Utg=f(n)。 四.实验仿真 晶闸管直流调速系统的原理如图5.1所示。该系统由给定信号、同步脉冲触发器、晶闸管整流桥、平波电抗器、直流电动机等部分组成。图5.2势采用面向电气原理图方法构成的晶闸管直流系统的仿真模型。下面介绍各部分建模与参数设置过程。 1.系统的建模和模型参数设置 系统的建模包括主电路的建模和控制电路的建模俩部分。 1)主电路的建模和参数设置 由图5.2可见,开环直流调速系统的主电路由三相对称交流电压器、晶闸管整流桥、平波电抗器、直流电动机等部分组成。由于同步脉冲与晶闸管整流桥是不可分割的两个环节,通常作为一个组合体讨论,所以将触发器归到主电路进行建模。 2)三相整流桥时,桥臂数取3,A,B,C三相交流电源接到整流桥的输入端,

人工智能实验报告

人工智能课程项目报告 姓名: 班级:二班

一、实验背景 在新的时代背景下,人工智能这一重要的计算机学科分支,焕发出了他强大的生命力。不仅仅为了完成课程设计,作为计算机专业的学生, 了解他,学习他我认为都是很有必要的。 二、实验目的 识别手写字体0~9 三、实验原理 用K-最近邻算法对数据进行分类。逻辑回归算法(仅分类0和1)四、实验内容 使用knn算法: 1.创建一个1024列矩阵载入训练集每一行存一个训练集 2. 把测试集中的一个文件转化为一个1024列的矩阵。 3.使用knnClassify()进行测试 4.依据k的值,得出结果 使用逻辑回归: 1.创建一个1024列矩阵载入训练集每一行存一个训练集 2. 把测试集中的一个文件转化为一个1024列的矩阵。 3. 使用上式求参数。步长0.07,迭代10次 4.使用参数以及逻辑回归函数对测试数据处理,根据结果判断测试数 据类型。 五、实验结果与分析 5.1 实验环境与工具 Window7旗舰版+ python2.7.10 + numpy(库)+ notepad++(编辑)

Python这一语言的发展是非常迅速的,既然他支持在window下运行就不必去搞虚拟机。 5.2 实验数据集与参数设置 Knn算法: 训练数据1934个,测试数据有946个。

数据包括数字0-9的手写体。每个数字大约有200个样本。 每个样本保持在一个txt文件中。手写体图像本身的大小是32x32的二值图,转换到txt文件保存后,内容也是32x32个数字,0或者1,如下图所 示 建立一个kNN.py脚本文件,文件里面包含三个函数,一个用来生成将每个样本的txt文件转换为对应的一个向量:img2vector(filename):,一个用 来加载整个数据库loadDataSet():,最后就是实现测试。

计算机控制系统实验报告

《计算机控制系统》实验报告 学校:上海海事大学 学院:物流工程学院 专业:电气工程及其自动化 姓名:*** 学号:************

一、实验课程教学目的与任务 通过实验设计或计算机仿真设计,使学生了解和掌握数字PID控制算法的特点、了解系统PID参数整定和数字控制系统的直接设计的基本方法,了解不同的控制算法对被控对象的控制特性,加深对计算机控制系统理论的认识,掌握计算机控制系统的整定技术,对系统整体设计有一个初步的了解。 根据各个实验项目,完成实验报告(用实验报告专用纸)。 二、实验要求 学生在熟悉PC机的基础上,熟悉MATLAB软件的操作,熟悉Simulink工具箱的软件编程。通过编程完成系统的设计与仿真实验,逐步学习控制系统的设计,学习控制系统方案的评估与系统指标评估的方法。 计算机控制系统主要技术指标和要求: 根据被控对象的特性,从自动控制系统的静态和动态质量指标要求出发对调节器进行系统设计,整体上要求系统必须有良好的稳定性、准确性和快速性。一般要求系统在振荡2~3次左右进入稳定;系统静差小于3%~5%的稳定值(或系统的静态误差足够小);系统超调量小于30%~50%的稳定值;动态过渡过程时间在3~5倍的被控对象时间常数值。 系统整定的一般原则: 将比例度置于较大值,使系统稳定运行。根据要求,逐渐减小比例度,使系统的衰减比趋向于4:1或10:1。若要改善系统的静态特性,要使系统的静差为零,加入积分环节,积分时间由大向小进行调节。若要改善系统的动态特性,增加系统的灵敏度,克服被控对象的惯性,可以加入微分环节,微分时间由小到大进行调节。PID控制的三个特性参数在调节时会产生相互的影响,整定时必需综合考虑。系统的整定过程是一个反复进行的过程,需反复进行。

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