Nokta mesafesine göre ağırlıklı bir grafiğe katışan noktayı kurtarma


10

Size ağırlıklı kenarları olan yönlendirilmemiş bir grafik verdiğimi varsayalım ve her düğümün 3B alanda bir noktaya karşılık geldiğini söylüyorum. İki düğüm arasında bir kenar olduğunda, kenarın ağırlığı noktalar arasındaki mesafedir.

Amacınız sadece mevcut mesafeler (kenar ağırlıkları ile temsil edilen) göz önüne alındığında noktaların göreceli konumlarını yeniden yapılandırmaktır. Örneğin, size verdiysem, noktaların bir tetrahedronun köşe noktaları olduğunu biliyorsunuzdur. . Kökeni veya oryantasyonuna göre nerede olduğunu veya yansıtıldığını bilmiyorsunuz, ancak bunun bir tetrahedron olduğunu söyleyebilirsiniz.d0,1=d0,2=d0,3=d1,2=d1,3=d2,3=1

Genel olarak, size tüm kenar uzunluklarını verirsem sorun kolaydır. Sadece keyfi bir nokta almak olmak ( 0 , 0 , 0 ) daha sonra, bir komşu nokta almak p 1 de yer ve bunu ( d 0 , 1 , 0 , 0 ) , daha sonra yaygın bir komşu p 2 üzerine üçgen alır XY düzlemi, daha sonra son bir ortak komşu p 3 yarı boşluğa üçgenlenir z > 0p0(0,0,0)p1(d0,1,0,0)p2p3z>0ve kalan simetriyi bozar (dejenere nokta seçmediğinizi varsayarsak). Kalanları üçgenlemek için bu dört noktayı kullanabilirsiniz.

Öte yandan, bazı kenar uzunlukları eksik olduğunda gömme işleminin geri kazanılması mümkün olmayabilir. Örneğin, kesildiğinde grafiğin bağlantısını kesen bir tepe noktası varsa, kaldırılırsa ayrılacağı iki bileşen birbirine göre dönebilir.

Hangi soruları gündeme getiriyor:

  • Bir çözüm bulmak ne kadar pahalı?
  • Bir çözümün çeviri / döndürme / yansıtma işlemine kadar benzersiz olup olmadığını nasıl belirlersiniz? 3 bağlantılılık yeterli mi? Gerekli?
  • Ne tür koşullar sorunu önemsiz kılar?
  • Kenar ağırlıklarının aslında günah noktası 3d'e karşılık geldiğine söz vermezsem, gömme işleminin mümkün olup olmadığını belirlemek ne kadar pahalıdır?

bana bir makine öğrenme sorunu gibi geliyor ...
vzn

Hangi cevabı seçeceğime dair hiçbir fikrim yok. Üst üste binmeyen şekillerde hepsi iyidir. En iyi oyu verdi!
Craig Gidney

Yanıtlar:


5

Bu problemi çözmek için algoritmik bir yaklaşım: bunu yaylarla birbirine bağlanmış bir dizi düğüm olarak ele alın ve sonra şekillenmesine / gevşemesine izin verin.

Her kenar bir yaya karşılık gelir; v ve w noktaları arasındaki mesafenin d v , w olması gerekiyorsa , o zaman yay ideal olarak d v , w uzunluğunda olmak ister (daha uzun veya daha kısa olabilir, ancak bu enerjiye mal olur). Şimdi toplam enerjiyi en aza indiren bir dizi pozisyon için çözmek istiyoruz. Her bir köşe varsayalım v noktasında yerleştirilir x vR 3 . Sonra bu düzenlemenin toplam enerjisi(v,w)vwdv,wdv,wvxvR3

E(x)=(v,w)E(distance(xv,xw)dv,w)2.

Burada 'ler verilir (kenarlardaki ağırlıklardır) ve x v ' ler için çözmek istiyoruz (bunlar noktaların koordinatlarıdır).dv,wxv

Bu toplam enerjiyi en aza indiren bir düzenleme için çözebiliriz . Bu düzenleme daha sonra puanların pozisyonları için makul bir aday sağlar. Bu bir optimizasyon problemidir ve bu tür bir optimizasyon problemini çözmek için standart teknikler vardır. Örneğin, Erica Klarreich'in Network Solutions makalesine bakın.x

Bunun istenen doğru çözümü sağlayacağına dair bir garanti olduğunu düşünmüyorum. Optimizasyon probleminin, aradığınız noktaların gerçek düzenlemesini yansıtmayan farklı bir optimum duruma yerleşmesi mümkündür. Ancak, grafiğiniz yeterince yoğunsa, sık sık işe yarayabileceğini ve size istenen çözümü verebileceğini düşünüyorum.


