O que há de errado com essa aparente contradição com um artigo sobre a compressão AND do SAT?

7

Conseguimos uma construção simples, aparentemente contradizendo um artigo que pressupõe conjecturas plausíveis.

Como é improvável que a conjectura seja falsa, o que há de errado com o argumento?

De um papel

Uma compactação AND é um algoritmo determinístico de tempo polinomial que mapeia um conjunto de instâncias SAT para uma única instância SAT de tamanho tal que y é satisfatório se e somente se todos os x_i forem satisfatórios. ... A menos que ocorra o colapso teórico improvável da complexidade \ sf coNP \ subseteq NP / poly , não há compactação AND para SAT.x1,,xtypoly(maxi|xi|)yxicoNPNP/poly

Construção:

Se xi não estiver no CNF, converta-o em CNF, possivelmente adicionando novas variáveis. Isso é polinomial.

Em CNF pode codificar uma porta AND C:=AB e o gate OR C:=AB .

Os portões AND e OR têm a propriedade de que, para todas as atribuições satisfatórias de seus CNFs, temos e .C(AB)C(AB)

Deixe a cláusula -ésimo em ser para literais .jxixi,j=[y1,,yk]ym

Usando o portão OR e novas variáveis, calcule a variável .Oi,j:=y1y2yk

Para todas as cláusulas em ( ) e a variável de computação da porta AND .xiOi,jVi:=Oi,1Oi,2Oi,m

Por construção .xiVi

Para todos os , usando a porta AND, calcule .ViF:=V1Vt

Fx1xt .

Portanto, a fórmula final é a união dos CNFs para , , e uma cláusula unitária .yOi,jViF[F]

|y|é linear no número de todos os literais, é polinomial em, o que tornapolinômio em.tmax|xi||y|max|xi|

Isso parece contradizer a afirmação do artigo, a menos que ocorra um certo colapso.

O que há de errado com esse argumento que parece contradizer a afirmação do artigo?

Trabalhos de construção semelhantes para compactação OR, quando pelo menos um deve ser satisfatório.xi

A variável recém-introduzida é determinada exclusivamente pelas variáveis ​​originais.

OR gate in  CNF 3 := 1 \/ 2 : [[1 2 -3],[-1 3],[-2 3]]
AND gate in CNF 3 := 1 /\ 2 : [[-1 -2 3],[1 -3],[2 -3]]
elluser
fonte
Você não pode calcular (e, portanto, ), isso implica que você já conhece a solução para as instâncias SAT. Oi,jVi,j
Luke Mathieson
@LukeMathieson Isso funciona na prática com os portões explícitos, é computado simbolicamente nos literais. Para calcular , usando o ou gate calcule , . T:=xyzt1:=OR(y,z)T:=OR(x,t1)
elluser
@ user114872 se eles não estão usando os valores, como eles são forçados pela atribuição da verdade? Eu posso ficar atrás de é satisfatório é satisfatório, mas não vejo por que você faz o inverso, as variáveis podem ser configuradas como verdadeiras. xi ViOi,j
Luke Mathieson
@LukeMathieson Não estou construindo uma solução, estou construindo CNF (trabalhe com os literais simbolicamente). Intuitivamente, converta CNF em circuito com o portão . Adicione portas AND entre todos os . Converta o circuito final em CNF, forçando o portão final a TRUE. Isso também é polinomial. yxioixioi
precisa saber é
11
@ user114872 Entendo que você está construindo uma fórmula CNF, o que estou sugerindo é que ela não obedeça à condição de que seja satisfatório se e somente se todos os s forem satisfatórios - é satisfatório apenas definindo todas as variáveis para true. Isso não nos diz nada sobre as instâncias . FxiFOi,jxi
Luke Mathieson

Respostas:

12

A confusão surge de um mal-entendido sobre o que significa polinômio no tamanho da maior instância. Isso não significa que o crescimento polinomial da saída do compressor seja permitido à medida que o número de instâncias ( ) aumenta. Em vez disso, significa que a saída do compressor pode crescer apenas à medida que o tamanho máximo da instância aumenta, independentemente de , e somente dentro de um polinômio fixo desse valor.tt

Seu compressor concatena as instâncias CNF, converte-as em circuitos e depois converte os circuitos novamente em CNF. Sua saída cresce linearmente com o número de instâncias ( ) independente do tamanho da instância e, portanto, é obrigada a exceder qualquer função polinomial do tamanho máximo da instância. Por esse motivo, na verdade porque ele não faz nenhuma compactação, seu compressor não causa nenhum colapso da hierarquia.t

Também parece haver um mal-entendido sobre o que a função do compressor AND deve fazer. Ele não precisa gerar uma instância que preserve todas as atribuições satisfatórias para todas as instâncias de entrada, nem precisa haver uma redução parcimoniosa na contagem das instâncias de entrada para a instância de saída. Uma implementação em conformidade pode, no extremo, gerar uma instância vazia se todas as instâncias de entrada forem satisfatórias e uma única cláusula vazia, caso contrário.

Um compressor AND mais plausível pode adaptar técnicas padrão de compactação de dados, como o uso de um dicionário. Uma tabela de sub-fórmulas insatisfatórias pode ser pré-computada e usada para procurar nas instâncias SAT de entrada. Uma correspondência implicaria uma atribuição de variável proibida, que, quando instanciada como uma cláusula aprendida, poderia incluir (eliminar) várias outras cláusulas.

