- 博客(34)
- 收藏
- 关注
转载 Learn Prolog Now 翻译 - 第十二章 - 文件相关操作 - 第二节, 文件的读写
Learn Prolog Now 翻译 - 第十二章 - 文件相关操作 - 第二节, 文件的读写 从文件中读取内容本节将学习如何从文件中读取内容。如果文件中的内容是以Prolog的语句形式存在的,那么在Prolog中读取这样的文件内容是很容易的。比如文件hou...
2015-08-10 13:33:00
163
转载 Learn Prolog Now 翻译 - 第十二章 - 文件相关操作 - 第一节, 使用不同文件组织程序...
Learn Prolog Now 翻译 - 第十二章 - 文件相关操作 - 第一节, 使用不同文件组织程序 学习到这个阶段,你可能已经使用append/3和member/2写了很多程序。你可能每次都需要将它们的实现代码拷贝到使用它们的程序文件中。而且,经过几次这样做...
2015-08-08 08:47:00
120
转载 Learn Prolog Now 翻译 - 第十一章 - 知识库相关操作和解决方案的收集 - 第二节, 解决方案的收集...
Learn Prolog Now 翻译 - 第十一章 - 知识库相关操作和解决方案的收集 - 第二节, 解决方案的收集 解决方案的收集问题在Prolog的查询中,可能存在会有很多解决方案的情况。比如,假设有如下的知识库:child(martha, charlo...
2015-08-06 16:15:00
142
转载 Learn Prolog Now 翻译 - 第十一章 - 知识库相关操作和解决方案的收集 - 第一节, 知识库相关操作...
Learn Prolog Now 翻译 - 第十一章 - 知识库相关操作和解决方案的收集 - 第一节, 知识库相关操作 Prolog中有四个知识库相关的操作命令:assert,retract,asserta,assertz。让我们学习它们是如何使用的。假设从一个空白...
2015-08-06 13:16:00
117
转载 Learn Prolog Now 翻译 - 第十章 - 中断和否定 - 第三节, 使用否定作为失败判定
Learn Prolog Now 翻译 - 第十章 - 中断和否定 - 第三节, 使用否定作为失败判定 Prolog一个很有用的特征就是可以让使用者概括地描述事物,对其进行抽象。比如我们如果想描述Vincent喜欢汉堡,可以这么写:enjoys(vincent, ...
2015-08-05 13:29:00
163
转载 Learn Prolog Now 翻译 - 第十章 - 中断和否定 - 第二节, 中断的运用
Learn Prolog Now 翻译 - 第十章 - 中断和否定 - 第二节, 中断的运用 中断在Prolog的运用上一节我们学习了中断是什么。但是在实际编程时如何使用,为什么这个机制会有作用呢?第一个例子,让我们定义一个没有中断的谓词max/3,其中所有的参...
2015-08-03 12:57:00
108
转载 Learn Prolog Now 翻译 - 第十章 - 中断和否定 - 第一节, 中断
Learn Prolog Now 翻译 - 第十章 - 中断和否定 - 第一节, 中断 中断自动回溯是Prolog中很有代表性的一个特征。但是回溯可能会导致低效。有时Prolog会浪费时间在一些没有结果的可能性搜索上。如果在回溯行为方面有一些控制机制的话,会是一...
2015-08-01 09:08:00
152
转载 Learn Prolog Now 翻译 - 第九章 - 语句深究 - 第四节, 操作符
Learn Prolog Now 翻译 - 第九章 - 语句深究 - 第四节, 操作符 内容提要操作符的属性自定义操作符正如我们之前看到的,在一些特定的情况下(比如,当进行数字计算时),Prolog允许我们书写比内部表示更加友好的操作符语法。事实上,如我...
2015-07-29 10:38:00
139
转载 Learn Prolog Now 翻译 - 第九章 - 语句深究 - 第三节, 语句的检查
Learn Prolog Now 翻译 - 第九章 - 语句深究 - 第三节, 语句的检查 内容提要语句的类型检查语句的结构检查字符串在本节中,我们将学习一些内置谓词,这些谓词可以对语句进行检查。首先,我们将会看到的谓词会测试其参数的语句是否为某种特定的...
2015-07-29 09:46:00
140
转载 Learn Prolog Now 翻译 - 第九章 - 语句深究 - 第二节, 特殊表示法的语句
Learn Prolog Now 翻译 - 第九章 - 语句深究 - 第二节, 特殊表示法的语句 内容提要算术相关的语句列表语句有时候语句会看上去非常地奇怪,但是Prolog内部能够正确地进行处理。比如,当我们比较 a 和 'a'时,作为人我们看到了两个不...
2015-07-25 10:01:00
100
转载 Learn Prolog Now 翻译 - 第九章 - 语句深究 - 第一节, 语句的比较
Learn Prolog Now 翻译 - 第九章 - 语句深究 - 第一节, 语句的比较 内容提要判断两个语句是否相等判断两个语句是否不等判断两个语句是否相等Prolog中有一个用于判断两个语句是否相等的重要谓词,即==/2。这个谓词可以用来判断两个语...
2015-07-24 16:51:00
181
转载 Learn Prolog Now 翻译 - 第六章 - 列表补遗 - 第三节, 练习题和答案
Learn Prolog Now 翻译 - 第六章 - 列表补遗 - 第三节, 练习题和答案 练习题 6.1如果一个列表是由两段连续并且相同的元素段组成,那么我们称之为双重列表。比如,[a, b, c, a, b, c]是双重列表(因为它是由两个[a, b, c]...
2015-07-23 13:57:00
221
转载 Learn Prolog Now 翻译 - 第六章 - 列表补遗 - 第二节,列表反转
Learn Prolog Now 翻译 - 第六章 - 列表补遗 - 第二节,列表反转 内容提要: append/3存在性能问题 列表反转原始版本 列表反转高效版本append/3性能问题 谓词append/3十分有用,而且了解如果...
2015-07-21 16:35:00
163
转载 Learn Prolog Now 翻译 - 第六章 - 列表补遗 - 第一节,列表合并
Learn Prolog Now 翻译 - 第六章 - 列表补遗 - 第一节,列表合并 内容提要:列表合并的定义列表合并的使用列表合并的定义我们将会定义一个很重要的谓词:append/3,其中所有的参数都是列表。从声明性角度去看,appe...
2015-07-21 13:25:00
130
转载 Learn Prolog Now 翻译 - 第五章 - 数字运算 - 第四节,练习题和答案
Learn Prolog Now 翻译 - 第五章 - 数字运算 - 第四节,练习题和答案 练习题5.1Prolog会如何回答下面的问题? 1. X = 3*4. 2. X is 3*4. 3. 4 is X. 4. X = ...
2015-07-18 16:36:00
212
转载 Learn Prolog Now 翻译 - 第五章 - 数字运算 - 第三节,整数的比较
Learn Prolog Now 翻译 - 第五章 - 数字运算 - 第三节,整数的比较 内容提要Prolog中如何进行整数的比较整数比较的实际应用Prolog中如何进行整数的比较一些Prolog的运算谓词可以实际地进行运算(即,不需要通...
2015-07-17 11:16:00
158
转载 Learn Prolog Now 翻译 - 第五章 - 数字运算 - 第二节,数字运算与列表
Learn Prolog Now 翻译 - 第五章 - 数字运算 - 第二节,数字运算与列表 内容提要列表中的一些数字运算,累加器尾递归调用列表中的一些数字运算,累加器关于数字运算最为重要的应用,可能是获取一些数据结构体的一些有用事实,比...
2015-07-16 10:57:00
380
转载 Learn Prolog Now 翻译 - 第五章 - 数字运算 - 第一节,Prolog中的数字运算
Learn Prolog Now 翻译 - 第五章 - 数字运算 - 第一节,Prolog中的数字运算 内容提要Prolog中的数字运算Porlog运算的本质Prolog中的数字运算Prolog语言本身提供了一些基础的运算符号,对整数进行...
2015-07-15 21:57:00
353
转载 Learn Prolog Now 翻译 - 第四章 - 列表 - 第四节,练习题和答案
Learn Prolog Now 翻译 - 第四章 - 列表 - 第四节,练习题和答案 练习题4.1Prolog将会如何回答下面的查询? 1. [a, b, c, d] = [a, [b, c, d]]. 2. [a, b, c, d] = [...
2015-07-15 15:43:00
270
转载 Learn Prolog Now 翻译 - 第四章 - 列表 - 第三节,递归遍历列表
Learn Prolog Now 翻译 - 第四章 - 列表 - 第三节,递归遍历列表 内容提要通过递归对列表进行遍历,从而完成各种操作。member/2这个谓词逻辑通过递归遍历了列表,对列表头部有一些操作,然后递归地对列表尾部做另外一些相同的操作...
2015-07-13 11:29:00
269
转载 Learn Prolog Now 翻译 - 第四章 - 列表 - 第二节,列表成员
Learn Prolog Now 翻译 - 第四章 - 列表 - 第二节,列表成员 内容提要本章主要介绍使用递归操纵列表的一个实际例子:判断一个元素是否在包含在一个列表中。是时候介绍第一个Prolog中通过递归操纵列表的程序例子了。我们最感兴趣的事...
2015-07-11 14:12:00
166
转载 Learn Prolog Now 翻译 - 第四章 - 列表 - 第一节,列表定义和使用
Learn Prolog Now 翻译 - 第四章 - 列表 - 第一节,列表定义和使用 内容提要列表定义;合一在列表中的使用;匿名变量;列表定义正如名字暗示的,列表就是多个元素组成的集合。更精确地说,是元素的有限序列。在Prolo...
2015-07-10 16:45:00
169
转载 Learn Prolog Now 翻译 - 第三章 - 递归 - 第四节,更多的实践和练习
Learn Prolog Now 翻译 - 第三章 - 递归 - 第四节,更多的实践和练习 在学习了前三章内容后,我们应该对Prolog编程有了直观和理性的认识。由于合一、变量初始化、证明搜索和递归都是Prolog的核心概念,所以有如下更多的一些实践和练习。这...
2015-07-09 08:19:00
191
转载 Learn Prolog Now 翻译 - 第三章 - 递归 - 第三节,练习题和答案
Learn Prolog Now 翻译 - 第三章 - 递归 - 第三节,练习题和答案 练习题3.1 在之前的章节中,我们已经讨论了如下的谓词逻辑: descend(X, Y) :- child(X, Y). descend(X, Y) :- ch...
2015-07-08 16:35:00
310
转载 Learn Prolog Now 翻译 - 第三章 - 递归 - 第二节,规则顺序,目标顺序,终止
Learn Prolog Now 翻译 - 第三章 - 递归 - 第二节,规则顺序,目标顺序,终止 内容提要规则顺序目标顺序终止Prolog是第一门比较成功的逻辑编程语言。逻辑编程语言内在实现是简单和富有魅力的:程序员的工作简单地说就是...
2015-07-07 15:40:00
144
转载 Learn Prolog Now 翻译 - 第三章 - 递归 - 第一节,递归的定义
Learn Prolog Now 翻译 - 第三章 - 递归 - 第一节,递归的定义 在Prolog中,谓词可以递归地定义。简要地讲,一个谓词是递归定义的,如果一个或者多个规则的定义中包含了规则自身。例子1:消化考虑如下的知识库:is...
2015-07-07 09:53:00
354
转载 Learn Prolog Now 翻译 - 第二章 - 合一和证明搜索 - 第三节, 练习题和答案
Learn Prolog Now 翻译 - 第二章 - 合一和证明搜索 - 第三节, 练习题和答案 练习题 2.1 下面各组语句中,哪些组是能够合一的?如果能够合一,请给出变量初始化的信息。1. bread = bread.2. 'Bread' = br...
2015-07-03 14:44:00
182
转载 Learn Prolog Now 翻译 - 第二章 - 合一和证明搜索 - 第二节, 证明搜索
Learn Prolog Now 翻译 - 第二章 - 合一和证明搜索 - 第二节, 证明搜索 证明搜索上一节我们已经学习了合一,本节我们继续学习Prolog是如何通过搜索知识库去决定输入的查询是否能够满足。我们将会学习证明搜索,并通过简单的一个例子去涵...
2015-07-02 13:10:00
125
转载 Learn Prolog Now 翻译 - 第二章 - 合一和证明搜索 - 第一节, 合一
Learn Prolog Now 翻译 - 第二章 - 合一和证明搜索 - 第一节, 合一 内容提要:合一的定义;一些合一的例子;触发校验;使用合一编程;合一的定义在上一章的知识库KB4中,我们简单地提及了合一的思想。比...
2015-07-01 10:00:00
272
转载 Learn Prolog Now 翻译 - 第一章 - 事实,规则和查询 - 第三节, 练习题和答案
Learn Prolog Now 翻译 - 第一章 - 事实,规则和查询 - 第三节, 练习题和答案 练习题 1.1 下面的字符序列哪些是原子,哪些是变量,哪些两者都不是?1. vINCENT2. Footmassage3. variable...
2015-06-27 10:47:00
329
转载 Learn Prolog Now 翻译 - 第一章 - 事实,规则和查询 - 第二节, Prolog语法介绍
Learn Prolog Now 翻译 - 第一章 - 事实,规则和查询 - 第二节, Prolog语法介绍 内容摘要:原子(Atom)数字(Numbers)变量(Variables)复杂语句(Complex Terms)通过上一...
2015-06-26 17:56:00
263
转载 Learn Prolog Now 翻译 - 第一章 - 事实,规则和查询 - 第一节, 一些简单的例子
Learn Prolog Now 翻译 - 第一章 - 事实,规则和查询 - 第一节, 一些简单的例子 该系列文章是网上的Prolog学习资料:www.learnprolognow.org的中文翻译。希望能够通过翻译此学习资料,达到两个目的:第一、系统学习prol...
2015-06-25 15:09:00
271
转载 Haskell学习笔记二:自定义类型
Haskell学习笔记二:自定义类型 内容提要:代数数据类型 - Algebraic Data Types;自定义数据类型 - data关键字;值构造器;类型变量与类型构造器;记录(Record)语法 - 简化自定义数据类型的一种语法糖;一个完整的例...
2015-06-18 09:58:00
308
转载 Haskell学习笔记一:类型和类型类相关内容
Haskell学习笔记一:类型和类型类相关内容 内容提要:静态类型系统;编译时确定类型错误;类型推导机制;基础类型:Int,Integer,Float,Double,Bool,Char;类型变量;基础类型类:Eq,Ord,Show,Read,...
2015-06-09 16:22:00
316
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人