繁体   English   中英

为什么Arc-Consistency Algorithm O(cd ^ 3)的复杂性?

[英]Why is the complexity of Arc-Consistency Algorithm O(cd^3)?

为什么Arc-Consistency Algorithm O(cd 3 )的复杂性?

我将假设您正在参考AC-3一致性算法。 这个算法在这里很好地简单描述。 我将参考这个算法的解释。

首先,让我们计算方法REVISE的复杂性(方法修改两个域之间的一个弧)。 对于一个域中的每个值,它正在检查第二个域的所有值。 因此, REVISE方法的复杂性将是d 2 ,其中d is maximum domain size

现在,在最坏的情况下, REVISE会被召唤多少次? 最初,队列中存在所有弧。 每次调用REVISE ,都会从队列中删除一个弧。 这将是该方法的调用。 但我们也将弧线添加回队列。 我们能做多少次? 好吧,只有当弧从指向的域中删除了值时,我们才会将弧添加回队列。 一个弧指向一个域,因此我们只能将其添加为该域中值的数量。 所以在最坏的情况下,我们将每个弧添加回队列d次。

REVISE在最大e + ed次调用,其中e is number of arcs

当我们把它们放在一起时,我们发现整个算法的复杂性是O((e + ed)d 2 ),即O(ed 3 )。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM