ACO Comprehensive Exam March 20 and 21, Computability, Complexity and Algorithms

Similar documents
ACO Comprehensive Exam October 14 and 15, 2013

Cutting Plane Methods II

ACO Comprehensive Exam March 17 and 18, Computability, Complexity and Algorithms

7.5 Bipartite Matching

Advanced Combinatorial Optimization September 24, Lecture 5

Lecture 3. 1 Polynomial-time algorithms for the maximum flow problem

Undirected Graphs. V = { 1, 2, 3, 4, 5, 6, 7, 8 } E = { 1-2, 1-3, 2-3, 2-4, 2-5, 3-5, 3-7, 3-8, 4-5, 5-6 } n = 8 m = 11

Part V. Matchings. Matching. 19 Augmenting Paths for Matchings. 18 Bipartite Matching via Flows

ACO Comprehensive Exam October 18 and 19, Analysis of Algorithms

FINAL EXAM PRACTICE PROBLEMS CMSC 451 (Spring 2016)

Random Lifts of Graphs

Maximum flow problem (part I)

CS599: Convex and Combinatorial Optimization Fall 2013 Lecture 17: Combinatorial Problems as Linear Programs III. Instructor: Shaddin Dughmi

7. Lecture notes on the ellipsoid algorithm

Preliminaries. Graphs. E : set of edges (arcs) (Undirected) Graph : (i, j) = (j, i) (edges) V = {1, 2, 3, 4, 5}, E = {(1, 3), (3, 2), (2, 4)}

Advanced Combinatorial Optimization Updated February 18, Lecture 5. Lecturer: Michel X. Goemans Scribe: Yehua Wei (2009)

Algebraic structures I

Problem Set 2. Assigned: Mon. November. 23, 2015

Integer Linear Programming (ILP)

Algorithm Design and Analysis

Matroids and submodular optimization

Nonnegative Matrices I

Maximum flow problem CE 377K. February 26, 2015

Discrete Optimization 2010 Lecture 2 Matroids & Shortest Paths

3.7 Cutting plane methods

CS 6820 Fall 2014 Lectures, October 3-20, 2014

6.046 Recitation 11 Handout

CS 138b Computer Algorithm Homework #14. Ling Li, February 23, Construct the level graph

Energy minimization via graph-cuts

Lecture notes on the ellipsoid algorithm

ACO Comprehensive Exam 19 March Graph Theory

Lecture 14: Random Walks, Local Graph Clustering, Linear Programming

CSIR - Algebra Problems

CS675: Convex and Combinatorial Optimization Fall 2016 Combinatorial Problems as Linear and Convex Programs. Instructor: Shaddin Dughmi

A combinatorial algorithm minimizing submodular functions in strongly polynomial time

Preliminaries and Complexity Theory

Topics in Approximation Algorithms Solution for Homework 3

Week 4. (1) 0 f ij u ij.

- Well-characterized problems, min-max relations, approximate certificates. - LP problems in the standard form, primal and dual linear programs

5 Flows and cuts in digraphs

CMPSCI 611 Advanced Algorithms Midterm Exam Fall 2015

Combinatorial Optimization

Math 611 Homework 6. Paul Hacking. November 19, All rings are assumed to be commutative with 1.

Algebraic Methods in Combinatorics

DISTRIBUTIVE LATTICES ON GRAPH ORIENTATIONS

Computability and Complexity Theory: An Introduction

directed weighted graphs as flow networks the Ford-Fulkerson algorithm termination and running time

Integer Linear Programs

The cocycle lattice of binary matroids

CS675: Convex and Combinatorial Optimization Fall 2014 Combinatorial Problems as Linear Programs. Instructor: Shaddin Dughmi

1 Matroid intersection

The minimum G c cut problem

7.4 DO (uniqueness of minimum-cost spanning tree) Prove: if all edge weights are distinct then the minimum-cost spanning tree is unique.

