Sopra #P e contando i problemi di ricerca


14

Stavo leggendo l'articolo di Wikipedia sul problema delle otto regine. Si afferma che non esiste una formula nota per il numero esatto di soluzioni. Dopo alcune ricerche, ho trovato un documento intitolato "Sulla durezza del conteggio dei problemi di mappature complete". In questo documento c'è un problema, dimostrato essere al massimo duro come #queens, che va oltre #P. Scorgendo i numeri dei #queens conteggiati esaustivamente nell'articolo di Wikipedia, sembrano praticamente super esponenziali.

Voglio chiedere, se esiste un nome per questa classe o se in generale ci sono problemi di conteggio appartenenti a classi sopra #P (con decisione non in PSPACE ovviamente perché sarebbe ovvio).

Infine, vorrei chiedere se ci sono altri risultati noti per altri problemi di ricerca, come trovare un punto tricolore nel Lemma di Sperner (PPAD completo).


Risposte:


14

Se la funzione f è in #P, quindi data una stringa di input x di una certa lunghezza N, il valore f (x) è un numero non negativo limitato da . (Ciò deriva dalla definizione, in termini di numero di percorsi di accettazione di un verificatore NP.)2poly(N)

Ciò significa che molte funzioni f trovano fuori della #P per motivi non interessanti --- o perché f è negativo, o, nel caso si parla, perché la funzione cresce più . Ma per il problema n -queens come modellato nel documento, questo è solo un artefatto della decisione degli autori di lasciare che il valore di input n sia codificato in binario. Se l'input previsto era la stringa unaria 1 n , allora f ( 1 n ) : = (numero di n validi2poly(N)nn1nf(1n):=n-queen configurations) sarebbe sicuramente in #P, con un semplice verificatore NP che controlla la validità di una data configurazione.

Se vuoi esplorare alcune funzioni che (congetturalmente) si trovano al di fuori di #P per motivi più interessanti, considera ad esempio queste:

  • UNSAT: se ψ è una formula booleana insoddisfacente, altrimenti f ( ψ ) : = 0 . Questa funzione non è in #P, a meno che NP = coNP. Probabilmente non è nemmeno nella classe di conteggio più generale GapP; cioè UNSAT probabilmente non è la differenza f - g di due funzioni #P. Tuttavia, risiede nella classe di complessità di conteggio più generale P # P , che in realtà contiene l'intera Gerarchia polinomiale dal teorema di Toda.f(ψ):=1ψf(ψ):=0P#P

Questo esempio potrebbe non piacerti perché non è un "problema di conteggio" naturale. Ma i prossimi due saranno:

  • f(ψ(x,y)):=xψ(x,)y

  • f(ψ(x,y)):=xyψ(x,y)=1

Questi ultimi due problemi non sono noti per essere calcolabili in modo efficiente anche con l'accesso a Oracle su #P. Tuttavia, sono calcolabili all'interno della cosiddetta "gerarchia di conteggio". Per alcuni problemi più naturali classificati in questa classe, vedi ad esempio questo recente documento.

Il conteggio degli equilibri di Nash è apparentemente # P-difficile, vedi qui . Inoltre, anche i problemi in cui il problema di ricerca è semplice possono essere #P difficili da contare, ad esempio il conteggio di corrispondenze perfette.


1
Per il tuo esempio UNSAT, se è in GapP, ottieni che coNP è in SPP, e quindi coNP è basso per PP - ne sono note le conseguenze negative? Se è in #P, in effetti coNP è contenuto in UP :), quindi coNP = NP = UP = coUP.
Joshua Grochow,

Sì, non sono sicuro ma buona domanda.
Andy Drucker,

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.