Архив рубрики ~Лента новостей~

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

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

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

Делиться

NOVOSTI

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

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

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

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

Оцените материал:

Поделиться
Понравилась статья? Расскажите другим
ВКонтакте
Читайте также
Архив рубрики ~Коротко из Telegram~ Нейронку БЕЗ ЦЕНЗУРЫ выпустили в открытый доступ — Gemma 4… Архив рубрики ~Коротко из Telegram~ Нашли комбайн для скачивания видео и музыки практически отовсюду —… Архив рубрики ~Коротко из Telegram~ Инструменты дня 🔍 Кьюи Перепроверяет ChatGPT, Claude и Gemini перед отправкой, потому… Архив рубрики ~Коротко из Telegram~ Kimi K3 нашла уязвимость в Redis за 27 минут Исследователь… Архив рубрики ~Коротко из Telegram~ Alibaba представила мощный движок синтеза речи Qwen-Audio-3.0-TTS Команда Qwen выпустила… Архив рубрики ~Коротко из Telegram~ Lightricks научила ИИ убирать лишних людей и машины с видео… Архив рубрики ~Коротко из Telegram~ Copilot теперь живет в «Проводнике» Windows 11 Microsoft продолжает встраивать… Архив рубрики ~Коротко из Telegram~ GitHub Copilot теперь поддерживает модель Gemini 3.6 Flash GitHub начал… Архив рубрики ~Коротко из Telegram~ Anthropic представила плагин Claude Security для поиска уязвимостей Anthropic выпустила… Архив рубрики ~Коротко из Telegram~ Cursor Router: снижение стоимости запросов к ИИ на 60% Команда… Архив рубрики ~Коротко из Telegram~ Российский разработчик СУБД Postgres Pro может сократить до 30% сотрудников…. Архив рубрики ~Коротко из Telegram~ Veon досрочно выкупил облигации на $886 млн, одновременно разместив новый… Архив рубрики ~Коротко из Telegram~ 💢 Иван Паломарес Каррaскоса (Machine Learning Mastery) разбирает пять стратегий… Архив рубрики ~Коротко из Telegram~ ✅ CEO Cloudflare Мэттью Принс на мероприятии Axios в Каннах… Архив рубрики ~Коротко из Telegram~ Нейронку БЕЗ ЦЕНЗУРЫ выпустили в открытый доступ — Gemma 4… Архив рубрики ~Коротко из Telegram~ Нашли комбайн для скачивания видео и музыки практически отовсюду —… Архив рубрики ~Коротко из Telegram~ Инструменты дня 🔍 Кьюи Перепроверяет ChatGPT, Claude и Gemini перед отправкой, потому… Архив рубрики ~Коротко из Telegram~ Kimi K3 нашла уязвимость в Redis за 27 минут Исследователь… Архив рубрики ~Коротко из Telegram~ Alibaba представила мощный движок синтеза речи Qwen-Audio-3.0-TTS Команда Qwen выпустила… Архив рубрики ~Коротко из Telegram~ Lightricks научила ИИ убирать лишних людей и машины с видео… Архив рубрики ~Коротко из Telegram~ Copilot теперь живет в «Проводнике» Windows 11 Microsoft продолжает встраивать… Архив рубрики ~Коротко из Telegram~ GitHub Copilot теперь поддерживает модель Gemini 3.6 Flash GitHub начал… Архив рубрики ~Коротко из Telegram~ Anthropic представила плагин Claude Security для поиска уязвимостей Anthropic выпустила… Архив рубрики ~Коротко из Telegram~ Cursor Router: снижение стоимости запросов к ИИ на 60% Команда… Архив рубрики ~Коротко из Telegram~ Российский разработчик СУБД Postgres Pro может сократить до 30% сотрудников…. Архив рубрики ~Коротко из Telegram~ Veon досрочно выкупил облигации на $886 млн, одновременно разместив новый… Архив рубрики ~Коротко из Telegram~ 💢 Иван Паломарес Каррaскоса (Machine Learning Mastery) разбирает пять стратегий… Архив рубрики ~Коротко из Telegram~ ✅ CEO Cloudflare Мэттью Принс на мероприятии Axios в Каннах…