Encuentre el conjunto S que maximiza la distancia mínima entre puntos en S unión A

I would like to find a set S of given cardinality k maximizing the minimum distance between each points and a given set A. Is there a simple algorithm to find the solution of this max-min problem ?

Given a universe X ⊆ R^d and A ⊆ X,
find the argmax_{S⊆X, |S|=k} min_{s⊆S, s'≠s ⊆ S∪A} distance(s,s')

Gracias !

preguntado el 12 de junio de 12 a las 16:06

For estimating the complexity, d~10, |X|~10^4, |A|~100, k~10 -

Can I respectfully ask whether this is a homework problem, or is it a research question? -

This is a research question. My real problem is more complicated but I presented it in a clean way. It comes from a kind of sequential non-convex optimisation problem. -

This is a sort of sphere packing problem and these problems tend to be unsolvable. Of course in the discrete case there' s always brute force, but probably nothing less than that will help. -

3 Respuestas

For a given k with X and A as input brute forcing is obviously in P (as C(|X|,k) is polynomial in |X|).

If k is also an input then it might depends on 'distance' :

If 'distance' is arbitrary then your problem is equivalent to find a fixed size clique in a graph (which is NP-complete):

NP-Dureza :

Take an instance of the clique problem, that is a graph (G,E) and a integer k. Add to this graph a vertex 'a' connected to every other vertex, let (G',E') be your modified graph.

(G',E') k+1 is then an equivalent instance of your first instance of the clique problem.

Create a map Phi from G' to R^d (you can map G' on N anyway ...) and defined 'distance' such that distance(Phi(c),Phi(d')) = 1 if (c,d) ⊆ E', 0 otherwise.

X = Phi(G'), A = Phi({a}), k+1 give you an instance of your problem.

You can notice that by construction s ≠ Phi(a) <=> distance(s,Phi(A)) = 1 = max distance(.,.), i.e. min_{s⊆S, s'≠s ⊆ S∪A} distance(s,s') = min_{s⊆S, s'≠s ⊆ S} distance(s,s') if |S| = k >= 2

Solve this instance (X,A,k+1) of your problem : this give you a set S of cardinality k+1 such that min( distance(s,s') |s,s'⊆ S, s≠s') is maximal.

Check whether there are s,s'⊆ S, s≠s', distance(s,s') = 0 (this can be done in k^2 as |S| = k) :

  • if it is the case then there is no set of cardinality k+1 such that forall s,s' distance(s,s') = 1 i.e. there is no subgraph of G' which is a k+1-clique
  • if it's not the case then map back S into G', by definition of the 'distance' there is an edge between any vertices of Phi^-1 (S) : it's a k+1 clique

This solve with a polynomial reduction a problem equivalent to the clique problem (known as NP-hard).

NP-Easiness :

Let X, A, k be an instance of your problem.

For any subset S of X min_{s⊆S, s'≠s ⊆ S∪A} distance(s,s') can only take value in {distance(x,y), x,y ⊆ X} -which has a polynomial cardinal-.

To find a set that maximize this distance we will just test every possible distance for a correct set in a decreasing order.

To test a distance d we first reduce X to X' containing only points at distance >= d of A{the point itself}.

Then we create a graph (X',E) ¤ where (s,s') ⊆ E iff distance(s,s') >= d.

Test this graph for a k-clique (it's NP-easy), by construction there is one iff there it's vertices S are a set with min_{s⊆S, s'≠s ⊆ S∪A} distance(s,s') >= d


If 'distance' is euclidean or have any funny property it might be in P, I don't know but I won't hope too much if I were you.

¤ I assumed that X (and thus X') was finite here

Respondido el 12 de junio de 12 a las 23:06

This is probably NP-hard. Greedily choosing the point furthest away from previous choices is a 2-approximation. There might be a complicated approximation scheme for low d based on the scheme for Euclidean TSP by Arora and Mitchell. For d = 10, forget it.

Respondido el 12 de junio de 12 a las 17:06

Ok, I was not sure of its complexity. Could we have a proof or is it just a "feeling" ? I use this approximation for now. It's fine if it is a 2-approximation of a NP-hard problem. - M1L0U

The corresponding problem in general graphs is the target of a straightforward reduction from independent set. - magia

The top 2 results for the search sphere packing np complete turned up references to a 1981 paper proving that optimal packing and covering in 2d is np complete. I do not have access to a research library, so I can't read the paper. But I expect that your problem can be rephrased as that one, in which case you have a proof that it you have an NP-complete problem.

Respondido el 12 de junio de 12 a las 18:06

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.