一、什么是人工智能语言人工智能(AI)语言是一类适应于人工智能和知识工程领域的、具有符号处理和逻辑推理能力的计算机程序设计语言。能够用它来编写程序求解非数值计算、知识处理、推理、规划、决策等具有智能的各种复杂问题。 典型的人工智能语言主要有LISP、Prolog、Smaltalk、C++等。
人们可能会问,用人工智能语言解决问题与传统的方法有什么区别呢? 二、Prolog语言及其基本结构Prolog是当代最有影响的人工智能语言之一,由于该语言很适合表达人的思维和推理规则,在自然语言理解、机器定理证明、专家系统等方面得到了广泛的应用,已经成为人工智能应用领域的强有力的开发语言。 1、事实事实用来说明一个问题中已知的对象和它们之间的关系。在Prolog程序中,事实由谓词名及用括号括起来的一个或几个对象组成。谓词和对象可由用户自己定义。 2、规则规则由几个互相有依赖性的简单句(谓词)组成,用来描述事实之间的依赖关系。从形式上看,规则由左边表示结论的后件谓词和右边表示条件的前提谓词组成。 3、目标(问题)把事实和规则写进Prolog程序中后,就可以向Prolog询问有关问题的答案,询问的问题就是程序运行的目标。目标的结构与事实或规则相同,可以是一个简单的谓词,也可以是多个谓词的组合。目标分内、外两种,内部目标写在程序中,外部目标在程序运行时由用户手工键入。 三、Prolog程序的简单例子以下两个例子在Turbo Prolog 2.0环境下运行通过。 例1 谁是john的朋友? 例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个盘子的方法*/ 这个例子的目标包含在程序里面,因此运行时程序将直接输出所有结果。 四、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操作系统,并且向全世界发行。它的主要特点是:
3、Visual PrologVisual Prolog是基于Prolog语言的可视化集成开发环境,是PDC推出的基于Windows环境的智能化编程工具。目前,Visual Prolog在美国、西欧、日本、加拿大、澳大利亚等国家和地区十分流行,是国际上研究和开发智能化应用的主流工具之一。 Visual Prolog包含一个全部使用Visual Prolog语言写成的有效的开发环境,包含对话框、菜单、工具栏等编辑功能。 |
人工智能语言--prolog
最新推荐文章于 2022-05-31 18:33:58 发布
人工智能语言是一类适应于人工智能和知识工程领域的、具有符号处理和逻辑推理能力的计算机程序设计语言,其中Prolog是当代最有影响的人工智能语言之一。