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

Минимальное покрытие предметов с помощью SAT-солвера

Минимальное покрытие предметов с помощью SAT-солвера

Студенты пришли в библиотеку, чтобы подготовиться к экзаменам. Всего у них M предметов. Каждая из книг покрывает некоторое множество предметов. Нужно выбрать минимальное число книг, которые покроют все предметы.

Сведение к проблеме выполнимости КНФ

Для предметов используем индекс , для книг — индекс . Предикат «книга покрывает предмет » обозначаем .

Поставим задачу ответить для заданного числа на вопрос, можно ли, используя не более книг, покрыть все предметы.

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

На переменные наложим ограничения:

  1. Для каждой книги порядок может быть только один:

Запишем эти условия в виде КНФ:

2. Каждому порядку может соответствовать только одна книга:

Запишем эти условия в виде КНФ:

3. Каждый предмет покрывается хотя бы одной из выбранных книг:

для всех : хотя бы для одной книги , такой, что

Запишем эти условия в виде КНФ:

Теперь, умея для каждого решать вопрос выполнимости КНФ, искомое минимальное покрытие находится бинарным поиском по .

Заметим, что условие 1 является необязательным.

Реализация с помощью SAT-солвера

Таким образом, имея на входе информацию о том, какие предметы какими книгами покрываются, для каждого значения формируется КНФ.

Полученную КНФ нетрудно ввести в любой SAT-солвер (например: онлайн, офлайн) в подходящем формате (например, DIMACS CNF).

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

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

Поделиться
Понравилась статья? Расскажите другим
ВКонтакте
Читайте также
Архив рубрики ~Коротко из Telegram~ Сэм Альтман заявил, что мы уже живём в сингулярности. В… Архив рубрики ~Полезное~ OpenAI добавила голосовой режим в Codex. Теперь можно вслух ставить… Архив рубрики ~Коротко из Telegram~ Anthropic выпустила Claude Opus 5 Новая модель почти догнала Fable… Архив рубрики ~Коротко из Telegram~ Любую картинку теперь можно разобрать на промпт. Расширение PromptCard анализирует изображения… Архив рубрики ~Коротко из Telegram~ У Seedance появился новый конкурент — FLUX 3. Black Forest… Архив рубрики ~Коротко из Telegram~ Создатель Twitter Джек Дорси запустил локальное пространство для совместной работы… Архив рубрики ~Коротко из Telegram~ Для ChatGPT и Codex собрали библиотеку полезных сценариев. На сайте… Архив рубрики ~Коротко из Telegram~ Первая скрепка уже звенит «Проблема скрепок» – это мысленный эксперимент о… Архив рубрики ~Коротко из Telegram~ Китайцы выкатили нового убийцу Nano Banana — Qwen-Image-3.0 . Новая модель… Архив рубрики ~Коротко из Telegram~ Зои Хитциг, которая ушла из OpenAI в феврале, опубликовала в… Архив рубрики ~Коротко из Telegram~ В Higgsfield появился Pinterest для нейровидео. В разделе Community собрали работы других… Архив рубрики ~Коротко из Telegram~ 🤖 Пока весь мир обсуждает новые ИИ-модели, появляется и другая… Архив рубрики ~Коротко из Telegram~ Neuralink — ПАРАЛИЗОВАННЫЕ ПАЦИЕНТЫ УПРАВЛЯЮТ ИНВАЛИДНЫМИ КАЛЯСКАМИ СИЛОЙ МЫСЛИ 🧠♿️… Архив рубрики ~Коротко из Telegram~ Fable 5 — мощный. Но дорогой. Opus 4.8 — дешевле…. Архив рубрики ~Коротко из Telegram~ Сэм Альтман заявил, что мы уже живём в сингулярности. В… Архив рубрики ~Полезное~ OpenAI добавила голосовой режим в Codex. Теперь можно вслух ставить… Архив рубрики ~Коротко из Telegram~ Anthropic выпустила Claude Opus 5 Новая модель почти догнала Fable… Архив рубрики ~Коротко из Telegram~ Любую картинку теперь можно разобрать на промпт. Расширение PromptCard анализирует изображения… Архив рубрики ~Коротко из Telegram~ У Seedance появился новый конкурент — FLUX 3. Black Forest… Архив рубрики ~Коротко из Telegram~ Создатель Twitter Джек Дорси запустил локальное пространство для совместной работы… Архив рубрики ~Коротко из Telegram~ Для ChatGPT и Codex собрали библиотеку полезных сценариев. На сайте… Архив рубрики ~Коротко из Telegram~ Первая скрепка уже звенит «Проблема скрепок» – это мысленный эксперимент о… Архив рубрики ~Коротко из Telegram~ Китайцы выкатили нового убийцу Nano Banana — Qwen-Image-3.0 . Новая модель… Архив рубрики ~Коротко из Telegram~ Зои Хитциг, которая ушла из OpenAI в феврале, опубликовала в… Архив рубрики ~Коротко из Telegram~ В Higgsfield появился Pinterest для нейровидео. В разделе Community собрали работы других… Архив рубрики ~Коротко из Telegram~ 🤖 Пока весь мир обсуждает новые ИИ-модели, появляется и другая… Архив рубрики ~Коротко из Telegram~ Neuralink — ПАРАЛИЗОВАННЫЕ ПАЦИЕНТЫ УПРАВЛЯЮТ ИНВАЛИДНЫМИ КАЛЯСКАМИ СИЛОЙ МЫСЛИ 🧠♿️… Архив рубрики ~Коротко из Telegram~ Fable 5 — мощный. Но дорогой. Opus 4.8 — дешевле….