XOR-SAT — различия между версиями
(→Описание) |
(→Вычислительная сложность) |
||
Строка 240: | Строка 240: | ||
==Вычислительная сложность== | ==Вычислительная сложность== | ||
− | [[Файл:Булева выполнимость.png|400px|thumb|down|Формула с 2-мя дизъюнктами может быть неудовлетворена(красный),3-SAT(зелёный),XOR-3-SAT(синий) ,ИЛИ/И 1-in-3-SAT, в зависимости от количества переменных со значением TRUE в 1-м (горизонтальном) и втором (вертикальном) дизъюнкте.]] | + | [[Файл:Булева выполнимость.png|400px|thumb|down|Формула с 2-мя дизъюнктами может быть неудовлетворена(красный),<b><tex>\mathrm {3-SAT}</tex></b>(зелёный),<b><tex>\mathrm {XOR-3-SAT}</tex></b>(синий) ,ИЛИ/И <b><tex>\mathrm {1-in-3-SAT}</tex></b>, в зависимости от количества переменных со значением TRUE в 1-м (горизонтальном) и втором (вертикальном) дизъюнкте.]] |
− | Поскольку a XOR b XOR c принимает значение TRUE,если и только если 1 из 3 переменных {a,b,c} принимает значение TRUE,каждое решение в 1-in-3-SAT задачи для данной КНФ-формулы является также решением XOR-3-SAT задачи,и ,в свою очередь,обратное также верно. Как следствие, для каждой КНФ-формулы, можно решить XOR-3-SAT -задачу и на основании результатов сделать вывод, что либо 3-SAT-задача решаема или, что 1-in-3-SAT-задача нерешаема. | + | Поскольку <b><tex>\mathrm {a}</tex></b> <b><tex>\mathrm {XOR}</tex></b> <b><tex>\mathrm {b}</tex></b> <b><tex>\mathrm {XOR}</tex></b> <b><tex>\mathrm {c}</tex></b> принимает значение <b><tex>\mathrm {TRUE}</tex></b>,если и только если 1 из 3 переменных {a,b,c} принимает значение <b><tex>\mathrm {TRUE}</tex></b> ,каждое решение в <b><tex>\mathrm {1-in-3-SAT}</tex></b> задачи для данной КНФ-формулы является также решением <b><tex>\mathrm {XOR-3-SAT}</tex></b> задачи, и ,в свою очередь,обратное также верно. |
− | При условии ,что P- и NP-классы не равны,ни 2-,ни Хорн-,ни XOR-SAT не являются задачи [[Класс NP|NP-класса]],в отличии от SAT. | + | Как следствие, для каждой КНФ-формулы, можно решить <b><tex>\mathrm {XOR}</tex></b>-<b><tex>\mathrm {3}</tex></b>-<b><tex>\mathrm {SAT}</tex></b> -задачу и на основании результатов сделать вывод, что либо <b><tex>\mathrm {3-SAT-задача}</tex></b> решаема или, что <b><tex>\mathrm {1-in-3-SAT-задача}</tex></b> нерешаема. |
− | + | При условии ,что P- и NP-классы не равны,ни 2-,ни Хорн-,ни <b><tex>\mathrm {XOR-SAT}</tex></b> не являются задачи [[Класс NP|NP-класса]],в отличии от SAT. | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
== См. также == | == См. также == |
Версия 16:53, 3 января 2017
Задача: |
КНФ функции, записанной в виде XOR-КНФ, таким образом, чтобы результат данной функции был равен . | (XOR-satisfiability) выполнимость функции — задача распределения аргументов в булевой
Содержание
Описание
Одним из особых случаев [1]
является класс задач, где каждый дизъюнкт содержит операции (т. е. исключающее или), а не (обычные) операторы.(Формально, обобщенная КНФ с тернарным булевым оператором R работает только если 1 или 3 переменные дают в своих аргументах. Дизъюнкт,имеющие более 3 переменных могут быть преобразованы в сочетании с формулой преобразования с сохранением выполнимости булевой функции(ссылка на книгу ниже), т. е. - может быть снижена до - - )
Это задача Р-класса,так как - формулу можно рассматривать как систему линейных уравнений по модулю 2,которая ,в свою очередь, может быть решена за методом Гаусса[2].Такое представление возможно на основе связи между Булевой алгеброй и Булевым кольцом [3] и том факте,что арифметика по модулю 2 образует конечное поле [4].
Решение XOR-SAT задачи методом Гаусса
Solving an XOR-SAT example by Gaussian elimination | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Вычислительная сложность
Поскольку NP-класса,в отличии от SAT.
принимает значение ,если и только если 1 из 3 переменных {a,b,c} принимает значение ,каждое решение в задачи для данной КНФ-формулы является также решением задачи, и ,в свою очередь,обратное также верно. Как следствие, для каждой КНФ-формулы, можно решить - - -задачу и на основании результатов сделать вывод, что либо решаема или, что нерешаема. При условии ,что P- и NP-классы не равны,ни 2-,ни Хорн-,ни не являются задачиСм. также
Примечания
- ↑ Alfred V. Aho; John E. Hopcroft; Jeffrey D. Ullman (1974). The Design and Analysis of Computer Algorithms. Addison-Wesley.; здесь: Thm.10.4
- ↑ https://ru.wikipedia.org/wiki/%D0%9C%D0%B5%D1%82%D0%BE%D0%B4_%D0%93%D0%B0%D1%83%D1%81%D1%81%D0%B0
- ↑ https://en.wikipedia.org/wiki/Boolean_algebra_(structure)#Boolean_rings
- ↑ https://ru.wikipedia.org/wiki/%D0%9A%D0%BE%D0%BD%D0%B5%D1%87%D0%BD%D0%BE%D0%B5_%D0%BF%D0%BE%D0%BB%D0%B5
Источники информации
- Википедия — Boolean satisfiability problem
- Cook, Stephen A. (1971). Proceedings of the 3rd Annual ACM Symposium on Theory of Computing: 151–158.