Outra técnica envolve aproveitar os diferentes tamanhos das instâncias de entrada. Se as instâncias de entrada forem de tamanhos diferentes, as instâncias maiores poderão ser pesquisadas por sub-fórmulas equivalentes a uma das instâncias menores. Essa correspondência implica a existência de uma atribuição de variável que poderia produzir o subformulário e, portanto, a instância maior é satisfatória se a instância menor for satisfatória. Se a instância menor for insatisfatória, a instância maior ainda poderá ser satisfatória, mas isso não importa, porque a saída do compressor ainda deve produzir uma fórmula insatisfatória. Portanto, a instância de saída é efetivamente dissociada da satisfação da instância maior e, portanto, a instância maior não precisa mais ser representada na saída, eliminando um grande número de cláusulas.

Existem muitas outras técnicas. O teorema do artigo sugere que é improvável alcançar eficientemente altos níveis de compressão, dado o colapso parcial implícito da hierarquia polinomial.

Kyle Jones
fonte
Obrigado, mas isso me confunde ainda mais. Editou a pergunta basicamente com isso: Pegue . Como tende ao infinito, não é polinomial em. Qualquer operação_ dependendo de todos os é exponencial, portanto, neste caso, me parece que a solução polinomial independente de não pode existir pela simples razão de o tamanho da entrada ser exponencial em. t=2n,max|xi|=n2ntmax|xi|xitmax|xi|
precisa saber é
Você misturou restrições. O compressor precisa executar o polinômio no tempo com o tamanho da entrada, mas o tamanho da saída deve ser polinomial com o tamanho da maior instância de entrada única. O requisito do tamanho da saída não influencia o tempo que você tem permissão para ler e processar a entrada.
Kyle Jones
Você quer dizer que o tempo de execução pode ser arbitrário (não polinomial), apenas a saída para ser polinomial? y
elluser
Não, o tempo de execução deve ser polinomial para o tamanho da entrada. À medida que a entrada aumenta, o pior caso é o tempo de execução, mas no mesmo polinômio com o tamanho da entrada.
Kyle Jones
O tamanho da entrada é todas as instâncias SAT e é? i=1t|xi|
elluser
5

Re Editar 3: é uma atribuição satisfatória para a instância " ". é uma atribuição satisfatória para a instância " ". As instâncias " " e " "são satisfatórios. A instância "


F,T(¬x0)x1
T,Fx0¬x1
(¬x0)x1x0¬x1
(¬x0)x1 "é satisfatório se a instância" "é satisfatório. não é uma tarefa satisfatória para a instância " ". é uma atribuição satisfatória para a instância " "mas não para a instância"x0¬x1
F,Tx0¬x1
F,T(¬x0)x1x0¬x1 ".
Assim, a transformação da instância" "para a instância " "não preserva todas as atribuições satisfatórias da instância de entrada, mas é tal que" "é satisfatório se " "for satisfatório.(¬x0)x1
x0¬x1
(¬x0)x1x0¬x1

Aqui está uma versão não necessariamente eficiente de um algoritmo de compactação AND para SAT:
Determine se todas as instâncias SAT de entrada são ou não satisfatórias. Se todos estiverem, então imprima a instância SAT única " ", caso contrário, imprima a instância SAT única " ".
x0x0¬x0


fonte
11
Obrigado, isso ajudou. São compactáveis: instale (o maior possível) instâncias em variáveis disjuntas do mesmo tamanho. As instâncias são aleatórias de última geração, 3-SAT. Como eles estão em variáveis ​​disjuntas, a minimização do circuito não funciona. Não é possível compactar todas as instâncias SAT, pois isso o solucionará com chamadas suficientes para a minimização. t
elluser
Esses são compressíveis (embora não necessariamente eficientemente); basta usar o algoritmo que eu dei. A única relação entre esse problema de minimização de circuitos que vejo é o fato de que, dependendo de não serem necessários circuitos para realmente mapear cada entrada para um nó, o SAT pode ser eficientemente redutível à minimização de circuitos.
"uma vez que isso resolverá" o que "mediante chamadas suficientes para a minimização"? Um pode comprimir cada instância única SAT (embora não necessariamente de forma eficiente); basta substituir "todas as instâncias SAT de entrada são satisfatórias. Se todas estiverem" na minha resposta com "a instância SAT de entrada é satisfatória. Se for".
Quero dizer minimização / compressão eficiente . Certamente resolver fornece compressão O (1).
elluser
A desarticulação das variáveis ​​é irrelevante. Suspeito que não haja algoritmos não triviais conhecidos para compactação AND de tais distribuições e conseqüências aparentemente improváveis ​​conhecidas (outras) da existência de um algoritmo eficiente de compactação AND para essas distribuições.
3

As últimas coisas que costumavam me confundir foram os limites em a definição exata de polinômio.t

O artigo "Inviabilidade de compactação de instância e PCPs sucintos para NP" ajudou muito.

É sobre compressão OR, mas funciona.

Na notação de trabalho original e .t=mmax|xi|=n

O artigo explica:

" possivelmente pode ser muito menor quenm

(o algoritmo) é executado no polinômio do tempo em emn

elluser
fonte