`
stephen
  • 浏览: 27258 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论
阅读更多
http://www.chinaai.org/Article_Show.asp?ArticleID=314

完整的prolog程序是有事实和规则组成的。

事实用来储存一些数据,而规则用来储存某种可以推理出来的关系。

理论上来说使用c语言可以编制任何种类的程序,甚至连prolog语言都是使用c语言编写的。不过对于急于开发应用程序的用户,最关心的是如何最经济最有效率的开发程序,prolog为你多提供了一个选择的余地。

在prolog程序中,是很难分清楚哪些是程序,哪些是数据的。事实上,prolog中的所有东西都有相同的形式,也就是说数据就是程序,程序就是数据。

prolog的原理就是关系数据库,它是建立在关系数据库的基础上的。在以后的学习中你会发现它和SQL数据库查询语言有很多相似之处。使用prolog可以很方便的处理数据。

http://groups.google.co.id/group/nirvanastudio/browse_thread/thread/dd5ad220e3c086a6/137508f386298e1e?lnk=raot&hl=id
函数Currying的意思就是将参数和函数关联起来,变成一个新的函数。比如一个二元参数f a b
当给出f 1的时候,应该返回什么呢?一般的语言中,要么是将b设为一个默认值,要么就是直接出错,而当有了Currying,那么f
1其实返回一个函数g x = f 1 x。

在理论计算机科学中,Curry化提供了在简单的理论模型中比如只接受一个单一参数的lambda 演算中研究带有多个参数的函数的方式。

Lambda 演算可以被称为最小的通用程序设计语言。它包括一条变换规则 (变量替换) 和一条函数定义方式,Lambda 演算之通用在于,任何一个可计算函数都能用这种形式来表达和求值。因而,它是等价于图灵机的。尽管如此,Lambda 演算强调的是变换规则的运用,而非实现它们的具体机器。可以认为这是一种更接近软件而非硬件的方式。

分享到:
评论

相关推荐

    SWI-prolog 软件 及 Prolog 教程

    **SWI-Prolog软件及其Prolog教程** **一、SWI-Prolog介绍** SWI-Prolog(SWI - System for Wide Interoperability)是一款开源的Prolog解释器,由Jan Wielemaker开发并维护。它提供了强大的编程环境,广泛应用于...

    Visual Prolog 7 中文 教程.pdf

    Visual Prolog是一种高级编程语言,主要用于开发专家系统和知识密集型应用程序。Visual Prolog 7 是该语言的一个版本,提供了丰富的功能和更强大的编程能力。由于文件内容通过OCR技术扫描得到,因此可能包含一些识别...

    Prolog学习教程 - 整理版.pdf

    Prolog(Programming in Logic)是一种逻辑编程语言,主要用于开发专家系统和其他需要利用逻辑推理的应用。它的编程模型与传统的命令式语言(如C或Basic)有显著不同,主要表现为对逻辑规则和事实的陈述,而逻辑规则...

    prolog 教程及实例

    ### Prolog 教程及实例知识点详解 #### 一、Prolog 概述与入门 **Prolog** 是一种逻辑编程语言,其全称为 **Programming in Logic**,意为使用逻辑进行编程。作为一种非传统的编程语言,Prolog 的独特之处在于它...

    利用Prolog实现递归规则

    "利用Prolog实现递归规则" Prolog是一种基于逻辑编程语言,广泛应用于人工智能领域,特别是在搜索技术、自然语言理解、机器定理证明和专家系统等方面。Prolog语言具有很强的逻辑性和文法简捷,且具有递归调用功能,...

    SWI-prolog及使用手册

    SWI-Prolog(SWI-Prolog,即斯德哥尔摩Prolog系统)是一款广泛使用的开源Prolog解释器,它由Jan Wielemaker开发,以其丰富的库、良好的跨平台支持和易于集成其他语言而闻名。在Prolog的世界里,SWI-Prolog是一个极具...

    prolog programming for artificial intelligence

    但根据【标题】和【描述】中的信息,可以确定这是一本关于Prolog编程语言在人工智能领域应用的书籍的第二部分。Prolog(Programming in Logic)是一种高级编程语言,特别适合于符号处理、知识表示和逻辑推理。它广泛...

    Visual Prolog 8 Language Reference

    Visual Prolog是一种基于逻辑编程语言Prolog的强类型面向对象编程语言。它的最新版语言参考描述了其语法和语义。Visual Prolog程序由目标和多个文件组成,其中包括接口、类声明和类实现。类实现中包含了Prolog实体的...

    Prolog高级程序设计

    **Prolog高级程序设计** Prolog(Prolog,全称Programming in Logic)是一种逻辑编程语言,源自于20世纪70年代,它以其基于逻辑推理的特性在人工智能、自然语言处理、数据库查询等领域有着广泛的应用。Prolog的设计...

    人工智能实验 prolog

    **人工智能实验:深入理解Prolog** Prolog,全称“逻辑程序设计语言”(Programming in Logic),是一种基于逻辑推理的编程语言,广泛应用于人工智能、自然语言处理、专家系统等领域。在本实验中,我们将深入探讨...

    人工智能导论_斑马问题prolog代码

    《人工智能导论:斑马问题与Prolog编程实践》 在人工智能领域,逻辑编程语言Prolog(Prolog,全称Programming in Logic)以其独特的规则推理机制,在解决逻辑问题上展现出强大的能力。本篇将深入探讨如何利用Prolog...

    prolog

    **Prolog(逻辑编程语言)** Prolog,全称“Programming in Logic”,是一种基于逻辑的编程语言,主要用于人工智能和自然语言处理等领域。它的设计思想源于数学逻辑,通过推理和搜索来解决问题,而不是像传统编程...

    一个描述亲属关系的PROLOG程序

    根据给定的信息,本文将详细解释如何通过Prolog语言创建一个描述亲属关系的程序,并基于已有的事实数据构建一个小型的演绎数据库。 ### 一、Prolog简介 Prolog是一种逻辑编程语言,它主要应用于人工智能领域,特别...

    turbo prolog2.0 下载

    Turbo Prolog 2.0 是一款经典且功能强大的Prolog编程环境,由Borland公司开发,它在20世纪80年代至90年代期间是许多计算机科学家和程序员学习和应用逻辑编程语言的首选工具。Prolog,全称为“Programming in Logic”...

    基于prolog的迷宫系统

    基于Prolog的迷宫系统是一种利用人工智能算法解决路径搜索问题的方法。Prolog是一种逻辑编程语言,它非常适合处理这种基于规则的问题。在这个迷宫系统中,我们主要关注以下几个关键概念: 1. **迷宫图**:迷宫图是...

    人工智能prolog语言实验:寻找凶手(谁是凶手)问题

    在这个实验中,我们将探讨人工智能领域中的逻辑编程语言——Prolog,用于解决一个经典的侦探谜题:寻找凶手。这个实验的核心是使用Prolog的规则和推理机制来确定哪个嫌疑犯、在哪个房间、使用了哪件凶器进行了谋杀。...

    Prolog语言详细教程

    ### Prolog语言详解 #### 一、Prolog简介与特点 Prolog是一种逻辑编程语言,其全称是“Programming in LOGIC”,它基于形式逻辑(主要是谓词逻辑)来表达程序,这使得它在处理符号数据和进行逻辑推理时特别强大。...

    Visual Prolog Version 5.x Visual Programming Interface

    ### Visual Prolog 版本 5.x 可视化编程接口概述 #### 一、引言 《Visual Prolog 版本 5.x 可视化编程接口》是一本详细介绍如何利用 Visual Prolog 进行可视化编程的专业书籍。Visual Prolog 是一种功能强大的逻辑...

Global site tag (gtag.js) - Google Analytics