Как да намерим най-малкия N-мерен симплекс от набор от точки, който съдържа дадена точка?

Прегледах целия google и stack, но все още не съм намерил отговор на този проблем. Продължавам да намирам резултати, свързани със симплексния метод или резултати за намиране на най-малкия произволен симплекс (т.е. върховете не са ограничени). Нито мога да се сетя за аналитично решение.

Даден набор от N-измерни точки, M, и произволна N-измерна точка, q, как да намеря най-малкия N-измерен симплекс, < em>S, който съдържа q като вътрешна точка, ако върховете на S трябва да са в М? Сигурен съм, че мога да го реша с оптимизация, но бих искал аналитично решение, ако е възможно. Детерминиран алгоритъм също би бил добре.

Първоначално използвах подход на K най-близки съседи, но след това осъзнах, че е възможно N+1 най-близки съседи на q да не създадат непременно симплекс, който съдържа q.

Благодаря предварително за всяка оказана помощ.


person gibbled    schedule 07.11.2015    source източник
comment
q точка ли е или симплекс? (Питам поради изречението върховете на q във вашия въпрос)   -  person BrunoLevy    schedule 07.11.2015
comment
Благодаря, че го посочихте. Редактирах го.   -  person gibbled    schedule 07.11.2015
comment
Под най-малък симплекс, обем ли имаш предвид, или нещо друго? Между другото, това изглежда като труден проблем; имате ли предвид конкретни стойности или стойностни диапазони на N и M?   -  person arghbleargh    schedule 15.06.2016


Отговори (1)


Мисля, че можете да направите това е O(N^2), като използвате итеративен процес, много подобен на K-NN, но може би има по-ефективен начин. Това трябва да върне минималния симплекс по отношение на броя на върховете.

За всяка координата i в q можем да преминем през всички елементи на M, сравнявайки q_i и m_i. Ще изберем двете точки в M, които ни дават минималната положителна разлика и минималната отрицателна разлика. Ако повторим този процес за всяка координата, тогава трябва да имаме нашата минимална настройка S.

Правилно ли разбирам проблема?

person Alharithi    schedule 22.06.2016