<?xml version="1.0" encoding="UTF-8"?>
<TEI xml:space="preserve" xmlns="http://www.tei-c.org/ns/1.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://www.tei-c.org/ns/1.0 https://raw.githubusercontent.com/kermitt2/grobid/master/grobid-home/schemas/xsd/Grobid.xsd"
 xmlns:xlink="http://www.w3.org/1999/xlink">
	<teiHeader xml:lang="en">
		<fileDesc>
			<titleStmt>
				<title level="a" type="main">Using Directional Arc Consistency with Asynchronous Forward-Bounding algorithm</title>
			</titleStmt>
			<publicationStmt>
				<publisher/>
				<availability status="unknown"><licence/></availability>
			</publicationStmt>
			<sourceDesc>
				<biblStruct>
					<analytic>
						<author>
							<persName><forename type="first">Rachid</forename><surname>Adrdor</surname></persName>
							<email>rachid.adrdor@edu.uiz.ac.ma</email>
							<affiliation key="aff0">
								<orgName type="department" key="dep1">Faculty of Sciences</orgName>
								<orgName type="department" key="dep2">Department of Computer Science</orgName>
								<orgName type="institution">Ibn Zohr University</orgName>
								<address>
									<settlement>Agadir</settlement>
									<country key="MA">Morocco</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Lahcen</forename><surname>Koutti</surname></persName>
							<email>l.koutti@uiz.ac.ma</email>
							<affiliation key="aff0">
								<orgName type="department" key="dep1">Faculty of Sciences</orgName>
								<orgName type="department" key="dep2">Department of Computer Science</orgName>
								<orgName type="institution">Ibn Zohr University</orgName>
								<address>
									<settlement>Agadir</settlement>
									<country key="MA">Morocco</country>
								</address>
							</affiliation>
						</author>
						<title level="a" type="main">Using Directional Arc Consistency with Asynchronous Forward-Bounding algorithm</title>
					</analytic>
					<monogr>
						<idno type="ISSN">1613-0073</idno>
					</monogr>
					<idno type="MD5">C11FC56E811908A2B24AE6587508854A</idno>
				</biblStruct>
			</sourceDesc>
		</fileDesc>
		<encodingDesc>
			<appInfo>
				<application version="0.7.2" ident="GROBID" when="2023-03-24T06:56+0000">
					<desc>GROBID - A machine learning software for extracting information from scholarly documents</desc>
					<ref target="https://github.com/kermitt2/grobid"/>
				</application>
			</appInfo>
		</encodingDesc>
		<profileDesc>
			<textClass>
				<keywords>
					<term>DCOP</term>
					<term>AFB_BJ +</term>
					<term>AC *</term>
					<term>Directional Arc Consistency</term>
				</keywords>
			</textClass>
			<abstract>
