MIN-2-XOR-SAT e MAX-2-XOR-SAT: são NP-hard?


13

Qual é a complexidade de e \ text {MAX-2-XOR-SAT} ? Eles estão em P? Eles são NP-difíceis?MIN-2-XOR-SATMAX-2-XOR-SAT

Para formalizar isso com mais precisão, vamos

Φ(x)=inCi,

onde x=(x1,,xm) e cada cláusula Ci tem a forma (xixj) ou (xi¬xj) .

O problema 2-XOR-SAT é encontrar uma tarefa para x que satisfaça Φ . Esse problema está em P , pois corresponde a um sistema de equações lineares mod 2 .

O problema MAX-2-XOR-SAT é encontrar uma atribuição para x que maximize o número de cláusulas que são atendidas. O problema MIN-2-XOR-SAT é encontrar uma atribuição para x que minimize o número de cláusulas que são atendidas. Quais são as complexidades desses problemas?

Inspirado em MIN ou MAX-True-2-XOR-SAT NP-hard?

Respostas:


6

Desculpe por responder uma postagem antiga

O problema de determinar se uma instância de MONOTONE-2-XOR-SAT (todas as cláusulas são do tipo ) é satisfatório pode ser reduzido ao problema de determinar se um gráfico é bipartido, consulte isso .(xixj)

Para isso, criamos um gráfico com um nó para cada literal da fórmula e conectamos cada literal a outro se eles estiverem na mesma cláusula (arestas são cláusulas)G

Por exemplo:

Se tivermos uma fórmula insatisfatória que seja(x1x2)(x1x3)(x2x3)(x1x4)

Temos um gráfico como este:

grafo no bipartito

isso não é bipartido

Existem três cláusulas que são satisfatórias e, portanto, temos apenas que eliminar uma vantagem

Agora, podemos reduzir o problema de determinar se podemos encontrar um subgrafo bipartido máximo com vértice para o problema de determinar se podemos satisfazer as cláusulas em uma fórmula MONOTONE-MAX-2XOR-SAT, veja isso . E o problema do subgráfico bipartido máximo é equivalente ao corte máximokk

Para fazer a redução, simplesmente criamos um novo literal para cada vértice e criamos uma cláusula para cada aresta conectando dois literais

Por exemplo:

Nós temos esse gráfico,

grafo no bipartito 2

Criamos a fórmula a seguir(x1x2)(x1x4)(x2x4)(x2x3)(x4x5)(x3x5)

Portanto, se pudermos encontrar uma atribuição que satisfaça as cláusulas isso significa que existe um subgrafo bipartido com pelo menos arestas.kk


11
Você deve tornar a implicação explícita: Como MAX-CUT é NP-Hard, a redução para MAX-XORSAT significa que também é NP-Hard.
Antimony

-1

Onde cada cláusula é fornecida apenas como , crie um vértice para cada literal , crie uma aresta entre dois vértices se existir um relacionamento XOR entre eles. Para que a declaração seja verdadeira, ela deve satisfazer . Agora podemos adotar o problema de coloração de vértices (não há dois vértices conectados por uma aresta com a mesma cor; só temos 2 cores adicionais se quisermos satisfazer a equação). A cláusula é verdadeira se os vértices correspondentes tiverem atribuído cores diferentes no gráfico.(xixj)xixixjxixjxixj

Se todos os vértices do gráfico puderem ser coloridos usando duas cores e nenhum dos dois vértices com um compartilhamento de aresta comum tiver a mesma cor, a equação será satisfatória.

Mas um gráfico é bicolor se for um gráfico bipartido. E determinar se um gráfico é bipartido pode ser feito em tempo polinomial. Portanto, o problema está em P, porque, se pudermos determinar em tempo polinomial que o gráfico é bipartido, ele é solucionável, caso contrário, não é solucionável.


11
Mas a declaração do problema permite ter ambas as cláusulas e . Não vejo como você pretende lidar com cláusulas do segundo tipo. Você está tentando resolver um caso especial em que não há cláusulas do segundo tipo? Algo mais? Talvez você possa recolher / unificar cada par de vértices modo que exista uma cláusula ? (xixj)(xk¬xl)k,l(xk¬xl)
DW

2
Isso me leva a um problema mais sério com sua resposta. O problema não é determinar se a fórmula é satisfatória; o problema é identificar uma tarefa que satisfaça o número máximo / mínimo de cláusulas. Seu algoritmo apenas testa se a fórmula é satisfatória. Assim, ele resolve 2-XOR-SAT, mas não resolve MIN-2-XOR-SAT ou MAX-2-XOR-SAT - mas eu já sabia que o 2-XOR-SAT está em P, conforme explicado em a questão. Eu entendi algo errado?
DW

Obrigado, eu fiz a correção, que a minha resposta se aplica somente a cláusula é dada porxixk
jcod0

11
Mas ainda não vejo como isso aborda meu segundo comentário. Você resolveu um caso especial de um problema que eu não estava perguntando. Em suma, esta resposta não responde à pergunta que eu fiz.
DW
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.