2017-06-09 5 views
2

AC-3 in Artificial Intelligence: A Modern Approachの擬似コードを読むと、パスの一貫性と弧の一貫性を解決すると思った。しかし、本書では、パスの一貫性はアルゴリズムPC-2によって解決されると述べています。私は何か見落としてますか?AC-3はパスの一貫性を解決しますか?

AC-3がパスの一貫性を解決するには不十分なのはなぜですか?

ここAC-3

function AC-3(csp) returns false if an inconsistency is found and true otherwise 
    inputs: csp, a binary CSP with components (X, D, C) 
    local variables: queue, a queue of arcs, initially all the arcs in csp 

    while queue is not empty do 
     (Xi, Xj)←REMOVE-FIRST(queue) 
     if REVISE(csp, Xi, Xj) then 
      if size of Di = 0 then return false 
      for each Xk in Xi.NEIGHBORS - {Xj} do 
       add (Xk, Xi) to queue 
    return true 

function REVISE(csp, Xi, Xj) returns true iff we revise the domain of Xi 
    revised ← false 
    for each x in Di do 
     if no value y in Dj allows (x,y) to satisfy the constraint between Xi and Xj then 
      delete x from Di 
      revised ← true 
    return revised 

のためのコードは、事前に感謝:)

答えて

0

私は、問題がどこにあるか、私は考え出したと思うのです。私はパスの一貫性の意味を誤解しました。

私は

(1) {Xi, Xj} is path-consistent with Xk

私はAC-3は、パスの整合性を解決するために十分であったと思った理由です

(2) Xi is arc-consistent with Xj, Xi is arc-consistent with Xk, and Xj is arc-consistent with Xk.

と同等であると思いました。しかしそれは判らない。

の意味を与える(1)及び(2):

(1){Xi, Xj}に対する制約と矛盾割り当て{a, b}のすべての対について、値cXkそのようなドメインである、ということを意味{a, c}{b, c}{Xi, Xk}{Xj, Xk}上の制約を満たすことを

(2)(それが簡単に違いを参照することができます)、このように説明することができます{Xi, Xj}上の制約と一致割り当て{a, b}のすべてのペアのために(XiはXjと弧整合しているが、これは正確ではないがdoとすることができる)、が{Xi, Xkの制約を満たすようなXkのドメイン内にcがある(XiはXkと弧整合する)。 (2)、cdの説明で:と

それは今の違いを確認するのは簡単です(Xjのはアーク一貫性のXkである){Xj, Xk}Xk{b, c}満たす制約のドメインでdありXkのドメインで異なる値になる可能性があります。 cは、dに等しい(2)(1)

と等価である場合のみ、そうAC-3は(2)を解くためだけで十分ですが、それは私のかどうか私に言うことができ、パスの一貫

を解決するために、あまりにもずさんです今回は分かりましたか? Thx :)

関連する問題