Warning: foreach() argument must be of type array|object, bool given in /var/www/html/web/app/themes/studypress-core-theme/template-parts/header/mobile-offcanvas.php on line 20

In the MAXIMUM CUT problem we are given an undirected graphG=(V,E) with a weightw(e) on each edge, and we wish to separate the vertices into two sets S and V − S so that the total weight of the edges between the two sets is as large as possible. For eachSV definew(S) to be the sum of allwe over all edges{u,v} such that |Su,v|=1. Obviously, MAX CUT is about maximizing w(S) over all subsets of .

Consider the following local search algorithm for MAX CUT:

start with anySV

while there is a subsetS'V such that

||S 0 | − |S|| = 1 andw(S')>w(S) do:

set S=S'

  1. Show that this is an approximation algorithm for MAX CUT with ratio2.

(b) But is it a polynomial-time algorithm?

Short Answer

Expert verified

An approximation algorithm for MAX CUT with ratio two is proved.

b). Yes, it a polynomial-time algorithm.

Step by step solution

01

MULTIWAY CUT problem

In the multiway cut problem, we are given a graphG=V,E with k special vertices s1,s2,...,skV.Our goal is to find the smallest set of edges which when removed from the graph disconnect the graph into at least k components where each is in a different component. When k=2,

this is exactly the min s-t cut problem, but ifk3 the problem becomes NP-hard. Consider the following algorithm.

Let Fi be the set of edges in the minimum cut with si one one side and all other special vertices on the other side. And output is F, the union of all . Also note that this is a multiway cut because removing fromG isolates in its own component.

02

An approximation algorithm for MAX CUT with ratio twoa).

An approximation algorithm for MAX CUT with ratio two is defined as already given in the question In the MAXIMUM CUT problem we are given an undirected graph with a weightwe on each edge, and we wish to separate the vertices into two sets S and V − S so that the total weight of the edges between the two sets is as large as possible. For eachSV definewS to be the sum of allwe over all edges such that Su,v=1. Obviously, MAX CUT is about maximizing w(S) over all subsets .

Consider the following local search algorithm for MAX CUT:

while there is ||S 0 | − |S|| = 1 andSu,v=1.

In particular, it appears that they are solving instances of weighted MAX-CUT where the input graph is the complete graph on two thousand vertices with edge weights assigned from {1,1}independently and uniformly at random.

Su,v=1.Su,v=1.=Su,v=2.

Anapproximation algorithm for MAX CUT with ratio two is proved.

03

A polynomial-time algorithm

there are (this is a polynomial algorithms). We can bound this through some very simple observations.

1. Initially ES,S¯0,

2. In every iteration,ES,S¯ increases by at least one, and

3.ES,S¯ is always at most mn.

These facts in the graphG=V,E clearly imply that the number of iterations is at most mn., and thus the total running time is polynomial. To prove the next theorem about the approximation ratio, we will do something which is very common when analyzing local search algorithms. We will not reason directly about the solution which the algorithm outputs,S,T but will instead reason about an arbitrary local optimum. Since the algorithm outputs a local optimum.

This algorithm will take polynomial time for its operation.

And hence, Yes it is a polynomial-time algorithm.

Unlock Step-by-Step Solutions & Ace Your Exams!

  • Full Textbook Solutions

    Get detailed explanations and key concepts

  • Unlimited Al creation

    Al flashcards, explanations, exams and more...

  • Ads-free access

    To over 500 millions flashcards

  • Money-back guarantee

    We refund you if you fail your exam.

Over 30 million students worldwide already upgrade their learning with Vaia!

One App. One Place for Learning.

All the tools & learning materials you need for study success - in one app.

Get started for free

Most popular questions from this chapter

Given an undirected graphG=(V,E) in which each node hasdegreed , show how to efficiently find an independent set whose size is at least1d+1times that of the largest independent set.

Devise a branch-and-bound algorithm for the SET COVER problem. This entails deciding:

(a) What is a subproblem?

(b) How do you choose a subproblem to expand?

(c) How do you expand a subproblem?

(d) What is an appropriate lowerbound

Do you think that your choices above will work well on typical instances of the problem? Why?

In the backtracking algorithm for SAT, suppose that we always choose a subproblem (CNF formula) that has a clause that is as small as possible; and we expand it along a variable that appears in this small clause. Show that this is a polynomial-time algorithm in the special case in which the input formula has only clauses with two literals (that is, it is an instance of 2SAT).

Devise a backtracking algorithm for the RUDRATA PATH problem from a fixed vertex s. To fully specify such an algorithm you must define:

(a) What is a subproblem?

(b) How to choose a subproblem.

(c) How to expand a subproblem.

Argue briefly why your choices are reasonable

In the MINIMUM STEINER TREE problem, the input consists of: a complete graph G=(V,E)with distances duvbetween all pairs of nodes; and a distinguished set of terminal nodesV'V.The goal is to find a minimum-cost tree that includes the vertices V'. This tree may or may not include nodes in V-V'

Suppose the distances in the input are a metric (recall the definition on page 292). Show that an efficient ratio-2approximation algorithm for MINIMUM STEINER TREE can be obtained by ignoring the nonterminal nodes and simply returning the minimum spanning tree onV'. (Hint: Recall our approximation algorithm for the TSP.)

See all solutions

Recommended explanations on Computer Science Textbooks

View all explanations

What do you think about this solution?

We value your feedback to improve our textbook solutions.

Study anywhere. Anytime. Across all devices.

Sign-up for free