【发布时间】:2014-05-30 15:25:13
【问题描述】:
我正在使用 CHR(约束处理规则)在 Prolog SWI 中创建几个解谜程序
一切都很好,但是,我喜欢测试哪个求解器是最好的。 因此,我想找出哪个求解器使用的回溯量最少。
有没有一种聪明的方法来找出(或打印出)求解者解决特定难题所需的回溯量?
从逻辑上讲,计数会有所帮助,但它没有 --> 回溯!
【问题讨论】:
-
gprofile 可以帮助你,浏览手册
-
gprofile?和profile/3一样吗?
-
profile/1,抱歉我没记好
-
如果 CPU 时间对您来说不够好,您可以将统计数据显示的推断数量视为一个非常好的独立于架构且可重现的近似效率。
-
@Dieter 当 Prolog 再次返回执行子句 (REDO) 以尝试找到回溯的另一个解决方案时。
标签: prolog backtracking swi-prolog constraint-handling-rules