什么是逻辑语言?

什么是逻辑语言?,第1张

Prolog(Programming in logic)是一种面向演绎推理的逻辑型程序设计语言,最早于1972年由柯尔麦伦纳(Colmeraner)及其研究小组在法国马赛大学提出。[1]

高济,何钦铭著,人工智能基础 (第二版),高等教育出版社,2008.10,第67页

中文名

逻辑编程语言

外文名

Programming in logic

简称

Prolog

定义

面向演绎推理的逻辑型语言

提出时间

1972年

关于逻辑编程语言

Prolog以处理一阶谓词演算为背景,由于其简单的文法、丰富的表达力和独特的非过程语言的特点,很适合用来表示人类的思维和推理规则,从而一问世就赢得了人工智能研究和应用开发者的广泛兴趣。尤其在西欧和日本,Prolog语言已推广应用于许多应用领域,如关系数据库、数理逻辑、抽象问题求解、自然语言理解和专家系统等。日本还在其于1979年提出的第五代计算机研究计划中把Prolog列为核心语言。

Prolog实际上就是一种基于逆向规则的演绎推理技术,只不过对规则和目标的表示有严格的限制.再加上演绎推理控制机制自身的简单性,难以适用于复杂的应用域。[1]

Prolog语言的基本概念

Prolog语言的基本成分是Horn子句,表示为如下形式:

 

  

  

  

 

p;

Prolog语言中,Horn子句以3种形式去分别表示逆向演绎推理中问题求解描述的3个部分:目标、规则和事实。

目标

表示为只有左部的Horn子句:

 

  

  

  

即在Prolog语言中,目标公式只限于表示为原子公式的合取,而不能是任意的文字与或形。

规则

表示为典型的Horn子句:

 

  

  

  

 

p

这就是逆向演绎推理所使用的规范化B规则,只是规则左部限定为原子公式的合取,而非任意文字与或形。

事实

事实表示为事实元素的集合,每个事实元素表示为只有右部的Horn子句,即单一原子公式P。事实元素间隐含合取关系。

只要用Prolog语言表示问题描述的这3个部分,支持Prolog语句的推理机制就会自动执行基于规则的逆向演绎推理,并最终给出。

结构化程序设计方法主要由以下三种逻辑结构组成:

1)顺序结构:顺序结构是一种线性、有序的结构,它依次执行各语句模块。

2)循环结构:循环结构是重复执行一个或几个模块,直到满足某一条件为止。

3)选择结构:选择结构是根据条件成立与否选择程序执行的通路。

采用结构化程序设计方法,程序结构清晰,易于阅读、测试、排错和修改。由于每个模块执行单一功能,模块间联系较少,使程序编制比过去更简单,程序更可靠,而且增加了可维护性,每个模块可以独立编制、测试。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11320320.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-15
下一篇 2023-05-15

发表评论

登录后才能评论

评论列表(0条)

保存