XOR-SAT — различия между версиями
(→Вычислительная сложность) |
(→Решение XOR-SAT задачи методом Гаусса) |
||
Строка 39: | Строка 39: | ||
! style="background: #ffdddd;" |<tex> \cong 1 </tex> | ! style="background: #ffdddd;" |<tex> \cong 1 </tex> | ||
|} | |} | ||
+ | |||
+ | {| class="wikitable" align="center" style="color: blue; background-color:#ffffcc;" cellpadding="10" | ||
+ | |+ | ||
+ | !colspan="5"|Нормированная система уравнений | ||
+ | |-align="center" | ||
+ | ! Используя свойства Булевых колец | ||
+ | (<tex>\neg x=1 \oplus x</tex>, <tex>x \oplus x=0</tex>) | ||
+ | | | ||
+ | |-align="center" | ||
+ | !Переменные | ||
+ | |! width="20%" | Значение | ||
+ | |-align="center" | ||
+ | ! <tex> a </tex> <tex>\oplus</tex> <tex> c </tex> <tex>\oplus</tex> <tex> d </tex> | ||
+ | |<tex>=1</tex> | ||
+ | |-align="center" | ||
+ | ! <tex> b </tex> <tex>\oplus</tex> <tex> c </tex> <tex>\oplus</tex> <tex> d </tex> | ||
+ | |<tex>=0</tex> | ||
+ | |-align="center" | ||
+ | ! <tex> a </tex> <tex>\oplus</tex> <tex> b </tex> <tex>\oplus</tex> <tex> d </tex> | ||
+ | |<tex>=0</tex> | ||
+ | |-align="center" | ||
+ | ! <tex> a </tex> <tex>\oplus</tex> <tex> b </tex> <tex>\oplus</tex> <tex> c </tex> | ||
+ | |<tex>=1</tex> | ||
+ | |-align="center" | ||
+ | ! style="background: #ffdddd;" |<tex> a </tex> <tex>\oplus</tex> <tex> b </tex> <tex>\oplus</tex> <tex> c </tex> | ||
+ | ! style="background: #ffdddd;" |<tex> \cong 0 </tex> | ||
+ | |} | ||
+ | |||
</center> | </center> | ||
Версия 11:49, 5 января 2017
Задача: |
КНФ функции, записанной в виде XOR-КНФ, таким образом, чтобы результат данной функции был равен . | (XOR-satisfiability) выполнимость функции — задача распределения аргументов в булевой
Содержание
Описание
Одним из особых случаев [1]
является класс задач, где каждый конъюнкт содержит операции (т. е. исключающее или), а не (обычные) операторы.(Формально, обобщенная КНФ с тернарным булевым оператором R работает только если или переменные дают в своих аргументах. Конъюнкты,имеющие более переменных могут быть преобразованы в сочетании с формулой преобразования с сохранением выполнимости булевой функции, т. е. - может быть снижена до - - )
Это задача Р-класса,так как - формулу можно рассматривать как систему линейных уравнений по модулю ,которая ,в свою очередь, может быть решена за методом Гаусса [2].Такое представление возможно на основе связи между Булевой алгеброй и Булевым кольцом [3] и том факте,что арифметика по модулю образует конечное поле [4].
Решение XOR-SAT задачи методом Гаусса
Система уравнений | ||||
---|---|---|---|---|
(" Каждый конъюнкт ведет к одному уравнению. |
" означает « », " " означает « »)
||||
Переменные | Значение | |||
Нормированная система уравнений | ||||
---|---|---|---|---|
Используя свойства Булевых колец
( , ) |
||||
Переменные | Значение | |||
Вычислительная сложность
Поскольку
Как следствие, для каждой КНФ-формулы, можно решить - - -задачу и на основании результатов сделать вывод, что либо - задача решаема или, что - - - -задача нерешаема.
При условии ,что P- и NP-классы не равны,ни -,ни Хорн-,ни - не являются задачи 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.