04.09.2013 Views

Algorithm Design

Algorithm Design

Algorithm Design

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.

688<br />

Chapter 12 Local Search<br />

this difference? The only possible change in the assignment penalties could<br />

come from nodes in V~: for each i ~ V~, the change is ci(f*(i))- ciff(i))-<br />

The separation penalties differ between the two labelings only ’in edges (i, j)<br />

that have at least one end in V~. The following inequality accounts for these<br />

differences.<br />

(12.10) For a labeling f and its neighbor fa, roe have<br />

E<br />

d~(fa) -- ~(f) _ 0 for<br />

all a ~ L. We use (12.10) to bound a2(fa) - ~(f) and then add the resulting<br />

inequalities for all labels to obtain the following:<br />

12.6 Classification via Local Search<br />

We will rearrange the inequality by grouping the positive terms on the lefihand<br />

side and the negative terms on the right-hand side. On the lefi-hand<br />

side, we get Q(f*(i)) for all nodes i, which is exactly the assignment penalty<br />

of f*. In addition, we get the term pi] twice for each of the edges separated by<br />

f* (once for each of the two labels f*(i) and f*(j)).<br />

On the right-hand side, we get Q(f(i)) for each node i, which is exactly the<br />

assignment penalty of f. In addition, we get the terms pij for edges separated<br />

by f. We get each.such separation penalty at least once, and possibly twice if<br />

it is also separated by f*. -<br />

In summary, we get the following.<br />

2qb(f*) > E<br />

a~L<br />

proving the claimed bound.<br />

E q(f*(i)) + E P~i~<br />

_i~V~ (i,]) leaving V~<br />

E Q(f(i)) + E P~J] >i~<br />

V~ (i,j) in or leaving V~<br />

We proved that all local optima are good approximations to the labeling<br />

with minimum penalty. There is one more issue to consider: How fast does<br />

the algorithm find a local optimum? Recall that in the case of the Maximum-<br />

Cut Problem, we had to resort to a variant of the algorithm that accepts only<br />

big improvements, as repeated local improvements may not run in polynomial<br />

time. The same is also true here. Let ~ > 0 be a constant. For a given labeling f,<br />

we will consider a neighboring labeling f’ a significant improvement if ~ (f’) <<br />

(1 - ¢/3k) a~ (f). To make sure the algorithm runs in polynomial time, we should<br />

only accept significant improvements, and terminate when no significant<br />

improvements are possible. After at most ~-lk significant improvements, the<br />

penalty decreases by a constant factor; hence the algorithm will terminate in<br />

polynomial time. It is not hard to adapt the proof of (12.11) to establish the<br />

following.<br />

(12.12) For any fixed ~ > O, the version of the local search algorithm that only<br />

accepts significant improvements terminates in polynomial time and results in<br />

a labeling f such that q)(f)

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

Saved successfully!

Ooh no, something went wrong!