我不关心声望点,我只想要好的答案。随意将此问题称为社区维基。
我一直在通过The Reasoned Schemer工作,并且发现了以下观察结果:
逻辑编程通常“效率低下”(或者至少是我编写的代码)。
似乎从
除了(1)解决逻辑谜题和(2)类型推断之外,逻辑编程主导的问题领域是什么?
谢谢!
答案 0 :(得分:5)
Constraint logic programming对于解决各种调度,资源分配和其他非平凡约束满足/组合优化问题非常有用。您所拥有的只是声明性的:约束(例如,一次只有一架飞机可以在跑道上),也许您希望最小化/最大化(吞吐量/等待)。
Prolog中有各种众所周知的风格,包括CLP(FD),它在有限整数域中运行,而CLP(R)在实际域中运行。至少CLP(FD)似乎在core.logic's immediate roadmap。
我相信这些Prolog派生的解决方案正在air traffic control和其他物流任务中得到广泛应用,尽管很难准确了解这些任务和生命关键公司正在使用的技术。< / p>
答案 1 :(得分:3)
人工智能研究,特别是认知机器人和基于逻辑的知识表示的其他应用,是Prolog被广泛用于与逻辑理论密切相关的领域。这种关系非常有用,因为它基本上将理论付诸实践。定理可以在纸上证明,然后在prolog中执行并执行,执行程序具有经过验证的属性。这允许程序“构造正确”,这与首先编写程序相反,然后试图证明它们的属性(正如在形式方法中所做的那样,使用例如模型检查)。
语义网是逻辑编程发挥越来越重要作用的另一个地方。