Dipnot: Tabii ki en iyi durumda bile bu sorunu sadece çeviri, döndürme ve yansımaya kadar çözebiliriz, çünkü bu dönüşümler tüm mesafeleri korur. Böylece, benzersiz bir çözüm bekleyemezsiniz - ancak çözümün çeviri, döndürme ve yansımaya kadar benzersiz olduğunu umabilirsiniz.


Son olarak, grafiklerin boşluğa gömülmesi ve gömülmenin bozulmasını en aza indirmeye yönelik çok çalışma var . Bu çok ilgili; temel olarak 2 içine gömülmüş bir sıfır bozulma olmasını istiyorsunuz . Bu nedenle, bu bağlamda geliştirilen teknikler probleminiz için de yararlı olabilir. Tipik olarak, bu çalışma düşük distorsiyonlu gömme bulmaya odaklanır, çünkü bu çalışma tüm mesafelerin tam olarak eşleşmesini sağlayan mükemmel bir gömme olmadığı duruma odaklanır, bunun yerine düşük distorsiyonlu bir çözüm arar (çoğu kenar mesafesinin olduğu yerde) iş biraz farklı bir soruna odaklanır. Ancak, tekniklerinin sizin durumunuzda da etkili olması mümkündür. Denemeye deger.22


4

Sorun NP-Complete . Noktaların pozisyonları iyi bir sertifikadır, bu yüzden NP'de ve devreleri "tatmin edici bir nokta var mı?" sorun.

Devre Değerlendirmeden Mesafe Gömme'ye Azaltma

Bir koordinat sistemi oluşturarak, içine mantıksal bitler koyarak, bitleri eşit olacak şekilde kablolama ve NOT ve AND kapıları için widget'lar oluşturarak devre değerlendirmesini mesafeye gömme sorununa indireceğiz.

  1. 1

  2. 1v1v13

  3. Teller . Değer noktaları arasındaki mesafenin, üçgenlerinin merkezleri arasındaki mesafeye eşit olduğunu söyleyerek iki biti eşit olmaya zorlayabiliriz. Bir istisna vardır: bitlerden birinin üst veya alt köşesi tam olarak diğerinin merkez düzlemiyle hizalandığında. Bu durumda önce bitlerden birini dikey olarak hareket ettirmek için bir tel kullanırız.

  4. ww23vwv

  5. ZARARLILAR . Kablolarla çalışmak zorunda olduğumuz eşitlikçi konu aslında oldukça faydalı. Bitler, dikey bir tel ile zorlayabileceğimiz şekilde sıralandığında, yüksek olan düşük olanı ifade eder. Eğer yüksek olan doğruysa, sadece alttaki olanın üstü doğru mesafedir. Daha yüksek olan yanlışsa, hem üst hem de alt doğru mesafedir.

  6. CABABCACBAB23CSASB2123ABSASB2+13SC2+123SASBABSCABSCCA=BSCCACSD123SCCCABA=B=CA=B

Bu elemanlarla, herhangi bir devreyi mesafe gömme içine kodlayabilirsiniz. Girişler bit olur, kapılar NOT'lara ayrılır ve VE'lar gerektiği gibi yeni bitler sunar ve hepsi bu. Çıktının konumunu doğru olmaya zorlayın ve tatmin edilebilirlik sorununuzu elde edin.


3

Teklik üzerine kısmi cevap : 3 bağlantılılık yeterli değildir .

Q3

resim açıklamasını buraya girin

Q3

İlgilenilen köşeler olmak için karton kutunun köşelerini alın. Bir karton kutunun her köşesi, bir kutunun yüzünü paylaştığı diğer köşelere sabit bir mesafeye sahiptir.

Q3


Tam olarak takip etmiyorum. Bununla birlikte, noktaları birbiri üzerine koyarak 3 bağlantılılığı etkili bir şekilde 1 bağlantılılığa dönüştürebileceğinizi fark ettim. Yani ham 3 bağlantılılık yeterli olamaz.
Craig Gidney

@DW Argümanı önerildiği gibi genişletiyorum. Seni tartışma tutmadım çünkü four points laying above or below the other fouraynalayarak birbirine dönüşebilir.
Apiwat Chantawibul

K4

K4K4

3

bu, aşağıdaki sorun olarak bilinir ve örneğin, yakındaki düğümlere olan mesafeyi ölçebilen sensör ağlarından koordinatların yeniden yapılandırılmasıyla ortaya çıkar ve bu çalışma, önde gelen algoritmalarla birlikte bir mini anket görevi görebilir. önde gelen bir yöntem, başka bir Tekil Değer Harmanlaması olan Tekil Değer Projeksiyonu olarak bilinir. algoritmalar genellikle matris cebiri ve sıralama indirgemesine dayanır. makale her iki algoritmayı da uygular ve bazı ampirik analizler verir.

Kısmi Mesafe Bilgisinden Öklid Uzaklıklarının Yeniden Yapılandırılması Xu, Chen

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.