Problemas fáceis com versões de contagem difícil

20

A Wikipedia fornece exemplos de problemas em que a versão de contagem é difícil, enquanto a versão de decisão é fácil. Algumas delas estão contando combinações perfeitas, contando o número de soluções para 2 SAT e o número de classificações topológicas.

Existem outras classes importantes (digamos exemplos em treliças, árvores, teoria dos números e assim por diante)? Existe um compêndio de tais problemas?

Existem muitos tipos de problemas em P que possuem versões de contagem #P -hard.

Existe uma versão de um problema natural em P que é mais completamente compreendida ou mais simples do que a correspondência perfeita bipartida geral (inclua detalhes sobre por que mais simples, como estar provável nas classes mais baixas da hierarquia NC e assim por diante) em outras área (como teoria dos números, reticulados) ou, pelo menos, para gráficos bipartidos simples em particular, cuja versão contadora é #P -hard?

Serão apreciados exemplos de treliças, polítopos, contagem de pontos e teoria dos números .

T ....
fonte
1
Presumivelmente, você deseja problemas naturais , pois [por redução de #SAT, problemas com # P-difícil em [reduções que multiplicam a resposta por um número diferente de zero] têm problemas de decisão com HP] e [pela função de identidade {{: x é 1+ (número_de_variáveis_ ( ϕ )) um ou [um zero seguido de uma atribuição satisfatória para ϕ ]} é # P-rígido sob o tipo de redução mais rigoroso, mas sua versão de decisão é trivial].
@ RickyDemer sua escrita é sucinta. Sim, eu quero problemas naturais.
T ....
Realmente não entendemos completamente as combinações perfeitas nos gráficos bipartidos? Além disso, existe um algoritmo RNC2 para o problema.
Sasho Nikolov
1
Sim nós não. Não temos um algoritmo determinístico de NC
T ....

Respostas:

8

Aqui está um exemplo verdadeiramente excelente (posso ser tendencioso).

Dado um conjunto parcialmente ordenado:
a) ele possui uma extensão linear (isto é, um pedido total compatível com o pedido parcial)? Trivial: Todos os posets possuem pelo menos uma extensão linear
b) Quantos possuem? # P-complete para determinar isso (Brightwell e Winkler, Counting Linear Extensions , Order, 1991)
c) Podemos gerá-los todos rapidamente? Sim, em tempo amortizado constante (Pruesse e Ruskey, Generating Linear Extensions Fast , SIAM J Comp 1994)

Gara Pruesse
fonte
3
+1: eu concordo que é um exemplo realmente excelente (estava pensando em publicá-lo pessoalmente e depois vi essa resposta). Além disso, para que alguém diga "Que tal decidir se há pelo menos uma outra extensão linear", esse problema também é completamente trivial: um pedido total tem uma extensão, todos os outros posets têm> 1. E detectar exatamente 2 extensões também é fácil (isso acontece se houver exatamente um par de elementos incomparáveis). De fato, existe uma classificação completa de posets com até 7 extensões lineares (ver Hanamura-Iwata, IPL 2011 ).
Joshua Grochow 26/10
Este é realmente um bom exemplo. Existe um problema muito "mais simples", porém desfrutando do mesmo tipo de propriedades (mais simples no sentido de que essas propriedades são quase triviais de provar). Contando o número de atribuições satisfatórias de um DNF: a) todo DNF não vazio é satisfatório b) a contagem é # P-completa (redução para #SAT) c) a enumeração pode ser feita com atraso polinomial (um tempo amortizado talvez constante) para pensar sobre isso)
holf 27/10
Eu estaria muito interessado em saber se as atribuições que satisfazem a DNF podem ser geradas em tempo amortizado constante (CAT). Na época e em meu artigo com Frank, em 1994, extensões lineares eram o primeiro objeto "definido naturalmente" para o qual a contagem era difícil e a geração era a mais rápida possível, quando amortizada (isto é, CAT). As soluções DNF também parecem ser um candidato provável. Alguém tem uma referência?
Gara Pruesse #
@GaraPruesse Não tenho referências para isso. Para DNF monótono, é equivalente a enumerar um conjunto de hipergráficos de batida e algumas técnicas para melhorar o atraso são apresentadas em "Algoritmos eficientes para a dualização de hipergráficos de grande escala" por Keisuke Murakami e Takeaki Uno dl.acm.org/citation.cfm? id = 2611867 . Devemos verificar se dá CAT. Para a DNF, minha intuição é que, se houver uma pequena cláusula, você já terá soluções suficientes para a força bruta. Caso contrário, você terá apenas cláusulas grandes e, portanto, com maior probabilidade de conflito e que poderão ser usadas para projetar um algoritmo CAT.
Holf
17

