Choisir un sous-ensemble pour maximiser la distance minimale entre les points


12

J'ai un ensemble de points , et j'ai la distance entre chaque pointCD(Pi,Pj) . Ces distances sont euclidiennes mais les points se trouvent en fait dans un espace caractéristique.

Parmi les points je veux choisir un sous-ensemble de points. Appelez ce sous-ensemble . Je veux choisir ce sous-ensemble afin de maximiser la distance minimale entre tous les points du nouvel ensemble .Cnss

maxsC|s|=n(mini,jsijD(Pi,Pj))

En ce moment, j'utilise l'escalade pour résoudre ce problème. Je comprends que le recuit simulé peut donner une meilleure solution.

Existe-t-il une solution connue à ce type de problème? Ou ce problème peut-il être reformulé en un autre problème facile à résoudre?


Je suis intéressé par un problème similaire. Sur la base de mes résultats de recherche jusqu'à présent, il est comparable au problème de dispersion de p dans le problème de localisation des installations pour lequel il s'agit d'un bon article de synthèse.
XTZ

Savez-vous quel est le nom de ce problème?
Dandelion

Réponses:


7

La version de problème de décision de ce problème d'optimisation est:

Étant donné un seuil , vous voulez savoir s'il est possible de trouver un sous-ensemble de points de sorte que chaque paire de points dans le sous-ensemble soit au moins unités séparées.tnt

Bien sûr, si vous pouvez résoudre le problème de décision, nous pouvons résoudre votre problème d'optimisation (par recherche binaire sur le seuil ).t

Or, ce problème de décision est le problème de trouver un ensemble indépendant dans un graphe euclidien, où les points ont un bord entre eux s'ils sont à distance écart. Une approche consisterait à examiner des algorithmes d'approximation standard pour un ensemble indépendant.x,yt

Encore mieux, vous pouvez regarder des algorithmes pour un ensemble indépendant dans des graphiques d'intersection géométrique . Considérons un ensemble de disques, où chaque disque a un diamètre et est centré sur l'un des points de votre ensembletC . Nous pouvons maintenant former un graphique d'intersection géométrique, où il y a un sommet pour chaque disque et une arête entre deux sommets si leurs disques correspondants se croisent. Le problème de trouver un ensemble indépendant dans ce type de graphique a été étudié et il existe des algorithmes d'approximation pour ce problème que vous pourriez essayer d'utiliser.

Si vous voulez l'optimum exact plutôt qu'une approximation, vous pouvez utiliser n'importe lequel des "gros marteaux" standard, comme un solveur SAT ou un solveur ILP. Il existe un moyen simple de formuler le problème d'ensemble indépendant en tant qu'instance SAT, puis vous pouvez lui appliquer un solveur SAT pour déterminer s'il existe un sous-ensemble de points qui sont tous éloignés les uns des autres.nt

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.