Я зіткнувся з цією проблемою в області фізики, досить віддаленій від інформатики, але, схоже, тип запитання, який вивчався в КС, тому я подумав, що спробую пощастило задати його тут.
Уявіть, що вам надається набір точок та перелік деяких відстаней між точками . Який найефективніший спосіб визначити мінімальну розмірність простору, в який потрібно вбудувати ці точки? Іншими словами, що найменший такий, що існує набір точок в задовольняють обмеження відстані . Я був би однаково задоволений відповіддю на , але це здається складніше. d i j k R k d i j C k
Я радий сказати, що відстані повинні відповідати лише в межах деякої постійної точності і обмежувати точки на точках на якійсь решітці постійного проміжку, щоб уникнути проблем обчислень з числами. ϵ
Дійсно, я був би дуже задоволений рішенням версії рішення цієї проблеми, де задано і вас запитують, чи існує такий набір вершин . Тривіально проблема полягає в NP, оскільки, задавши набір точок в , легко перевірити, чи відповідають вони вимогам відстані, але відчувається, що для цієї конкретної проблеми повинні існувати субекспоненціальні алгоритми часу. k { v i } R k
Найбільш очевидним підходом є спроба побудувати -вимірні структури ітеративно, додаючи по черзі додаткові точки та визначаючи, чи потрібно додавати новий просторовий вимір при кожній ітерації. Проблема в цьому полягає в тому, що, здається, ви можете зіткнутися з двозначностями, коли існує кілька способів додати крапку до існуючої структури, і не ясно, який з них призведе до менших розмірів, оскільки ви продовжуватимете додавати більше балів.
Нарешті, дозвольте сказати, що я знаю, що легко створювати списки відстаней, які неможливо виконати в будь-якій кількості вимірів (тобто таких, що порушують нерівність трикутника). Однак для тих випадків, які мене цікавлять, завжди знайдеться мінімальна кінцева кількість розмірів, в яких можна знайти задовольняючий набір точок.