Tidak. Anda tidak dapat melakukan lebih baik dari dalam kasus terburuk.Θ(n2)
Pertimbangkan pengaturan titik di mana setiap pasangan titik berada pada jarak dari satu sama lain. (Ini adalah konfigurasi yang mungkin.) Maka Anda tidak dapat melakukan lebih baik daripada memeriksa setiap sisi. Khususnya, jika ada sisi yang belum Anda periksa, maka musuh dapat memilih panjang sisi itu menjadi 0,9 , 1,0 , atau 1,1 ; semua pilihan itu konsisten dengan semua pengamatan lain yang telah Anda buat dan dengan persyaratan metrik (misalnya, dengan ketimpangan segitiga), sehingga ketiganya mungkin; tetapi mereka membutuhkan keluaran yang berbeda. Jadi, jika algoritme Anda tidak memeriksa tepi itu dan kemudian mengeluarkan sesuatu, musuh selalu dapat memilih panjang untuk tepi yang tidak diperiksa yang akan membuat output algoritme Anda salah.10.91.01.1
Namun, jika Anda tahu bahwa semua titik hidup dalam (meskipun Anda tidak diberi koordinatnya), maka masalahnya dapat diselesaikan dengan mengukur jarak O ( ( d + 1 ) n ) , dengan asumsi tidak ada degenerasi (tanpa subset dari d + 1 poin adalah co-planar).RdO((d+1)n)d+1
Secara khusus, pilih poin secara acak. Ini akan menjadi titik jangkar. Mengingat jarak berpasangan mereka, Anda dapat menghitung koordinat untuk mereka yang konsisten dengan jarak berpasangan mereka. Sekarang, untuk setiap titik P lainnya , hitung jarak dari P ke setiap titik jangkar. Menggunakan triangulasi dan jarak ini, Anda dapat menghitung lokasi P relatif terhadap jangkar poin dan dengan demikian koordinat untuk P . Lakukan ini untuk setiap titik non-jangkar Pd+1PPPPP. Sekarang Anda memiliki koordinat untuk setiap titik, dan Anda dapat menggunakan koordinat itu untuk menemukan titik pusat tanpa meminta oracle untuk memberi Anda jarak berpasangan lagi. Saya tidak tahu apakah langkah terakhir ini dapat dilakukan lebih cepat dari waktu , tetapi hal itu dapat dilakukan tanpa mengukur lagi jarak berpasangan.O ( n2)