Um exemplo interessante da teoria dos números está expressando um número inteiro positivo como uma soma de quatro quadrados. Isso pode ser feito com relativa facilidade em tempo polinomial aleatório (veja meu artigo de 1986 com Rabin em https://dx.doi.org/10.1002%2Fcpa.3160390713 ) e, se bem me lembro, agora existe um tempo polinomial determinístico solução. Porém, contar o número de tais representações permitiria calcular a função da soma dos divisores , que é o tempo polinomial aleatório equivalente ao fatoramento n . Portanto, o problema da contagem é provavelmente difícil.σ(n)n

Jeffrey Shallit
fonte
"Então o problema da contagem é provavelmente difícil", você quer dizer provavelmente difícil? você tem provas? #P
T ....
Por "provavelmente difícil", quero dizer que é equivalente ao tempo polinomial aleatório da fatoração inteira.
Jeffrey Shallit
3
Portanto, para deixar explícito: o problema não é difícil de entender (a menos que todo o inferno se solte).
Emil Jeřábek apóia Monica
@JeffreyShallit Existe um exemplo de ? #P
T ....
Eu acho que o seguinte é um exemplo ainda mais simples: "Será que tem uma maior divisor adequada do que 1 " versus "Quantos divisores próprios superiores a 1 faz nn11n tem?". A versão de decisão é equivalente a " é composto", portanto está em P , mas a versão de contagem não parece mais fácil do que a fatoração. nP
Dan Brumleve
17

Um exemplo muito bom e simples da Teoria dos grafos é contar o número de circuitos Eularian em um gráfico não direcionado.

A versão de decisão é fácil (... e o problema das Sete Pontes de Königsberg não tem solução :-)

A versão da contagem é # P-hard: Graham R. Brightwell, Peter Winkler: A contagem de circuitos eulerianos é # P-Complete . ALENEX / ANALCO 2005: 259-262

Marzio De Biasi
fonte
NGpGpNpmm2|E|=m -consulta redução. mϵ
@MarzioDeBiasi é a decisão do circuito euleriano no NC?
T ....
1
@AJ. Você só precisa calcular a paridade do grau de cada nó e verificar se estão todos iguais. Parece definitivamente estar em NC.
Sasho Nikolov
4
nO(n2)O(logn)nO(n3)O(n2)O(logn)(na base AND-OR). Portanto, o problema está de fato em . NC1
Sasho Nikolov
2
De fato, o problema está em . AC0[2]
Emil Jeřábek apoia Monica
6

Em relação à sua segunda pergunta, problemas como o Monotone-2-SAT (decidir a satisfação de uma fórmula CNF com no máximo 2 literais positivos por cláusula) são completamente triviais (basta verificar se a fórmula está vazia ou não), mas o problema de contagem é # P-difícil. Mesmo aproximar o número de atribuições satisfatórias dessa fórmula é difícil (consulte Sobre a dureza do raciocínio aproximado, Dan Roth, Artificial Intelligence, 1996).

holf
fonte
5

A partir de [Kayal, CCC 2009] : avaliar explicitamente polinômios aniquilantes em algum momento

Do resumo: `` Este é o único problema computacional natural em que a determinação da existência de um objeto (o polinômio aniquilador em nosso caso) pode ser feita com eficiência, mas a computação real do objeto é comprovadamente difícil ''.

Ff=(f1,...,fk)F[x1,...,xn]kd nF.fAA(f1,...,fk)=0.

k(f1,...,fk)kn+1,A(f1,...,fk)

p,(f1,...,fk)Z[x1,...,xn]A(t1,...,tk)Z[t1,...,tk],A(0,...,0)modp.

ANNIHILATING-EVAL é -hard. Além disso, o polinômio aniquilador não possui uma representação de circuito pequena, a menos que colapso. A ( t 1 , . . . , T k ) P H#PA(t1,...,tk)PH

Daniel Apon
fonte
1
Como no exemplo de Marzio, a prova da reivindicação 15.2 deste artigo parece indicar que eles apenas mostram dureza sob reduções paralelas, em vez de mesmo sob reduções de . mϵ
1
Os recursos que posso encontrar parecem discordar das definições. Seja AE o problema que sua resposta discute. (... continuação)
1
(continuação ...) Eu não tentei trabalhar mais precisamente o da classe base que eles usam, mas seria muito surpreendido se o seu resultado foi melhor do que #P = TC DLOGTIME uniforme . (... continuação)( 0 ) || AE [n]
1
(continuação ...) Tanto quanto eu posso ver, ele não segue que PPL MP poli . AE [ 3 AE[n3]/
1
De maneira mais geral, ou seja, para arbitrário (até menos que ), a decisão é fácil por causa do critério jacobiano, certo? (Observe que o critério jacobiano funciona apenas na característica> ; na característica positiva pequena, há um critério jacobiano modificado devido a Mittman-Saxena-Scheiblechner , mas que aparentemente leva apenas a um algoritmo para decisão ...)n m a x d e g f i N P # PknmaxdegfiNP#P
Joshua Grochow