Image

Задача о суммировании подмножеств, решенная за линейное время при достаточно высокой плотности входных данных.

Оптимальное решение известной NP-полной задачи, когда входные значения достаточно близки друг к другу.

Делиться

В этой статье я представлю решение задачи суммирования подмножеств, имеющее линейную временную сложность O(n), если все 'n' входных значений достаточно близки друг к другу. Вскоре мы увидим, что на самом деле означает это условие, а также почему его часто можно соблюдать (или почти соблюдать) на практике. Для входных данных, которые «почти близки» друг к другу, алгоритм все еще имеет определенную вероятность работать достаточно быстро.

Данная статья построена следующим образом:

  • В главе 1 мы вспомним задачу о сумме подмножеств и покажем, вероятно, наиболее тривиальное решение этой задачи, основанное на методе полного перебора.
  • В главе 2 рассматривается класс NP-полных задач и связь задачи о сумме подмножеств с ним.
  • В главе 3 рассматривается широко используемое решение, основанное на методе динамического программирования, и объясняется, почему это псевдополиномиальный алгоритм.
  • В главе 4 я представлю новый алгоритм, называемый «Решение на основе интервалов».
  • В главе 5 будет показано, что, подобно методу динамического программирования, алгоритм, основанный на интервалах, также может восстановить точное подмножество элементов, формирующих заданную целевую сумму, а не просто ответить, достижима ли целевая сумма или нет.
  • Наконец, в главе 6 мы увидим, почему алгоритм, основанный на интервалах, фактически достигает линейной временной сложности, если все 'n' входных значений достаточно близки друг к другу (а также мы поймем, что на самом деле означает условие «достаточно близки»).

Источник: towardsdatascience.com

ОСТАВЬТЕ СВОЙ КОММЕНТАРИЙ

Image Not Found
Трое людей используют смартфоны на складе, один в жилете, все с беспроводными наушниками.

Компания DeepL, известная своими функциями перевода текста, теперь хочет переводить и ваш голос.

Источник изображения: DeepL Компания DeepL, специализирующаяся на переводе и известная своими текстовыми инструментами, сегодня выпустила…

Апр 16, 2026
ideipro logotyp

Лучшая камера GoPro (2026): компактная, бюджетная, аксессуары

Вы — герой боевиков, и вам нужна соответствующая камера. Мы поможем вам разобраться во всех моделях, дадим рекомендации по аксессуарам и…

Апр 16, 2026
Родео: ковбой на скачущей лошади в загоне, стильная обработка изображения.

Почему мнения об ИИ так разделились

Стефани Арнетт/MIT Technology Review | Getty Images Эта статья первоначально появилась в The Algorithm, нашей еженедельной рассылке об…

Апр 16, 2026
ideipro logotyp

Вложенное древовидное пространство: геометрическая основа для кофилогении

arXiv:2604.05056v2 Тип объявления: replace-cross Аннотация: Вложенные (или согласованные) филогенетические деревья моделируют…

Апр 16, 2026

Впишите свой почтовый адрес и мы будем присылать вам на почту самые свежие новости в числе самых первых

ИдеиPRO