Take the 2-minute tour ×
MathOverflow is a question and answer site for professional mathematicians. It's 100% free, no registration required.

I've come up with the following optimization problem in my research. Is this a known problem in graph-theory and/or combinatorial optimization? If not, which of the known problems are the most similar to it?

Let's have a graph $G=(V,E)$ with real positive or negative weights assigned to its edges: $w: E \rightarrow \Re$. The problem is to remove a set of edges ($E_1$) from $G$ such that the sum of the remaining edges ($E_2$) is minimized, and no vertex in G has degree less than 2 (i.e. no leaf vertices should exist).

share|improve this question
    
I suspect Hamiltonian cycle reduces to (a subproblem of) this problem, which would make it NP-complete. Let's see what others say. Gerhard "Ask Me About System Design" Paseman, 2010.04.08 –  Gerhard Paseman Apr 8 '10 at 15:43
    
I posted another version of this problem here: mathoverflow.net/questions/20800/… –  eakbas Apr 8 '10 at 23:23
add comment

1 Answer

up vote 2 down vote accepted

I'm not sure about published references to this specific problem, but I'm pretty sure it can be solved in polynomial time via a reduction to minimum weight perfect matching, as follows.

Replace each vertex of degree $d$ by a complete bipartite graph $K_{d-2,d}$ where each of the original edges incident to the vertex becomes incident to one of the vertices on the $d$-vertex side of the bipartition. Set all edge weights in this complete bipartite graph to zero. Next, add a complete graph (with zero edge weights) connecting all of the vertices in the whole graph that are on the $(d-2)$-vertex sides of their bipartitions.

For each vertex $v$ in the original graph, a perfect matching in this modified graph has to include at least two of the original graph's edges incident to $v$, because at least two of the vertices on the $d$-vertex side of the complete bipartite graph that replaces $v$ are not matched within that complete bipartite graph. Because all the other edges have cost zero, the cost of the perfect matching is the same as the cost of the solution it leads to in the original graph.

On the other hand, whenever one has a subgraph of the original graph that includes at least two edges at each vertex, it can be completed to a perfect matching at no extra cost by matching the remaining vertices on the $d$-vertex sides of their bipartition to vertices on the $(d-2)$-vertex sides, and then using the complete graph edges to complete the matching among any remaining unused vertices on the $(d-2)$-vertex sides.

Therefore, the cost of the minimum weight perfect matching in this graph is the same as the cost of the optimal solution to your problem.

Added later: something like this appears to be in "An efficient reduction technique for degree-constrained subgraph and bidirected network flow problems", Hal Gabow, STOC 1983, doi:10.1145/800061.808776

share|improve this answer
    
Just to check my intuition (and your reduction), if he in addition asked that the minimum cost graph be connected, would there be a reduction from Hamiltonian cycle? Gerhard "Ask Me About System Design" Paseman, 2010.04.08 –  Gerhard Paseman Apr 8 '10 at 18:33
    
Yes. Actually I think the reduction is easy: if you set all edge costs to one, then Hamiltonian cycles are exactly the same thing as connected spanning subgraphs in which every vertex has degree exactly two, which are the same thing as degree-≥2 connected spanning subgraphs with total cost at most $n$. –  David Eppstein Apr 8 '10 at 20:07
    
I didn't understand how the second addition, i.e. the one mentioned in the last sentence of the second paragraph, is done. –  eakbas Apr 8 '10 at 22:51
1  
eakbas: The first part replaces each vertex v_i by a complete bipartite graph with vertices named, say, u_{i,j} (0 ≤ j < d-2) and w_{i,j} (0 ≤ j < d). The second addition simply connects every u_{i,j} and u_{i',j'} by an edge, so that any subset of the u's can be matched. –  David Eppstein Apr 9 '10 at 1:49
    
Where do the w_{i,j}s get connected? –  eakbas Apr 9 '10 at 2:06
show 1 more comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.