Supposons que j'ai un graphe G complet non orienté avec une distance associée à chaque arête. La signification du bord (u, v) ayant la longueur l est "les points u et v ne peuvent pas être plus proches l'un de l'autre que l." Mon but est de placer les noeuds de ce graphe dans un plan afin qu'aucune de ces contraintes de distance ne soit violée et que la coque convexe des points ait la plus petite surface totale. À titre d'exemple, supposons que j'ai un tas de composants électriques que je veux mettre sur une puce, dont chacun génère une certaine quantité d'interférences électriques. Si je mets les composants trop près l'un de l'autre, ils commenceront à interférer les uns avec les autres, rendant tout le système inutile. Compte tenu des distances minimales que chaque point doit être l'un par rapport à l'autre, quelle est la manière la plus efficace sur le plan spatial de placer les composants sur une puce?Points d'emballage rapproché dans l'avion?
Je ne sais pas comment commencer à y penser. Je ne sais pas non plus comment le problème pourrait se généraliser au cas de dimension supérieure (empiler les points dans un hyperplan). Est-ce que quelqu'un sait d'un bon moyen de s'attaquer à ce problème? Je suppose qu'il sera difficile de trouver l'algorithme optimal.
Vous souhaitez rechercher un dessin graphique. Les techniques dirigées par la force pourraient vous donner un bon résultat dans ce cas. – novalis
@ novalis- Je suis au courant de ces techniques, mais à ma connaissance il n'y a aucune preuve que celles-ci donnent des solutions optimales (ou même quelque chose proche d'une solution optimale). Je suis à la recherche d'un algorithme qui serait dans un certain facteur prévisible d'optimal. – templatetypedef
Plutôt que la zone de la coque convexe (par la réponse de Chris Hopman), vous voulez probablement minimiser quelque chose comme le produit du rapport d'aspect et le rayon du centroïde au point le plus éloigné. Je suppose que pour que ce soit significatif que votre graphique soit complètement dense - vous n'avez pas de composants qui peuvent 'empiler' dans la même position? – Novelocrat