您好,欢迎访问三七文档
人工智能实验指导书-1-华清学院软件工程专业人工智能实验指导书西安建筑科技大学信控学院人工智能实验指导书-2-目录第1章课程简介,实验项目及学时安排…………………………….(1)第2章实验设备简介………………………………………………….(2)第3章人工智能课程实验…………………………………………….(47)实验一熟悉VisualProlog软件开发平台………………………………(47)实验二使用VisualProlog求解Fibonacci序列问题……………………(49)实验三使用VisualProlog求解梵塔问题………………………………..(50)实验四使用VisualProlog求解装错信封问题…………………………..(51)人工智能实验指导书-3-第1章课程简介,实验项目及学时安排一.课程简介人工智能、专家系统、决策支持系统、智能机器、神经网络等等,都是近几年来国内外计算机界十分活跃的研究领域;它们是计算机科学、控制论、信息论、神经生物学、心理学、语言学等多学科相互渗透发展起来的综合性学科。把它们反映到教学活动之中,可开拓学生的视野,了解计算机的新兴发展方向,对实现“宽专业、厚基础”的培养目标十分必要。通过本课程的学习,将向学生介绍人工智能、专家系统、知识工程的发展简历、核心课题和具体应用领域;讲授知识的有关基本概念和知识的各种逻辑表示方法、常用的计算机问题求解搜索策略;学习智能系统的组成结构和开发工具、方法,掌握小型智能系统的构造原理和调试方法。因此,《人工智能实验》的主要目的是使学生达到3个层次的实验训练要求:1.加深理解人工智能的基本概念和方法,掌握一种智能型系统开发软件——VisualProlog的基本安装、配置及其使用方法。2.结合课程内容,掌握使用VisualProlog完成小规模人工智能程序设计的一般过程和方法。3.在上述实验的基础上,达到巩固并加深对人工智能基本原理和概念的理解。4.通过实验,培养学生的自主意识、动手能力、查阅文献能力、思维能力、想象能力和表达能力。二.实验项目及学时安排序号项目学时实验性质验证综合设计1熟悉VisualProlog软件开发平台2√2使用VisualProlog求解Fibonacci序列问题2√3使用VisualProlog求解梵塔问题2√4使用VisualProlog求解装错信封问题2√人工智能实验指导书-4-第2章VisualProlog语言介绍Prolog是英文“PROgramminginLOGic”的缩写。其主要思想就是用逻辑进行程序设计。第一个Prolog系统是由AColmeruer及其研究小组于1972年在法国马赛研制成功的,它本身就是一个演绎推理机,具有表处理功能,通过合一、消解、回溯和匹配等机制实现问题求解。VisualProlog是基于Prolog语言的可视化逻辑程序设计集成开发环境,是Prolog开发中心推出的基于Windows环境的智能化编程工具,其语言特点符合相应的国际标准ISO/IEC13211-1:1995。VisualProlog具有模式匹配、递归、回溯、对象机制、事实数据库和谓词库等强大功能。它包含图形开发环境、编译器、连接器和调试器,支持模块化和面向对象程序设计,支持系统级编程、文件操作、字符串处理、位级运算、算术与逻辑运算,以及与其它编程语言的接口。它捆绑了范围广泛的API函数,包括WindowsGUI函数族、ODBC/OCI数据库函数和Internet函数族(socket、ftp、http、cgi)。支持Windows/98/Me/NT/2000/XP、OS/2和文本方式下的DOS、Linux和SCOUNIX。VisualProlog非常适合于专家系统、规划和其它AI相关问题的求解,是智能程序设计语言中有代表性且应用较多的一种程序设计语言。由于这种语言很适合表达人的思维和推理规则,在自然语言理解、机器定理证明、专家系统等方面得到了广泛的应用,在智能程序设计语言中占有相当重要的地位。§2.1VisualProlog开发环境2.1.1VisualProlog安装及其选项本书所叙述的实例程序均基于VisualPrologV5.x版本编写,为了运行和测试正常,建议读者安装V5.2以上的VisualProlog运行环境,在安装期间,您需要注意以下安装:●在编译程序对话框Compiler中安装可视化开发环境VDE(VisualDevelopmentEnvironment),推荐选择Win32版本。●在库对话框Libraries中,选中与所选的VDE平台相对应的库。在资料对话框Documentation中,必须选中安装Answers和Examples。我们还推荐把Documentation对话框中所列出的所有其它安装项开关选为ON。●在对话框Final中,推荐选中使32位VDE与项目文件扩展名PRJ和VPR相关联。2.1.2VisualProlog启动及其配置完成安装后,为使用可视化开发环境VDE中的TestGoal实用程序运行书中的实例程序。建议对VisualProlog编译程序中的某些非缺省选项进行配置,做法为:1)启动VisualProlog的VDE。若是第一次启动VDE,因没有一个可被装入的项目,你将会看到图2.1这样的情形。同时你将被告知,缺省的VisualProlog初始文件已被创建。人工智能实验指导书-5-图2.1图2.22)开始创建一个新项目。选择Project|NewProject菜单项,对话框ApplicationExpert将被激活。3)指定基目录BaseDirectory和项目名ProjectName。假定在安装时你已经选择了VisualProlog的根目录C:\VIP,在这种情况下,推荐指定下面的基目录:C:\VIP\DOC\Examples\TestGoal这一选择对于将来装入示例的Prolog源文件是方便的。在项目名ProjectName一栏,推荐指定“TestGoal”。还要选中多程序员方式MultiprogrammerMode,并点击Nameof.PRJFile控制项里面的文件名。你将会看到项目名TestGoal.PRJ出现。4)指定目标Target设置。在对话框ApplicationExpert的Target标签项,我们选择如图2.2那样的设置。现在按下Create按钮,创建一个缺省的项目文件。5)设置创建TestGoal项目所要求的编译程序选项。选择Options|Project|CompilerOptions菜单项,编译程序选项对话框CompilerOptions被激活。选择Warnings标签项。在这一标签项中:a)选中Nondeterm单选按钮。这将迫使VisualProlog的编译程序缺省接受所有用户定义的谓词是不确定性的,从而可以产生不止一个解。b)去掉复选项:非引用符号选项(NonQuotedSymbols)、强类型转换检查选项(StrongTypeConversionCheck)和检查谓词类型选项(CheckTypeofPredicates)。这些选项将抑制一些可能产生的、而对于理解示例程序不太重要的编译警告信息。c)最后,编译程序选项CompilerOptions对话框看起来如图2.3所示。按下OK按钮,保存编译程序选项CompilerOptions的设置。2.1.3运行和测试VisualProlog程序为检查系统配置是否合适,在编辑器窗口中键入下面的文本:GOALwrite(“HelloWorld”),nl.这就是Prolog术语所说的所谓目标GOAL。为了执行GOAL,激活菜单项Project|TestGoal或按下快捷键Ctrl+G。如果系统安装合适,屏幕上将出现如图2.4所示的情形。执行的结果将出现在另一个新开窗口中。它的标题如下:[InactiveC:\Vip\Doc\Examples\TestGoal\Obj\goal$000.exe]人工智能实验指导书-6-图2.3图2.42.1.4VDE编辑器VDE含一个标准的文本编辑器,菜单命令File|New可以创建一个新的编辑器窗口,使用鼠标和键盘即可对它进行操纵。它支持Copy、Paste、Cut、Undo、Redo等操作。VisualProlog的源程序就可在此进行编辑,并保存为后缀为.pro的源程序文件。2.1.5程序错误处理如果程序中出现了错误,在编译时,VDE将显示Errors(Warnings)窗口,其中包含所检测出来的错误的列表。可双击其中一个错误而到达错误所在源文本中的位置。从VisualPrologV5.3开始,可单击其中一个错误并按下F1键来显示有关所选错误的扩展信息。当处于帮助Help窗口时,单击搜索Search按钮并键入一个错误号,帮助主题和关于这个错误的扩展信息将显示出来。§2.2Prolog基本语法规则2.2.1Prolog语言的特点Prolog是基于Horn子句的,而Horn子句是谓词逻辑形式系统的子集,因此它能进行清晰地推理。作为一种逻辑程序语言,Prolog具有两个方面的特性:(1)它描述求解问题的方式与通常的高级程序设计语言不同。众所周知,通常的程序设计语言(如:C)求解问题时,需指明算法,即对一个给定问题指明一系列计算机要执行的计算步骤,告诉计算机“如何做”。而Prolog语言求解问题时,只描述所解问题中的对象和对象之间关系的某些已知事实、推理规则,程序一般不必告诉计算机执行的先后次序。因此,Prolog是一种描述性逻辑语言。(2)它还具有程序设计语言所具有的其它语言特点。①Prolog的数据和程序结构统一,均以(关于某一问题领域的)知识数据库的形式存在。知识数据库、知识库及程序这几个专业术语在Prolog语言中的意思是相同的。②Prolog包括一个推理机(InferenceEngine),能自动实现模式匹配和回溯,从而在逻辑推理的过程中找到给定问题的解(而且是所有解)。③Prolog语言支持递归的定义和调用,因此能够使一个复杂的问题可以用小的程序来解决。2.2.2子句:事实和规则谓词逻辑是人们为了把基于逻辑的思想表达为书面形式而发展起来的。Prolog利用这种语法发展了一种基于逻辑的程序设计语言。在谓词逻辑中,首先从句子中消去所有不必要的词。然后,变换并确定句子之间的关系,依据关系对对象进行分组。接着,对象变成作用于关系的参数。(表2.1)示例3句子被转换为谓词逻辑语法。人工智能实验指导书-7-表2.1自然语言转换为谓词逻辑自然语言谓词逻辑玫瑰花是红色的red(rose)玛丽穿的是套装wears(mary,dress)比尔喜欢狗,如果那些狗是漂亮的likes(bill,dogs)ifpretty(dogs)在Prolog的谓词逻辑中,所有的对象及它们之间的关系均被概括成短语,短语中只有两种表现类型,一是事实,一是规则。短语在Prolog中被统称为子句(clause),它是构成Prolog程序的核心。与自然语言语句类似子句由实心句号“·”结束。一、事实:已知的关系在Prolog中,知识的最简单形式就是事实,它陈述了自然语言中对象间的已知关系。例如,在自然语言中表示“喜欢”的关系有:比尔喜欢狗。玛丽喜欢蓝色衬衫。汤姆喜欢自行车。而用Prolog语法写出来的同样事实为:likes(bill,dog).likes(mary,blueshirt).likes(tom,bike).因此,在Prolog中事实的一般形式及其描述规则如下:关系(对象1,对象2,…,对象n).(1)先描述关系名,接着在一对圆括号中描述若干对象(其标准名称为变元),每个对象之间用逗号隔开。(2)所有关系名和对象名均应小写。(3)事实子句必须用“·”号结束。Prolog是根据句号来判断事实结束的。一般而言,子句括号内的变元顺序对于Prolog来说没有什么关系。但在某一特定应用环境中的前后约定应该注意保持一致,来看下面两个事实:狗(dog)咬(bites)人(man)人(man)咬(bites)狗(dog)它们的意思显然不同。
本文标题:人工智能实验指导书
链接地址:https://www.777doc.com/doc-6209564 .html