Esiste un problema NP-completo, tale che la versione decisionale del suo problema di conteggio non è completa PP?


8

Una volta risolto un verificatore deterministico di tempo polinomiale V (input, certificato), il problema NP corrispondente è la domanda: per questo input esiste un certificato (dimensione polinomiale) tale che V (input, certificato) restituisce True?

Il problema di conteggio associato (classe #P) è: quanti certificati esistono tali che V (input, certificato) restituisce True?

#P non è una classe "problemi di decisione", ma una classe di problemi di conteggio. La classe di "problemi decisionali" tradizionale più vicina è PP, che presenta problemi di forma: la maggior parte dei certificati fa sì che V (input, certificato) restituisca True?

Sono interessato alla versione decisionale del problema di conteggio associato a un determinato problema NP-completo + verificatore, che sarebbe: Data l'istanza di input e un numero intero positivo K: Esistono almeno K certificati diversi tali che V (input, certificato) restituisce True?

Questo problema decisionale è chiaramente equivalente alla versione di conteggio (tramite una ricerca binaria). Se non sbaglio, la classe di tutte queste "versioni decisionali dei problemi di conteggio associati a problemi NP" è esattamente dura come PP poiché:

1) Uno qualsiasi di questi problemi di "decisione di conteggio" può essere riformulato come qualche altro problema di maggioranza, scegliendo una definizione di verificatore ad hoc in cui molti certificati sono considerati manualmente Vero o Falso in modo tale che vi siano almeno K Veri certificati nell'originale se e solo se la maggioranza è vera nel problema risultante. Proprio come un semplice esempio per illustrare l'idea di riduzione, se ci sono 8 possibili certificati, e vogliamo sapere se ce ne sono almeno 3 True, potremmo proporre un verificatore diverso con 11 possibili certificati: per gli 8 originali è solo controlla normalmente e per gli altri tre restituisce immediatamente True senza guardare l'input. Poiché la maggior parte di 11 è 6, questo nuovo verificatore accetta la maggior parte dei certificati esattamente se quello originale ne accetta almeno 3.

Pertanto, tutti questi problemi sono in PP.

2) La versione corrispondente di "decisione di conteggio" per qualsiasi problema completo di PP sarà ovviamente PP-difficile, poiché risolvere il problema della maggioranza originale è semplicemente risolvere il problema. Pertanto, tali problemi sono completi di PP.(ionput,totun'lCertiofiocun'teS2+1)

Quindi ora finalmente posso dire chiaramente la mia domanda, che è una "versione più sofisticata" della stessa idea mostrata nelle varianti MAX, MAJ dei problemi completi di NP :

C'è qualche problema NP-completo in modo tale che la versione della decisione del suo problema di conteggio (che è in PP) non è completa in PP?

Ad esempio, nel caso del sottoinsieme-somma il problema decisionale associato che mi interessa sarebbe: ci sono almeno K sottoinsiemi non vuoti di somma zero?

Poiché K è gratuito e non si limita a essere vicino alla metà dei certificati, l'argomento dell'altra risposta non si applica.


Una domanda collaterale molto correlata potrebbe essere: uno di questi problemi di "decisione di conteggio" è completo se e solo se la versione di conteggio è #P completa?
Agustín,

Risposte:


3

Ponendo la tua domanda in termini più precisi, ti chiedi se vale la seguente richiesta:

*R(X,y) è una relazione NP-completacountR è completo in PP

Dove countR è definito come segue:

countR={(X,K)||{y:R(X,y)}|K}.

Chiamiamo una relazione R(X,y) NP-complete se è calcolabile in tempo polinomiale e il linguaggio che definisce LR={X|yR(X,y)=1} è NP-completo.

Parliamo in termini di relazioni, poiché come hai detto, la versione di conteggio deve essere definita in relazione a un verificatore specifico.

Sembra che questa sia una domanda aperta, poiché (*) implica:

**R(X,y) è una relazione NP-completa#R è # P-completo

Dove #R(X)=|{y:R(X,y)}|.

Per capire perché * implica quanto sopra, lascia R(X,y)essere una relazione NP-completa. Utilizzando (*),countR la PP è completa, quindi countSATpcountR. In quel caso,#SUNTFP#R e quindi #R è #P-completo (usa la ricerca binaria, da dove in ogni cutoff applichi la riduzione da countSAT per countR e interroga il #R oracolo sul risultato).

Per quanto ne so, (**) è attualmente aperto. Vedi questa domanda correlata da Cstheory. Anche correlati .

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.