Metrik uzay noktası kümesindeki merkezi noktayı değerinden daha az olarak mı ?


9

Ben bir dizi var ı noktaları ama başka bir şey arasında bir 'mesafe' ölçmek için - bir metrik uzayda tanımlanan noktaları. Diğer tüm noktalara minimum uzaklık toplamı olan nokta olarak tanımladığım bu set içindeki en merkezi noktayı bulmak istiyorum. Metrik hesaplama yavaştır, bu nedenle mümkün olduğunca kaçınılmalıdır.n

Bu noktayı bulmanın bariz yolu metrik mesafe hesaplamaları kullanır , çünkü (a) her bir nokta için diğer tüm noktalara olan uzaklıkların toplamını hesaplar ve (b) minimum noktayı alır.n2

Bunu den daha az mesafe karşılaştırmasında yapmanın bir yolu var mı ? (Muhtemelen metriğimde olması gereken üçgen eşitsizliğini bir şekilde kullanmak.)O(n2)

Kesin bir yöntem yoksa iyi bir yaklaşım yeterli olabilir.


Üçgen eşitsizliği (veya ölçülmemiş kenarlar hakkında bilgi edinmenin başka bir yolu) olmadan, tek çözümdür; bu antagonist bir argümanla görülebilir. O(n2)
Kittsil

Üçgen eşitsizliğinin mevcut olduğunu varsayın - metrikim için olmalı.
Açık Kapı Lojistiği

Bu aslında bir grafiğin radyolarını üçgen eşitliği ile hesaplamaktadır.
Kaveh

@Kaveh Sanırım yarıçapı kastediyorsunuz ... grafik kenarları kırık değilse. Bilmediğim çok fazla kelime olduğundan eminim. --- Ama o zaman tam bir grafik ve giriş boyutu sadece köşe sayısıdır.
babou

@OpenDoorLogistics Üçgen eşitsizliği yoksa, tanım ile metrik bir alan değildir. Lütfen soruyu açıklayın: bunun bir metrik uzay olduğunu biliyorsanız, üçgen eşitsizliğine sahip olduğunu biliyorsunuz; üçgen eşitsizliğine sahip olduğunu bilmiyorsanız, bunun metrik bir alan olduğunu iddia edemezsiniz.
David Richerby

Yanıtlar:


6

Hayır . En kötü durumda daha iyisini yapamazsınız .Θ(n2)

Her nokta çiftinin birbirinden mesafede olduğu bir nokta düzenlemesi düşünün . (Bu olası bir yapılandırmadır.) O zaman her kenarı incelemekten daha iyisini yapamazsınız. Özellikle, incelemediğiniz herhangi bir kenar varsa, bir rakip o kenarın uzunluğunu , veya seçebilir ; bu seçeneklerin tümü, yaptığınız diğer tüm gözlemlerle ve bir metriğin gereklilikleriyle (örneğin, üçgen eşitsizliğiyle) tutarlıdır, bu nedenle üçü de mümkündür; ancak farklı çıktılar gerektirirler. Bu nedenle, algoritmanız bu kenarı incelemiyor ve daha sonra bir şey çıkarıyorsa, bir rakip her zaman incelenmemiş kenar için algoritmanızın çıktısını yanlış yapacak bir uzunluk seçebilir.10.91.01.1


Ancak, tüm noktaların (koordinatlarına sahip olmamanıza rağmen) yaşadığını biliyorsanız , sorun varsa mesafeleri ölçülerek çözülebilir. dejenerasyonlar ( noktalarının hiçbir alt kümesi eş düzlemsel değildir).RdO((d+1)n)d+1

Özellikle, rastgele puanlarını seçin . Bunlar bağlantı noktaları olacaktır. İkili mesafeleri göz önüne alındığında, ikili mesafeleriyle tutarlı olan koordinatlar için hesaplama yapabilirsiniz. Şimdi, diğer her noktası için , bağlantı noktalarının her birine olan mesafeyi hesaplayın . Nirengi ve bu mesafeleri kullanarak , sabitleme noktalarına göre konumunu ve dolayısıyla koordinatlarını hesaplayabilirsiniz . Bunu, sabit olmayan her noktası için yapın . Artık her nokta için koordinatlarınız var ve sizden daha fazla çift mesafeler vermenizi istemeden merkezi noktayı bulmak için bu koordinatları kullanabilirsiniz. Bu son adımın daha hızlı yapıp yapamayacağını bilmiyorumd+1PPPPPO(n2) süresi , ancak daha fazla çift mesafeyi ölçmeden yapılabilir.


boyutunda puanınız var . Girişin tüm koordinatlarına bakmak bile süresi gerektirir. nn1Θ(n2)
Louis

@Louis Soru boyutlar hakkında hiçbir şey söylemiyor ve bunun bir metrik olduğundan emin değil. Tüm sahip olduğumuz üçgen eşitsizliği. Yani doğru görüş Kaveh'in yorumudur: tam bir grafik olarak. Bu cevapla tutarlıdır. Ancak sınırsız büyüdüğünde herhangi bir sabit metrikle tutarlı olup olmadığı hakkında hiçbir fikrim yok . n
babou

@DW Teşekkürler - ortalama durumda daha iyi bir şey yapabilir miyiz? Bu, gerçek dünyadaki bir sorun tarafından motive edilir, bu nedenle verilerin 'ortalama' olması muhtemeldir (ne anlama gelirse gelsin).
Açık Kapı Lojistiği

@all - karışıklık için özür dilerim: metrik (teorik CS'de meslekten olmayan biriyim). Mesafe işlevim, metrik alan bağlantısının Wikipedia tanımına göre, bir metrik alan için 4 kritere kesinlikle uyuyor .
Açık Kapı Lojistik

@OpenDoorLogistics, daha iyisini yapmanın mümkün olduğu özel bir durum ekledim.
DW

0

Piotr Indyk'in metrik uzaylar için hızlı algoritmalar konusundaki çalışmalarına göz atın. ( Metrik Uzay Sorunları Sublinear algoritmalar olarak, STOC '99 Proceedings , pp.428-434 ACM, 1999;. PS ) Bölüm 3, bir doğrusal süresi yaklaşık 1 medyan algoritma verir.


1
Algoritmanın bir özetini verebilir misiniz? İdeal olarak, harici içeriğe bağlantılar yerine tam yanıtlar arıyoruz.
David Richerby

Çok yavaş cevap için özür dilerim. Açıkçası StackExchange çok sık kontrol etmiyorum. Yarıda iyi bir özet yazmamın bir saatten fazla süreceğini düşünüyorum, oysa Piotr'un makalesi güzelce yazılmış, algoritmayı çok net bir şekilde açıklıyor ve yanında tüm kesin tanımlara sahip. Bu yüzden, üretebileceğim orta kaliteli iç içerikten ziyade bu yüksek kaliteli dış içeriğin kullanılmasını kişisel olarak şiddetle tavsiye ediyorum. Kısa cevap: Sadece yaklaşık bir medyan bulmak istiyorsanız, bunu doğrusal zaman O (n) 'de yapabilirsiniz.
user71641
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.