We say that a flow is feasible for G (or just feasible if the graph and capacity function in question are obvious) if

CS281A/Stat241A Lecture 19

Prof. Dr. Lars Schmidt-Thieme, L. B. Marinho, K. Buza Information Systems and Machine Learning Lab (ISMLL), University of Hildesheim, Germany, Course

Chapter 7. Network Flow. Slides by Kevin Wayne. Copyright 2005 Pearson-Addison Wesley. All rights reserved.

Classical Complexity and Fixed-Parameter Tractability of Simultaneous Consecutive Ones Submatrix & Editing Problems

1 Some loose ends from last time

Lecture 13 Spectral Graph Algorithms

NAME (1 pt): SID (1 pt): TA (1 pt): Name of Neighbor to your left (1 pt): Name of Neighbor to your right (1 pt):

Midterm Exam 2 Solutions

Polynomiality of Linear Programming

10.4 The Kruskal Katona theorem

HMMT February 2018 February 10, 2018

Algebraic Methods in Combinatorics

Math 121 Homework 2 Solutions

On a Cardinality-Constrained Transportation Problem With Market Choice

PRIME LABELING OF SMALL TREES WITH GAUSSIAN INTEGERS. 1. Introduction

The Maximum Flow Problem with Disjunctive Constraints

COMPSCI 611 Advanced Algorithms Second Midterm Exam Fall 2017

A necessary and sufficient condition for the existence of a spanning tree with specified vertices having large degrees

On the intersection of infinite matroids

Lecture 22: Counting

Discrete mathematics , Fall Instructor: prof. János Pach

Partial cubes: structures, characterizations, and constructions

arxiv: v2 [math.co] 19 Aug 2015

Chapter 9: Relations Relations

Out-colourings of Digraphs

1 Adjacency matrix and eigenvalues

Flows. Chapter Circulations

Reachability-based matroid-restricted packing of arborescences

A Randomized Rounding Approach to the Traveling Salesman Problem

15.1 Matching, Components, and Edge cover (Collaborate with Xin Yu)

Bipartite Matchings and Stable Marriage

Name: MAT 444 Test 4 Instructor: Helene Barcelo April 19, 2004

PCPs and Inapproximability Gap-producing and Gap-Preserving Reductions. My T. Thai

Determine the size of an instance of the minimum spanning tree problem.

Combinatorial Optimization

1 T 1 = where 1 is the all-ones vector. For the upper bound, let v 1 be the eigenvector corresponding. u:(u,v) E v 1(u)

CMPSCI 611: Advanced Algorithms

Matroid Optimisation Problems with Nested Non-linear Monomials in the Objective Function

Lecture 10. Sublinear Time Algorithms (contd) CSC2420 Allan Borodin & Nisarg Shah 1

Lecture 8: Finite fields

CSCE 750 Final Exam Answer Key Wednesday December 7, 2005

1 Perfect Matching and Matching Polytopes

NP-COMPLETE PROBLEMS. 1. Characterizing NP. Proof

Algorithms: Lecture 12. Chalmers University of Technology

On Some Polytopes Contained in the 0,1 Hypercube that Have a Small Chvátal Rank

Geometric Steiner Trees

Transcription:

