XOR-SAT — различия между версиями
(→Решение XOR-SAT задачи методом Гаусса) |
(→Вычислительная сложность) |
||
| Строка 42: | Строка 42: | ||
==Вычислительная сложность== | ==Вычислительная сложность== | ||
| − | [[Файл:Булева выполнимость.png|400px|thumb|down|Формула с 2-мя дизъюнктами может быть неудовлетворена(красный),< | + | [[Файл:Булева выполнимость.png|400px|thumb|down|Формула с 2-мя дизъюнктами может быть неудовлетворена(красный),<tex>3</tex>-<tex>\mathrm {SAT}</tex>(зелёный),<tex>\mathrm {XOR}</tex>-<tex>3</tex>-<tex>\mathrm {SAT}</tex>(синий) ,или/и <tex>1</tex>-<tex>\mathrm {in}</tex>-<tex>3</tex>-<tex>\mathrm {SAT}</tex>, в зависимости от количества переменных со значением <tex> \mathtt {true}</tex> в 1-м (горизонтальном) и втором (вертикальном) конъюнкте.]] |
| − | Поскольку <tex>a\ XOR\ b\ XOR\ c</tex> принимает значение <tex>\ | + | Поскольку <tex>a\ XOR\ b\ XOR\ c</tex> принимает значение <tex> \mathtt {true}</tex>,если и только если 1 из 3 переменных {<tex>a</tex>,<tex>b</tex>,<tex>c</tex>} принимает значение <tex> \mathtt {true}</tex> ,каждое решение в <tex>1</tex>-<tex>\mathrm {in}</tex>-<tex>3</tex>-<tex>\mathrm {SAT}</tex> задачи для данной КНФ-формулы является также решением <tex>\mathrm {XOR}</tex>-<tex>3</tex>-<tex>\mathrm {SAT}</tex> задачи, и ,в свою очередь,обратное также верно.<br> |
| − | Как следствие, для каждой КНФ-формулы, можно решить | + | Как следствие, для каждой КНФ-формулы, можно решить <tex>\mathrm {XOR}</tex>-<tex>3</tex>-<tex>\mathrm {SAT}</tex>-задачу и на основании результатов сделать вывод, что либо <tex>3</tex>-<tex>\mathrm {SAT}</tex> задача решаема или, что <tex>1</tex>-<tex>\mathrm {in}</tex>-<tex>3</tex>-<tex>\mathrm {SAT}</tex>-задача нерешаема.<br> |
| − | При условии ,что P- и NP-классы не равны,ни 2-,ни Хорн-,ни | + | При условии ,что P- и NP-классы не равны,ни 2-,ни Хорн-,ни <tex>\mathrm {XOR}</tex>-<tex>\mathrm {SAT}</tex> не являются задачи [[Класс NP|NP-класса]],в отличии от <tex>\mathrm {SAT}</tex>. |
== См. также == | == См. также == | ||
Версия 11:31, 5 января 2017
| Задача: |
| (XOR-satisfiability) выполнимость функции — задача распределения аргументов в булевой КНФ функции, записанной в виде XOR-КНФ, таким образом, чтобы результат данной функции был равен . |
Содержание
Описание
Одним из особых случаев является класс задач, где каждый конъюнкт содержит операции (т. е. исключающее или), а не (обычные) операторы.(Формально, обобщенная КНФ с тернарным булевым оператором R работает только если 1 или 3 переменные дают в своих аргументах. Конъюнкты,имеющие более 3 переменных могут быть преобразованы в сочетании с формулой преобразования с сохранением выполнимости булевой функции, т. е. - может быть снижена до --)[1]
Это задача Р-класса,так как - формулу можно рассматривать как систему линейных уравнений по модулю 2,которая ,в свою очередь, может быть решена за методом Гаусса [2].Такое представление возможно на основе связи между Булевой алгеброй и Булевым кольцом [3] и том факте,что арифметика по модулю 2 образует конечное поле [4].
Решение XOR-SAT задачи методом Гаусса
| Система уравнений | ||||
|---|---|---|---|---|
| ("" означает «», "" означает «»)
Каждый конъюнкт ведет к одному уравнению. |
||||
| Переменные | Значение | |||
Вычислительная сложность
Поскольку принимает значение ,если и только если 1 из 3 переменных {,,} принимает значение ,каждое решение в --- задачи для данной КНФ-формулы является также решением -- задачи, и ,в свою очередь,обратное также верно.
Как следствие, для каждой КНФ-формулы, можно решить ---задачу и на основании результатов сделать вывод, что либо - задача решаема или, что ----задача нерешаема.
При условии ,что P- и NP-классы не равны,ни 2-,ни Хорн-,ни - не являются задачи NP-класса,в отличии от .
См. также
Примечания
- ↑ Alfred V. Aho; John E. Hopcroft; Jeffrey D. Ullman.The Design and Analysis of Computer Algorithms. Addison-Wesley.; здесь: Thm.10.4, 1974.
- ↑ Метод Гаусса
- ↑ Связь между Булевой алгеброй и Булевым кольцом
- ↑ Конечное поле
Источники информации
- Википедия — Boolean satisfiability problem
- Cook, Stephen A.Proceedings of the 3rd Annual ACM Symposium on Theory of Computing: 151–158, 1971.
