Prolog编程入门:概念、工作原理与实用知识基础
1. Prolog的理念
在过去,为计算机编程意味着给它列出一系列按步骤执行的任务来解决问题。但在Prolog中,情况并非如此。Prolog程序可以由一组事实和一组解决方案必须满足的条件组成,计算机能够自行从给定的事实中推导出解决方案。
这种编程方式被称为逻辑编程。Prolog基于形式逻辑,就像FORTRAN、BASIC等语言基于算术和简单代数一样。Prolog通过应用最初为证明逻辑定理而开发的技术来解决问题。
Prolog是一种非常通用的语言,它可以实现各种算法,而不仅仅是为其专门设计的那些。使用Prolog不会将你束缚于任何特定的算法、控制流或文件格式。在很多方面,Prolog比Pascal、C或C++更强大。是否选择Prolog作为适合你的语言,取决于你要完成的工作类型。
Prolog由Alain Colmerauer及其同事于1972年在法国马赛的艾克斯 - 马赛大学发明,其名称代表“逻辑编程”。如今,Prolog主要用于人工智能应用,特别是自动推理系统。它曾被选为日本政府在1982年发起的第五代项目的编程语言,该项目旨在创建新一代基于知识的计算机。在商业领域,Prolog常用于专家系统、自动帮助台、智能数据库和自然语言处理程序。
Prolog与Lisp有很多共同之处,Lisp是传统上用于人工智能研究的语言。这两种语言都便于对复杂数据进行复杂计算,并且都能优雅地表达算法。它们都能动态分配内存,程序员无需在创建数据结构之前声明其大小,还允许程序检查和修改自身,从而使程序能够从运行时获得的信息中“学习”。
主要区别在于,Prolog内置了自动推理程序(推理引擎),而