Let $G=(U, V, E)$ be a biparite graph, with $U$ and $V$ being the two sets of nodes.
I am trying to find the smallest set of nodes $\hat{V} \subseteq V$ such that, for every node $u \in U$, $\hat{V}_u$ contains at least one element and is different from $\hat{V}_{u'}$, $\forall u' \neq u \in U$, where $V_u \subseteq V$ the set of nodes in $V$ to which $u$ is connected.
Note that we can assume that an optimal solution does exist.
To make an example, consider the following graph, with $U=\{A, B, C\}$ and $V=\{X, Y, Z\}$:
The optimal $\hat{V}$ here would be:
Indeed:
- $\hat{V}_{a}=\{x, z\}$
- $\hat{V}_{b}=\{x\}$
- $\hat{V}_{c}=\{z\}$
That is, $\hat{V}$ is the smallest subset of $V$ such that, for every node $u \in U$, $\hat{V}_u$ is non-empty and different from $\hat{V}_{u'} \: \forall u' \neq u \in U$.
This problem definitely rings a bell, but both my memory and my searching skills seem to be failing me. My questions are:
- Does this problem have a name?
- Is it NP-hard and, depending on this answer, can anybody sketch (or point me to) a solution or an approximation?