<div xmlns="http://www.tei-c.org/ns/1.0"><p>The AFB_BJ + -AC * algorithm is one of the latest algorithms used to solve Distributed Constraint Optimization 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.</p></div>
			</abstract>
		</profileDesc>
	</teiHeader>
	<text xml:lang="en">
		<body>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="1.">Introduction</head><p>A large number of multi-agent problems can be modeled as DCOPs such as meetings scheduling <ref type="bibr" target="#b0">[1]</ref>. 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 <ref type="bibr" target="#b1">[2]</ref>. A solution to a DCOP is a set of value assignments, each representing the value assigned to one of the variables in that DCOP.</p><p>To solve DCOPs, algorithms with different search strategies have been suggested in the literature, for example, Adopt <ref type="bibr" target="#b2">[3]</ref>, BnB-Adopt <ref type="bibr" target="#b3">[4]</ref>, BnB-Adopt + <ref type="bibr" target="#b4">[5]</ref>, BnB-Adopt + -AC * <ref type="bibr" target="#b5">[6]</ref>, SyncBB <ref type="bibr" target="#b6">[7]</ref>, AFB <ref type="bibr" target="#b1">[2]</ref>, AFB_BJ + <ref type="bibr" target="#b7">[8]</ref>, etc. AFB_BJ + -AC * <ref type="bibr" target="#b8">[9,</ref><ref type="bibr" target="#b9">10,</ref><ref type="bibr" target="#b10">11]</ref> is one of the recent algorithms that uses arc consistency (AC * ) to solve DCOPs.</p><p>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.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.">Background</head></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.1.">Distributed Constraint Optimization Problem (DCOP)</head><p>A DCOP <ref type="bibr" target="#b10">[11,</ref><ref type="bibr" target="#b11">12,</ref><ref type="bibr" target="#b12">13]</ref> is defined by 4 sets, agents 𝒜 = {𝐴 1 , 𝐴 2 , ..., 𝐴 𝑘 }, variables 𝒳 = {𝑥 1 , 𝑥 2 , ..., 𝑥 𝑛 }, domains 𝒟 = {𝐷 1 , 𝐷 2 , ..., 𝐷 𝑛 }, where each 𝐷 𝑖 contains the possible values for 𝑥 𝑖 , and constraints 𝒞 = {𝐶 𝑖𝑗 :</p><formula xml:id="formula_0">𝐷 𝑖 × 𝐷 𝑗 → R + } ∪ {𝐶 𝑖 : 𝐷 𝑖 → R + }.</formula><p>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) <ref type="bibr" target="#b13">[14]</ref>.</p><p>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. [𝐴 </p><formula xml:id="formula_1">𝐺𝐶(𝑌 ) = 𝐺𝐶 * (𝑌 ) = ∑︁ 𝐶 𝑖𝑗 ,𝐶 𝑖 ,𝐶 𝑗 ∈𝒞 𝑐 𝑖𝑗 (𝑣 𝑖 , 𝑣 𝑗 ) + 𝑐 𝑖 (𝑣 𝑖 ) + 𝑐 𝑗 (𝑣 𝑗 ) | (𝑥 𝑖 , 𝑣 𝑖 ), (𝑥 𝑗 , 𝑣 𝑗 ) ∈ 𝑌</formula></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.2.">Soft arc consistency</head><p>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:</p><p>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 &lt; 𝐸[𝑣 𝑖 ] ≤ 𝑐 𝑖 (𝑣 𝑖 ). All of these operations are applied to a problem under a set of conditions represented by soft arc consistency levels <ref type="bibr" target="#b14">[15]</ref> To make a given problem DAC * , we first compute, for each variable 𝑥 𝑖 with respect to its neighbors of lower priority 𝑥 𝑗(𝑗&gt;𝑖) , 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.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.3.">AFB_BJ + -AC * algorithm</head><p>Each agent 𝐴 𝑗 carries out the AFB_BJ + -AC * <ref type="bibr" target="#b8">[9]</ref> 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 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 𝑌 𝑖 .</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.">The AFB_BJ + -DAC * algorithm</head><p>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.</p><p>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).</p><p>Theorem 1. AFB_BJ + -DAC * is guaranteed to calculate the optimum and terminates.</p><p>Proof. The AFB_BJ + -DAC * algorithm outperforms AFB_BJ + -AC * <ref type="bibr" target="#b8">[9]</ref> by executing a set of cost extensions. These extensions have already been proved which are correct in <ref type="bibr" target="#b14">[15,</ref><ref type="bibr" target="#b15">16]</ref>, and they are executed by the AFB_BJ + -DAC * without any cost redundancy (Proc. 2, 𝑙. 4), (Proc. 3, 𝑙. 9), and (Proc. 5, 𝑙. 7-8).</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.">Experimental Results</head><p>We experimentally compare AFB_BJ + -DAC * with its older versions <ref type="bibr" target="#b7">[8,</ref><ref type="bibr" target="#b8">9]</ref> and with the BnB-Adopt + -DP2 algorithm <ref type="bibr" target="#b16">[17]</ref>, which is its famous competitor. Two benchmarks are used in these experiments: Meetings scheduling <ref type="bibr" target="#b0">[1]</ref>: 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 <ref type="bibr" target="#b0">[1]</ref>.</p><p>Sensors network <ref type="bibr" target="#b17">[18]</ref>: 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 <ref type="bibr" target="#b0">[1]</ref>.</p><p>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.</p><p>Regarding meetings scheduling problems (Fig. <ref type="figure">1</ref>), 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. <ref type="figure">2</ref>), the BnB-Adopt + -DP2 retains the pioneering role, despite the superiority of the AFB_BJ + -DAC * to its older versions.</p><p>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.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5.">Conclusion</head><p>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.</p></div><figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_0"><head>Figure 1 :Figure 2 :</head><label>12</label><figDesc>Figure 1: Total of 𝑚𝑠𝑔𝑠 sent and 𝑛𝑐𝑐𝑐𝑠 for meetings scheduling</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_0"><head>do 4</head><label></label><figDesc>𝑥 𝑖 ∈ 𝒳 | 𝐶 𝑖𝑗 ∈ 𝒞, 𝑖 &gt; 𝑗} is the set of neighbors 𝑚𝑖𝑛 𝑣 𝑖 ∈𝐷 𝑖 {𝑐 𝑖 (𝑣 𝑖 )} ; 2 𝐶 𝜑 𝑖 ← 𝐶 𝜑 𝑖 + 𝛽 ; 3 foreach (𝑣 𝑖 ∈ 𝐷 𝑖 ) 𝑐 𝑖 (𝑣 𝑖 ) ← 𝑐 𝑖 (𝑣 𝑖 ) − 𝛽 ;</figDesc><table><row><cell>Proc. 1: ProjectUnary()</cell></row></table><note>1 , 𝐴 2 , . . . , 𝐴 𝑛 ] is the lexicographic ordering of agents (the default ordering), Γ(𝑥 𝑗 ) = {Γ − : 𝑥 𝑖 ∈ 𝒳 | 𝐶 𝑖𝑗 ∈ 𝒞, 𝑖 &lt; 𝑗} ∪ {Γ + : 1 𝛽 ←</note></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_1"><head>Proc. 2: Extend</head><label></label><figDesc>(𝑥 𝑖 , 𝑥 𝑗 , 𝐸)</figDesc><table /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_2"><head>1 foreach (𝑣 𝑖 ∈ 𝐷 𝑖 ) do 2 foreach (𝑣 𝑗 ∈ 𝐷 𝑗 ) do 3</head><label></label><figDesc>𝑐 𝑖𝑗 (𝑣 𝑖 , 𝑣 𝑗 ) ← 𝑐 𝑖𝑗 (𝑣 𝑖 , 𝑣 𝑗 ) + 𝐸[𝑣 𝑖 ] ; 𝑐 𝑖 (𝑣 𝑖 ) ← 𝑐 𝑖 (𝑣 𝑖 ) − 𝐸[𝑣 𝑖 ] ;</figDesc><table><row><cell>4</cell><cell>if (𝐴 𝑖 is the current agent)</cell></row></table><note>5</note></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_3"><head>Proc. 3: DAC * () 1 foreach (𝑎 ∈ 𝐷 𝑗 ) do 2 if (</head><label></label><figDesc>𝑐 𝑗 (𝑎) + 𝐶 𝜑 ≥ 𝑈 𝐵 𝑗 )</figDesc><table><row><cell>3</cell><cell>𝐷 𝑗 ← 𝐷 𝑗 − 𝑎 ; 𝐷𝑉 𝑎𝑙𝑠[𝑗].𝑎𝑑𝑑(𝑎) ;</cell></row><row><cell cols="2">4 foreach (𝐴 𝑘 ∈ Γ + ) do</cell></row><row><cell>5</cell><cell>foreach (𝑣 𝑗 ∈ 𝐷 𝑗 ) do</cell></row><row><cell>6</cell><cell>𝐸[𝑣 𝑗 ] ← 𝑐 𝑗 (𝑣 𝑗 ) ;</cell></row><row><cell>7</cell><cell>𝐸𝑥𝑡𝑒𝑛𝑑(𝑥 𝑗 , 𝑥 𝑘 , 𝐸) ;</cell></row><row><cell>8</cell><cell>𝐸𝑉 𝑎𝑙𝑠[𝑗𝑘].𝑝𝑢𝑡(𝐸) ;</cell></row><row><cell>9</cell><cell>𝑃 𝑟𝑜𝑗𝑒𝑐𝑡𝐵𝑖𝑛𝑎𝑟𝑦(𝑥 𝑘 , 𝑥 𝑗 ) ;</cell></row></table></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_4"><head>Proc. 4: ProjectBinary(𝑥 𝑖 , 𝑥 𝑗 ) 1 foreach (𝑣 𝑖 ∈ 𝐷 𝑖 ) do 2</head><label></label><figDesc>𝛼 ← 𝑚𝑖𝑛 𝑣 𝑗 ∈𝐷 𝑗 {𝑐 𝑖𝑗 (𝑣 𝑖 , 𝑣 𝑗 )} ;</figDesc><table /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_5"><head>3 foreach (𝑣 𝑗 ∈ 𝐷 𝑗 ) do 4</head><label></label><figDesc>𝑐 𝑖𝑗 (𝑣 𝑖 , 𝑣 𝑗 ) ← 𝑐 𝑖𝑗 (𝑣 𝑖 , 𝑣 𝑗 ) − 𝛼 ; 𝑐 𝑖 (𝑣 𝑖 ) ← 𝑐 𝑖 (𝑣 𝑖 ) + 𝛼 ;</figDesc><table><row><cell>5</cell><cell>if (𝐴 𝑖 is the current agent)</cell></row><row><cell cols="2">Proc. 5: ProcessPruning(msg)</cell></row></table><note>6 1 𝐷𝑉 𝑎𝑙𝑠 ← 𝑚𝑠𝑔.𝐷𝑉 𝑎𝑙𝑠 ; 2 foreach (𝐴 𝑘 ∈ Γ) do 3 foreach (𝑎 ∈ 𝐷𝑉 𝑎𝑙𝑠[𝑘]) do 4 𝐷 𝑘 ← 𝐷 𝑘 − 𝑎 ; 5 𝐸𝑉 𝑎𝑙𝑠 ← 𝑚𝑠𝑔.𝐸𝑉 𝑎𝑙𝑠 ; 6 foreach (𝐴 𝑘 ∈ Γ − ) do 7 𝐸𝑥𝑡𝑒𝑛𝑑(𝑥 𝑘 , 𝑥 𝑗 , 𝐸𝑉 𝑎𝑙𝑠[𝑘𝑗]) ; 8 𝐸𝑉 𝑎𝑙𝑠[𝑘𝑗].𝑐𝑙𝑒𝑎𝑟 ; 9 𝑃 𝑟𝑜𝑗𝑒𝑐𝑡𝐵𝑖𝑛𝑎𝑟𝑦(𝑥 𝑗 , 𝑥 𝑘 ) ; 10 𝑃 𝑟𝑜𝑗𝑒𝑐𝑡𝑈 𝑛𝑎𝑟𝑦() ; 11 𝐶 𝜑 ← 𝑚𝑎𝑥 {︀ 𝐶 𝜑 , 𝑚𝑠𝑔.𝐶 𝜑 }︀ + 𝐶 𝜑 𝑗 ; 12 𝐶 𝜑 𝑗 ← 0 ; 13 DAC * () ; 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 * ).</note></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_6"><head></head><label></label><figDesc>𝐷 𝑖 satisfies 𝐶 𝜑 + 𝑐 𝑖 (𝑣 𝑖 ) &lt; 𝑈 𝐵 𝑖 and there is a value 𝑣 𝑖 ∈ 𝐷 𝑖 with 𝑐 𝑖 (𝑣 𝑖 ) = 0. A problem is NC * if its variables are NC with respect to its neighbor 𝑥 𝑗(𝑗&gt;𝑖) 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 𝑥 𝑗(𝑗&gt;𝑖) .</figDesc><table /><note>, namely: Node Consistency (NC * ) : a variable 𝑥 𝑖 is NC * if each value 𝑣 𝑖 ∈ * . Directional Arc Consistency (DAC * ) : a variable 𝑥 𝑖 is DAC *</note></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_7"><head></head><label></label><figDesc>Init. of data structures 2 if (𝐴 𝑗 = 𝐴 1 ) 𝐶 𝜑 ← 𝐶 𝜑 + 𝐶 𝜑 𝑗 ; 𝐶 𝜑 𝑗 ← 0; 𝑈 𝐵 𝑗 ← 𝑚𝑠𝑔.𝑈 𝐵 ; 𝑌 ← {𝑌 ∪ (𝑥 𝑗 , 𝑣 𝑗 )} ; 𝐺𝐶, 𝑈 𝐵 𝑗 , 𝐷𝑉 𝑎𝑙𝑠, 𝐸𝑉 𝑎𝑙𝑠, 𝐶 𝜑 , 𝐺𝐶 * ) ; 𝐺𝐶, 𝑈 𝐵 𝑗 , 𝐺𝐶 * ) ;</figDesc><table><row><cell>5</cell><cell>𝐸𝑥𝑡𝑒𝑛𝑑𝐶𝑃 𝐴() ;</cell><cell></cell><cell></cell></row><row><cell cols="2">6 while (¬𝑒𝑛𝑑) do</cell><cell></cell><cell></cell></row><row><cell>7</cell><cell>𝑚𝑠𝑔 ← 𝑔𝑒𝑡𝑀 𝑠𝑔() ;</cell><cell></cell><cell></cell></row><row><cell>8</cell><cell>if (𝑚𝑠𝑔.𝑈 𝐵 &lt; 𝑈 𝐵 𝑗 )</cell><cell></cell><cell></cell></row><row><cell>10</cell><cell>if (𝑚𝑠𝑔.𝑌 is stronger than 𝑌 )</cell><cell></cell><cell></cell></row><row><cell>11</cell><cell>𝑌 ← 𝑚𝑠𝑔.𝑌 ; 𝐺𝐶 ← 𝑚𝑠𝑔.𝐺𝐶 ;</cell><cell>9</cell><cell>if (𝑣𝑎𝑟(𝑌 ) = X)</cell></row><row><cell>12</cell><cell>if (𝑚𝑠𝑔.𝑡𝑦𝑝𝑒 = ok?)</cell><cell>10</cell><cell>𝑈 𝐵 𝑗 ← 𝐺𝐶(𝑌 ) ; 𝑌 ← 𝑌 𝑗−1 ;</cell></row><row><cell>13</cell><cell>𝑚𝑢𝑠𝑡𝑆𝑒𝑛𝑑𝐹 𝐵 ← 𝑇 𝑟𝑢𝑒 ;</cell><cell>11</cell><cell>DAC * () ;</cell></row><row><cell cols="2">𝐺𝐶 17 if (𝑚𝑠𝑔.𝑡𝑦𝑝𝑒 = fb?) 18 sendMsg : lb to 𝐴 𝑖 (𝑙𝑏 𝑗 (𝑌 𝑖 )[], 𝑚𝑠𝑔.𝑌 ) ;</cell><cell cols="2">12 13 14 (𝑌, 15 𝐸𝑥𝑡𝑒𝑛𝑑𝐶𝑃 𝐴() ; else sendMsg : ok? to 𝐴 𝑗+1 𝐸𝑉 𝑎𝑙𝑠.𝑐𝑙𝑒𝑎𝑟 ; 16 if (𝑚𝑢𝑠𝑡𝑆𝑒𝑛𝑑𝐹 𝐵)</cell></row><row><cell>19</cell><cell>if (𝑚𝑠𝑔.𝑡𝑦𝑝𝑒 = lb)</cell><cell cols="2">17 (𝑌, 18 sendMsg : fb? to 𝐴 𝑘&gt;𝑗 𝑚𝑢𝑠𝑡𝑆𝑒𝑛𝑑𝐹 𝐵 ← 𝑓 𝑎𝑙𝑠𝑒 ;</cell></row></table><note>Proc. 6: AFB_BJ + -DAC * () 1 3 4 DAC * () ; 9 * ← 𝑚𝑠𝑔.𝐺𝐶 * ; 14 𝑃 𝑟𝑜𝑐𝑒𝑠𝑠𝑃 𝑟𝑢𝑛𝑖𝑛𝑔(𝑚𝑠𝑔) ; 15 if (𝑚𝑠𝑔.𝑡𝑦𝑝𝑒 = back) 16 𝑌 ← 𝑌 𝑗−1 ; 𝑃 𝑟𝑜𝑐𝑒𝑠𝑠𝑃 𝑟𝑢𝑛𝑖𝑛𝑔(𝑚𝑠𝑔) ; 20 𝑙𝑏 𝑘 (𝑌 𝑗 ) ← 𝑚𝑠𝑔.𝑙𝑏 ; 21 if (𝑙𝑏(𝑌 𝑗 ) ≥ 𝑈 𝐵 𝑗 ) 𝐸𝑥𝑡𝑒𝑛𝑑𝐶𝑃 𝐴() ; Proc. 7: ExtendCPA() 1 if (𝑙𝑏(𝑌 ∪ (𝑥 𝑗 , 𝑣 𝑗 )) ≥ 𝑈 𝐵 𝑗 ) ∨ (𝐶 𝜑 + 𝐺𝐶 * (𝑌 𝑗−1 ) + 𝑐 𝑗 (𝑣 𝑗 ) ≥ 𝑈 𝐵 𝑗 ) 2 for 𝑖 ← 𝑗 − 1 to 1 do 3 if (𝑙𝑏(𝑌 )[𝑖 − 1] &lt; 𝑈 𝐵 𝑗 ) 4 sendMsg : back to 𝐴 𝑖 (𝑌 𝑖 , 𝑈 𝐵 𝑗 , 𝐷𝑉 𝑎𝑙𝑠, 𝐶 𝜑 ) ; return ; 5 broadcastMsg : stp(𝑈 𝐵 𝑗 ) ; 6 𝑒𝑛𝑑 ← 𝑡𝑟𝑢𝑒 ; 7 else 8</note></figure>
		</body>
		<back>
			<div type="references">

				<listBibl>

<biblStruct xml:id="b0">
	<analytic>
		<title level="a" type="main">Taking dcop to the real world: Efficient complete solutions for distributed multi-event scheduling</title>
		<author>
			<persName><forename type="first">R</forename><forename type="middle">T</forename><surname>Maheswaran</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Tambe</surname></persName>
		</author>
		<author>
			<persName><forename type="first">E</forename><surname>Bowring</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><forename type="middle">P</forename><surname>Pearce</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Varakantham</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the Third International Joint Conference on Autonomous Agents and Multiagent Systems-Volume 1</title>
				<meeting>the Third International Joint Conference on Autonomous Agents and Multiagent Systems-Volume 1</meeting>
		<imprint>
			<publisher>IEEE Computer Society</publisher>
			<date type="published" when="2004">2004</date>
			<biblScope unit="page" from="310" to="317" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b1">
	<analytic>
		<title level="a" type="main">Asynchronous forward bounding for distributed cops</title>
		<author>
			<persName><forename type="first">A</forename><surname>Gershman</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Meisels</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Zivan</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Journal of Artificial Intelligence Research</title>
		<imprint>
			<biblScope unit="volume">34</biblScope>
			<biblScope unit="page" from="61" to="88" />
			<date type="published" when="2009">2009</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b2">
	<analytic>
		<title level="a" type="main">Adopt: Asynchronous distributed constraint optimization with quality guarantees</title>
		<author>
			<persName><forename type="first">P</forename><forename type="middle">J</forename><surname>Modi</surname></persName>
		</author>
		<author>
			<persName><forename type="first">W.-M</forename><surname>Shen</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Tambe</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Yokoo</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Artificial Intelligence</title>
		<imprint>
			<biblScope unit="volume">161</biblScope>
			<biblScope unit="page" from="149" to="180" />
			<date type="published" when="2005">2005</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b3">
	<analytic>
		<title level="a" type="main">Bnb-adopt: An asynchronous branch-and-bound dcop algorithm</title>
		<author>
			<persName><forename type="first">W</forename><surname>Yeoh</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Felner</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Koenig</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Journal of Artificial Intelligence Research</title>
		<imprint>
			<biblScope unit="volume">38</biblScope>
			<biblScope unit="page" from="85" to="133" />
			<date type="published" when="2010">2010</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b4">
	<analytic>
		<title level="a" type="main">Saving messages in adopt-based algorithms</title>
		<author>
			<persName><forename type="first">P</forename><surname>Gutierrez</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Meseguer</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proc. 12th DCR workshop in AAMAS-10</title>
				<meeting>12th DCR workshop in AAMAS-10</meeting>
		<imprint>
			<publisher>Citeseer</publisher>
			<date type="published" when="2010">2010</date>
			<biblScope unit="page" from="53" to="64" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b5">
	<analytic>
		<title level="a" type="main">Improving bnb-adopt+-ac</title>
		<author>
			<persName><forename type="first">P</forename><surname>Gutierrez</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Meseguer</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the 11th International Conference on Autonomous Agents and Multiagent Systems-Volume 1, International Foundation for Autonomous Agents and Multiagent Systems</title>
				<meeting>the 11th International Conference on Autonomous Agents and Multiagent Systems-Volume 1, International Foundation for Autonomous Agents and Multiagent Systems</meeting>
		<imprint>
			<date type="published" when="2012">2012</date>
			<biblScope unit="page" from="273" to="280" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b6">
	<analytic>
		<title level="a" type="main">Distributed partial constraint satisfaction problem</title>
		<author>
			<persName><forename type="first">K</forename><surname>Hirayama</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Yokoo</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">International Conference on Principles and Practice of Constraint Programming</title>
				<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="1997">1997</date>
			<biblScope unit="page" from="222" to="236" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b7">
	<analytic>
		<title level="a" type="main">Asynchronous forward bounding revisited</title>
		<author>
			<persName><forename type="first">M</forename><surname>Wahbi</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Ezzahir</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><surname>Bessiere</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">International Conference on Principles and Practice of Constraint Programming</title>
				<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2013">2013</date>
			<biblScope unit="page" from="708" to="723" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b8">
	<analytic>
		<title level="a" type="main">Connecting afb_bj + with soft arc consistency</title>
		<author>
			<persName><forename type="first">R</forename><surname>Adrdor</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Ezzahir</surname></persName>
		</author>
		<author>
			<persName><forename type="first">L</forename><surname>Koutti</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">International Journal of Computing and Optimization</title>
		<imprint>
			<biblScope unit="volume">5</biblScope>
			<biblScope unit="issue">1</biblScope>
			<biblScope unit="page" from="9" to="20" />
			<date type="published" when="2018">2018</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b9">
	<analytic>
		<title level="a" type="main">Enhancing AFB_BJ + AC * algorithm</title>
		<author>
			<persName><forename type="first">R</forename><surname>Adrdor</surname></persName>
		</author>
		<author>
			<persName><forename type="first">L</forename><surname>Koutti</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">2019 International Conference of Computer Science and Renewable Energies (ICCSRE), IEEE</title>
				<imprint>
			<date type="published" when="2019">2019</date>
			<biblScope unit="page" from="1" to="7" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b10">
	<analytic>
		<title level="a" type="main">Consistance d&apos;arc souple appliquée aux problèmes dcop</title>
		<author>
			<persName><forename type="first">R</forename><surname>Adrdor</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Ezzahir</surname></persName>
		</author>
		<author>
			<persName><forename type="first">L</forename><surname>Koutti</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Journées d&apos;Intelligence Artificielle Fondamentale</title>
		<imprint>
			<biblScope unit="volume">63</biblScope>
			<date type="published" when="2020">2020</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b11">
	<analytic>
		<title level="a" type="main">Privacy preserving region optimal algorithms for symmetric and asymmetric dcops</title>
		<author>
			<persName><forename type="first">T</forename><surname>Grinshpoun</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><surname>Tassa</surname></persName>
		</author>
		<author>
			<persName><forename type="first">V</forename><surname>Levit</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Zivan</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Artificial Intelligence</title>
		<imprint>
			<biblScope unit="volume">266</biblScope>
			<biblScope unit="page" from="27" to="50" />
			<date type="published" when="2019">2019</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b12">
	<analytic>
		<title level="a" type="main">Distributed constraint optimization problems and applications: A survey</title>
		<author>
			<persName><forename type="first">F</forename><surname>Fioretto</surname></persName>
		</author>
		<author>
			<persName><forename type="first">E</forename><surname>Pontelli</surname></persName>
		</author>
		<author>
			<persName><forename type="first">W</forename><surname>Yeoh</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Journal of Artificial Intelligence Research</title>
		<imprint>
			<biblScope unit="volume">61</biblScope>
			<biblScope unit="page" from="623" to="698" />
			<date type="published" when="2018">2018</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b13">
	<analytic>
		<title level="a" type="main">Distributed gibbs: A linear-space samplingbased dcop algorithm</title>
		<author>
			<persName><forename type="first">D</forename><forename type="middle">T</forename><surname>Nguyen</surname></persName>
		</author>
		<author>
			<persName><forename type="first">W</forename><surname>Yeoh</surname></persName>
		</author>
		<author>
			<persName><forename type="first">H</forename><forename type="middle">C</forename><surname>Lau</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Zivan</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Journal of Artificial Intelligence Research</title>
		<imprint>
			<biblScope unit="volume">64</biblScope>
			<biblScope unit="page" from="705" to="748" />
			<date type="published" when="2019">2019</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b14">
	<analytic>
		<title level="a" type="main">In the quest of the best form of local consistency for weighted csp</title>
		<author>
			<persName><forename type="first">J</forename><surname>Larrosa</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><surname>Schiex</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">IJCAI</title>
		<imprint>
			<biblScope unit="volume">3</biblScope>
			<biblScope unit="page" from="239" to="244" />
			<date type="published" when="2003">2003</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b15">
	<analytic>
		<title level="a" type="main">Soft arc consistency revisited</title>
		<author>
			<persName><forename type="first">M</forename><forename type="middle">C</forename><surname>Cooper</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>De Givry</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Sánchez</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><surname>Schiex</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Zytnicki</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><surname>Werner</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Artificial Intelligence</title>
		<imprint>
			<biblScope unit="volume">174</biblScope>
			<biblScope unit="page" from="449" to="478" />
			<date type="published" when="2010">2010</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b16">
	<analytic>
		<title level="a" type="main">Preprocessing techniques for accelerating the dcop algorithm adopt</title>
		<author>
			<persName><forename type="first">S</forename><surname>Ali</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Koenig</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Tambe</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the fourth international joint conference on Autonomous agents and multiagent systems</title>
				<meeting>the fourth international joint conference on Autonomous agents and multiagent systems</meeting>
		<imprint>
			<publisher>ACM</publisher>
			<date type="published" when="2005">2005</date>
			<biblScope unit="page" from="1041" to="1048" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b17">
	<analytic>
		<title level="a" type="main">Sensor networks and distributed csp: communication, computation and complexity</title>
		<author>
			<persName><forename type="first">R</forename><surname>Béjar</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><surname>Domshlak</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><surname>Fernández</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><surname>Gomes</surname></persName>
		</author>
		<author>
			<persName><forename type="first">B</forename><surname>Krishnamachari</surname></persName>
		</author>
		<author>
			<persName><forename type="first">B</forename><surname>Selman</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Valls</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Artificial Intelligence</title>
		<imprint>
			<biblScope unit="volume">161</biblScope>
			<biblScope unit="page" from="117" to="147" />
			<date type="published" when="2005">2005</date>
		</imprint>
	</monogr>
</biblStruct>

				</listBibl>
			</div>
		</back>
	</text>
</TEI>
