计算机应用 | 古代文学 | 市场营销 | 生命科学 | 交通物流 | 财务管理 | 历史学 | 毕业 | 哲学 | 政治 | 财税 | 经济 | 金融 | 审计 | 法学 | 护理学 | 国际经济与贸易
计算机软件 | 新闻传播 | 电子商务 | 土木工程 | 临床医学 | 旅游管理 | 建筑学 | 文学 | 化学 | 数学 | 物理 | 地理 | 理工 | 生命 | 文化 | 企业管理 | 电子信息工程
计算机网络 | 语言文学 | 信息安全 | 工程力学 | 工商管理 | 经济管理 | 计算机 | 机电 | 材料 | 医学 | 药学 | 会计 | 硕士 | 法律 | MBA
现当代文学 | 英美文学 | 通讯工程 | 网络工程 | 行政管理 | 公共管理 | 自动化 | 艺术 | 音乐 | 舞蹈 | 美术 | 本科 | 教育 | 英语 |

人工智能语言--PROLOG(2)

2014-07-09 01:38
导读:三.Prolog程序的简单例子以下两个例子在Turbo Prolog 2.0环境下运行通过。[ 注:一个Turbo Prolog程序至少包括谓词段、子句段和目标段三项。目标可以包含在程

三.Prolog程序的简单例子以下两个例子在Turbo Prolog 2.0环境下运行通过。[ 注:一个Turbo Prolog程序至少包括谓词段、子句段和目标段三项。目标可以包含在程序中,也可以在程序运行时给出。]
例1 谁是john的朋友?predicates /*谓词段,对要用的谓词名和参数进行说明*/likes(symbol, symbol)friend(symbol, symbol)clauses /*子句段,存放所有的事实和规则*/likes(bell,sports). /*前4行是事实*/likes(mary,music).likes(mary,sports).likes(jane,smith).friend(john,X):-likes(X,sports),likes(X,music). /*本行是规则*/当上述事实与规则输入计算机后,运行该程序,用户就可以进行询问,如输入目标:friend(john,X) 即询问john的朋友是谁,,这时计算机的运行结果为:X=mary (mary是john的朋友)1 Solution (得到了一个结果)程序运行界面如下图所示:例2 汉诺塔问题:有N个有孔的盘子,最初这些盘子都叠放在柱a上(如图1),要求将这N个盘子借助柱b从柱a移到柱c(如图2),移动时有以下限制:每次只能移动一个盘子;大盘不能放在小盘上。问如何移动?
该问题可以采用递归法思想来求解,其源程序为:predicates /*谓词段*/hanoi(integer)move(integer,symbol,symbol,symbol)inform(symbol,symbol).
clauses /*子句段*/hanoi(N):-move(N,a,b,c).move(1,A,_,C):-inform(A,C),!.move(N,A,B,C):-N1=N-1,move(N1,A,C,B),inform(A,C),move(N1,B,A,C).inform(Loc1,Loc2):-nl,write("移动1个盘子从柱" ,Loc1,"到柱",Loc2).
goal /*目标段,问移动3个盘子的方法*/hanoi(3).
这个例子的目标包含在程序里面,因此运行时程序将直接输出所有结果。程序运行界面如下图所示:
四、Prolog语言的常用版本Prolog语言最早是由法国马赛大学的Colmerauer和他的研究小组于1972年研制成功。早期的Prolog版本都是解释型的,自1986年美国Borland公司推出编译型Prolog,即Turbo Prolog以后,Prolog便很快在PC机上流行起来。后来又经历了PDC PROLOG、Visual Prolog不同版本的发展。并行的逻辑语言也于80年代初开始研制,其中比较著名的有PARLOG、Concurrent PROLOG等。1、Turbo Prolog由美国Prolog开发中心(Prolog Development Center, PDC)1986年开发成功、Borland公司对外发行,其1.0,2.0,2.1版本取名为Turbo Prolog,主要在IBM PC系列计算机,MS-DOS环境下运行。2、PDC Prolog1990年后,PDC推出新的版本,更名为PDC Prolog 3.0,3.2,它把运行环境扩展到OS/2操作系统,并且向全世界发行。它的主要特点是:·速度快。编译及运行速度都很快,产生的代码非常紧凑。·用户界面友好。提供了图形化的集成开发环境。·提供了强有力的外部数据库系统。·提供了一个用PDC Prolog编写的Prolog解释起源代码。用户可以用它研究Prolog的内部机制,并创建自己的专用编程语言、推理机、专家系统外壳或程序接口。 ·提供了与其他语言(如C、Pascal、Fortran等)的接口。Prolog和其他语言可以相互调用对方的子程序。·具有强大的图形功能。支持Turbo C、Turbo Pascal同样的功能。3、Visual PrologVisual Prolog是基于Prolog语言的可视化集成开发环境,是PDC推出的基于Windows环境的智能化编程工具。目前,Visual Prolog在美国、西欧、日本、加拿大、澳大利亚等国家和地区十分流行,是国际上研究和开发智能化应用的主流工具之一。Visual Prolog具有模式匹配、递归、回溯、对象机制、事实数据库和谓词库等强大功能。它包含构建大型应用程序所需要的一切特性:图形开发环境、编译器、连接器和调试器,支持模块化和面向对象程序设计,支持系统级编程、文件操作、字符串处理、位级运算、算术与逻辑运算,以及与其它编程语言的接口。Visual Prolog包含一个全部使用Visual Prolog语言写成的有效的开发环境,包含对话框、菜单、工具栏等编辑功能。Visual Prolog与SQL数据库系统、C 开发系统、以及Visual Basic、Delphi或Visual Age等编程语言一样,也可以用来轻松地开发各种应用。Visual Prolog软件的下载地址为:http:/// 。
上一篇:一种新的聚类判别分析框架及其实证研究(1) 下一篇:没有了