# Minimum overlap partitioning

We are given $N$ sets of $M$ non-unique elements each. The amount of overlap (computed as the element count in the set intersection) between the elements of these sets is stored in a $N \times N$ matrix.

The aim is to find a way of grouping the $N$ sets into two classes, where one class has roughly 67% of the sets and the other one has the rest, such that the overlap of elements between the two groups is minimal. The group elements are the union of all elements of their assigned sets, and the overlap is defined as the element count in the group intersection.

Could you please suggest me an algorithm to find such groupings?