Учитывая n точек на плоскости. Нет 3 являются коллинеарными.
Учитывая число k.
Найти подмножество k точек, таких, что выпуклая оболочка k точек имеет минимальный периметр из любой выпуклой оболочки подмножества из k точек.
Я могу думать, что наивный метод работает в O (n ^ k k log k). (Найдите выпуклую оболочку каждого подмножества размера k и выведите минимум).
Я думаю, что это проблема NP, но я не могу найти ничего подходящего для сокращения.
У кого-нибудь есть идеи по этой проблеме?
Пример,
the set of n=4 points {(0,0), (0,1), (1,0), (2,2)} and k=3
Результат:
{(0,0),(0,1),(1,0)}
Так как это множество содержит 3 точки, выпуклая оболочка и периметр результата меньше, чем у любых других множеств из 3 точек.