特定术语的最坏情况指数运行时:受影响的Prolog谓词有哪些?
关于Prolog中指数规模树对内置/库谓词的性能影响问题
先看这个生成树结构的谓词:
ptree(1). ptree(X+X) :- ptree(X).
这个谓词可以轻松生成线性空间存储但指数规模的树。像ground/1和is/2这类谓词的运行时间,可能是指数级也可能是线性级,完全取决于Prolog系统的实现方式。
现在要问的是:哪些常用的内置谓词及库谓词可能受到这种指数运行时问题的影响?
目前已经确认term_variables/2和library(terms)会受影响,但还有更多同类谓词吗?
内容的提问来源于stack exchange,提问作者repeat
相关产品推荐
相关产品推荐

