Це акуратне питання, і я про це думав раніше. Ось що ми придумали:
Ви запускаєте свій алгоритм раз , щоб отримати виходи х 1 , ⋯ , х п ∈ R D , і ви знаєте , що з великою часткою ймовірності велика частина х я з падіння в певний хороший набір G . Ви не знаєте, що таке G , тільки що він опуклий. Хороша новина полягає в тому, що існує спосіб отримати точку в G, не маючи додаткової інформації про неї. Назвіть цю точку f ( x 1 , ⋯ , x n )nx1,⋯,xn∈RdxiGGGf(x1,⋯,xn) .
Теорема. Для всіх натуральних чисел і d існує функція f : ( R d ) n → R d така, що має місце наступне. Нехай x 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 i s не порожній.K1...KmRdd+1 KiKi
Клацніть тут, щоб підтвердити теорему Хеллі.
Тепер, щоб довести нашу теорему:
Нехай буде верхня межа числа точок не в G . Розглянемо всі закриті напівпростори K 1 . . . K m ⊂ R d, що містить щонайменше n - k точок з їх границею, що містить набір точок максимального рангу (це скінченна кількість напівпросторів, оскільки кожен K i визначається d + 1 балами на його межі).k<n/(d+1)GK1...Km⊂Rdn−kKid+1
The complement of each Ki contains at most k points. By a union bound, the intersection any d+1 Kis contains at least n−k(d+1)>0 points. By Helly's theorem (since halfspaces are convex), there is a point in the intersection of all the Kis. We let f be a function that computes an arbitrary point in the intersection of the Kis.
All that remains is to show that the intersection of the Kis is contained in G.
Without loss of generality, G is the convex hull of a subset of the points with full rank. That is, we can replace G with the convex hull of the points it contains. If this does not have full rank, we can simply apply our theorem in lower dimension.
Each face of G defines a halfspace, where G is the intersection of these halfspaces. Each of these halfspaces contains G and hence contains at least n−k points. The boundary of one of these half spaces contains a face of G and hence contains a set of points of maximal rank. Thus each of these halfspaces is a Ki. Thus the intersection of all Kis is contained in G, as required.
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ε).