展会信息港展会大全

科学网[转载]Prolog
来源:互联网   发布日期:2011-08-29 21:58:39   浏览:9769次  

导读:nbsp;在过程性语言中,程序员必须提供一步一步的指令,准确地告诉计算机如何求解给定的问题。换句话说,程序员必须预先知道如何求解这个问题。相反 ... ,科学网...

 

在过程性语言中,程序员必须提供一步一步的指令,准确地告诉计算机如何求解给定的问题。换句话说,程序员必须预先知道如何求解这个问题。相反,对于Prolog,程序员只需要提供对问题的描述和求解的基本规则。

Prolog语言(或者系统)是以一阶谓词逻辑的Horn子句集为语法,以Robinson的消解原理为工具,加上深度优先的控制策略而形成的人工智能通用程序设计语言

在数理逻辑中,霍恩子句(Horn Clause)是带有最多一个肯定文字的子句(文字的析取)。霍恩子句得名于逻辑学家 Alfred Horn,他在 1951 年首先在文章《On sentences which are true of direct unions of algebras》, Journal of Symbolic Logic, 16, 14-21 中指出这种子句的重要性。

有且只有一个肯定文字的霍恩子句叫做明确子句,没有任何肯定文字的霍恩子句叫做目标子句。霍恩子句的合取是合取范式,也叫做 霍恩公式。霍恩子句在逻辑编程中扮演基本角色并且在构造性逻辑中很重要。

下面是一个霍恩子句的例子:

它可以被等价地写为:

霍恩子句对定理证明的实用性是一阶归结提供的,两个霍恩子句的归结是一个霍恩子句。在自动定理证明中,这能导致子句的在计算机上表示得更加高效。实际上,Prolog 就是完全在霍恩子句上构造的编程语言。

霍恩子句在计算复杂性中也是关键的,在这里找到一组变量指派使霍恩子句的合取的为真的问题是一个P-完全问题,有时叫做 HORNSAT。这是布尔可满足性问题的 P 的变体,它是一个中心的NP-完全问题。

深度优先搜索是一种在开发爬虫早期使用较多的方法。它的目的是要达到被搜索结构的叶结点(即那些不包含任何超链的HTML文件) 。在一个HTML文件中,当一个超链被选择后,被链接的HTML文件将执行深度优先搜索,即在搜索其余的超链结果之前必须先完整地搜索单独的一条链。深度优先搜索沿着HTML文件上的超链走到不能再深入为止,然后返回到某一个HTML文件,再继续选择该HTML文件中的其他超链。当不再有其他超链可选择时,说明搜索已经结束。

 

赞助本站

人工智能实验室

相关热词: [转载]Prolog

AiLab云推荐
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港