2016-10-18 6 views
1

У меня есть несортированная группа из N синих точек и M красных точек в трехмерном пространстве, где M < = N (каждая точка представлена ​​координатами X, Y, Z). Есть ли алгоритм «с полки» в R, который может найти для каждой красной точки ближайшую синюю точку? Алгоритм должен свести к минимуму сумму квадратов эвклидовых расстояний между парными парами M, подвергая ограничение, что отображение является единым целым, что означает, что каждая синяя точка отображается не более чем на одну красную точку. Обратите внимание, что поскольку M < = N, там будут синие точки без соответствия.Соответствие между двумя группами точек в трехмерном пространстве в R

+0

вы можете добавить некоторые тестовые данные. –

+0

Если вы «находите для каждой красной точки ближайшую голубую точку», тогда какая-то синяя точка может быть прикреплена к нескольким красным точкам. Это то, что вы хотите? – user31264

+0

Посмотрите на сопоставление двухсторонних графов –

ответ

0

Похоже, что вам нужно близко к assignment problem, решена Hungarian algorithm. Вы должны (1) переформулировать это как проблему присвоения и (2) проверить, реализовано ли оно в R (google для задачи назначения R или венгерский алгоритм R и т. Д.)

+0

Это сработало отлично. Венгерский метод реализуется в R по подсказке :: solve_LSAP() – Sasha