算法=逻辑+控制: 在逻辑式编程中,程序员只需表达逻辑,而控制交给编程语言的解释器或编译器去管理...

“逻辑式语言着眼于关系而非函数,对付这类问题正是它的拿手好戏。”冒号声音逐渐高亢,“大家应该都听说过等式‘算法+数据结构=程序’吧?这是Pascal设计者Niklaus Wirth的一本著作的书名,它刻画了过程式尤其是结构化编程的思想。后来Robert Kowalski进一步提出:算法=逻辑+控制。其中逻辑是算法的核心,控制主要用于改进算法的效率。在逻辑式编程中,程序员只需表达逻辑,而控制交给编程语言的解释器或编译器去管理。”

  

冒号欣然应允:“由于逻辑式编程模拟人类的逻辑思维,故而在机器证明、专家系统、自然语言处理、博弈等人工智能领域如鱼得水,同时在非学术领域的知识管理、智能决策分析等方面也能大显身手。同为声明式,它与函数式一样比命令式更简洁、更抽象、更少副作用,运用得当能大大提高生产效率,还能用于快速原型(rapid prototyping)开发。但缺点是运行效率偏低,可掌控性较差,与常规的过程式思维差异较大,更适合基于规则(rule-based)而不是基于状态(state-based)的应用[5] 。此外,相对而言逻辑式语言还不够成熟和完善。”

 

 

http://www.cnblogs.com/xyz98/archive/2009/04/12/1434164.html

 

        代码的长度不是衡量软件复杂度的唯一标准。其中的逻辑结构越复杂、越微妙、受需求变化的影响越大,软件越难控制和维护。

·        算法=逻辑+控制。逻辑式编程将算法中的控制部分大都移交给编程语言,编程人员主要关注算法的核心逻辑。这样大大减轻了程序员的负担,编码也更简洁易懂,更具可维护性和可扩展性。

·        有别于过程式和函数式,逻辑式没有明显的输入和输出之分。

·        逻辑式编程不仅适用于人工智能方面的学术领域,同样广泛适用于各种涉及知识管理、决策分析等方面的应用领域。

·        相对于命令式,逻辑式更简洁、更抽象、更少副作用,能提高生产效率,还能用于快速原型开发。但在运行效率、可掌控性、语言成熟度等方面有所欠缺。另外,因其思维方式独特而鲜为人用,适合基于规则而非基于状态的应用 。

转载于:https://www.cnblogs.com/feng9exe/p/10186874.html

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值