If you want to make money online : Register now

[Solved]: Doubt regarding Maximum Bipartite Matching

, , No Comments
Problem Detail: 

I was given this question by a friend:

"You are given 3 sets of size n, X,Y and Z. Devise an algorithm to find maximum number of different pairings (u,v,w,x) such that u,v,w,x belong to X,Y,Z and X respectively (u is not equal to x) and gcd(u,v,w,x)>1."

My approach is to create new sets S and T, such that S contains pair (u,v) (create a node A) with gcd(u,v)>1 and T contains (w,x) with gcd(w,x)>1 (node B). If gcd(u,v,w,x)>1 add an edge between A and B. Now find maximum matching in this bipartite graph.

But he isn't satisfied and says I didn't use the gcd property and the problem can be reduced significantly. Can this algorithm be improved?

Asked By : Algotest

Answered By : D.W.

Here's one possible hint:

$$\gcd(u,v,w,x) = \gcd(\gcd(u,v),\gcd(w,x)).$$

I expect your problem can also be solved using the techniques in the following paper:

A maximal matching doesn't seem like the right approach. The maximal matching algorithm you list will never choose two 4-tuples $(u,v,w,x),(u',v',w',x')$ such that $(u,v)=(u',v')$. Thus, it won't produce the correct answer to the problem: it won't output the maximum number of different 4-tuples.

Best Answer from StackOverflow

Question Source : http://cs.stackexchange.com/questions/28291

3.2K people like this

 Download Related Notes/Documents


Post a Comment

Let us know your responses and feedback