Відновлення точки вбудовування з графіка з ребрами, зваженими на точку відстані


10

Припустимо, я надам вам непрямий графік із зваженими ребрами та скажу, що кожному вузлу відповідає точка в 3d-просторі. Щоразу, коли між двома вузлами є ребро, вага краю - це відстань між точками.

Ваша мета - реконструювати відносні положення точок, враховуючи лише наявні відстані (представлені ребрами ваг). Наприклад, якщо я дав вам , то ви знаєте, точки - вершини тетраедра. Ви не знаєте, де це відносно походження чи його орієнтації, чи це дзеркальне відображення, але ви можете сказати, що це тетраедр.г0,1=г0,2=г0,3=г1,2=г1,3=г2,3=1

Загалом, проблема проста, якщо я надаю вам всю довжину ребер. Просто довільно виберіть точку щоб вона була на , потім виберіть сусідню точку та поставте її на , тоді загальний сусід стає трикутним на XY площині, тоді кінцевий загальний сусід стає трикутним у напівпросторі і порушує симетрію, що залишилася (припускаючи, що ви не вибрали вироджені точки). Ви можете використовувати ці чотири точки для тріангуляції всіх решти. ( 0 , 0 , 0 ) p 1 ( d 0 , 1 , 0 , 0 ) p 2 p 3 z > 0p0(0,0,0)p1(г0,1,0,0)p2p3z>0

З іншого боку, якщо деякі довжини країв відсутні, відновлення вставки може бути неможливим. Наприклад, якщо є вершина, яка відключає графік при вирізанні, то два компоненти, які він би відокремив, якщо їх видалити, можуть розгойдуватися відносно один одного.

Що викликає питання:

  • Наскільки дорого знайти рішення?
  • Як визначити, чи рішення унікальне, аж до перекладу / обертання / дзеркального відображення? Чи достатня 3-з’єднаність? Необхідні?
  • Які ж умови роблять проблему тривіальною?
  • Якщо я не обіцяю, що вагові межі насправді відповідають точковій відстані sin 3d, наскільки дорого визначити, чи можливо взагалі вбудовування?

відчуває себе проблемою машинного навчання для мене ...
vzn

Я не маю уявлення, яку відповідь вибрати. Всі вони хороші непересічними способами. Топ проголосував один такий!
Крейг Гідні

Відповіді:


5

Один алгоритмічний підхід до вирішення цієї проблеми: трактуйте це як набір вузлів, з'єднаних пружинами, а потім дайте їм осісти / розслабитися у формі.

Кожен край відповідає пружині; якщо відстань між точками v і w повинно бути d v , w , пружина вибирається таким чином, вона в ідеалі хоче бути довжиною d v , w (вона може бути довшою або коротшою, але це коштує енергії). Тепер ми хочемо вирішити набір позицій, які мінімізують загальну енергію. Припустимо, кожна вершина v розміщена в точці x vR 3 . Тоді буде загальна енергія цієї домовленості(v,w)vшгv,шгv,шvхvR3

Е(х)=(v,ш)Е(відстань(хv,хш)-гv,ш)2.

Тут задано (вони є вагами на ребрах), і ми хочемо вирішити для x v 's (це координати точок).гv,шхv

Ми можемо вирішити для домовленості яка мінімізує цю загальну енергію. Тоді ця домовленість забезпечує розумного кандидата на позиції балів. Це проблема оптимізації, і є стандартні методи вирішення подібної задачі оптимізації. Дивіться, наприклад, статтю Мережеві рішення Еріки Кларрейх.х

Я не думаю, що є гарантія, що це забезпечить правильне бажане рішення. Можливо, що проблема оптимізації може відповідати іншому оптимуму, який не відображає фактичне розташування точок, які ви шукали. Однак якщо ваш графік досить щільний, я підозрюю, що він може часто працювати і дасть вам потрібне рішення.


Виноска: Звичайно, навіть у кращому випадку ми можемо вирішити цю проблему лише до перекладу, обертання та відображення, оскільки ці трансформації зберігають усі відстані. Таким чином, ви не можете очікувати унікального рішення - але ви можете сподіватися, що рішення є унікальним аж до перекладу, обертання та розмірковування.


Нарешті, багато роботи над вбудовою графіків у простір , мінімізуючи спотворення вбудовування. Це дуже пов’язано; ви в основному просите вбудувати нульове спотворення в 2 . Таким чином, розроблені в цьому контексті методи можуть бути корисними і для вашої проблеми. Як правило, ця робота зосереджена на пошуку вбудовування з низьким спотворенням, оскільки ця робота зосереджена на тому випадку, коли немає ідеального вбудовування, яке змушує точно збігати всі відстані, тому натомість шукає рішення з низьким спотворенням (таке, де більшість крайових відстаней добре співпадають) - так що робота зосереджена на дещо іншій проблемі. Однак можливо, що їх методи можуть бути ефективними і у вашій ситуації. Варто спробувати.22


