Title: Asynchronous Backtracking for Asymmetric Constraints
1Asynchronous Backtracking for Asymmetric
Constraints
- Roie Zivan and Amnon Meisels
- Dept. of Computer Science
- Ben-Gurion University
2ABT Strong Assumption
- All constraints are held by the lower priority
agents involved in them - Formally
- For every binary constraint Rij between agents Ai
and Aj, jgti. Aj holds Rij -
3Different Agents, Different Constraints
First the mission, then the ladies
Mister Anderson?
4Different Agents, Different Constraints
5Asymmetric CSPs (Partially Known Constraints
model (Brito and Meseguer03)
- Every Binary constraint Cij is split into two
parts - Ci(j) held by agent Ai
- C(i)j held by agent Aj
- Ci(j) U C(i)j Cij
- Finding a consistent assignment for an
asymmetric constraint requires that both sides
approve with the other sides assignment
6Asymmetric DisCSP example
7Two Phase ABT (DFC_PKCP Brito and Meseguer03)
- Phase 1 Run ABT on one direction checking only
the constraints Ci(j) , iltj. - Phase 2 When a solution is found check it in
the opposite direction (constraints C(i)i, iltj).
- If the solution found is consistent
- Report
- else - record the relevant Nogoods and return
to phase 1. -
8ABT_ASC
- A single phase algorithm for Asymmetric DisCSPs
- Every agent sends ok messages to all its
neighbors - Agents replace their assignments only if they
conflict with higher priority assignments - For conflicts with lower priority agents, the
assignment is kept and a notifying Nogood is sent
9ABT_ASC
A3,4
A3
A2
A1,2,A3,1
A1
A3,4
A4
A1,2,A3,1
10Backtrack in ABT
AgentView of Agent A2 A12, A31
Nogood
A1
A12
11Backtrack in ABT
AgentView of Agent A2 A31
Nogood
A21,A31
12Correctness proof (outline)
- Assumption Standard ABT is correct
- Constraints generate Explicit Nogoods
- All Nogoods are created by unions of Explicit
Nogoods - ABT_ASC cannot create Explicit Nogoods that are
not created by standard ABT
13ABT_ASC
A2
A3
A21,A31
A21,A31
A1,2,A3,1
A2,1,A4,1
A2 ? A3
14ABT_ASC
A2
A3
A21,A31
A1,2
A2,1
A2 ? A3
15ABT_ASC vs 2_phase ABT (p1 0.4)
16ABT_ASC vs 2_phase ABT (p1 0.4)
17ABT_ASC vs 2_phase ABT (p1 0.7)
18ABT_ASC vs 2_phase ABT (p1 0.7)
19Number of changes of phase
20Privacy discussion
- Explicit Nogoods are sent to lower priority
agents, possible breach of privacy of
constraints - Possible solutions
- Agents can send forbidden values - DFC method of
Brito and Meseguer - Use an anonymous message delivery system (for
Nogoods) conceal the identity of the Nogoods
sender (may require additional messages) - Single direction solutions are not exposed
21Conclusions
- Standard ABT assumes the constraints graph is a
DAG - This assumption is not compatible with many real
world problems - Previous solutions to Asymmetric DisCSPs included
running two phases of a single direct algorithm - ABT_ASC is a one phase algorithm which
outperforms the two phase algorithm by a large
factor - This improvement does not generate additional
privacy loss
22A Distributed Constraint Network
23Asynchronous Backtracking
- Motivation
- Concurrent computatio
- HighLights
- Agents always hold an assignment which is
consistent with their view of the system. - On backtrack operations, agents change their
views by eliminating inconsistent values.
24Asynchronous BackTracking - ABT
- Agents are totally ordered
- Each agent assigns its variable and sends it in
ok? messages to agents ordered after it - All received messages are stored in the AgentView
- Agents check their assignments against their
AgentView - Nogood messages received eliminate agents
assignment as long as they are consistent with
the current AgentView. - Yokoo 1998, 2000
25Asynchronous Backtrack (ABT)
A3
A2
A1
A31
A4
A12
26Backtrack in ABT
AgentView of Agent A4 A12, A31
Nogood
Current Assignment
A3
A12, A31
A41