0

序言的艺术的介绍中,Sterling 和 Shapiro 将并行性、并发性和逻辑编程的讨论推迟到另一本书。我的问题是是否有这样的资源:

[the] 并行计算机的承诺,结合逻辑编程模型中似乎可用的并行性,导致了许多尝试,这些尝试仍在进行中,以并行执行 Prolog,并基于逻辑编程计算模型。然而,这是另一本书的主题(序言的艺术,第 xx 页)。

在 Google 上搜索,除了数百篇研究论文和论文之外,我还发现了 Mercury 的 Prolog 和并发库的并行实现。但是在本段的第二部分,关于并发编程和基于逻辑编程语言执行模型的编程语言,很难找到资源。有没有关于这些主题的好资源?我对编译编写并行和并发逻辑程序的参考资料特别感兴趣。

4

1 回答 1

1

在 Prolog 中,您可以同时具有非确定性和并发性。非确定性通常被描述为统一和回溯。你可以想象一个 Prolog 子句充满了隐含的amb语句。鲜为人知的是,逻辑编程也支持并发。

但是今天我们可能只是在逻辑编程中进行操作。是一个通过线程实现 findall 的示例。这也可以修改为在集合上执行各种任务,甚至可以生成面向分布式人工智能的代理网络。

甚至还有一个关于支持 Prolog 内部线程的 ISO 标准谓词的提议。这些谓词还包括同步和排队原语。但更重要的是,基于轻量级 Prolog 的 Web 服务器无法工作,周围没有多线程 Prolog 系统:

ISO/IEC DTR 13211–5:2007 Prolog 多线程支持
http://logtalk.org/plstd/threads.pdf

于 2016-07-03T10:18:04.173 回答