Problema # P-complete cuja versão de decisão está em P


14

1) É possível ter uma redução parcimoniosa de um problema # P-completo # A para um problema de contagem # B quando (a versão de decisão) A está NP-completa e B está em P?

Por exemplo, pode haver uma redução parcimoniosa de #SAT para #B, quando B está em P?

2) Se B estiver em P, quais são as diferentes possibilidades para a complexidade de #B?

Respostas:


20

Se você insistir em reduções parcimoniosas (em que o número de soluções é preservado), não poderá obter tal redução, a menos que P = NP, porque o algoritmo de decisão para o não vazio de soluções para B fornecerá um algoritmo de decisão para o não vazio de soluções para R. Por outro lado, se você permitir outro tipo de redução, poderá ter esse caso. Por exemplo, Valiant mostrou que #SAT se reduz ao problema de contar combinações perfeitas em um gráfico bipartido: a redução começa com uma fórmula CNF e cria um gráfico bipartido cujo número de combinações perfeitas mod é vezes o número de atribuições satisfatórias de , ondeFG28m+14mFmé o número de ocorrências literais em . Note como esta não é uma redução parcimoniosa, mas uma redução, no entanto, desde que você pode recuperar o número de satisfazer as atribuições de a partir do número de emparelhamentos perfeitos de .FFG

Veja o capítulo 18 no livro "Complexidade computacional" de Papadimitriou para uma exposição clara disso.


7

A resposta para a pergunta 2 é que a complexidade do problema de contagem # B pode ser basicamente qualquer coisa (nem mesmo necessariamente computável). Mais precisamente, a restrição de que a versão de decisão está em P não tem nenhuma implicação na complexidade da versão de contagem. Isso ocorre porque você pode adicionar uma solução fictícia a qualquer problema de relação para que a versão da decisão se torne trivial (a resposta sempre será sim) sem alterar a complexidade da versão da contagem.


1
por que você diz isso? "(nem mesmo necessariamente computável)" É claro que se B é um problema de decisão em P, o #B está em #P, diretamente da definição da classe #P! mas provar que #B também é # P-com é importante, e adicionar soluções falsas não deve afetar a complexidade da contagem. você concorda?
Marjoonjan

@marjoonjan: “É claro que se B é um problema de decisão em P, o #B está em #P, diretamente da definição da classe #P” Isso é falso. Além disso, tenho a impressão de que você acredita que um problema de decisão B determina exclusivamente o problema de contagem # B, mas não é o caso, como expliquei nesta resposta.
Tsuyoshi Ito
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.