XOR-SAT — различия между версиями

Материал из Викиконспекты
Перейти к: навигация, поиск
(Решение XOR-SAT задачи методом Гаусса)
(Описание)
Строка 6: Строка 6:
 
== Описание ==
 
== Описание ==
  
Одним из особых случаев <tex>\mathrm {SAT}</tex> является класс задач, где каждый конъюнкт содержит операции <tex>\oplus</tex> (т. е. исключающее или), а не (обычные) <tex>\lor</tex> операторы.(Формально, обобщенная КНФ с тернарным  булевым  оператором R работает  только если <tex> 1</tex> или <tex> 3</tex> переменные дают <tex> \mathtt {true}</tex> в своих аргументах. Конъюнкты,имеющие более <tex> 3</tex> переменных могут быть преобразованы в сочетании с формулой преобразования с сохранением выполнимости булевой функции, т. е. <tex>\mathrm {XOR}</tex>-<tex>\mathrm {SAT}</tex>  может быть снижена до <tex>\mathrm {XOR}</tex>-<tex>3</tex>-<tex>\mathrm {SAT}</tex>)<ref>''Alfred V. Aho; John E. Hopcroft; Jeffrey D. Ullman.''The Design and Analysis of Computer Algorithms. Addison-Wesley.; здесь: Thm.10.4, 1974.</ref>
+
Одним из особых случаев <tex>\mathrm {SAT}</tex> является класс задач, где каждый конъюнкт содержит операции <tex>\oplus</tex> (т. е. исключающее или), а не (обычные) <tex>\lor</tex> операторы.(Формально, обобщенная КНФ с тернарным  булевым  оператором <tex> \mathrm {R}</tex> работает  только если <tex> 1</tex> или <tex> 3</tex> переменные дают <tex> \mathtt {true}</tex> в своих аргументах. Конъюнкты,имеющие более <tex> 3</tex> переменных могут быть преобразованы в сочетании с формулой преобразования с сохранением выполнимости булевой функции, т. е. <tex>\mathrm {XOR}</tex>-<tex>\mathrm {SAT}</tex>  может быть снижена до <tex>\mathrm {XOR}</tex>-<tex>3</tex>-<tex>\mathrm {SAT}</tex>)<ref>''Alfred V. Aho; John E. Hopcroft; Jeffrey D. Ullman.''The Design and Analysis of Computer Algorithms. Addison-Wesley.; здесь: Thm.10.4, 1974.</ref>
  
  
Это задача [[Класс P|Р-класса]],так как <tex>\mathrm {XOR}</tex>-<tex>\mathrm {SAT}</tex> формулу можно рассматривать как систему линейных уравнений по модулю <tex>2</tex>,которая ,в свою очередь, может быть решена за <tex>O(n^3)</tex> методом Гаусса <ref>[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 Метод Гаусса]</ref>.Такое представление возможно на основе связи между Булевой алгеброй и Булевым кольцом <ref>[https://en.wikipedia.org/wiki/Boolean_algebra_(structure)#Boolean_rings Связь между Булевой алгеброй и Булевым кольцом]</ref> и том факте,что арифметика по модулю <tex>2</tex> образует конечное поле <ref>[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 Конечное поле ]</ref>.
+
Это задача [[Класс P|Р-класса]], так как <tex>\mathrm {XOR}</tex>-<tex>\mathrm {SAT}</tex> формулу можно рассматривать как систему линейных уравнений по модулю <tex>2</tex>, которая, в свою очередь, может быть решена за <tex>O(n^3)</tex> методом Гаусса <ref>[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 Метод Гаусса]</ref>.Такое представление возможно на основе связи между Булевой алгеброй и Булевым кольцом <ref>[https://en.wikipedia.org/wiki/Boolean_algebra_(structure)#Boolean_rings Связь между Булевой алгеброй и Булевым кольцом]</ref> и том факте, что арифметика по модулю <tex>2</tex> образует конечное поле <ref>[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 Конечное поле ]</ref>.
  
 
==Решение XOR-SAT задачи методом Гаусса==
 
==Решение XOR-SAT задачи методом Гаусса==

Версия 00:05, 7 января 2017

Задача:
XORSAT (XOR-satisfiability) выполнимость функции — задача распределения аргументов в булевой КНФ функции, записанной в виде XOR-КНФ, таким образом, чтобы результат данной функции был равен 1.


Описание

Одним из особых случаев SAT является класс задач, где каждый конъюнкт содержит операции (т. е. исключающее или), а не (обычные) операторы.(Формально, обобщенная КНФ с тернарным булевым оператором R работает только если 1 или 3 переменные дают true в своих аргументах. Конъюнкты,имеющие более 3 переменных могут быть преобразованы в сочетании с формулой преобразования с сохранением выполнимости булевой функции, т. е. XOR-SAT может быть снижена до XOR-3-SAT)[1]


Это задача Р-класса, так как XOR-SAT формулу можно рассматривать как систему линейных уравнений по модулю 2, которая, в свою очередь, может быть решена за O(n3) методом Гаусса [2].Такое представление возможно на основе связи между Булевой алгеброй и Булевым кольцом [3] и том факте, что арифметика по модулю 2 образует конечное поле [4].

Решение XOR-SAT задачи методом Гаусса

Система уравнений
("1" означает «true», "0" означает «false»)

Каждый конъюнкт ведет к одному уравнению.

Переменные Значение
a c d =1
b ¬c d =1
a b ¬d =1
¬a ¬b ¬c =1
¬a b c 1
Нормированная система уравнений
Используя свойства Булевых колец

(¬x=1x, xx=1)

Переменные Значение
a c d =1
b c d =0
a b d =0
a b c =1
a b c 0
Матрица соответствующих коэффициентов
a b c d Строка
1 0 1 1 1 A
0 1 1 1 0 B
1 1 0 1 0 C
1 1 1 0 1 D
Преобразования, чтобы сформировать

верхнюю треугольную матрицу

a b c d Операция
1 0 1 1 1 A
1 1 0 1 0 C
1 1 1 0 1 D
0 1 1 1 0 B
1 0 1 1 1 A
1 1 0 1 0 C
1 1 1 0 1 D
0 1 1 1 0 B
1 0 1 1 1 A
0 1 1 0 1 E=CA
0 1 0 1 0 F=DA
0 1 1 1 0 B
1 0 1 1 1 A
0 1 1 0 1 E
0 0 1 1 1 G=FE
0 0 0 1 1 H=BE
Преобразования, чтобы сформировать

диагональную матрицу

a b c d Операция
1 0 1 0 0 I=AH
0 1 1 0 1 E
0 0 1 0 0 J=GH
0 0 0 1 1 H
1 0 0 0 0 K=IJ
0 1 0 0 1 L=EJ
0 0 1 0 0 J
0 0 0 1 1 H

Следствие:R(a,c,d) R(b,¬c,d)R(a,b,¬d)R(a,¬b,¬c)∧ R(¬a,b,c)

Вычислительная сложность

Формула с 2-мя дизъюнктами может быть неудовлетворена(красный),3-SAT(зелёный),XOR-3-SAT(синий) ,или/и 1-in-3-SAT, в зависимости от количества переменных со значением 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-задача нерешаема.
При условии ,что P- и NP-классы не равны,ни 2-,ни Хорн-,ни XOR-SAT не являются задачи NP-класса,в отличии от SAT.

См. также

Примечания

  1. Перейти Alfred V. Aho; John E. Hopcroft; Jeffrey D. Ullman.The Design and Analysis of Computer Algorithms. Addison-Wesley.; здесь: Thm.10.4, 1974.
  2. Перейти Метод Гаусса
  3. Перейти Связь между Булевой алгеброй и Булевым кольцом
  4. Перейти Конечное поле

Источники информации