4

Проблема - NP-Complete . Позиції точок - це хороший сертифікат, тому це в NP, і ви можете кодувати схеми в "чи є задовольняючий набір точок?" проблема.

Зменшення від оцінки ланцюга до вставки на відстань

Ми збираємося зменшити оцінку ланцюга до проблеми вбудовування на відстань, створивши систему координат, вклавши в неї логічні біти, біти проводки рівні та створивши віджети для ворота NOT та AND.

  1. Координати . Нам потрібна якась система координат, за допомогою якої ми можемо розмістити точки. Зробіть це, створивши «базовий» тетраедр з точок. Додайте чотири бали, всі визнані відстані один від одного. Це змушує форму цих чотирьох точок перетворити на тетраедр. Ми можемо розташувати інші точки відносно нашої системи координат тетраедра, вказавши їх відстань до кожного з чотирьох кутів основи. Тетраедр можна перекладати, обертати і відбивати, але те ж саме відбудеться і з усіма іншими точками.1

  2. Шматочки . Щоб зробити трохи, розташуємо трикутник точок відносно базового тетраедра. Нормальний трикутник повинен бути спрямований вгору вздовж осі Z, щоб трикутник був паралельний площині XY (у координатах тетраедра). Також його краї повинні мати довжину . Після цього ми додаємо точку v "значення" , вказану як відстань 1 від інших трьох. Ми не підключаємо v до базової системи координат. Це дає йому дві можливі позиції: по центру 11v1v вище або під трикутником, як завершальний кут тетраедра. Біт увімкнено, якщо точка знаходиться вище трикутника, і вимкнено, якщо нижче.13

  3. Провід . Ми можемо змусити два біти бути рівними, кажучи, що відстань між їхніми значеннями рівне відстані між центрами їх трикутників. Є один виняток: коли верхній або нижній кут одного з бітів точно співпадає з центральною площиною іншого. У цьому випадку ми спочатку використовуємо дріт для переміщення одного з бітів вертикально.

  4. НЕ . Ми можемо отримати заперечення біта, додавши другу точку значення до того ж трикутника, але вимагаючи, щоб w була відстань 2ww відv. Це змушуєwприйняти положення, протилежнеv, стосовно трикутника, даючи нам трохи з протилежним значенням.23vwv

  5. ВПРАВЛІННЯ . Проблема, що рівновіддалена, з якою нам довелося обійти дроти, насправді досить корисна. Коли біти вирівнюються таким чином, який ми можемо примусити вертикальним дротом, більш високий має на увазі нижній. Якщо вищий - правдивий, то відстань справа лише верхній. Якщо вищий - хибний, то і верхній, і нижній - на відстані правої відстані.

  6. І . Щоб зріз дорівнював A І B , нам потрібні два наслідки та віджет, щоб примусити рівність, коли A і B погоджуються. Наслідки - це лише CCABAB і СCACBAБ23СSАSБ2-123АБSАSБ2+13SС2+123SАSБABSCABSCCA=BSCCACSD123SCCCABA=B=CA=Б

За допомогою цих елементів ви можете кодувати будь-яку схему на відстань. Входи стають бітами, ворота розкладаються на NOTS і AND, вводячи нові біти за необхідності, і все. Примусьте позицію результату бути правдивою, і ви отримаєте проблему задоволеності.


3

Часткову відповідь на унікальність : 3-пов'язаності НЕ достатньо.

Q3

введіть тут опис зображення

Q3

Візьміть кути картонної коробки як вершини, що цікавлять. Кожен куточок картонної коробки має фіксовану відстань від інших куточків, якими він поділяє обличчя коробки.

Q3


Я не дуже дотримуюся. Однак я зрозумів, що ви можете перетворити 3-з’єднаність у ефективно 1-з'єднаність, поставивши точки один на одного. Отже, сирого 3-з’єднаності може бути недостатньо.
Крейг Гідні

@DW Я розширюю аргумент, як було запропоновано. Я не тримав вас в аргументі, оскільки four points laying above or below the other fourможна перетворити одне одного за допомогою дзеркального відображення.
Apiwat Chantawibul

К4

К4К4

3

ця проблема відома як наступна проблема і виникає, наприклад, з реконструкцією координат від сенсорних мереж, які можуть вимірювати відстань до довколишніх вузлів, і цей документ може служити міні-опитуванням разом з провідними алгоритмами. провідний метод відомий як сингулярне проекційне значення, ще одне сингулярне значення значення. алгоритми, як правило, засновані на матричній алгебрі та зменшенні рангів. стаття реалізує обидва алгоритми та дає деякий емпіричний аналіз.

Реконструкція відстані Евкліда від інформації про часткову відстань Сюй, Чень

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.