=Paper=
{{Paper
|id=Vol-2987/paper9
|storemode=property
|title=Using Directional Arc Consistency with Asynchronous Forward-Bounding algorithm
|pdfUrl=https://ceur-ws.org/Vol-2987/paper9.pdf
|volume=Vol-2987
|authors=Rachid Adrdor,Lahcen Koutti
|dblpUrl=https://dblp.org/rec/conf/gandalf/AdrdorK21
}}
==Using Directional Arc Consistency with Asynchronous Forward-Bounding algorithm==
Using Directional Arc Consistency with
Asynchronous Forward-Bounding algorithm
Rachid Adrdor1 , Lahcen Koutti1
1
Ibn Zohr University, Faculty of Sciences, Department of Computer Science, Agadir, Morocco
Abstract
The AFB_BJ+ -AC* algorithm is one of the latest algorithms used to solve Distributed Constraint Op-
timization Problems (DCOPs). It is based on simple arc consistency (AC* ) to speed up the process of
solving a problem by permanently removing any value that doesnβt belong to its optimal solution. In this
paper, we use a directional arc consistency (DAC* ), the next higher level of AC* , to erase more values
and thus to quickly reach the optimal solution of a problem. Experiments on some benchmarks show
that the new algorithm, AFB_BJ+ -DAC* , is better in terms of communication load and computation
effort.
Keywords
DCOP, AFB_BJ+ , AC* , Directional Arc Consistency
1. Introduction
A large number of multi-agent problems can be modeled as DCOPs such as meetings scheduling
[1]. In a DCOP, variables, domains, and constraints are distributed among a set of agents. Each
agent has full control over a subset of variables and the constraints that involve them [2]. A
solution to a DCOP is a set of value assignments, each representing the value assigned to one of
the variables in that DCOP.
To solve DCOPs, algorithms with different search strategies have been suggested in the liter-
ature, for example, Adopt[3], BnB-Adopt[4], BnB-Adopt+ [5], BnB-Adopt+ -AC* [6], SyncBB[7],
AFB[2], AFB_BJ+ [8], etc. AFB_BJ+ -AC* [9, 10, 11] is one of the recent algorithms that uses arc
consistency (AC* ) to solve DCOPs.
In this paper, instead of using the basic level of arc consistency (AC* ), we use directional
arc consistency (DAC* ). DAC* allows AFB_BJ+ to generate more deletions and thus quickly
reach the optimal solution to a problem. The new algorithm is called AFB_BJ+ -DAC* . It
uses DAC* to filter agent domains by performing a set of cost extensions from an agent to its
neighbors, then executing AC* . Our experiments on different benchmarks show the superiority
of AFB_BJ+ -DAC* algorithm in terms of communication load and computation effort.
2. Background
2.1. Distributed Constraint Optimization Problem (DCOP)
A DCOP [11, 12, 13] is defined by 4 sets, agents π = {π΄1 , π΄2 , ..., π΄π }, variables π³ =
{π₯1 , π₯2 , ..., π₯π }, domains π = {π·1 , π·2 , ..., π·π }, where each π·π contains the possible val-
ues for π₯π , and constraints π = {πΆππ : π·π Γ π·π β R+ } βͺ {πΆπ : π·π β R+ }. In this article, we
consider that each agent of a given DCOP is responsible for a single variable and that at most
two variables are related by a constraint (i.e. unary or binary constraint) [14].
We consider these notations: π΄π is an agent, where π is its level. (π₯π , π£π ) is an assignment
of π΄π , where π£π β π·π and π₯π β π³ . πΆππ is a constraint between π₯π and π₯π . πΆπ is a constraint
on π₯π . πΆπ is a zero-arity constraint that represents a lower bound of any problem solution.
πΆπ π is the contribution value of π΄π in πΆπ . π π΅π is the cost of the optimal solution reached so
far. [π΄1 , π΄2 , . . . , π΄π ] is the lexicographic ordering of agents (the default ordering), Ξ(π₯π ) =
{Ξβ : π₯π β π³ | πΆππ β π, π < π} βͺ {Ξ+ : π₯π β π³ | πΆππ β π, π > π} is the set of neighbors
OVERLAY 2021: 3rd Workshop on Artificial Intelligence and Formal Verification, Logic, Automata, and Synthesis,
September 22, 2021, Padova, Italy
" rachid.adrdor@edu.uiz.ac.ma (R. Adrdor); l.koutti@uiz.ac.ma (L. Koutti)
Β© 2021 Copyright for this paper by its authors. Use permitted under Creative Commons License Attribution 4.0 International (CC BY 4.0).
CEUR
Workshop
Proceedings
http://ceur-ws.org
ISSN 1613-0073 CEUR Workshop Proceedings (CEUR-WS.org)
Proc. 1: ProjectUnary() Proc. 4: ProjectBinary(π₯π , π₯π )
1 π½ β ππππ£π βπ·π {ππ (π£π )} ; 1 foreach (π£π β π·π ) do
2 πΆπ β πΆπ + π½ ; 2 πΌ β ππππ£π βπ·π {πππ (π£π , π£π )} ;
π π
3 foreach (π£π β π·π ) do 3 foreach (π£π β π·π ) do
4 ππ (π£π ) β ππ (π£π ) β π½ ; 4 πππ (π£π , π£π ) β πππ (π£π , π£π ) β πΌ ;
5 if (π΄π is the current agent)
Proc. 2: Extend(π₯π , π₯π , πΈ) 6 ππ (π£π ) β ππ (π£π ) + πΌ ;
1 foreach (π£π β π·π ) do
2 foreach (π£π β π·π ) do Proc. 5: ProcessPruning(msg)
3 πππ (π£π , π£π ) β πππ (π£π , π£π ) + πΈ[π£π ] ; 1 π·π πππ β ππ π.π·π πππ ;
4 if (π΄π is the current agent) 2 foreach (π΄π β Ξ) do
5 ππ (π£π ) β ππ (π£π ) β πΈ[π£π ] ; 3 foreach (π β π·π πππ [π]) do
4 π·π β π·π β π ;
Proc. 3: DAC* () 5 πΈπ πππ β ππ π.πΈπ πππ ;
6 foreach (π΄π β Ξβ ) do
1 foreach (π β π·π ) do
2 if (ππ (π) + πΆπ β₯ π π΅π ) 7 πΈπ₯π‘πππ(π₯π , π₯π , πΈπ πππ [ππ]) ;
3 π·π β π·π β π ; π·π πππ [π].πππ(π) ; 8 πΈπ πππ [ππ].πππππ ;
9 π ππππππ‘π΅πππππ¦(π₯π , π₯π ) ;
4 foreach (π΄π β Ξ+ ) do
10 π ππππππ‘π ππππ¦() ;
5 foreach (π£π β π·π ) do {οΈ }οΈ
11 πΆπ β πππ₯ πΆπ , ππ π.πΆπ + πΆπ ;
6 πΈ[π£π ] β ππ (π£π ) ; π
7 πΈπ₯π‘πππ(π₯π , π₯π , πΈ) ; 12 πΆπ β 0 ;
π
8 πΈπ πππ [ππ].ππ’π‘(πΈ) ; 13 DAC* () ;
9 π ππππππ‘π΅πππππ¦(π₯π , π₯π ) ; 14 πΈπ₯π‘ππππΆπ π΄() ;
of π΄π . π = π π = [(π₯1 , π£1 ), . . . , (π₯π , π£π )] is a current partial assignment (CPA) or a feasible
solution. πππ [π][π£π ] are the lower bounds of a lower neighbor π΄π obtained for π π . π·π πππ is a
list of arrays containing values deleted by each agent π΄π . πΈπ πππ is a list of arrays containing
extension values. πΊπΆ (resp. πΊπΆ * ) is the guaranteed cost of π (resp. in AC* ).
βοΈ
πΊπΆ(π ) = πΊπΆ * (π ) = πππ (π£π , π£π ) + ππ (π£π ) + ππ (π£π ) | (π₯π , π£π ), (π₯π , π£π ) β π
πΆππ ,πΆπ ,πΆπ βπ
2.2. Soft arc consistency
Soft arc consistency techniques are used when solving a problem to delete values that are not
part of its optimal solution. They are based on three operations:
The binary projection (Proc. 4) is an operation which subtracts, for a value π£π of π·π , the
smallest cost πΌ of a binary constraint πΆππ and adds it to the unary constraint πΆπ . The unary
projection (Proc. 1) is an operation which subtracts the smallest cost π½ of a unary constraint
πΆπ and adds it to the zero-arity constraint πΆπ . The extension (Proc. 2) is an operation which
subtracts, for a value π£π of π·π , the extension value (πΈ[π£π ]) of π£π from a unary constraint πΆπ and
adds it to the binary constraint πΆππ , with 0 < πΈ[π£π ] β€ ππ (π£π ). All of these operations are applied
to a problem under a set of conditions represented by soft arc consistency levels [15], namely:
Node Consistency (NC* ) : a variable π₯π is NC* if each value π£π β π·π satisfies πΆπ + ππ (π£π ) <
π π΅π and there is a value π£π β π·π with ππ (π£π ) = 0. A problem is NC* if its variables are NC* .
Directional Arc Consistency (DAC* ) : a variable π₯π is DAC* with respect to its neighbor
π₯π(π>π) if π₯π is NC* and there is, for each value π£π β π·π , a value π£π β π·π which satisfies
πππ (π£π , π£π ) + ππ (π£π ) = 0. π£π is called a full support of π£π . A problem is DAC* if any variable π₯π
of this problem is DAC* with its neighbors π₯π(π>π) .
To make a given problem DAC* , we first compute, for each variable π₯π with respect to its
neighbors of lower priority π₯π(π>π) , the extension values appropriate to the values of its domain
π·π (Proc. 3, π. 6). Next, we perform the extension operation (Proc. 3, π. 7) by subtracting the
extension values from the unary constraints πΆπ and adding them to the binary ones πΆππ (Proc. 2).
Then, each neighbor π₯π performs, successively, a binary projection (Proc. 4), a unary projection
(Proc. 1), and finally a deletion of non-NC* values.
2.3. AFB_BJ+ -AC* algorithm
Each agent π΄π carries out the AFB_BJ+ -AC* [9] according to three phases. First, π΄π initializes
its data structures and performs the AC* in which it deletes permanently all suboptimal values
from its domain π·π . Second, π΄π chooses, for its variable π₯π , a value from its previously filtered
domain π·π in order to extend the CPA π π by its value assignment (π₯π , π£π ). If π΄π has successfully
Proc. 6: AFB_BJ+ -DAC* () Proc. 7: ExtendCPA()
1 Init. of data structures 1 if (ππ(π βͺ (π₯π , π£π )) β₯ π π΅π ) β¨
2 if (π΄π = π΄1 ) (πΆπ + πΊπΆ * (π πβ1 ) + ππ (π£π ) β₯ π π΅π )
3 πΆπ β πΆπ + πΆπ π ; πΆπ π β 0; 2 for π β π β 1 to 1 do
4 DAC* () ; 3 if (ππ(π )[π β 1] < π π΅π )
5 πΈπ₯π‘ππππΆπ π΄() ; 4 sendMsg : back(π π , π π΅π , π·π πππ , πΆπ ) ;
to π΄π
6 while (Β¬πππ) do return ;
7 ππ π β πππ‘π π π() ; 5 broadcastMsg : stp(π π΅π ) ;
8 if (ππ π.π π΅ < π π΅π ) 6 πππ β π‘ππ’π ;
9 π π΅π β ππ π.π π΅ ; 7 else
10 if (ππ π.π is stronger than π ) 8 π β {π βͺ (π₯π , π£π )} ;
11 π β ππ π.π ; πΊπΆ β ππ π.πΊπΆ ; 9 if (π£ππ(π ) = X)
12 if (ππ π.π‘π¦ππ = ok?) 10 π π΅π β πΊπΆ(π ) ; π β π πβ1 ;
13 ππ’π π‘πππππΉ π΅ β π ππ’π ; 11 DAC* () ;
πΊπΆ * β ππ π.πΊπΆ * ; 12 πΈπ₯π‘ππππΆπ π΄() ;
14 π πππππ π π ππ’ππππ(ππ π) ; 13 else
15 if (ππ π.π‘π¦ππ = back) 14 sendMsg : ok? (π, πΊπΆ, π π΅π , π·π πππ ,
to π΄π+1
16 π β π πβ1 ; π πππππ π π ππ’ππππ(ππ π) ;
17 if (ππ π.π‘π¦ππ = fb?) πΈπ πππ , πΆπ , πΊπΆ * ) ;
18 sendMsg : lb (πππ (π π )[], ππ π.π ) ; 15 πΈπ πππ .πππππ ;
to π΄π 16 if (ππ’π π‘πππππΉ π΅)
19 if (ππ π.π‘π¦ππ = lb) 17 sendMsg : fb? (π, πΊπΆ, π π΅π , πΊπΆ * ) ;
to π΄π>π
20 πππ (π π ) β ππ π.ππ ;
21 if (ππ(π π ) β₯ π π΅π ) πΈπ₯π‘ππππΆπ π΄() ; 18 ππ’π π‘πππππΉ π΅ β π πππ π ;
extended the CPA, it sends an ok? message to the next agent asking it to continue the extension
of CPA π π . Otherwise, that is to say, the agent π΄π fails to extend the CPA, either because it
doesnβt find a value that gives a valid CPA, or because all the values in its domain are exhausted,
it stops the CPA extension and sends a back message to the appropriate agent. If such an agent
doesnβt exist or the domain of π΄π becomes empty, π΄π stops its execution and informs the others
via stp messages. A CPA π π is said to be valid if its lower bound doesnβt exceed the global upper
bound, which represents the cost of the optimal solution achieved so far. Third, π΄π evaluates the
extended CPA by sending fb? messages to unassigned agents asking them to evaluate the CPA
and send the result of the evaluation. When an agent has completed its evaluation, it sends the
result directly to the sender agent via an lb message. The evaluation is based on the calculation
of appropriate lower bounds for the received CPA π π . The lower bound of π π is the minimal
lower bound over all values of π·π with respect to π π .
3. The AFB_BJ+ -DAC* algorithm
The AFB_BJ+ -DAC* algorithm (Proc. 6) is the improved version of the AFB_BJ+ -AC* algorithm,
which uses DAC* to further reduce the domains of a given DCOP. AFB_BJ+ -DAC* follows the
same steps as the AFB_BJ+ -AC* (Β§2.3), except that it performs DAC* instead of AC* before
each extension of CPA (Proc. 7). DAC* is based on executing a set of cost extensions from
unary constraints to binary ones, then on executing of AC* . DAC* () (Proc. 3) is the procedure
responsible for calculating the extension costs (i.e., costs to be transferred) and πΈπ₯π‘πππ() (Proc.
2) is the one that performs the extension of costs from the unary constraints towards the binary
ones (Β§2.2). All the extension costs used by an agent are stored in a list, πΈπ πππ , and routed to
its lower neighbors via an ok? message in order to keep the symmetry of πΆππ ππ constraints in
each agent and its neighbors. The list of extension values, πΈπ πππ , is processed in the procedure
π πππππ π π ππ’ππππ() (Proc. 5, π. 7-8).
Theorem 1. AFB_BJ+ -DAC* is guaranteed to calculate the optimum and terminates.
Proof. The AFB_BJ+ -DAC* algorithm outperforms AFB_BJ+ -AC* [9] by executing a set of cost
extensions. These extensions have already been proved which are correct in [15, 16], and they
are executed by the AFB_BJ+ -DAC* without any cost redundancy (Proc. 2, π. 4), (Proc. 3, π. 9),
and (Proc. 5, π. 7-8).
4. Experimental Results
We experimentally compare AFB_BJ+ -DAC* with its older versions [8, 9] and with the BnB-
Adopt+ -DP2 algorithm [17], which is its famous competitor. Two benchmarks are used in these
experiments:
1,000 AFB_BJ+ AFB_BJ+
AFB_BJ+ -AC* 6,000 AFB_BJ+ -AC*
AFB_BJ+ -DAC* AFB_BJ+ -DAC*
number of messages
800 BnB-Adopt+ -DP2 BnB-Adopt+ -DP2
number of ncccs
4,000
600
400
2,000
200
0 0
A B C D A B C D
case case
Figure 1: Total of ππ ππ sent and πππππ for meetings scheduling
3,000 AFB_BJ+ AFB_BJ+
AFB_BJ+ -AC* 8,000 AFB_BJ+ -AC*
AFB_BJ+ -DAC* AFB_BJ+ -DAC*
number of messages
BnB-Adopt+ -DP2 BnB-Adopt+ -DP2
number of ncccs
6,000
2,000
4,000
1,000
2,000
0 0
A B C D A B C D
case case
Figure 2: Total of ππ ππ sent and πππππ for sensors network
Meetings scheduling [1]: are defined by the number of meetings/variables, the number of
participants, and the number of time slots for each meeting. We have evaluated 4 cases A, B, C,
and D, which are different in terms of meetings/participants [1].
Sensors network [18]: are defined by the number of targets/variables, the number of sensors,
and the number of possible combinations of 3 sensors reserved for tracking each target. We
have evaluated 4 cases A, B, C, and D, which are different in terms of targets/sensors [1].
To compare the algorithms, we use two metrics, the total of messages exchanged (ππ ππ )
for the communication load and the total of non-concurrent constraint checks (πππππ ) for the
computation effort.
Regarding meetings scheduling problems (Fig. 1), the results show a clear improvement of
the AFB_BJ+ -DAC* compared to others, whether for ππ ππ or for πππππ . But with regard to
sensors network problems (Fig. 2), the BnB-Adopt+ -DP2 retains the pioneering role, despite
the superiority of the AFB_BJ+ -DAC* to its older versions.
By analyzing the results, we can conclude that the AFB_BJ+ -DAC* is better than its earlier
versions because of the existence of DAC* which allows agents to remove more suboptimal
values. This is due to a set of cost extensions applied to the problem. Regarding the superiority
of the BnB-Adopt+ -DP2 over the AFB_BJ+ -DAC* in sensors network problems, this is mainly
due to the arrangement of the pseudo-tree used by this algorithm that corresponds to the
structure of these problems, as well as the existence of DP2 heuristic facilitates the proper choice
of values.
5. Conclusion
In this paper, we have introduced the AFB_BJ+ -DAC* algorithm. It is based on DAC* to
increase the number of deletions made by each agent on its domain. DAC* mainly relies on
performing a set of cost extensions in one direction from an agent to its lower priority neighbors
in order to perform AC* multiple times and thus generate more deletions of non-optimal values.
Experiments on some benchmarks show that the AFB_BJ+ -DAC* algorithm behaves better
than its older versions. As future work, we propose to exploit the change in the size of the agent
domains in variable ordering heuristics.
References
[1] R. T. Maheswaran, M. Tambe, E. Bowring, J. P. Pearce, P. Varakantham, Taking dcop
to the real world: Efficient complete solutions for distributed multi-event scheduling,
in: Proceedings of the Third International Joint Conference on Autonomous Agents and
Multiagent Systems-Volume 1, IEEE Computer Society, 2004, pp. 310β317.
[2] A. Gershman, A. Meisels, R. Zivan, Asynchronous forward bounding for distributed cops,
Journal of Artificial Intelligence Research 34 (2009) 61β88.
[3] P. J. Modi, W.-M. Shen, M. Tambe, M. Yokoo, Adopt: Asynchronous distributed constraint
optimization with quality guarantees, Artificial Intelligence 161 (2005) 149β180.
[4] W. Yeoh, A. Felner, S. Koenig, Bnb-adopt: An asynchronous branch-and-bound dcop
algorithm, Journal of Artificial Intelligence Research 38 (2010) 85β133.
[5] P. Gutierrez, P. Meseguer, Saving messages in adopt-based algorithms, in: Proc. 12th DCR
workshop in AAMAS-10, Citeseer, 2010, pp. 53β64.
[6] P. Gutierrez, P. Meseguer, Improving bnb-adopt+-ac, in: Proceedings of the 11th Interna-
tional Conference on Autonomous Agents and Multiagent Systems-Volume 1, International
Foundation for Autonomous Agents and Multiagent Systems, 2012, pp. 273β280.
[7] K. Hirayama, M. Yokoo, Distributed partial constraint satisfaction problem, in: Interna-
tional Conference on Principles and Practice of Constraint Programming, Springer, 1997,
pp. 222β236.
[8] M. Wahbi, R. Ezzahir, C. Bessiere, Asynchronous forward bounding revisited, in: Interna-
tional Conference on Principles and Practice of Constraint Programming, Springer, 2013,
pp. 708β723.
[9] R. Adrdor, R. Ezzahir, L. Koutti, Connecting afb_bj+ with soft arc consistency, International
Journal of Computing and Optimization 5 no. 1 (2018) 9β20.
[10] R. Adrdor, L. Koutti, Enhancing AFB_BJ+ AC* algorithm, in: 2019 International Conference
of Computer Science and Renewable Energies (ICCSRE), IEEE, 2019, pp. 1β7.
[11] R. Adrdor, R. Ezzahir, L. Koutti, Consistance dβarc souple appliquΓ©e aux problΓ¨mes dcop,
JournΓ©es dβIntelligence Artificielle Fondamentale (JIAF) (2020) 63.
[12] T. Grinshpoun, T. Tassa, V. Levit, R. Zivan, Privacy preserving region optimal algorithms
for symmetric and asymmetric dcops, Artificial Intelligence 266 (2019) 27β50.
[13] F. Fioretto, E. Pontelli, W. Yeoh, Distributed constraint optimization problems and applica-
tions: A survey, Journal of Artificial Intelligence Research 61 (2018) 623β698.
[14] D. T. Nguyen, W. Yeoh, H. C. Lau, R. Zivan, Distributed gibbs: A linear-space sampling-
based dcop algorithm, Journal of Artificial Intelligence Research 64 (2019) 705β748.
[15] J. Larrosa, T. Schiex, In the quest of the best form of local consistency for weighted csp, in:
IJCAI, volume 3, 2003, pp. 239β244.
[16] M. C. Cooper, S. De Givry, M. SΓ‘nchez, T. Schiex, M. Zytnicki, T. Werner, Soft arc
consistency revisited, Artificial Intelligence 174 (2010) 449β478.
[17] S. Ali, S. Koenig, M. Tambe, Preprocessing techniques for accelerating the dcop algorithm
adopt, in: Proceedings of the fourth international joint conference on Autonomous agents
and multiagent systems, ACM, 2005, pp. 1041β1048.
[18] R. BΓ©jar, C. Domshlak, C. FernΓ‘ndez, C. Gomes, B. Krishnamachari, B. Selman, M. Valls, Sen-
sor networks and distributed csp: communication, computation and complexity, Artificial
Intelligence 161 (2005) 117β147.