Это аккуратный вопрос, и я думал об этом раньше. Вот что мы придумали:
Вы запускаете свой алгоритм раз , чтобы получить выходы х 1 , ⋯ , х п ∈ R D , и вы знаете , что с большой долей вероятности большая часть х я с падения в некоторый хороший набор G . Вы не знаете, что такое G , просто оно выпуклое. Хорошей новостью является то, что есть способ получить точку в G без дополнительной информации об этом. Назовите эту точку f ( x 1 , ⋯ , x n )nx1,⋯,xn∈RdxiGGGf(x1,⋯,xn) .
Теорема. Для всех натуральных чисел и d существует функция f : ( R d ) n → R d такая, что имеет место следующее. Пусть х 1 . , , x n ∈ R d, и пусть G ⊂ R d - выпуклое множество, удовлетворяющее 1ndf:(Rd)n→Rdx1...xn∈RdG⊂RdТогдаF(х1,...,Хп)∈G. Кроме того,fвычислимо по полиному по времени отnd.
1n|{i∈[n]:xi∈G}|>dd+1.
f(x1,...,xn)∈Gfnd
Обратите внимание, что для мы можем установить f в качестве медианы. Так что это показывает, как обобщить медиану для d > 1 .d=1fd>1
Прежде чем доказывать этот результат, обратите внимание, что он жесткий: пусть и пусть x 1 , ⋯ , x d будут стандартными базисными элементами и x d + 1 = 0 . Любое подмножество d точек содержится в аффинном пространстве G размерности d - 1 (которое однозначно определяется этими точками). Но во всех этих аффинных пространствах нет смысла. Следовательно, существует некоторая выпуклая G , содержащая n ⋅ d / ( d +n=d+1x1,⋯,xdxd+1=0dGd−1G очков, но не содержит f ( x 1 , ⋯ , x n )n⋅d/(d+1)=df(x1,⋯,xn) , какое бы значение оно ни приняло.
Доказательство.Мы используем следующий результат.
Теорема Хелли. Пусть - выпуклые подмножества R d . Предположим, что пересечение любого d + 1 K i s непусто. Тогда пересечение всех K яK1...KmRdd+1 KiKi непусто.
Нажмите здесь для доказательства теоремы Хелли.
Теперь докажем нашу теорему:
Пусть будет верхняя граница числа точек не в G . Рассмотрим все замкнутые полупространства K 1 . , , K m ⊂ R d, содержащее не менее n - k точек, а их граница содержит множество точек максимального ранга (это конечное число полупространств, поскольку каждый K i определяется как d + 1k<n/(d+1)GK1...Km⊂Rdn−kKid+1 точкой на своей границе).
Дополнение каждого содержит не более k точек. По границе объединения пересечение любых d + 1 K i s содержит не менее n - k ( d + 1 ) > 0 точек. По теореме Хелли (так как полупространства выпуклые), есть точка пересечения всех K я S . Пусть функция f вычисляет произвольную точку на пересечении K iKikd+1 Kin−k(d+1)KisfKi s.
Осталось только показать, что пересечение содержится в GKiG .
Без ограничения общности является выпуклой оболочкой подмножества точек с полным рангом. То есть мы можем заменить G выпуклой оболочкой из точек, которые она содержит. Если это не имеет полного ранга, мы можем просто применить нашу теорему в более низком измерении.GG
Каждая грань определяет полупространство, где G - пересечение этих полупространств. Каждое из этих полупространств содержит G и, следовательно, содержит не менее n - k точек. Граница одного из этих полупространств содержит грань группы G и, следовательно, содержит множество точек максимального ранга. Таким образом, каждое из этих полупространств представляет собой K i . Таким образом, пересечение всех K i содержится в G , как требуется.GGGn−kGKiKiG
To compute f, set up a linear program where the linear constraints correspond to Kis and a feasible solution corresponds to a point in the intersection of all the Kis.
Q.E.D.
Unfortunately, this result is not very practical in the high-dimensional setting. A good question is whether we can compute f more efficiently:
Open Problem. Prove the above theorem with the additional conclusion that f can be computed in time polynomial in n and d.
Aside: We can also change the problem to get an efficient solution: If x1,⋯,xn have the property that strictly more than half of them lie in a ball B(y,ε), then we can find a point z that lies in B(y,3ε) in time polynomial in n and d. In particular, we can set z=xi for an arbitrary i such that strictly more than half of the points are in B(z,2ε).