2021-06-07

对prolog语言的基本了解

  • 概念: prolog语言是一种逻辑程序设计语言,是人工智能序设计语言族中最为广泛的一种语言,它能通过规则自动寻求问题的解。

  • 语句分类: prolog语言的基本语句有三类:

  • (1)事实:表达对象之间已知的基本事实;

  • (2)规则:表达对象之间的推理关;

  • (3)询问:用来询问对象之间的关系。

  • prolog的主要特点:

  • (1)prolog 是一种描述性语言。在用prolog 语句描述了基本事实和规则之后,我们就可以向prolog 提出询问,要求它做什么,而未告诉它如何做,而具体怎样去做(求解)是由prolog内部的推理机制自动进行的。这一点是与常用程序语言如BASIC、PASCAL和C等有很大不同。用这些常用语言求解问题时不但要求它做什么,还要告诉它如何做。由于这一特点,prolog的序简捷易懂,有人做出统计,解决同一问题,用prolog 编程的行数大约只是用PASCAL.编程行数的十分之一;

  • (2)prolog的数据和程序在结构上是统一的。prolog 只提供一种数据结构,称之为项,所有的数据和程序都是由项构成的。并且是树形结构。prolog 中的项要比 LISP 中的表达能力更强;

  • (3) prolog内部的推理机制是搜索、匹配和回溯。prolog 在对问题求解时,先自上面下地搜索数据库,自动进行模式匹配,当所匹配的子句(对于规则)有多个目标时,则要从左向右逐个满足目标,若其中某一目标失败时或用户要求寻找另一解答时就要引起回溯。总之prolog采用的是目标驱动的反向推理和深度优先的搜索方法。prolog 是以一阶谓词演算为基础的,因此它是一种逻辑程序设计语言;

  • (4)Prolog的递归性。Prolog的递归性体现在两个方面,一方面是它的数据定义具有递归性。另一方面是处理这些数据的程序也往往是递归的。由于递归性,使得Prolog的程序更加简洁明了,但同时也使它的时空性能较差,Prolog 程序在执行过程中往往要占用大量的存贮单元和用较长的时间;

  • (5)Prolog是面向非数值计算的。由于Prolog 是面向符号处理等非数值计算领域,因此它在数值计算方面显然不如过程性语言如 FORTRAN、PASCAL和C等。反过来 FORTRAN、PASCAL 和 C语言在符号处理等推理软件开发中不如Prolog,由于Prolg的推理机制,要用它设计出高质量的实用软件来需要对它内部处理机制有所了解,这样才能把握住它。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值