Закажи экспресс-аудит своего дела онлайн всего за 199 ₽
и получи рекомендации по улучшению - Жми сюда !

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

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

Делиться

e2b4dcabb6fe53fb551b2fff9a44cb64

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

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

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

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

✅ Найденные теги: Задача, Линейное Время, новости, Плотность, Подмножества, Суммирование

Нет других записей в этой рубрике.

Новости других рубрик

Архив рубрики ~Лента новостей~: Amazon Cognito теперь поддерживает репликацию в нескольких регионах. Архив рубрики ~Лента новостей~: Почему дипломированные юристы повреждают ваши документы при делегировании полномочий? Архив рубрики ~Лента новостей~: Apple вносит изменения в свой спорный дизайн Liquid Glass. Архив рубрики ~Лента новостей~: ИИ уже пишет 80% кода Anthropic. Самое тревожное спрятано в цифре, которую подают как успех Архив рубрики ~Лента новостей~: Компания Aviva использует искусственный интеллект для предотвращения мошенничества в сфере страхования на сумму 230 миллионов фунтов стерлингов. Архив рубрики ~Лента новостей~: ФИФА расширяет использование ИИ на чемпионате мира, чтобы уменьшить количество оскорблений со стороны игроков. Архив рубрики ~Лента новостей~: DuckDuckGo устанавливает Spike, поскольку Google пытается заменить поиск искусственным интеллектом Архив рубрики ~Лента новостей~: AI неожиданно вернул человечество к вопросу о смысле