0

Datalog 程序中指令的评估顺序是什么?完美的固定点总是最小的固定点吗?

4

2 回答 2

1

如果您的程序是分层的,那么您在计算中遵循分层:从“基本事实”(EDB)开始,然后继续进行仅依赖于 EDB 的 IDB、仅依赖于仅依赖于 EDB 的 IDB 等的 IDB。固定点保证是唯一的。

于 2012-04-08T22:57:03.380 回答
0

是的,一个明确的Datalog 程序的完美模型与其最小的Herbrand 模型相吻合(这是一个你可以在例如[1] 中找到的命题)。

现在,分层Datalog程序是Datalog中可分层的否定程序。该计划不是确定的,但它是可分层的,因此可以逐层评估(亚历山大在他的回答中描述的方式)。不难看出您再次到达最小固定点。教授曾经有一本很好的关于 Datalog 和演绎数据库的教科书。安德烈·沃龙科夫。

确定 Datalog 程序的评估顺序无关紧要。在带有否定的 Datalog 的情况下,您必须更加小心。

[1] Lloyd - 逻辑编程的基础

于 2013-12-18T09:53:18.320 回答