Хотя должен быть интуитивно понятный алгоритм, я не думаю, что он действительно существует. Хотя у меня нет формальных доказательств (и я не смог бы их так быстро придумать), рассмотрим следующий аргумент:
Рассмотрим случай, когда k-ближайшие соседние точки K точки P находятся на одной стороне P, то есть существует такая плоскость, проходящая через P, что все точки в K находятся на одной стороне плоскости. Граница ячейки Вороного в P не может быть вычислена каким-либо образом из точек в K. Этот аргумент верен для любого k, и я никак не могу понять, как алгоритм может обнаружить присутствие любой точки на другая сторона P с помощью анализа ближайшего соседа. Поэтому я утверждаю, что диаграмма Вороного содержит больше информации, чем статистика k-ближайших соседей, и поэтому преобразование из Вороного в kNN является необратимым сокращением.
С другой стороны, Уго Леду разработал алгоритм логарифмирования среднего регистра для воронизации, вы могли бы рассмотреть это решение.
Редактировать: Мой аргумент, вероятно, все еще слишком сложен. Простая мысль о kNN. Рассмотрим группу из k точек, которые являются kNN друг для друга. Подграф kNN для этих точек не связан со всеми остальными точками, что делает невозможным построение диаграммы Вороного. Или, другими словами, диаграмма Вороного содержит k-ближайших соседей для any k, поэтому не может быть восстановлена из любого конечного k.