LINUX.ORG.RU
решено ФорумTalks

[матан] сумма расстояний

 


0

2

Есть множество точек на плоскости. Задача - найти точку, сумма расстояний от которой до каждой их точек множества минимальна.

Вопрос стоит такой: как доказать, что локальный минимум функции суммы, является также ее глобальным минимумом?

Я взял градиент, но он мне не внушает никаких перспектив :(

★★☆☆☆

Для начала нужно заметить, что это точка не обязательно должна быть единственной. Пример банальный: множество из двух точек. Каждая точка отрезка их соединяющего минимизирует сумму расстояний.

Еще несложно понять, что если метрика порождена нормой, то заданная функция будет нестрого выпуклой. Другими словами

f (a * x1 + (1-a) * x2) <= a * f (x1) + (1-a) * f (x2)

Для доказательства можно выписать неравенство для каждой точки отдельно (получится правило треугольника), а потом их просуммировать.

ival ★★
()
Ответ на: комментарий от ival

>Пример банальный: множество из двух точек. Каждая точка отрезка их соединяющего минимизирует сумму расстояний.

Это лишь в случае, если точки лежат на одном отрезке. То есть в подпространстве R². А значит и обобщить нельзя никак.

dikiy ★★☆☆☆
() автор топика
Ответ на: комментарий от ival

(получится правило треугольника),

Точнее модуль суммы меньше или равен суммы модулей.

ival ★★
()
Ответ на: комментарий от ival

>Для доказательства можно выписать неравенство для каждой точки отдельно (получится правило треугольника), а потом их просуммировать.

Хм. А ты уверен, что получится? Я этот метод отбросил заранее. Показалось, что безнадега.

dikiy ★★☆☆☆
() автор топика
Ответ на: комментарий от dikiy

Это лишь в случае, если точки лежат на одном отрезке. То есть в п

подпространстве R². А значит и обобщить нельзя никак.

Но этот случай по любому придется учитывать. Кстати, из нестрогой выпуклости следует, что множество точек, в которых достигается минимум выпукло. Наверно оно может быть только отрезком. Это надо продумать.

ival ★★
()
Ответ на: комментарий от ival

>Разве это не тривиально?

Хм. Мне пришлось минут 15 думать, как доказать. Но получилось. Спасибо!!

dikiy ★★☆☆☆
() автор топика
Ответ на: комментарий от ival

Короче. У нестроговыпуклой функции не может быть двух нестрогих неравных локальных минимумов (достаточно провести через них прямую и посмотреть на поведение функции на ней). Если ты нашел один, он будет глобальным.

ival ★★
()
Ответ на: комментарий от ival

Небольшая коррекция:

|c - (a* x1 + (1-a) * x2)| <= a * |c - x1| + (1-a) |c - x2|

с - радиус-вектор точки множества, x1 и x2 - радиус-векторы двух пробных точек плоскости.

А так - красиво, четко, чего тут скажешь.

mclaudt
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.