J'ai un ensemble d'objets. Chaque objet est placé dans "l'espace" et je connais la distance entre chaque objet. Je cherche un algorithme pour grouper des objets loin les uns des autres. Je choisis le nombre de groupes. Et les groupes doivent être "équilibrés" (chaque groupe doit contenir le même nombre d'éléments).Algorithme de regroupement d'objets indépendants
Exemple:
Supposons que j'ai 4 objets
{ A, B, C, D }
et i les représenter dans un espace à deux dimensions:
the points in a 2-dimension space http://i61.tinypic.com/b4ho51.png
je sais que la distance entre chaque objet donc
{
AB = 1
AC = 3.6
AD = 5
BC = 2.8
BD = 4.2
and so on...
}
Je veux l'algorithme aux objets du groupe en deux groupes et devrait afficher
{[ A, C ][ B, D ]}
the desired result http://i60.tinypic.com/2v19ok2.png
Bien sûr, cela est facile avec 4 objets, mais il est difficile avec plus d'articles.
J'ai beaucoup cherché, mais je n'ai rien trouvé pour un tel regroupement. J'ai lu beaucoup de choses sur le clustering k-means et d'autres méthodes de clustering, mais elles ne conviennent pas car elles regroupent des objets similaires.
Quelle est la meilleure solution?
EDIT
La formalisation du problème pourrait être la maximisation de la distance entre les éléments dans chaque groupe. C'est pourquoi l'algorithme devrait regrouper A et C, B et D.
A et D, B et C ce n'est pas une bonne solution.
L'algorithme doit traiter des points N (N> 2) et les groupes K (K < N, je choisis combien de groupes)
Si vous voulez paires de groupe à l'autre, vous devez rechercher le terme « graphe biparti ». – Bergi
Avez-vous une représentation spécifique des distances entre tous les nœuds? L'efficacité de l'algorithme dépendra de cela. – Bergi
Quelle est la formulation exacte du problème? Vous devriez trouver (et publier) une sorte de minimisation/maximisation pour une métrique sur les paires trouvées. – Bergi