I have a finite graph with vertices $V$.
The sets $A_i, i=1,\ldots,N$ are non-empty disjoint subsets of $V$.
I want to find out if there is some way of selecting $a_i, i=1,\ldots,N$ such that
$a_i \in A_i$ for all $i$.
For any $i$ and $j$ such that $i\ne j$ there is no edge connecting $a_i$ and $a_j$ in the given graph
I know that I can set this up as a boolean satisfiability problem. But I was wondering if there is anything in the structure of this particular problem which will allow for a more efficient approach?