Trova il punto centrale in un set di punti dello spazio metrico, in meno di


9

Ho un set di punti che sono definiti in uno spazio metrico, quindi posso misurare una 'distanza' tra i punti ma nient'altro. Voglio trovare il punto più centrale all'interno di questo set, che definisco il punto con la somma minima delle distanze da tutti gli altri punti. Il calcolo della metrica è lento, quindi deve essere evitato ove possibile.n

Il modo ovvio per trovare questo punto utilizza calcoli della distanza metrica, in quanto semplicemente (a) calcola per ogni punto la somma delle distanze da tutti gli altri punti e quindi (b) prende il punto minimo.n2

C'è un modo per farlo in confronti di distanza inferiore a ? (Probabilmente facendo uso della disuguaglianza del triangolo in qualche modo, che dovrebbe valere per la mia metrica.)O(n2)

Una buona approssimazione potrebbe essere sufficiente se non esiste un metodo esatto.


Senza la disuguaglianza del triangolo (o qualche altro modo per ottenere informazioni sui bordi non misurati), è l'unica soluzione; questo può essere visto da un argomento antagonista. O(n2)
Kittsil,

Supponiamo che la disuguaglianza del triangolo sia disponibile - dovrebbe essere per la mia metrica.
Open Door Logistics,

Questo essenzialmente sta calcolando le radio di un grafico con uguaglianza triangolare.
Kaveh,

@Kaveh Immagino che intendi il raggio ... a meno che il grafico non abbia un bordo rotto. Mi assicuro che c'è troppo vocabolario che non conosco. --- Ma è quindi un grafico completo e la dimensione di input è solo il numero di vertici.
babou,

@OpenDoorLogistics Se non ha la disuguaglianza del triangolo, non è uno spazio metrico, per deifinazione. Per favore chiarisci la domanda: se sai che è uno spazio metrico, allora sai che ha la disuguaglianza del triangolo; se non sai che ha la disuguaglianza del triangolo, non puoi affermare che sia uno spazio metrico.
David Richerby,

Risposte:


6

No. Non puoi fare meglio di nel peggiore dei casi.Θ(n2)

10.91.01.1


RdO((d+1)n)d+1

d+1PPPPPO(n2)


nn1Θ(n2)

n

@DW Grazie - possiamo fare qualcosa di meglio nel caso medio? Ciò è motivato da un problema del mondo reale, quindi è probabile che i dati siano "medi" (qualunque cosa ciò significhi).
Open Door Logistics,

@all - si scusa per la confusione re: metric (sono un laico in CS teorico). La mia funzione di distanza obbedisce sicuramente ai 4 criteri per uno spazio metrico, secondo la definizione di Wikipedia di un collegamento allo spazio metrico .
Open Door Logistics,

@OpenDoorLogistics, ho aggiunto un caso speciale in cui sembra possibile fare di meglio.
DW

0

Scopri il lavoro di Piotr Indyk sugli algoritmi veloci per gli spazi metrici. ( Algoritmi sublineari per problemi di spazio metrico , in Proceedings of STOC '99 , pp.428–434. ACM, 1999; PS ) La sezione 3 fornisce un algoritmo 1-mediana approssimativo a tempo lineare.


1
Potresti fornire un riepilogo dell'algoritmo? Idealmente stiamo cercando risposte complete, piuttosto che collegamenti a contenuti esterni.
David Richerby,

Ci scusiamo per la risposta molto lenta. Ovviamente non controllo StackExchange molto spesso. Penso che mi occorrerebbe più di un'ora per scrivere un sommario decente a metà, mentre il documento di Piotr è magnificamente scritto, spiega l'algoritmo in modo molto nitido e ha tutte le definizioni precise accanto. Pertanto, consiglierei vivamente di utilizzare questo contenuto esterno di alta qualità, piuttosto che il contenuto interno di media qualità che potrei produrre. La risposta breve è: se sei disposto a trovare solo una mediana approssimativa, puoi farlo in tempo lineare O (n).
user71641
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.