Maximum bipartite graph (1,n) "matching" - MathOverflow most recent 30 from http://mathoverflow.net 2013-06-20T08:52:15Z http://mathoverflow.net/feeds/question/18479 http://www.creativecommons.org/licenses/by-nc/2.5/rdf http://mathoverflow.net/questions/18479/maximum-bipartite-graph-1-n-matching Maximum bipartite graph (1,n) "matching" Karussell 2010-03-17T11:31:43Z 2010-12-22T09:16:52Z <p>Last month I discovered a <a href="http://stackoverflow.com/questions/1519462/maximum-bipartite-graph-1-n-matching">nice question on stackoverflow</a> and thought the 1,n matching problem could be solved via introducing a 1,k tree matching. <a href="http://stackoverflow.com/questions/2356472/1k-tree-matching-solvable-in-polynomial-time">Look here for my question</a>, but as Moron pointed out this is not known to be solvable in polynomial time.</p> <p>Now I discovered mathoverflow and would like to know if one could reduce some possibilities or if one could introduce some restrictions so that the 1,n matching could be solved in polytime. Do you have an idea?</p> <p>Background: I would like to implement a heuristic for that problem. At the moment I am using an algorithm based on the GPA heuristic for weighted maximum matchings in general graphs <a href="http://www.pw.ethz.ch/people/research_group/mauej/personal/publications/MaueSanders2007.ps" rel="nofollow">as described here</a>.</p> <p>Here is my formulation of the problem:</p> <p>Instead of the 'normal' "one-to-one" matching in a bipartite graph I want to calculate the maximum "one-to-many" matching for a bipartite graph G. (Should I define it or is this clear?)<br> For the initial problem 1:n the n was arbitrary. Then I fixed the n to k 'static' choices via trees instead of edges, but this was hard, too.<br> Now I would like to find a similar graph or different formulation which is solvable in polytime (or at least there should be a high accurate and 'fast' algorithm). E.g. couldn't I apply the polytime matching algorithm from <strong>general</strong> graphs and apply it to a slightly changed graph G'? I think about the following graph G':</p> <p><a href="http://karussell.files.wordpress.com/2010/03/network2.png" rel="nofollow">http://karussell.files.wordpress.com/2010/03/network2.png</a> (don't have rep to include it here :-/)</p> <p>Clearly there are matchings (red) in the general graph G' which could result in strange/wrong matchings for the corresponding bipartite matching in the bipartite graph G. But maybe one could further tweak the graph G' or the edge weights of G'?</p> <p>Or how is this related to hypergraphs (e.g. if edge would have 3 nodes)</p> <p>Missing tag: matching</p> http://mathoverflow.net/questions/18479/maximum-bipartite-graph-1-n-matching/18510#18510 Answer by Tony Huynh for Maximum bipartite graph (1,n) "matching" Tony Huynh 2010-03-17T17:57:16Z 2010-03-18T14:32:25Z <p>This problem seems pretty hard. Let $G$ be a bipartite graph with bipartition $(A,B)$. One easy case to consider is if each vertex in $A$ has degree $k$ and we seek a maximum $(1, k)$ matching. For each $a \in A$, if we let $N(a)$ be the set of neighbours of $a$, then we seek a maximum size subfamily $\mathcal{S}$ of</p> <p>{ $N(a) : a \in A$ },</p> <p>such that any two members of $\mathcal{S}$ are disjoint. I believe this problem is polynomially equivalent to maximum-clique, so even in this easy case your problem is still hard. However, maximum-clique is polynomially solvable for <a href="http://en.wikipedia.org/wiki/Perfect_graph" rel="nofollow">perfect graphs</a>, so perhaps this is a partial answer to your question. </p> <p>Another way to go is to look for good <a href="http://en.wikipedia.org/wiki/Approximation_algorithm" rel="nofollow">approximation algorithms</a>, say by adapting approximation algorithms for maximum-clique. </p> <p><strong>Edit.</strong> A general comment is that if we restrict to a class of graphs with bounded <a href="http://en.wikipedia.org/wiki/Tree_decomposition" rel="nofollow">tree-width</a>, then your problem is indeed polynomial. This works for many NP-hard problems. </p>