J'ai un ensemble d'objets et un ensemble de propriétés (tous indépendants).
Chaque objet possède un certain nombre de propriétés.

Je souhaiterais trouver 3 sous-ensembles (disjoints) de l'ensemble des propriétés de sorte à ce qu'un maximum d'objets puissent retrouver ses propriétés dans un des 3 sous-ensembles (donc de minimiser les objets ne trouvant pas ses propriétés groupées dans un même sous-ensemble).
En d'autres mots, il s'agit de grouper (en 3) un maximum d'objets qui partagent les mêmes propriétés.

Exemples de propriété:
rond, triangle, carré, vert, rouge, bleu.

Exemples d'objets:
rond-rouge, triangle-vert, carré-bleu, triangle-carré, vert-bleu, rond-vert-bleu.

Les sous-ensembles de propriétés pourraient être:
(1) rond, rouge
(2) triangle, vert
(3) carré, bleu

Ainsi donc "rond-rouge" se trouve dans (1), "triangle-vert" dans (2) et "carré-bleu" dans (3).
"triangle-carré", "vert-bleu" et "rond-vert-bleu" seraient exclus des 3 sous-ensembles.

Voilà, je ne vois pas trop comment faire ce genre de groupement optimisé (et pouvoir le prouver).
Merci pour vos lumières