08.10.2016 Views

Foundations of Data Science

2dLYwbK

2dLYwbK

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

graph. The vertices <strong>of</strong> Π are denoted by dotted circles in the above tree.<br />

Consider a set <strong>of</strong> trees where each tree has a root that corresponds to one <strong>of</strong> the constraints.<br />

If the constraint at each root is satisfied by the edge <strong>of</strong> the MWM, then we have<br />

found the MWM. Suppose that the matching at the root in one <strong>of</strong> the trees disagrees<br />

with the MWM. Then there is an alternating path <strong>of</strong> vertices <strong>of</strong> length 2k consisting <strong>of</strong><br />

vertices corresponding to edges in Π and edges in Λ. Map this path onto the bipartite<br />

graph. In the bipartite graph the path will consist <strong>of</strong> a number <strong>of</strong> cycles plus a simple<br />

path. If k is large enough there will be a large number <strong>of</strong> cycles since no cycle can be <strong>of</strong><br />

length more than 2n. Let m be the number <strong>of</strong> cycles. Then m ≥ 2k<br />

2n = k n .<br />

Let π ∗ be the MWM in the bipartite graph. Take one <strong>of</strong> the cycles and use it as an<br />

alternating path to convert the MWM to another matching. Assuming that the MWM<br />

is unique and that the next closest matching is ε less, W π∗ − W π > ε where π is the new<br />

matching.<br />

Consider the tree matching. Modify the tree matching by using the alternating path<br />

<strong>of</strong> all cycles and the left over simple path. The simple path is converted to a cycle by<br />

adding two edges. The cost <strong>of</strong> the two edges is at most 2w* where w* is the weight <strong>of</strong> the<br />

maximum weight edge. Each time we modify Λ by an alternating cycle, we increase the<br />

cost <strong>of</strong> the matching by at least ε. When we modify Λ by the left over simple path, we<br />

increase the cost <strong>of</strong> the tree matching by ε − 2w∗ since the two edges that were used to<br />

create a cycle in the bipartite graph are not used. Thus<br />

weight <strong>of</strong> Λ - weight <strong>of</strong> Λ ′ ≥ k n ε − 2w∗<br />

which must be negative since Λ ′ is optimal for the tree. However, if k is large enough<br />

this becomes positive, an impossibility since Λ ′ is the best possible. Since we have a<br />

tree, there can be no cycles, as messages are passed up the tree, each sub tree is optimal<br />

and hence the total tree is optimal. Thus the message passing algorithm must find the<br />

maximum weight matching in the weighted complete bipartite graph assuming that the<br />

maximum weight matching is unique. Note that applying one <strong>of</strong> the cycles that makes<br />

up the alternating path decreased the bipartite graph match but increases the value <strong>of</strong><br />

the tree. However, it does not give a higher tree matching, which is not possible since<br />

we already have the maximum tree matching. The reason for this is that the application<br />

<strong>of</strong> a single cycle does not result in a valid tree matching. One must apply the entire<br />

alternating path to go from one matching to another.<br />

9.12 Warning Propagation<br />

Significant progress has been made using methods similar to belief propagation in<br />

finding satisfying assignments for 3-CNF formulas. Thus, we include a section on a<br />

version <strong>of</strong> belief propagation, called warning propagation, that is quite effective in finding<br />

assignments. Consider a factor graph for a SAT problem. Index the variables by i, j, and<br />

321

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!