
一、Prolog(Programming in Logic的缩写)是一种逻辑编程语言。它建立在逻辑学的理论基础之上, 最初被运用于自然语言等研究领域。现已广泛的应用在人工智能的研究中,可以用来建造专家系统、自然语言理解、智能知识库等。同时对一些通常的应用程序的编写也很有帮助,能够比其他的语言更快速地开发程序,因为它的编程方法更象是使用逻辑的语言来描述程序。
prolog程序没有特定的运行顺序,其运行顺序是由电脑决定的,而不是编程序的人。
prolog程序中没有if、when、case、for这样的控制流程语句
prolog程序和数据高度统一
prolog程序实际上是一个智能数据库
强大的递归功能
二、结构化查询语言(Structured Query Language)简称SQL(发音:/ˈes kjuː ˈel/ "S-Q-L"),是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。
结构化查询语言是高级的非过程化编程语言,允许用户在高层数据结构上工作。它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以具有完全不同底层结构的不同数据库系统, 可以使用相同的结构化查询语言作为数据输入与管理的接口。结构化查询语言语句可以嵌套,这使它具有极大的灵活性和强大的功能。
三、一般而言,prolog作为数据或者逻辑处理程序而运行,配合其它程序如VC++、JAVA等的界面,由此实现带UI交互的“智能”软件,当然你所编辑出来的“智能”是软件,而不能说是真正意义的人工智能。上文说Prolog就是一个智能数据库,其实不然,Prolog主要是对数据进行一种关系描述,比如张三和李四是A关系,李四和王二是B关系,A关系==B关系,那么Prolog则擅长处理这种逻辑上的数据关系,不能和SQL混为一谈,所以说,Prolog的用途是来处理数据之间关系的,而不是存储数据本质的存在。
逻辑程序设计提供了有用的程序设计语言(主要是Prolog)。除此之外,有时候,人工智能中有用的理论T可以表示为霍恩(Horn)子句集H,而要达到的目标G则可以表示为寻找变量x1,x2,...,xn的值使其满足表达式g(x1,x2,...,xn)。该问题有时可以通过运行由G和H组成的Prolog程序来解决。
将AI当作逻辑程序设计会有两种可能的障碍。首先,霍恩理论对一阶逻辑的研究并不彻底。其次,用于表达理论的Prolog程序可能效率极低。比执行表达理论的程序更多、更精细的控制是经常需要的。地图着色提供了这类问题的示例。
旗鱼科技是润建股份控股子公司,在人工智能领域深耕多年,产品有巧见云3D内容生产平台、3D LED大屏、VR/AR眼镜、无线会议室等,与军方和学院都有密切合作,感兴趣的话可以搜索看看。
PROLOG语言的基本语句有三类,分别代表事实、规则和询问,并同有头(无体、有体)和无头的HORN子句相对应。Prolog(Programming in Logic的缩写)是一种逻辑编程语言。它建立在逻辑学的理论基础之上, 最初被运用于自然语言等研究领域。
PROLOG程序的解释执行过程采用特定的输入归结,即从目标语句出发求出它和原来子句集的一个子句的归结式(尾部和头部匹配),新的子句再与原来子句集的一个子句求归结式,以此类推。任一时刻都不在两个导出子句或原来子句集的两子句间求归结式。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)