Я сталкивался с этой проблемой в области физики, довольно далекой от компьютерных наук, но это похоже на вопрос, который был изучен в CS, поэтому я решил попытать счастья, задав его здесь.
Представьте, что вам дан набор точек и список некоторых расстояний между точками d i j . Как наиболее эффективно определить минимальную размерность пространства, в которое нужно вложить эти точки? Другими словами, что является наименьшим k таким, что в R k существует множество точек, удовлетворяющих ограничениям на расстояние d i j . Я был бы одинаково счастлив с ответом для , но это кажется более трудным.
Я счастлив сказать, что расстояния должны соответствовать только с точностью до некоторой постоянной и иметь точки ограничены точки на некоторой решетке постоянного расстояниятого, чтобы вопросыИЗБЕЖАТЬ вычислительный с реалом.
Действительно, я был бы весьма доволен решением для версии решения этой проблемы, где при заданных и k вас спрашивают, существует ли такой набор вершин { v i } . Тривиально проблема в NP, так как задан набор точек в R k легко проверить, что они удовлетворяют требованиям к расстоянию, но кажется, что для этой конкретной задачи должны быть субэкспоненциальные алгоритмы времени.
Наиболее очевидный подход , как представляется, чтобы попытаться построить мерные структуры итеративно, добавляя дополнительные точки по одной и определяя, нужно ли добавлять новое пространственное измерение на каждой итерации. Проблема в том, что кажется, что вы можете столкнуться с неоднозначностью, когда существует несколько способов добавить точку в существующую структуру, и неясно, какой из них приведет к меньшему количеству измерений, поскольку вы продолжаете добавлять больше точек.
Наконец, позвольте мне сказать, что я знаю, что легко создать списки расстояний, которые не могут быть выполнены в любом количестве измерений (то есть тех, которые нарушают неравенство треугольника). Однако для тех случаев, которые меня интересуют, всегда будет какое-то минимальное конечное число измерений, в которых можно найти удовлетворительный набор точек.