МАКС-3САТ - MAX-3SAT
MAX-3SAT - это проблема вычислительной сложности в информатике . Он обобщает проблему логической выполнимости (SAT), которая является проблемой решения, рассматриваемой в теории сложности . Это определяется как:
Дана 3-CNF- формула Φ (т. Е. С не более чем 3 переменными на одно предложение), найдите присваивание, которое удовлетворяет наибольшему количеству предложений.
MAX-3SAT - это каноническая полная задача для класса сложности MAXSNP (полная показана на Papadimitriou pg. 314).
Аппроксимируемость
Версия решения MAX-3SAT является NP-полной . Следовательно, решение за полиномиальное время может быть достигнуто только в том случае, если P = NP . Однако с помощью этого простого алгоритма можно добиться приближения с точностью до коэффициента 2:
- Выведите решение, в котором выполняется большинство предложений, когда либо все переменные = ИСТИНА, либо все переменные = ЛОЖЬ.
- Каждому предложению удовлетворяет одно из двух решений, поэтому одно решение удовлетворяет как минимум половине предложений.
В алгоритме Карлофф-Цвик работает в полиномиальное время и удовлетворяет ≥ 7/8 из пунктов.
Теорема 1 (непроксимируемость)
Теорема PCP означает, что существует ε > 0 такое, что (1- ε ) -аппроксимация MAX-3SAT является NP-трудной .
Доказательство:
Любая NP-полная задача по теореме PCP . Для X ∈ L , A 3-КНФ формула Ψ х сконструирован таким образом, что
- x ∈ L ⇒ Ψ x выполнимо
- x ∉ L ⇒ выполнимо не более (1 - ε ) m клозов x .
Verifier V считывает все требуемые биты сразу, т.е. выполняет неадаптивные запросы. Это действительно так, потому что количество запросов остается постоянным.
- Пусть q будет количеством запросов.
- Перечисляя все случайные строки R i ∈ V , мы получаем строки poly ( x ), начиная с длины каждой строки .
- Для каждого R i
- V выбирает q позиций i 1 , ..., i q и булеву функцию f R : {0,1} q -> {0,1} и принимает тогда и только тогда, когда f R (π (i 1 , ... , i q )). Здесь π относится к доказательству, полученному от Oracle.
Затем мы пытаемся найти булеву формулу, чтобы смоделировать это. Введем булевы переменные x 1 , ..., x l , где l - длина доказательства. Чтобы продемонстрировать, что Verifier работает за вероятностное полиномиальное время , нам нужно соответствие между количеством выполнимых предложений и вероятностью, которую принимает Verifier.
- Для каждого R добавьте предложения, представляющие f R ( x i1 , ..., x iq ), используя 2 q предложений SAT . Пункты длины q преобразуются в длину 3 путем добавления новых (вспомогательных) переменных, например x 2 ∨ x 10 ∨ x 11 ∨ x 12 = ( x 2 ∨ x 10 ∨ y R ) ∧ ( y R ∨ x 11 ∨ x 12 ) . Для этого требуется не более q 2 q 3-SAT пунктов.
- Если z ∈ L, то
- существует доказательство π такое, что V π ( z ) принимает для любого R i .
- Все пункты удовлетворяются, если x i = π ( i ) и вспомогательные переменные добавлены правильно.
- Если ввод z ∉ L, то
- Для каждого присвоения x 1 , ..., x l и y R соответствующее доказательство π ( i ) = x i заставляет Проверяющий отклонять половину всех R ∈ {0,1} r (| z | ) .
- Для каждого R одно предложение, представляющее f R, не выполняется.
- Следовательно, часть пунктов не работает.
- Для каждого присвоения x 1 , ..., x l и y R соответствующее доказательство π ( i ) = x i заставляет Проверяющий отклонять половину всех R ∈ {0,1} r (| z | ) .
Можно сделать вывод, что если это верно для каждой NP-полной задачи, то теорема PCP должна быть верной.
Теорема 2.
Хастад демонстрирует более точный результат, чем теорема 1, т. Е. Наиболее известное значение ε .
Он создает PCP Verifier для 3-SAT, который считывает только 3 бита из Proof.
Для каждого ε > 0 существует PCP-верификатор M для 3-SAT, который считывает случайную строку r длины и вычисляет позиции запроса i r , j r , k r в доказательстве π и бит b r . Он принимает тогда и только тогда, когда 'π ( i r ) ⊕ π ( j r ) ⊕ π ( k r ) = b r .
Проверяющий имеет полноту (1− ε ) и надежность 1/2 + ε (см. PCP (сложность) ). Проверяющий удовлетворяет
Если бы первое из этих двух уравнений было приравнено к «= 1», как обычно, можно было бы найти доказательство π, решив систему линейных уравнений (см. MAX-3LIN-EQN ), подразумевающую P = NP .
- Если z ∈ L , выполняется доля ≥ (1 - ε ) клозов.
- Если z ∉ L , то для части R (1/2 - ε ) противоречат клозам 1/4.
Этого достаточно, чтобы доказать жесткость отношения аппроксимации
Связанные проблемы
MAX-3SAT (B) - это ограниченный частный случай MAX-3SAT, где каждая переменная встречается не более чем в предложениях B. До того, как теорема PCP была доказана, Пападимитриу и Яннакакис показали, что для некоторой фиксированной константы B эта задача является MAX SNP-сложной. Следовательно, с теоремой PCP это также сложно для APX. Это полезно, потому что MAX-3SAT (B) часто можно использовать для получения снижения с сохранением PTAS, чего нельзя сделать с помощью MAX-3SAT . Доказательства явных значений B включают: все B ≥ 13 и все B ≥ 3 (что является наилучшим возможным).
Более того, хотя проблема решения 2SAT решается за полиномиальное время, MAX-2SAT (3) также является APX-трудным.
Наилучший возможный коэффициент приближения для MAX-3SAT (B) как функция от B не меньше и не больше , если NP = RP . Некоторые явные ограничения на приближаемости констант при определенных значениях B известны. Берман, Карпински и Скотт доказали, что для «критических» экземпляров MAX-3SAT, в которых каждый литерал встречается ровно дважды и каждое предложение имеет размер 3, проблема является сложной аппроксимацией для некоторого постоянного множителя.
MAX-EkSAT - это параметризованная версия MAX-3SAT, в которой каждое предложение имеет ровно k литералов для k ≥ 3. Его можно эффективно аппроксимировать коэффициентом аппроксимации, используя идеи теории кодирования .
Доказано, что случайные экземпляры MAX-3SAT могут быть аппроксимированы с точностью до множителя8/9.
Рекомендации
Конспект лекций Калифорнийского университета в Беркли Заметки по теории кодирования в Университете Буффало