2SAT — различия между версиями
м (Добавлены категории) |
м (→Источники информации: Добавлена википедия) |
||
Строка 48: | Строка 48: | ||
*[http://e-maxx.ru/algo/2_sat MAXimal :: algo :: Задача 2-SAT (2-CNF) ] | *[http://e-maxx.ru/algo/2_sat MAXimal :: algo :: Задача 2-SAT (2-CNF) ] | ||
+ | *[https://en.wikipedia.org/wiki/2-satisfiability 2-satisfiability - Википедия] | ||
[[Категория: Дискретная математика и алгоритмы]] | [[Категория: Дискретная математика и алгоритмы]] | ||
[[Категория: Булевы функции ]] | [[Категория: Булевы функции ]] |
Версия 20:13, 3 декабря 2015
Рассмотрим функцию, записанную в виде 2-КНФ (КНФ Крома).
Определение: |
2-SAT выполнимость данной функции — эта задача распределения аргументов таким образом, чтобы результат данной функции был равен 1. |
Алгоритм Решения
Рассмотрим любой дизъюнкт функции:
Несложно заметить, что это равнозначно записи
Построим ориентированный граф, где вершинами будут аргументы и их отрицание, а ребрами будут ребра вида:
Теорема: |
Для того, чтобы данная задача 2-SAT имела решение, необходимо и достаточно, чтобы для любой переменной из вершины нельзя достичь и из вершины нельзя достичь одновременно. |
Доказательство: |
Пусть 2-SAT имеет решение. Пусть для любой переменной |
Применение 2-SAT задач
Алгоритм для решения 2-SAT может быть применим во всех задачах, где есть набор величин, каждая из которых может принимать 2 возможных значения, и есть связи между этими величинами:
- Расположение текстовых меток на карте или диаграмме. Имеется в виду нахождение такого расположения меток, при котором никакие две не пересекаются. Стоит заметить, что в общем случае, когда каждая метка может занимать множество различных позиций, мы получаем задачу general satisfiability, которая является NP-полной. Однако, если ограничиться только двумя возможными позициями, то полученная задача будет задачей 2-SAT.
- Расположение рёбер при рисовании графа. Аналогично предыдущему пункту, если ограничиться только двумя возможными способами провести ребро, то мы придём к 2-SAT.
- Составление расписания игр. Имеется в виду такая система, когда каждая команда должна сыграть с каждой по одному разу, а требуется распределить игры по типу домашняя-выездная, с некоторыми наложенными ограничениями.
См. также
- - КНФ
- - Специальные формы КНФ. КНФ в форме Крона (2-КНФ)
- - Ориентированные графы
- - NP-полнота задачи о выполнимости булевой формулы в форме 3-КНФ