1. Computability, Complexity and Algorithms Part a: You are given a graph G = (V,E) with edge weights w(e) > 0 for e E. You are also given a minimum cost spanning tree (MST) T. For one particular edge e = (y,z) which is in T, its edge weight is increased (all other edges stay the same). Specifically the weight of e changed from w(e ) to ŵ(e ). Give an algorithm to find a MST for this new edge weighting. (As fast as possible in O() notation.) The graph G is given in adjacency list representation and the set T is given as a list of edges, for example as {4,2},{3,4},... You are given the specified edge e = (y,z) and you are given the old weights w() for all edges of G, and the new weight ŵ(e ). Part b: Suppose you have a flow network G = (V,E) with integer capacities c e > 0 for e E, and you are given a maximum flow f from s to t. Let C denote the size of this flow f. Now suppose that for one particular edge e we decrease the capacity of e by one, from c e to c e 1. Give an algorithm to output a maximum flow in the new graph. (As fast as possible in O() notation.) Solution: Part a: The algorithm: 1. Remove e from T. 2. The graph T \{e } has two components. Run DFS in T \{e } to label the vertices with their respective components. 3. Go through all of the edges of G to find the minimum weight edge e that crosses between the 2 components of T \{e }. 4. Return T = T {e }\{e }. The algorithm takes O( E ) time. Correctness: Each of the edges of T \{e } were minimum across some cut in the original graph to be part of the MST T. In the new graph they are still minimum across the same cut. Hence, T \{e } is part of a MST in this new graph. Thus, since e is also minimum weight across a cut, by the cut property again, T is a MST. Running time: Step 2 takes O(n) time and then step 3 takes O(1) time per edge so a total time of O(m). Part b: If f e < c e then f is still a valid flow in the new graph and so we simply output f. If the edge e was fully capacitated then we do the following. We first need to find a path P with positive flow that goes through e. Let e = (v,w). Let G be the graph of edges with positive flow. Then run DFS on G to find a path P 1 from v to s and then run DFS to find a path P 2 from w to t. If these two paths do not share an edge then let P = P 1 e P 2. Decrease the

flow in f by 1 unit along P. For the resulting flow, build the residual network and look for an augmenting path. Output the resulting flow. If the paths P 1 and P 2 share an edge then that means there is a cycle C containing e with positive flow. We simply decrease the flow in f by 1 unit along C and this gives a max flow in the new graph. 2. Analysis of Algorithms Let G = (V,E) be a directed graph with source s, sink t and capacities on edges. Give a polynomial time algorithm for deciding if G has a unique minimum s t cut. Solution: Find a max s-t flow, f, in G and construct the residual graph R(G,f). R will have paths from t to s but no paths from s to t. Next, find the Picard-Queyranne structure by finding strongly connected components in R and shrinking them. This will yield a DAG. Let Q s and Q t be the components containing s and t, respectively. The ideal cuts between these two vertices are in one-to-one correspondence with the set of minimum s-t cuts in G. Now G has a unique minimum s-t cut iff there is only one ideal cut. This is easy to check in polynomial time. 3. Theory of Linear Inequalities Let P [0,1] n be an integral polytope contained in the 0/1 cube with l 1 -diameter bounded by k, i.e., the polytope s vertices have only entries in {0,1} and max x,y P x y 1 k. The goal is to maximize an objective c Z n over P. Without loss of generality you may assume that c 0 as we can simply flip the coordinates of the cube. You are given a feasible integral solution x 0 P and access to the polytope P is restricted to querying the following oracle: Augmentation oracle O(x 0,c): Input: x 0 P integral, objective c Z n Output: x P integral with cx > cx 0, if such an x exists, otherwise return OPTIMAL. Let C := c and let K := logc. Define the following sequence of objective functions c k := c/2 K k (coordinate-wise operation) and consider the following bit scaling algorithm: 1. Repeat for k = 0,...,K (a) While x k is not OPTIMAL for c k do i. x k O(x k,c k ) (b) x k+1 x k. 2. Return x K+1.

