У меня есть набор случайных точек на плоскости, и я хочу поместить другую точку в самое «разреженное» положение.
Например, если есть несколько точек в 0
# this python snippet just generates the plot blow.
import matplotlib.pyplot as plt
# there are actually a lot more, ~10000 points.
xs = [8.36, 1.14, 0.93, 8.55, 7.49, 6.55, 5.13, 8.49, 0.15, 3.48]
ys = [0.65, 6.32, 2.04, 0.51, 4.5, 7.05, 1.07, 5.23, 0.66, 2.54]
plt.xlim([0, 10])
plt.ylim([0, 10])
plt.plot(xs, ys, 'o')
plt.show()
Где я должен поместить новую точку в этой плоскости, чтобы новая точка стала наиболее удаленной от другие? Обратите внимание, что я хочу максимизировать минимальное расстояние до другой точки, но не максимизировать среднее расстояние до всех остальных точек (благодаря комментарию user985366 ).
" Как можно Я нахожу самую дальнюю точку из набора существующих точек?"- это та, по крайней мере, которую я смог найти, но я не уверен, что страница непосредственно решает мою ситуацию (на самом деле связанный случай выглядит более сложным, чем мой случай) .
[edit] Кстати, я заметил, что общая ограниченная глобальная оптимизация может найти возможное решение (если я добавлю точку в каждом углу) [4.01, 5.48] в этом случае, но я думаю, что это не так. не сработает, если их намного больше, скажем, ~ 10000 баллов.