gpt4 book ai didi

prolog - 任何允许左递归的 Prolog 实现?

转载 作者:行者123 更新时间:2023-12-05 01:08:38 26 4
gpt4 key购买 nike

我想知道是否有任何 Prolog 实现允许子句中的左递归。我的直觉是,如果实现使用广度优先目标搜索,它可能支持左递归。但我不太确定。请注意,我不太关心效率。

最佳答案

您的直觉是正确的,但 Prolog 按设计使用深度优先搜索(请参阅 SLDNF 分辨率 here )并且有充分的理由,那么该限制不容易避免。

OTOH,Ciao Prolog 提供了一个合适的 extension .

您可以使用元解释器模拟广度优先递归,例如 here对于左递归 DCG(左递归文法是一种常见情况),但这通常不是一种容易遵循的方法。

IMO 可以近似/满足您的要求的最常见扩展是制表,您可以在 YAP Prolog、XSB、B-Prolog 中找到它。

关于prolog - 任何允许左递归的 Prolog 实现?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16893607/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com