Task. Prove that the algorithm optimizes c over P with at most (K +1)k oracle calls. Solution: Clearly, x K+1 is the optimal solution as c K = c. Moreover, the number of outer iterations is bounded by K +1. Thus it remains to verify that the number of inner iterations is bounded by k. To this end observe that at the end of (outer) iteration k 1, we have that x k is an optimal solution w.r.t. c k 1. Now we can write c k = 2c k 1 +c(k) for some 0/1 vector c(k). If now x k+1 is the optimal solution for c k, we have and hence the claim follows. c k (x k+1 x k ) = 2 c k 1 (x k+1 x k ) +c(k)(x }{{} k x }{{ k+1) } 0, as x k opt. for c k 1 x k x k+1 k k, 4. Combinatorial Optimization We are given an undirected graph G = (V,E) and every edge has a color. This is represented by a partition of E into E 1... E k where each E i represents a set of edges of the same color i. A spanning tree is called bi-colorful if it contains at most two edges of any color. 1. Give an efficient algorithm that checks whether there is a a bi-colorful spanning tree in G and show its correctness. 2. Show that a graph G has a bi-colorful spanning tree if and only if for any disjoint set of colors I,J {1,...,k} and any F i I J E i such that F E i = 1 for each i I and F E i for each i J, G\F has at most I +2 J +1 components. Solution: 1. Consider the following two matroids. The first matroid M 1 = (E,I 1 ) is the graphic matroid. The second matroid M 2 = (E,I 2 ) is the partition matroid where F I 2 if and only if F E i 2 for each 1 i k. Observe that a graph has a bi-colorful spanning tree if and only if there is a common independent set of size V 1. Thus one can use matroid intersection to check whether a graph has a colorful spanning tree. 2. We first prove the necessity. Consider any disjoint set of colors I,J {1,...,k} and any F E such that F E i = 1 for each i I, F E i for each i J and F E i = for each i / I J,. Then any bi-colorful tree can pick at most one arc from F E i for each i I and at most two arcs from E i F E i for each i J. Thus bi-colorful tree can pick at most I +2 J edges from F. Thus G\F can have at most I +2 J +1 components. Now, we argue sufficiency. Let r 1 and r 2 denote the rank functions of the M 1 and M 2, respectively. Observe that for any F E, r 1 (F) = V κ(f) where κ(f) denotes the number of

connected components in (V,F). Also, r 2 (F) = k i=1 min{2, F E i }. From part (a), G has a bi-colorful spanning tree if the maximum common independent set has size at least V 1. But the size of the maximum independent set equals min F E r 1 (E \F)+r 2 (F). We now show this minimum is at least V 1. Let F to be the minimizer. If F E i 2, then we can assume that F E i. This follows since updating F to F E i does not change r 2 (F) but can only decrease r 1 (E \ F). Let I = {i : F E i = 1} and J = {i : F E i 2}. Then r 2 (F) = I + 2 J and κ(e \ F) I + 2 J + 1 by the assumption. Thus r 1 (E \ F) V 1 I 2 J and r 1 (E \F)+r 2 (F) V 1 as required. 5. Graph Theory Let n 1 be an integer. At a round table there are 2n Canadians, 2n Americans and 2n Mexicans. The people whose neighbors are of the same nationality are asked to stand up. What is the largest possible number of people that can be asked to stand up? Note: For example, for an American to stand up his two neighbors must be of the same nationality, but not necessarily American. Solution: The number is 6n 4. To see that consider a graph with one vertex per person and an edge if the two persons are seated with exactly one person between them. What we get is the union of two disjoint cycles of length 3n (the persons seated in an even position and the ones seated in an odd position). We color the vertices with 3 colors according to nationality. Note that, if there are two adjacent vertices of the same color, then the person between them is standing up, and if not the person between them remains seated. Thus we want to maximize the number of adjacent vertices of the same color. Consider one of the cycles. As there are only 2n vertices of each color, it cannot be monochromatic. Consider a vertex v 0 in that cycle. Start in v 0 and go around the cycle until you reach a vertex of another color. You can do this in two ways, one for each direction in the cycle. Note that when you find a vertex of different color for the first time you use a different edge depending on which sense you chose to go along the cycle. Thus in that cycle we have at least 2 seated persons. If we do the same for the other cycle we get that at most 6n 4 persons are standing up. To see that this number can be reached, seat the 2n Canadians in 2n consecutive vertices of one of the cycles, the 2n Americans in 2n consecutive vertices of the other cycle and the 2n Mexicans in the remaining seats. Then we obtain an arrangement where only 4 persons stay seated. 6. Probabilistic methods Let T = T(n,p) be the random (complete) binary tree of depth n (that is, it has 2 n leaves in total), where each edge is present with probability p. Let X i be a random indicator variable for the reachability of the ith leaf from the root and denote by X = 2 n X i i=1

