Skip to main content
d'oh at least $k_i$.
Source Link
Nicholas Mancuso
  • 3.9k
  • 1
  • 24
  • 39

Let $P$ be the set of people and $\mathcal{S}$ be the modified multi-set of subsets. By checking if an $\mathcal{S}$-saturated matching into $P$ exists (i.e. Hall's condition) you are indeed finding a diverse group.

  If you are checking that some group $P$ is a putative solution first check if $|P| \neq |\mathcal{S}|$. If that holds then you can short circuit and say no. If $|P|=|\mathcal{S}|$ then solve for a perfect matching. If some member in $P$ or a subset in $\mathcal{S}$ is not matched then $P$the procedure is not a "diverse" groupthe exactly the same.

This can be done quickly via the Hopcraft-Karp algorithm (as you don't have weights over edges) or by implementing this as a Max-flow LP and using a solver. I'm willing to bet the solvers will work much faster in practice.

Let $P$ be the set of people and $\mathcal{S}$ be the modified multi-set of subsets. By checking if an $\mathcal{S}$-saturated matching into $P$ exists (i.e. Hall's condition) you are indeed finding a diverse group.

  If you are checking that some group $P$ is a putative solution first check if $|P| \neq |\mathcal{S}|$. If that holds then you can short circuit and say no. If $|P|=|\mathcal{S}|$ then solve for a perfect matching. If some member in $P$ or a subset in $\mathcal{S}$ is not matched then $P$ is not a "diverse" group.

This can be done quickly via the Hopcraft-Karp algorithm (as you don't have weights over edges) or by implementing this as a Max-flow LP and using a solver. I'm willing to bet the solvers will work much faster in practice.

Let $P$ be the set of people and $\mathcal{S}$ be the modified multi-set of subsets. By checking if an $\mathcal{S}$-saturated matching into $P$ exists (i.e. Hall's condition) you are indeed finding a diverse group. If you are checking that some group $P$ is a putative solution the procedure is the exactly the same.

This can be done quickly via the Hopcraft-Karp algorithm (as you don't have weights over edges) or by implementing this as a Max-flow LP and using a solver. I'm willing to bet the solvers will work much faster in practice.

Fixed explanation and solution.
Source Link
Nicholas Mancuso
  • 3.9k
  • 1
  • 24
  • 39

Let $P$ be the set of people and $\mathcal{S}$ be the modified multi-set of subsets. By checking if aan $P$$\mathcal{S}$-saturated matching into $\mathcal{S}$$P$ exists (i.e. Hall's condition) you are indeed checking that your groups arefinding a diverse group. 

If you are "checking" ifchecking that some group $P$ is a putative solution, simply make first check if $P$ this group$|P| \neq |\mathcal{S}|$. If that holds then you can short circuit and say no. If $|P|=|\mathcal{S}|$ then solve for a perfect matching. If some member in $P$ or a subset in $\mathcal{S}$ is not matched, then you cannot construct$P$ is not a "diverse group""diverse" group.

This can be done quickly via the Hopcraft-Karp algorithm (as you don't have weights over edges) or by implementing this as a Max-flow LP and using a solver. I'm willing to bet the solvers will work much faster in practice.

Let $P$ be the set of people and $\mathcal{S}$ be the modified multi-set of subsets. By checking if a $P$-saturated matching into $\mathcal{S}$ exists (i.e. Hall's condition) you are indeed checking that your groups are diverse. If you are "checking" if some group is a solution, simply make $P$ this group and solve. If some member in $P$ is not matched, then you cannot construct a "diverse group".

This can be done quickly via the Hopcraft-Karp algorithm (as you don't have weights over edges) or by implementing this as a Max-flow LP and using a solver. I'm willing to bet the solvers will work much faster in practice.

Let $P$ be the set of people and $\mathcal{S}$ be the modified multi-set of subsets. By checking if an $\mathcal{S}$-saturated matching into $P$ exists (i.e. Hall's condition) you are indeed finding a diverse group. 

If you are checking that some group $P$ is a putative solution first check if $|P| \neq |\mathcal{S}|$. If that holds then you can short circuit and say no. If $|P|=|\mathcal{S}|$ then solve for a perfect matching. If some member in $P$ or a subset in $\mathcal{S}$ is not matched then $P$ is not a "diverse" group.

This can be done quickly via the Hopcraft-Karp algorithm (as you don't have weights over edges) or by implementing this as a Max-flow LP and using a solver. I'm willing to bet the solvers will work much faster in practice.

added links.
Source Link
Nicholas Mancuso
  • 3.9k
  • 1
  • 24
  • 39

Let $P$ be the set of people and $\mathcal{S}$ be the modified multi-set of subsets. By checking if a $P$-saturated matching into $\mathcal{S}$ exists (i.e. Hall's conditionHall's condition) you are indeed checking that your groups are diverse. If you are "checking" if some group is a solution, simply make $P$ this group and solve. If some member in $P$ is not matched, then you cannot construct a "diverse group".

This can be done quickly via the Hopcraft-KarpHopcraft-Karp algorithm (as you don't have weights over edges) or by implementing this as a flow-LPMax-flow LP and using a solver. I'm willing to bet the solvers will work much faster in practice.

Let $P$ be the set of people and $\mathcal{S}$ be the modified multi-set of subsets. By checking if a $P$-saturated matching into $\mathcal{S}$ exists (i.e. Hall's condition) you are indeed checking that your groups are diverse. If you are "checking" if some group is a solution, simply make $P$ this group and solve. If some member in $P$ is not matched, then you cannot construct a "diverse group".

This can be done quickly via the Hopcraft-Karp algorithm (as you don't have weights over edges) or by implementing this as a flow-LP and using a solver. I'm willing to bet the solvers will work much faster in practice.

Let $P$ be the set of people and $\mathcal{S}$ be the modified multi-set of subsets. By checking if a $P$-saturated matching into $\mathcal{S}$ exists (i.e. Hall's condition) you are indeed checking that your groups are diverse. If you are "checking" if some group is a solution, simply make $P$ this group and solve. If some member in $P$ is not matched, then you cannot construct a "diverse group".

This can be done quickly via the Hopcraft-Karp algorithm (as you don't have weights over edges) or by implementing this as a Max-flow LP and using a solver. I'm willing to bet the solvers will work much faster in practice.

added 83 characters in body
Source Link
Nicholas Mancuso
  • 3.9k
  • 1
  • 24
  • 39
Loading
added 88 characters in body
Source Link
Nicholas Mancuso
  • 3.9k
  • 1
  • 24
  • 39
Loading
Source Link
Nicholas Mancuso
  • 3.9k
  • 1
  • 24
  • 39
Loading