第90页 Prolog
- 章节名:Prolog
- 页码:第90页
Io和Ruby被称为命令式语言(imperative language)。命令式语言就像是一本烹饪食谱,你需要精确地告诉计算机如何去完成一项工作。更高级别的命令式语言可能会给你带来更多杠杆效力,即将多个比较长的步骤合并为一个步骤。不过从根本上说,你其实是在列出原料的购物清单,并描述烤蛋糕的详细步骤。 Prolog是一门声明式编程语言(decalarative language)。你向Prolog提供一些事实(fact)和推论(inference),并让它为你推断。它更像是一名手艺高超的糕点师。说出你喜欢的蛋糕的特征,让糕点师挑选原料并按照你提供的规则为你烤出蛋糕。有了Prolog,你无需知道如何做,计算机会为你作出推断。 Prolog是最早的逻辑编程语言之一。你使用纯逻辑设置断言,Prolog判定它们是否为真。你可以在断言中留出空白,Prolog将尝试填充这些空白并使那些不完整的事实变为真。 引自 Prolog 关于Prolog
Prolog是一门逻辑编程语言,它于1972年由Alain Colmerauer和Phillipe Roussel开发完成,在自然语言处理领域颇受欢迎。现在,从调度系统到专家系统,这门备受尊重的语言为各类问题提供了编程基础。你可以使用这门基于规则的语言来表达逻辑和提出问题。和SQL一样,Prolog基于数据库,但是其数据由逻辑规则和关系组成;和SQL一样,Prolog包含两个部分:一部分用于描述数据,而另一部分则用于查询数据。在Prolog中,数据以逻辑规则的形式存在,下面是基本构建单元。 事实。事实是关于真实世界的基本断言。(Babe是一头猪,猪喜欢泥巴。) 规则。规则是关于真实世界中一些事实的推论。(如果一个动物是猪,那么它喜欢泥巴。) 查询。查询是关于真实世界的一个问题。(Babe喜欢泥巴吗?) 事实和规则被放入一个知识库(knowledge base)。Prolog编译器将这个知识库编译成一种适于高效查询的形式。 引自 Prolog Prolog不同方言有点不一样。 GNU prolog是一个实现版本 基本概况
在一些语言中,大写字母如何使用完全由程序员自行决定。不过在Prolog中,第一个字母的大小写是有着重要意义的,如果一个词以小写字母开头,它就是一个原子(atom)——一个类似Ruby符号(symbol)的固定值,如果一个词以大写字母或下划线开头,那么它就是一个变量。变量的值可以改变,原子则不能。让我们用一些事实来构建一个简单的知识库吧。把下面内容敲入到一个编辑器中: 引自 Prolog 地图着色问题
118人阅读
hao对本书的所有笔记 · · · · · ·
-
第70页 Io
条件和循环 运算符 消息 反射
-
第78页 Io
领域特定语言 Io的method_missing 并发 Io的优劣 1. 占用空间 Io占用的空间很小。大多数Io应...
-
第90页 Prolog
-
第110页 Prolog
递归 当你使用递归子目标时,你需要小心。因为每个递归的子目标都会使用栈空间,最终你很可能...
-
第147页 Scala
Scala是一种混合编程语言,混合编程语言在两种不同编程范型之间搭建一座桥梁以弥合差异。在这...
> 查看全部15篇
说明 · · · · · ·
表示其中内容是对原文的摘抄