the number of reachable leaves from the root. Use the second moment method in order to show that for the threshold p > 1/2, one has Prob[X > 0] > 0. Moreover, the lower bound on this probability is a constant that depends on p. Hint: YoucanusethefactthatProb[X > 0] (E[X])2 E[X 2 ]. (Youdonotneedtoprovethisproperty.) Solution: We have E[X i ] = p n, for i = 1,...,2 n. Therefore E[X] = 2 n p n, which goes to as n, under the assumption p > 1/2. We are now using the fact that and thus we are left to bound E[X 2 ]. We have X 2 = ( 2 n Prob[X > 0] (E[X])2 E[X 2 ], ) 2 X i = i=1 2 n i=1 X 2 i + 1 i j 2 n X i X j. Let k(i,j) be the depth of the node at which the two respective paths from the root to leaves i and j split. Then E[X i X j ] = p 2n k(i,k). Thus: n 1 X i X j = p 2n k(i,k) = 2 2n k 1 p 2n k. 1 i j 2 n 1 i j 2 n k=0 The latter is equal to: Therefore 1 n 1 2 k=0 Overall, we obtain: 2 2n 1 1 2 kp2n p = 1 n 1 k 2 (2p)2n k=0 1 (2p) 1 2p k 2 (2p)2n 2p 1 = p 2p 1 (2p)2n. E[X 2 ] p 2p 1 (2p)2n +2 n p n = p 2p 1 (2p)2n (1+o(1)). Prob[X > 0] (E[X])2 E[X 2 ] 2p 1 (1 o(1)), p and the latter is indeed a constant that depends on p, assuming p > 1/2. 7. Algebra Let ω be the complex number ω = e 2πi/3 and let i be the complex number i = e 2πi/4. Which of the following rings are isomorphic?

1. Z[ω]/ < 23 > 2. Z[i]/ < 23 > 3. Z/529 4. Z/23 Z/23 Solution: We first claim that 1) and 2) are both isomorphic to the finite field with 23 2 = 529 elements: Since ω is a primitive 3rd root of unity, its minimal polynomial is x 2 + x + 1. Thus Z[ω] = Z[x]/ < x 2 + x + 1 >. Thus Z[ω]/ < 23 >= Z/23[x]/ < x 2 + x + 1 >. Since (Z/23) = Z/22, there is no primitive 3rd root of unity in Z/23. Moreover, the polynomial x 2 +x+1 is separable over Z/23 because it is a factor of the separable polynomial x 3 1. (You can see x 3 1 is separable by computing that its derivative is 3x 2, which is non-zero and shares no common factor with x 3 1.) It follows that x 2 + x + 1 has no roots in Z/23 and is thus irreducible, prime, and maximal in Z/23[x]. Thus Z[ω]/ < 23 > is indeed a field. Moreover, Z/23[x]/ < x 2 +x+1 > has 23 2 elements corresponding to linear polynomials ax+b with a,b running from 0 to 23. The analysis of Z[i]/ < 23 > is similar. The minimal polynomial of i is x 2 +1, which is also irreducible in Z/23[x] because (Z/23) = Z/22 has no primitive fourth root of unity. The rest of the argument is the same. Since 1) and 2) are fields and 3) and 4) have zero divisors, 1) and 2) are not isomorphic to 3) or 4). 3) and 4) themselves represent district isomorphism classes because 3) has an element of order 529 and for any element (a,b) of Z/23 Z/23 we have that 23(a,b) = 0.