• Aucun résultat trouvé

DFS-based method to detect subproblems of high width

We have seen that DPOP’s memory requirements are exponential in theinduced widthof the constraint graph, which may be prohibitive for problems with large width. For such cases, we introduce the control parameterkwhich specifies the maximal amount of inference (maximal message dimensionality). This parameter is chosen s.t. the available memory at each node is greater thandk, (dis the domain size).

We propose in this section an algorithm that identifies subgraphs of the problem (clusters) that have width higher thank, where due to memory limitations, it is not possible to perform full inference as in DPOP. Nodesinsidesuch clusters will have to recourse to some other techniques (see Section6.3, Sec-tion8, Section7.1, Section7.2). Nodesoutsidethese clusters can perform the normal DPOP UTIL and VALUE propagations, which have the advantages we previously discussed (optimality guarantees, low overhead, etc). The result is that in most parts of the problem, high-performance DPOP propagations are used, and only in minimal, high-width subproblems we have to recourse to other alternatives.

Definition 19 (Cluster node) Given a DFS tree and a numberk, a nodeXiin the DFS is called a cluster-nodeiff|Sepi|> k.

A cluster is bounded at the top by the lowest node in the tree that has separator of sizekor less. We call these top-bounding nodescluster roots(CR).

Definition 20 (Cluster root node) Given a DFS tree and a numberk, a nodeXiin the DFS is called acluster-root nodeiff∃Xj∈Cis.t.|Sepj|> k, and|Sepi| ≤k.

Definition 21 (Cluster of width greater than k) Given a DFS tree and a numberk, a clusterCr of width greater than k is a set of nodes which are all labeled as cluster node or cluster root, and there is a tree path between any pair of nodesXi, Xj∈Cr, that goes only through cluster nodes.

Briefly, the clusters are identified in a bottom-to-top pass on the DFS tree. The process works by labeling the nodes with separator size larger thankascluster-nodes, and including them in a cluster.

Subsequently, inside a cluster, we use an alternative UTIL propagation which uses less memory than the normal DPOP propagations. The goal is to find an optimal solution for each cluster for each assignment of the variables in the separator of the cluster root. The results are cached ( [42,8,132]) by the respective cluster roots and then integrated as normal UTIL messages into the overall DPOP-type UTIL propagation. Subsequently, during the final VALUE propagation phase, the results cached in the UTIL phase are retrieved, and the VALUE propagation continues as in normal DPOP.

Ifwis the induced width of the problem given by the chosen DFS ordering, depending on the value chosen fork, we have 3 cases:

Algorithm 8LABEL-DFS - a protocol to determine the areas of high width.

LABEL-DFS(X,D,R, k)(assumes a DFS tree created with Algorithm3). Each agentXidoes:

Labeling protocol:

1 wait for allLABELjimsgs from children

2 Sepi=∪Xj∈CiSepj∪Pi∪P Pi\Xi 3 if|Sepi|> kthen label self ascluster-node

4 else

5 if∃Xj∈Cisuch that|Sepj|> k then label self ascluster-root

6 elselabel self as normal

7sendLABELPii= [Sepi]toPi

1. Ifk= 1, only linear messages are used, and memory requirements are also linear.

2. Ifk < w, full inference can be performed in areas of width lower thank, and an alternative processing in areas of width higher thank. Memory requirements areO(exp(k)).

3. Ifk≥w, full inference is done throughout the problem, and the algorithm is equivalent with DPOP (i.e. full inference everywhere). Memory requirements areO(exp(w)).

Intuitively, the larger thek, the less need for identifying clusters, and the larger the parts of the problem where standard DPOP is applied.

In the next sections, we will discuss a number of extensions of DPOP, which all identify complex subproblems in this way, and then apply different techniques to deal with them: Section6.3discusses MB-DPOP, which applies cycle-cutsets to reduce message size, at the expense of an increase in the number of messages. Section8introduces the PC-DPOP algorithm, which allows for the partial cen-tralization of difficult subproblems. Section7.1introduces the LS-DPOP algorithm, which applies local search in difficult subproblems, and limited dynamic programming to guide it. Section7.2introduces the A-DPOP algorithm, an approximation scheme which limits the size of the messages toO(dk)and propagates upper and lower bound messages in subproblems with high width.

In the following Section6.2.1, we explain how to determine high-width areas using Algorithm8.

6.2.1 DFS-based Label propagation to determine complex subgraphs

This is an intermediate phase between the DFS and UTIL phases, and it has the goal to delimit high-width clusters. We emphasize that this process is described as a separate phase only for the sake of clarity; these results can be derived with small modifications from either the original DFS construction algorithm, or the subsequent UTIL phase.

Labeling works bottom-up like the UTIL phase. ALABELiPimessage is composed of the list of nodes in theseparatorSepiof the sending nodeXi. Each nodeXiwaits forLABELj→imessages

Figure 6.1: A DFS tree of widthw= 4. Minimal areas of high width are identified based on the node separator size (shaded clustersC1,C2andC3). In low-width areas the normal UTIL propagation is performed. In high width clusters, alternative UTIL propagations are used, and cluster roots (X2, X9, X14) cache intermediate results.

from its childrenXj ∈Ci, computes its own labelLABELiPi, and sends it to its parentPi. The process finishes when the root has receivedLABELmessages from all its children.

Recall that each nodeXican easily determine its separator recursively, as in Equation3.2. If the separatorSepiofXicontains more thanknodes, this means that the UTIL message that normal DPOP would send would exceed the size limitO(exp(k). Therefore,Xiis part of a high-width cluster, and labels itself as acluster-node. If a nodeXihas separator size equal tokor less, then the node could be in one of these two cases:

• ifXihas any child which is a cluster-node (i.e. the separator of the child is larger thank), then Xiis a cluster-root

• ifXihas only children with separators equal tokor smaller thank, thenXiis a normal node

Example 11 in Fig.6.1, letk = 2. Light nodes (e.g. X0, X1, X3, etc.) all have separator size less than 2. Bold nodes on the other hand have separator size greater than 2 (e.g. nodeX12has Sep12={X0, X8, X11}). The shaded areas are the clustersC1,C2andC3identified after running

Algorithm8.