prolog实验报告 周俊雯
prolog实验报告小结
prolog实验报告小结Prolog实验报告小结在本次实验中,我们使用了Prolog编程语言来解决一系列逻辑推理和知识表示的问题。
Prolog是一种基于逻辑的编程语言,它使用逻辑规则和事实来进行推理和查询。
在本次实验中,我们学习了如何使用Prolog来表示知识,并使用它来解决一些经典的逻辑问题。
首先,我们学习了如何使用Prolog来表示事实和规则。
通过使用事实和规则,我们可以建立一个知识库,其中包含了我们关于世界的知识。
然后,我们可以使用这些知识来进行逻辑推理,找出答案或解决问题。
在实验中,我们还学习了如何使用Prolog来进行逻辑查询。
通过编写查询语句,我们可以向Prolog系统询问特定的问题,然后系统会使用已有的知识库来进行推理,并给出答案。
这种方式非常适合于解决逻辑问题,比如逻辑谜题或者逻辑推理问题。
此外,我们还学习了如何使用Prolog来实现递归。
递归是一种非常重要的编程技术,它可以帮助我们处理一些复杂的问题,比如树形结构或者列表操作。
在本次实验中,我们使用Prolog来实现了一些递归算法,比如计算阶乘或者斐波那契数列。
总的来说,本次实验让我们对Prolog编程语言有了更深入的了解。
通过实际操作,我们学会了如何使用Prolog来表示知识、进行逻辑推理和解决问题。
Prolog是一种非常强大的编程语言,它可以帮助我们解决许多复杂的逻辑问题,而且在人工智能领域也有着广泛的应用。
希望通过本次实验,同学们都能对Prolog有更深入的了解,并能够在以后的学习和工作中运用到这种强大的编程语言中。
人工智能实验报告(熟悉专家系统开发工具)
实验结论(结果)
求N! 值的:
该程序通过递归算法有效的解决了求N! 值的问题。并熟悉了Visual Prolog软件开发平台。
该程序通过递归算法有效的解决了求N!值的问题。并熟悉了Visual Prolog软件开发平台。
实验心得与小结
通过这次实验我更加熟悉了 Prolog语言和该软件开发平台。对Prolog语言的基本语法规则和使用技巧有了更好的掌握。在使用Visual Prolog软件开发平台的过程中, 我从对软件的不熟悉, 经常出错, 到会编写一些小型完整的Visual Prolog应用程序, 在这过程中, 我增长了很多知识。最后经过本次试验, 我的动手能力和分析问题的能力得到提高。
father(name,name)
everybody
clauses
father(leonard,katherine).
father(carl,jason).
father(carl,marilyn).
everybody :-father(X,Y),write(X," is ",Y,"'s father\n"),fail.
Example3:
设定目标为: everybody.
结果为:
leonard is katherine's father
carl is jason's father
carl is marilyn's father
No
求N! 值的:
设定目标为: X=6,factorial(X, FactX).
结果为:
X=6, FactX=720
6.完成简单程序的编写:求N!的值。
实验准备(预习程序)
北邮人工智能PROLOG实验报告
实验报告学院:计算机学院课程名称:人工智能原理实验名称:Prolog班级:姓名:学号:用PROLOG完成以下系统的编写。
給出代码和一个运行实例。
根据主要的燃烧材料,可把火灾归类。
把以下信息转换成规则,以决定火灾的类型。
A类火灾包括如纸、木和布等普通易燃物。
B类火灾包括易燃液体(如石油和石油气)、油脂和类似的物质。
C类火灾包括使用电力的电器。
D类火灾包括易燃的金属,如镁、钠、钾。
用来灭火的灭火器类型取决于火的类型。
把下面的信息转换成规则:A类火灾应该使用吸热或阻燃型灭火器灭火,如水或水类液体和无水化学品。
B类火灾应该通过隔绝空气、抑制易燃蒸汽的释放或终止易燃物的连锁反应来灭火。
灭火器包括无水化学品、二氧化碳、泡沫和含溴三氟甲烷。
C类火灾应该使用防短路的非导电媒质灭火。
如果可能的话,应切断电源。
灭火器包括无水化学品、二氧化碳和含溴三氟甲烷。
D类火灾应该使用焖熄法和不与燃烧金属发生反应的吸热化学品灭火。
这些化学品包括:三甲氧硼化物和涂有石墨的焦炭。
描述规则中所用的事实。
输出结果应显示可以使用何种灭火器以及应该采取的其他措施,如切断电源。
软件版本:Visual Prolog 5.2:源代码FireExtinguisher如下:predicatesFireA(symbol)FireB(symbol)FireC(symbol)Fired(symbol)Nondeterm treatment(symbol,symbol,symbol)clausesFireA(paper). /*纸*/FireA(wood). /*木*/FireA(cloth). /*布*/FireB(oil). /*石油*/FireB(oil_gas). /*石油气*/FireB(fat). /*油脂*/FireC(machine). /*电器*/FireD(magnesium). /*镁*/FireD(kalium). /*钾*/FireD(natrium). /*钠*/treatment(Material, " Heat absorbing or flame retardant type fire extinguisher \n" ," \n"):-FireA(Material).treatment(Material, "Water chemical, carbon dioxide, foam and bromine containing three fluorine methane fire extinguisher\n" ,"\n"):-FireB(Material).treatment(Material, " Anhydrous chemicals, carbon dioxide, foam and bromine containing three fluorine methane fire extinguisher \n" ," Cut off the power supply \n"):-FireC(Material).treatment(Material, " Trimethoxy boride and coated with graphite coke fire extinguisher \n" ," \n"):-FireD(Material).goaltreatment(machine,Whatkind,How).运行结果:。
Prolog编程练习 实验报告
武 夷 学 院实验报告数学与计算机系PROLOG编程练习一、目的要求进入实验机房,加深学生理解-逻辑程序运行的机理,如简单逻辑与、或、非的运算等;使学生掌握PROLOG语言(也可用数据库、C或C++语言中逻辑类指令来实现的语言)的特点、熟悉其编程环境,同时为后面人工智能程序设计做好准备。
二、实验内容在Turbo PROLOG 或 Visual Prolog 集成环境下调试运行简单的PROLOG程序,如描述亲属关系的PROLOG程序,或其它语言小型演绎数据库程序,等等。
具体要求:1.程序自选,但必须是描述某逻辑关系的小程序(也可用数据库指令或C或C++语言实现)。
2.跟综程序运行过程,理解逻辑程序特点(特别是逻辑值状态等)。
3.对原程序可做适当修改,以方便熟悉程序的编辑、编译和调试等过程。
4.示例程序(逻辑电路模拟程序),详见教材P295-296。
⑴逻辑“与”运算⑵逻辑“或”运算⑶逻辑“非”运算三、实验环境Windows 7 , dev c++四、实验步骤1.概述逻辑程序运行的机理答:逻辑程序设计将逻辑直接作为程序设计语言并将计算作为受控推理的一种程序设计技术。
这种将逻辑与控制分开的方法具有下列的优点:①可以在控制部分设计之前不断改进逻辑程序。
②可以改进控制部分而无需变动逻辑程序本身。
③可以从程序说明中生成逻辑程序,加以验证和变换,而无需考虑其控制部分。
④只需在逻辑程序中规定目标和实现这些目标的现有条件,也就是只需告诉系统做什么(What to do),至于如何执行也就是说怎样做(How to do),则由系统的控制部分,即解释程序处理解决。
2.写出逻辑程序语言特点及其编程环境(结合你所选择语言系统硬软件情况)# include <stdlib.h>IntMain(){Int a,b,c;c = a || b; /* 或,与,非*/c = a && b;c = !a;c = !b;}五、实验心得体会通过本次实验,我懂得了什么是逻辑编程语言,懂得了基本的逻辑关系,与逻辑的实现。
北邮大三-计算机网络实践-实验报告四--周俊雯2021
北邮大三-计算机网络实践-实验报告四--周俊雯2021计算机网络技术实践实验报告实验名称实验四交换机和虚拟局域网VLAN _姓名_____周俊霞________实验日期: 2021-5-4学号_____2021211320____实验报告日期: 2021-5-8一.环境(详细说明运行的操作系统,网络平台,网络拓扑图) 1.1操作系统及网络平台操作系统:Windows7系统网络平台:安装Dynamips,在其仿真环境进行实验。
配置步骤:控制面板-程序-程序和功能,打开或关闭windows功能,然后把Telnet 服务器和Telnet客户端打开(因为win7默认关闭)。
网络拓扑:接口定义见附件的.net每次的连接不太一样,IP地址也不太一样,具体见报告。
二.实验目的 ? ? ?掌握以太网交换机的使用方法,能够在模拟环境中使用以太网交换机组建局域网。
掌握以太网交换机的VLAN划分和配置方法,能够在模拟环境中使用以太网交换机组建虚拟局域网。
掌握路由器一个端口配多个子网的方法三.实验内容及步骤(包括主要配置流程,重要部分需要截图)? 先设计好.Net文件(如附录所示),然后通过list查看设备如下:分配idlepc~~下面启动各个交换机,以及PC1和 PC21.开始做第一部分:同一个交换机上的两台PC,设在同一个网段中,PING启动SW1,PC1,PC2Telnet到SW1,PC1,PC2上进行配置 PC1的f0/0接口配成1.1.65.1 PC2的f0/0接口配成1.1.65.2在PC1上 Ping1.1.65.2 或在PC2上 Ping1.1.65.1telnet 127.0.0.1 3001 登录到SW1:配置PC1:配置PC2:ping一下:Ping成功了!2.第二部分:两台主机间通过两台交换机,配置在同一网段,观察是否ping通启动SW1, SW2, PC1,PC3感谢您的阅读,祝您生活愉快。
人工智能试验一认识prolog
数学与软件科学学院实验报告学期:___至___ 第 __ 学期年月日课程名称:___人工智能 ___ 专业: _级__ _班实验编号:01实验项目熟悉Prolog语言环境和程序编写方法指导教师__姓名:_ __ 学号: __实验成绩:_____一、实验目的及要求(1) 熟悉VIP(Visual Prolog 5.2)的安装、运行环境;(2)基本Prolog程序语言技术(包含表的创建、查找、分解、拼接等主要技术)。
二、实验内容(1) 安装VIP;(2) 熟悉VIP的基本环境(掌握一个Prolog语言程序或工程的构建方法、测试目标、代码浏览等基本操作方法);(3)了解和熟悉一个实际的Prolog程序文件的基本结构。
例如:DOMAINS/PREDICATES/CLAUSES/GOAL等;(4) 编写并执行简单的Prolog程序,并熟悉测试或调试的方法。
三、实验准备及设备准备好VIP安装源;复习有关Prolog语言的上课记录;按实验大纲要求事先编制几个简单的Prolog语言程序,并根据Prolog的执行特点分析其执行结果过程,预测其执行结果。
四、实验步骤和实验过程及实验结果(1)安装VIP软件环境,如果已安装好,可以跳过此步;(2) 熟悉Prolog语言环境;打开prolog应用程序图标,可以看到整个菜单有File, Edit, Project, Options, Window和Help六种功能。
其下面是浮动菜单条,最下面有消息窗口和提示信息窗口。
File子菜单:主要涉及有关文件的操作。
新建、打开、关闭/保存/另存为、打印操作。
Edit子菜单:进入编辑器进行相应的文本编辑操作。
Project子菜单:有关工程文件的菜单功能。
主要用于生成一个包含多个文件和资源的工程环境及相关参数设置。
Options子菜单:其包括Project和Global两项内容的选择设置。
Project主要是有关Project的目录、编译方式、代码生成方法和运行参数和执行文件的生成等方面。
prolog实验报告
华北电力大学实验报告||实验名称PROLOG语言编程练习及图搜索问题求解课程名称人工智能及应用专业班级:学生姓名:学号:成绩:指导教师:实验日期:2014年5月(实验报告如打印,纸张用A4,左装订;页边距:上下2.5cm,左2.9cm, 右2.1cm;字体:宋体小四号,1.25倍行距。
)验证性、综合性实验报告应含的主要内容:一、实验目的及要求二、所用仪器、设备三、实验原理四、实验方法与步骤五、实验结果与数据处理六、讨论与结论(对实验现象、实验故障及处理方法、实验中存在的问题等进行分析和讨论,对实验的进一步想法或改进意见)七、所附实验输出的结果或数据设计性实验报告应含的主要内容:一、设计要求二、选择的方案三、所用仪器、设备四、实验方法与步骤五、实验结果与数据处理六、结论(依据“设计要求”)七、所附实验输出的结果或数据reverse_writelist([H|T]):-reverse_writelist(T),write(H),nl.empty_stack([]).stack(Top,Stack,[Top|Stack]).reverse_print_stack(Stack):-empty_stack(Stack).reverse_print_stack(Stack):-stack(E,Rest,Stack),reverse_print_stack(Rest),write(E),nl.member(X,[X|T]).member(X,[_|T]):-member(X,T).member_stack(Element,Stack):-member(Element,Stack).go(Start,Goal):-empty_stack(Empty_been_stack),stack(Start, Empty_been_stack, Been_stack),path(Start, Goal, Been_stack).test:-go(state(w,w,w,w), state(e,e,e,e)).六、讨论与结论Prlolg的求解过程就是一个不断通过规则进行匹配,最后匹配到事实后回溯得出解的过程。
逻辑程序语言实验报告
逻辑式程序语言实验报告目录一实验目的 (3)二实验要求 (3)三实验环境 (3)四实验过程 (3)1 目标:了解Prolog程序的基本结构。
(3)2 目标:了解Prolog的求解过程。
(5)3 用Prolog编程解决实际问题。
(7)四实验感想 (9)一实验目的1 通过实验理解逻辑式程序语言的基本概念和特征。
2 学习prolog程序编写和分析,熟悉prolog编程环境。
3 学会使用prolog解决一般逻辑问题。
二实验要求(1)在网上下载开源的PROLOG软件,并安装运行;(2)用PROLOG编写2~3道程序并上机验证通过;(3)提交实验报告,写出使用该语言的体会。
三实验环境windows7 32位操作系统编译器:SWI-Prolog编辑器:SWI-Prolog-Editor四实验过程1 目标:了解Prolog程序的基本结构。
根据下面的图形,求出a是谁的叔叔?代码如下:father(a,b).father(c,d).brother(a,c).uncle(X,Y):-brather(X,Z),father(Z,Y).使用SWI-Prolog-Editor编辑如下:在SWI-Prolog下编译,并且输入目标即可得到结果:我们可以看到图中,a是d的叔叔,所以求解正确。
在上面的代码中,1~3行是事实,即对图形关系的描述。
4行是规则,是对已知事实进行推理的依据。
最后在编译器端输入的是目标,是所要求解的问题。
2 目标:了解Prolog的求解过程。
如下图,求m和j都喜欢什么东西?代码如下:likes(m,f).likes(m,w).likes(j,w).likes(j,s).goallikes(m,X),likes(j,X).在编辑器中输入事实和规则:编译并且输入目标问题得到:分析:从图中知道,m和j确实共同喜欢的是w。
Prolog求解过程如下:(1)现在有两个问题:likes(m,X)和likes(j,X).(2)第一步:第一个问题likes(m,X)去与事实匹配,安顺寻得到{f/X}(也就是用f置换变量X)。
人工智能实验1实验报告
一)实验内容:
1、熟悉Turbo prolog的运行环境,包括所用的机器的硬件与软件环境。
2、学习使用Turbo prolog,包括进入Prolog主程序、编辑源程序、修改环境目录、退出等基本操作。
3、学习Turbo prolog的简单程序结构,掌握分析问题、询问解释技巧。
4、了解PROLOG语言中常量、变量的表示方法;
3、选择Setup项,打开下拉菜单,选择Directories项,将工作目录进行修改,按Esc键退出,选择Save Configuration项,保存修改。
4、选择Files项,打开下拉菜单,选择Load项,选择要打开的示例程序,选择Example 1示例程序,再选择Edit项,可以进行编辑源程序。
Example2运行结果如下:
Example3运行结果如下:
小结:
了解Turbo prolog的运行环境,了解PROLOG语言中常量、变量的表示方法,
基本了解Turbo prolog的基本操作。
评定成绩:批阅教师:年月日
实验报告
实验名称:
Turbo ProlHale Waihona Puke g系统认识实验实验目的和要求:
实验目的:
1、了解PROLOG解释器;
2、了解PROLOG语言中常量、变量的表示方法;
3、了解利用PROLOG进行事实库、规则库的编写方法;
4、了解利用PROLOG中的谓词asserta和retract进行数据管理。
实验要求:
1、熟悉Prolog运行环境,包括硬件与软件环境;
2、学习示例程序,分析其功能;
3、写出Example 1、Example 11、Example 15示例程序的功能;
人工智能PROLOG程序
实验一 PROLOG 语言编程一、实验目的1.加深学生对逻辑程序运行机理的理解。
2.掌握PROLOG 语言的特点、熟悉其编程环境。
3.为今后人工智能程序设计做好准备。
二、预习要求1.复习PROLOG 语言的语法。
2.熟悉PROLOG 的语言环境。
3.阅读一些PROLOG 的程序。
三、实验内容1、编写一个描述亲属关系的PROLOG 程序,然后再给予出一些事实数据,建立一个小型演绎数据库。
提示:可以以父亲和母亲为基本关系(作为基本谓词),再由此来描述祖父、祖母、兄弟、姐妹以及其他所属关系。
2、编写一个路径查询程序,使其能输出图中所有路径。
提示:程序中的事实描述了下面的有向图,规则是图中两节点间通路的定义。
3、一个雇主在发出招聘广告之后,收到了大量的应聘申请。
为了从中筛选出不量的候选人,该雇主采用下列判据:申请者必须会打字、开车,并且住在伦敦。
(a )用Prolog 规则表述这个雇主的选择准则。
(b )用Prolog 事实描述下列申请者的情况:史密斯住在剑桥,会开车但不会打字。
布朗住在伦敦,会开车也会打字。
简住在格拉斯哥,不会开车但会打字。
埃文斯住在伦敦,会开车也会打字。
格林住在卢顿,会开车也会打字。
(c )要求Prolog 提供一个候选人名单。
e四、代码1、编写一个描述亲属关系的PROLOG程序,然后再给予出一些事实数据,建立一个小型演绎数据库。
提示:可以以父亲和母亲为基本关系(作为基本谓词),再由此来描述祖父、祖母、兄弟、姐妹以及其他所属关系。
domainsname=symbol.predicatesmother(name,name).father(name,name).grandfather(name,name).grandmother(name,name).sister(name,name).aunt(name,name).goalgrandmother(a,X),write("X=",X),nl,father(b,Y),write("Y=",Y),nl,sister(d,Z),write("Z=",Z),nl,aunt(d,T),write("T=",T).clausesmother(a,c).mother(a,d).mother(c,g).mother(c,f).father(b,c).father(b,d).father(e,g).father(e,f).grandfather(X,Z):-father(X,Z),father(Y,Z).grandmother(X,Z):-mother(X,Y),mother(Y,Z).sister(X,Y):-mother(Z,X),mother(Z,Y).aunt(X,Y):-mother(Z,Y),sister(Z,X).2、编写一个路径查询程序,使其能输出图中所有路径。
湖南大学人工智能实验2报告
推理:当X不等于Y,且Z是XY的父亲,则XY为兄弟。
当X不等于Y,A不等于B,且A是X的父亲,B是Y的父亲,AB是兄弟,则XY为堂兄弟。
当X不等于Y,A不等于B,且A是X的父亲,B是Y的父亲,
AB是兄弟,则XY为堂兄弟。
相关事实:ye是ba和shu的父亲,ba是er的父亲,shu是ge的父亲,er是bob的父亲,ge是tom的父亲。
实验二使用Prolog的一阶逻辑推理实验
201208070124 易雪媛 智能1201
一、
1.学会使用Prolog语言;
2.用Prolog语言巩固一阶逻辑知识;
3.能够使用prolog语言实现一阶逻辑的证明;
二、实验的硬件、软件平台
1.硬件:计算机
2.软件:操作系统:WINDOWS 2000
3.应用软件:Prolog
likes(bell,sports).
likes(mary,music).
likes(mary,sports).
likes(jane ,smith).
friend(john,X):-likes(X,reading),likes(X,music).
friend(john,X):-likes(X,sports),likes(X,music).
rule2(X,Y):-(X=true);(Y=true).
rule3(X,Y):-(X=true);(Y=ture).
rule4(X,Y):-(X=false);(Y=false).
rule5(X,Y):-(X=false);(Y=false).
bool(true).
bool(false).
solution([Zhao,Qian,Sun,Li]):-bool(Zhao),bool(Qian),bool(Sun),bool(Li),rule1(Zhao,Qian),rule2(Qian,Sun),rule3(Sun,Li),rule4(Zhao,Sun),rule5(Qian,Li).
实验1 Visual Prolog入门(1)
Visual Prolog语言简介Prolog语言是人工智能与专家系统领域最著名的逻辑程序设计语言。
Visual Prolog 意指可视化逻辑程序设计语言,是基于Prolog语言的可视化集成开发环境,是Prolog开发中心(PDC)最新推出的基于Windows环境的智能化编程工具,其语言特性符合相应的国际标准ISO/IEC 13211-1:1995。
目前,Visual Prolog在美国、西欧、日本、加拿大、澳大利亚等发达国家和地区十分流行,是国际上研究和开发智能化应用的主流工具之一。
预计短时期内,在国际上已经十分流行的最新版本的可视化逻辑程序设计语言Visual Prolog将会在我国广泛流行开来,并将迅速成为我国研究和开发智能化应用的最重要的工具。
Visual Prolog具有模式匹配、递归、回溯、对象机制、事实数据库和谓词库等强大功能。
它包含构建大型应用程序所需要的一切特性:图形开发环境、编译器、连接器和调试器,支持模块化和面向对象程序设计,支持系统级编程、文件操作、字符串处理、位级运算、算术与逻辑运算,以及与其它编程语言的接口。
Visual Prolog包含一个大型库,捆绑了范围广阔的API函数:包括Windows GUI函数族、ODBC/OCI数据库函数族和Internet函数族(socket、ftp、http、cgi等)。
这个开发环境全部使用Visual Prolog语言写成,而且包含对话框、菜单、工具栏等若干编码专家和图形编辑器。
Visual Prolog支持Windows 3.x/95/98/Me/NT/2000/XP、OS/2和文本方式下的DOS、Linux和SCO UNIX。
Visual Prolog非常适合于专家系统、规划和其它AI相关问题的求解,是智能程序设计语言中具有代表性且应用较多的一种语言。
由于这种语言很适合表达人的思维和推理规则,在自然语言理解、机器定理证明、专家系统等方面得到了广泛的应用。
prolog实验报告小结
prolog实验报告小结Prolog实验报告小结引言:Prolog(Programming in Logic)是一种基于逻辑推理的编程语言,它的独特之处在于它的编程方式与传统的命令式编程语言有很大的不同。
在这次的实验中,我们学习了Prolog的基本语法和使用方法,并通过实际的编程实践来加深对Prolog的理解。
一、Prolog的基本语法和特点Prolog的基本语法非常简洁,它由一系列的事实(Facts)和规则(Rules)组成。
事实是关于某个对象的描述,而规则是通过逻辑推理来得出结论的一种方式。
Prolog的特点之一是它采用了自动回溯的机制,这使得我们可以通过不断地尝试不同的规则来解决问题。
二、实验过程及结果在实验中,我们首先学习了如何定义事实和规则。
通过定义一系列的事实和规则,我们可以让Prolog来进行逻辑推理。
例如,我们可以定义一个事实“父亲(张三, 李四)”和规则“祖父(X, Y) :- 父亲(X, Z), 父亲(Z, Y)”来推导出“祖父(张三, 小明)”这个结论。
在实验中,我们还学习了如何使用Prolog的查询功能。
通过向Prolog提出一个查询,我们可以得到满足查询条件的解。
例如,我们可以查询“祖父(张三, 小明)”是否为真,如果是真,则Prolog会返回“是”,否则返回“否”。
在实验过程中,我们遇到了一些困难和挑战。
由于Prolog的编程方式与我们熟悉的命令式编程语言有很大的不同,因此需要我们转变思维方式来解决问题。
另外,由于Prolog采用了自动回溯的机制,有时候会出现无限循环的情况,需要我们仔细调试代码。
经过一段时间的学习和实践,我们逐渐掌握了Prolog的基本语法和使用方法,并且成功地完成了实验任务。
通过这次实验,我们深刻地认识到了Prolog作为一种基于逻辑推理的编程语言的独特魅力和应用价值。
三、实验心得和收获通过这次实验,我对Prolog这种基于逻辑推理的编程语言有了更深入的了解。
prolog语言程序练习 (1)
武夷学院实验报告(一)课程名称:_ 智能信息处理_ 项目名称:PROLOG语言编程练习姓名:安小圣专业:10计科班级:2学号:20104061049_同组成员:无一、实验准备1:1)实验环境:PC机, Windows 7, Eclipse 软件。
2)实验目的:加深对逻辑程序运行机理的理解,掌握PROLOG语言的特点、熟悉其编程环境,同时为后面的人工智能程序设计做好准备。
3)实验要求:1、程序自选,但必须是描述某种逻辑关系的小程序。
2、跟踪程序的运行过程,理解逻辑程序的特点。
3、对原程序可作适当修改,以便熟悉程序的编辑、翻译和调试过程。
1注:1、实验准备部分包括实验环境准备和实验所需知识点准备。
2、若是单人单组实验,同组成员填无。
二实验过程记录2:1 、打开Eclipse,新建一个public class test文件,在条件的判断中实现与或非,输入如下函数代码:public class test {public static void main(String []args){int math = 91,english = 92,chinese = 59;if(math>90){System.out.println("数学是优,");if(english>90){System.out.println("英语是优,");}System.out.println("有两门优秀就可以得到全额奖学金。
");if(chinese <60 ){System.out.println("语文不及格,");System.out.println("有一门不及格就得不到奖学金。
");if(math > 90){System.out.println("数学是优或");if(english > 90)2注:实验过程记录要包含实验步骤,页码不够可自行添加。
王通prolog教学实习报告
天津农学院计算机科学与信息工程系《Prolog语言》教学实习报告实习名称: Prolog程序的设计与开发专业班级: 09级软件工程2班学号: 0908054204姓名:王通指导教师:马国强成绩:2012年8月目录1 实习内容 (1)2 实习目的 (1)3 实习设计介绍 (1)3.1 设计名称 (1)3.2 设计目标 (1)3.3 地图填色问题 (1)3.4 画一棵树 (5)4 总结与体会 (8)1 实习内容解决两个实际问题,地图填色问题、用Prolog程序画出一棵树,通过实验进行验证并上机调试运行,写出实习报告。
2 实习目的通过本次教学实习,加深对prolog软件的使用与应用,并熟悉prolog语言,将某些问题用prolog程序得以实现,体会该程序的独特之处。
对所学专业知识进一步消化、理解并系统化,锻炼和提高综合运用所学知识解决实际问题的能力。
3 实习设计介绍3.1 设计名称Prolog程序的设计与开发3.2 设计目标书写代码并运行程序得出预期结果。
3.3 地图填色问题3.3.1 概述人人都熟悉地图,可是绘制一张普通的政区图,至少需要几种颜色,才能把相邻的政区或区域通过不同的颜色区分开来,就未必是一个简单的问题了。
这个地图着色问题,是一个著名的数学难题。
大家不妨用一张中国政区图来试一试,无论从哪里开始着色,至少都要用上四种颜色,才能把所有省份都区别开来。
所以,很早的时候就有数学家猜想:"任何地图的着色,只需四种颜色就足够了。
"这就是"四色问题"这个名称的由来。
3.3.2 实验步骤1.创建一个console控制台程序2.建立之后,Bulid/Bulid一下3.修改main.pro3.3.3 Prolog代码implement mainopen core,stdiodomainscolors=bule;yellow;red;green.neighbors=nb(colors,colors).map=neighbors*.class predicatesaMap:(map) nondeterm anyFlow.test:(map) procedure anyFlow. generateColor:(colors) multi(o).clausesclassInfo("main","fourcolors").generateColor(R):-R=bule;R=yellow;R=green;R=red;aMap([]).aMap([X|Xs]):-X=nb(C1,C2),not(C1=C2),aMap(Xs).class factsn:integer:=0clausestest(L):-n:=0generateColor(A),generateColor(B),generateColor(C),generateColor(D),generateColor(E),generateColor(F),L=[nb(A,B),nb(A,C),nb(A,E),nb(A,F),nb(B,C),nb(B,D),nb(B,E),nb(B,F),nb(C,D),nb(C,F),nb(C,F)].n:=n+1,aMap(L) ,!;L=[].run():-console::init(),test(L),stdio::write("\n",n,"\n",L),_=stdio::readline().end implement maingoalmain Exe::run(main::run).3.3.4 运行结果3.3.5 变种问题我们可以修改程序,看看到底有多少种填色方案。
promodel软件上机实验报告
还是存在很大问题的。总之,虽然实验做得不是很好,但是我想对自己还是会有所帮助的吧。
这就使得在建模的时候会有所被动,所以我也觉得在以后的实验中还是要先掌握软件或实验的基本原理,
只有掌握了基本原理才能够更好地去做其他的。我想做其他事情也是一样吧,只有掌握好基础才能够完成
好更高难度的。当然,做完实验后,我还是看不懂那些图形是什么意思。都是英文的,然后我也没有放下
心去琢磨那些图形,所以我觉得如果学院可以课后允许学生去实验室做一些软件实验或是提高一些培训
指导教师:冯良清
二O一三年十一月
南昌航空大学经济管理学院学生实验报告
实验课程名称:物流与供应链管理
专业
工业工程
班级学号
姓名
黄 升
成绩
开课实验室
G805
实验性质: ■基础性 □综合性 □设计性
实验名称
Promodel软件的建模和仿真过程
指导教师
冯良清
教
师
评
语
教师签名:
年 月 日
1、实验目的:
(1)初步了解promodel软件并会利用promodel软件建立简单的物流仿真模型;
②Background Graphics
先进行“Build—Background Graphics”菜单操作,再选择“Behind Grid”选项;然后再进行“Edit—Import Graphics”操作,需要导入文件是“C:\ProgramFiles\ProModel\Models\Training\PMTRAIN2003.GLB”。
(2)应用Promodel建立“Basic Machine Shop”模型;
实验一 Prolg简介及简单程序设计
实验一Prolog简介及简单程序设计一、实验目的1、掌握Visual Prolog软件并调试运行程序;2、熟悉Prolog语言的基本结构;3、理解Prolog程序的推理机制;4、学会用Prolog语言编写简单的程序。
二、实验原理1、Visual Prolog语言的基本知识及开发环境。
2、谓词逻辑表示知识的方法、事实和规则的表示方法。
3、简单逻辑推理机制。
三、实验设备1、计算机PC 一台2、Visual Prolog 5.2四、实验内容和步骤1、熟悉Visual Prolog软件的使用;新建文件夹:命令“File | New”,产生一个标题为"NONAME"的文件;运行程序:GOAL write("Hello world"),nl. Project | Test Goal或Ctrl+G。
2、运行程序1,找出程序中的错误并进行修改;记录执行目标1、2所得的结果;完成练习1(Exercises1)中的内容。
3、运行程序2,记录执行结果;思考:若要问目标2、3、4时,如何来修改程序(选做);完成练习2(Exercises2)中的内容。
4、运行程序3、4,记录执行结果;理解程序中普通变量和匿名变量的使用方法。
5、运行程序5,记录执行结果;执行目标2、3并记录其结果;理解复合目标(合取和析取)的表示方法。
6、自己编写一个简单的Prolog程序。
五、附录程序2:predicatescan_buy(symbol,symbol) - nondeterm (o,o) person(symbol) - nondeterm (o)car(symbol) - nondeterm (o)likes(symbol,symbol) - nondeterm (i,i)for_sale(symbol) - nondeterm (i)clausescan_buy(X,Y):-person(X),car(Y),likes(X,Y),for_sale(Y).person(kelly).person(judy).person(ellen).person(mark).car(lemon).car(hot_rod).likes(kelly, hot_rod).likes(judy, pizza).likes(ellen, tennis).likes(mark, tennis).for_sale(pizza).for_sale(lemon).for_sale(hot_rod).goalcan_buy(Who,What).%can_buy(judy, What). %目标2%can_buy(kelly, What). %目标3%can_buy(Who, hot_rod). %目标4程序5:predicatescar(symbol,long,integer,symbol,long) - nondeterm (o,o,o,o,i)truck(symbol,long,integer,symbol,long) - nondeterm (o,o,o,o,i)vehicle(symbol,long,integer,symbol,long) - nondeterm (o,o,o,o,i)clausescar(chrysler,130000,3,red,12000).car(ford,90000,4,gray,25000).car(datsun,8000,1,red,30000).truck(ford,80000,6,blue,8000).truck(datsun,50000,5,orange,20000).truck(toyota,25000,2,black,25000).vehicle(Make,Odometer,Age,Color,Price):-car(Make,Odometer,Age,Color,Price);truck(Make,Odometer,Age,Color,Price).goalcar(Make,Odometer,Years_on_road,Body,25000)./*car(Make, Odometer, Years_on_road, Body, Cost),Cost < 25000. */ %目标合取目标2/*car(Make,Odometer,Years_on_road,Body,Cost), Cost<25000 ;truck(Make,Odometer,Years_on_road,Body,Cost), Cost < 20000.*/ %目标析取目标3。
人工智能技术导论(第三版)上机实验进度安排
第2次上机 时间:第7周星期三上午 3、4节 内容: 1. 运行示例系统; 2. 建立各自的专家系统知识库。 任务目标 : 完成或基本完成知识库(程序)的调试。
人工智能导论上机实验
进度安排
第3次上机
时间:第7周星期五下午 5、6节 内容:
1. 编辑、调试总控和接口程序; 2. 编辑、调试其他辅助程序。 任务目标 : 完成或基本完成总控和接口程序的调试。
人工智能导论上机实验进度安排第1次上机时间
人工智能导论上机实验
进度安排
第1次上机
时间:第7周星期一上午 1、2节 内容:
1. 启动PROLOG语言系统并进行各种操作; 2. 编辑、调试一两个简单的 PROLOG 程序。 任务目标 : 熟悉PROLOG 语言编程环境,为专家系统编 程做好准备。
人工智能导论上机实验
人工智能导论上机实验
进度安排
第4次上机 时间:第8周星期一上午 1、2节 内容: 1. 系统集成调试; 2. 系统集成测试。 任务目标 : 全部完成系统编程,并通过
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
北邮人工智能实验报告prolog
班级:2011211307
姓名:周俊霞
日期:2014-05-11
1、实验题目:
用PROLOG完成以下系统的编写。
給出代码和一个运行实例,辨别云的类型。
低纬度云是那些高度等于或低于6000英尺高的云,包括层云和层积云;
中纬度云是高度在6000—20000英尺的云,包括高层云、高积云和乱层云;
高纬度云是那些高于20000英尺的云,包括卷云、卷层云和卷积云。
积云和积雨云可以从低到高纬度之间分布;
层云、高层云、卷层云、积云和积雨云呈大圆锥状;
层积云、高积云、乱层云、卷积云象平滑绵延的被单;
卷云有纤细的外观,象一簇簇头发;
乱层云和积雨云是含雨云,呈黑灰色。
2、实验要求:
编写一个程序辨别云的类型,程序的输入是描述云特征的事实,输出为已辨别的云的类型。
*写出一个运行实例(输入、输出)。
3、源代码:
/*****************************************************************************
Copyright(c)My Company
Project:CLOUD
FileName:CLOUD3.PRO
Purpose:No description
Written by:Visual Prolog
Comments:
******************************************************************************/
include"cloud.inc"
domains
Cloud_x,Type,Shape,Color,What=symbol
Hight=integer
facts
%云,有云的名字,高度,形状,颜色四个属性;
cloud(Cloud_x,Hight,Shape,Color)
predicates
nondeterm is(Cloud_x,Type)
clauses
%此处为某个已知的云,有云的名字,高度,形状,颜色四个属性;
cloud(cloud_lily,7000,big_cone,blackgray).
%判断某云是否为~~云;如is(Cloud_x,cengyun)判断某云是否为层云
is(Cloud_x,cengyun):-cloud(Cloud_x,Hight,Shape,Color),Hight<=6000,Shape="big_cone",Color="white".
is(Cloud_x,cengjiyun):-cloud(Cloud_x,Hight,Shape,Color),Hight<=6000,Shape="sheets",Color="white".
is(Cloud_x,gaocengyun):-cloud(Cloud_x,Hight,Shape,Color),Hight>=6000,Hight<=20000,Shape="big_cone",Color=" white".
is(Cloud_x,gaojiyun):-cloud(Cloud_x,Hight,Shape,Color),Hight>=6000,Hight<=20000,Shape="sheets",Color="white". is(Cloud_x,luancengyun):-cloud(Cloud_x,Hight,Shape,Color),Hight>=6000,Hight<=20000,Shape="sheets",Color="bl ackgray".
is(Cloud_x,juanyun):-cloud(Cloud_x,Hight,Shape,Color),Hight>20000,Shape="hair",Color="white".
is(Cloud_x,juancengyun):-cloud(Cloud_x,Hight,Shape,Color),Hight>20000,Shape="big_cone",Color="white".
is(Cloud_x,juanjiyun):-cloud(Cloud_x,Hight,Shape,Color),Hight>20000,Shape="sheets",Color="white".
is(Cloud_x,jiyun):-cloud(Cloud_x,_,Shape,Color),Shape="big_cone",Color="white".
is(Cloud_x,jiyuyun):-cloud(Cloud_x,_,big_cone,blackgray).
goal
write("input the name,hight(0~200000),the shape(big_cone,or sheets,or hair),and the color(blackgray or white)of your cloud"),nl,
write("input the name"),nl,
readln(Cloud_x),
write("name:",Cloud_x),nl,
write("input the hight"),nl,
readint(Hight),
write("hight:",Hight),nl,
write("input the shape"),nl,
readln(Shape),
write("shape:",Shape),nl,
write("input the color"),nl,
readln(Color),
write("color:",Color),nl,
assertz(cloud(Cloud_x,Hight,Shape,Color)),
is(Cloud_x,What).
4、运行实例:
其中,云的名字,如lily
高度如7000
形状如big_cone
形状如blackgray
根据提示每次输入一个属性
然后得到运行结果
5、搜索规则:
PROLOG自动搜索机制
为满足一目标,从知识库顶起以遍历方式逐一匹配。
如与一事实匹配成功,则将代换表作用于右邻;如与一规则左部匹配成功,则将代换表作用于规则右部——化为一系列子目标。
为满足一个子目标,从知识库顶起逐一匹配。
如匹配成功,则返回代换表,并继续试图满足其右邻子目标;如匹配失败(指针到了库底仍不成功),则设法重新满足其左邻子目标——回溯。
回溯时变量脱解。