首页 >常见问题 > 正文

prolog语言的三种基本语句是什么

原创2021-02-01 09:42:4801579

prolog语言的三种基本语句是事实、规则和询问,并且同有头和无头的HORN子句相对应;因而用PROLOG语言进行的程序设计可归结为宣布事实,定义规则和提出询问。

本文操作环境:windows7系统、Dell G3电脑。

Prolog(Programming in Logic的缩写)是一种逻辑编程语言。它建立在逻辑学的理论基础之上, 最初被运用于自然语言等研究领域。

Prolog简介

一种逻辑程序设计语言。1972年法国科莫劳埃小组为了提高归结法的执行效率,研制出一个定理证明程序的程序执行器,取名为PROLOG(Programming In Logic),标志着第一个逻辑程序设计语言PROLOG的诞生。1974年及以后,R.科瓦尔斯基进一步从谓词逻辑的HORN子句的角度阐明PROLOG的理论基础,系统地提出逻辑程序设计的思想。

PROLOG语言的基本语句有三类,分别代表事实、规则和询问,并同有头(无体、有体)和无头的HORN子句相对应。例如:

9e18b688b9dd432115c5f78e3c4155b.png

因而用PROLOG语言进行的程序设计可归结为宣布事实,定义规则和提出询问。

PROLOG程序的解释执行过程采用特定的输入归结,即从目标语句出发求出它和原来子句集的一个子句的归结式(尾部和头部匹配),新的子句再与原来子句集的一个子句求归结式,以此类推。任一时刻都不在两个导出子句或原来子句集的两子句间求归结式。上例中

⑥:-human(u),greek(u)(④和⑤的归结式,mgu=u/x)

⑦:-greek(socarates)(②和 ⑥的归结式,mgu=socarates/u)

⑧:-(③和⑦的归结式,得空子句)

问题答案是u=socarates。由此可见,PROLOG解释系统实际上就是一个以归结原理为基础的定理证明程序或问题求解程序。

时空效率较低是影响PROLOG语言应用的重要问题,提高效率的途径是:改进PROLOG解释系统,采用PROLOG编译系统,研制PROLOG机,引入用于控制的元规则,采用启发式搜索方式,启用智能回溯,采用协同、并发求解技术,开发并行处理机制。

由于PROLOG解释程序能根据推理规则自动寻求问题的解,程序设计者就可把主要精力放在揭示对象间的逻辑关系上而不必过多地考虑过程的细节,这是向自动程序设计方向迈进了一步。但是PROLOG语言还具有一些非逻辑特征。例如为了控制回溯,采用CUT技术(切断技术,意即程序人员用CUT符!通知系统不再考虑过去已进行过但无用的搜索通路而且也无须记录回溯点的技术),引入谓词assert(在数据库中增添子句)ret ract(从数据库中删除子句)。这就使得系统的公理集合在推理过程中发生变化,这些都同一阶逻辑的基本思想不符。因此PROLOG还不是严格意义下的逻辑程序设计语言。为了使其更加逻辑化,需要将语言的非逻辑成分限制到最低程度,这方面的研究正在进行中。

推荐:《编程视频

以上就是prolog语言的三种基本语句是什么的详细内容,更多请关注php中文网其它相关文章!

php中文网最新课程二维码

声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理

  • 相关标签:prolog
  • 相关文章

    相关视频


    网友评论

    文明上网理性发言,请遵守 新闻评论服务协议

    我要评论
  • 专题推荐

    推荐视频教程
  • Mac PHP开发工具与环境搭建Mac PHP开发工具与环境搭建
  • 《基于Swoole偷看MySQL与PHP的通信过程》《基于Swoole偷看MySQL与PHP的通信过程》
  • ThinkPHP5.1开发基础ThinkPHP5.1开发基础
  • ThinkPHP5.1企业站点快速开发ThinkPHP5.1企业站点快速开发
  • PHP安全与漏洞PHP安全与漏洞
  • 视频教程分类