Le tecniche per dimostrare che il problema è nella durezza "limbo"


36

Dato un nuovo problema in NP cui vera complessità è da qualche parte tra P ed essere NP completo, ci sono due metodi che conosco che potrebbero essere usati per dimostrare che risolvere questo è difficile:

  1. Mostra che il problema è GI-completo (GI = Isomorfismo grafico)
  2. Dimostrare che il problema è in . In base a risultati noti, tale risultato implica che se il problema è NP-completo, il PH crolla al secondo livello. Ad esempio, il famoso protocollo per nonisomorfismo grafico fa esattamente questo.co−AM

Ci sono altri metodi (forse con diversi "punti di forza") che sono stati usati? Per ogni risposta, è richiesto un esempio di dove è stato effettivamente utilizzato: ovviamente ci sono molti modi in cui si potrebbe provare a mostrarlo, ma esempi rendono l'argomento più convincente.


12
Se un problema sembra abbastanza difficile, ma non sei in grado di dimostrare che si tratta di NPC, un rapido controllo è contare il numero di stringhe di lunghezza n nella lingua: se l'insieme è scarso, è improbabile che sia NPC (altrimenti P = NP dal teorema di Mahaney) ... quindi è meglio indirizzare gli sforzi per dimostrare che è in P :-) :-) Un esempio dal blog di Fortnow & Gasarch : {(n, k): esiste un modo per partizionare { 1, ..., n} in al massimo k caselle in modo che nessuna casella abbia x, y, z con x + y = z}
— Marzio De Biasi

5
@MarzioDeBiasi mi sembra una risposta.
— Sasho Nikolov,

2
Esistono due parti di tale dimostrazione: mostrare la difficoltà di collocare il problema in BPP e mostrare la difficoltà di collocare il problema nella classe NP-complete. (Ricorda che la completezza GI significa solo "è in GI ed è GI-difficile".)

1
+1 per Ricky Demer; potremmo voler avere un elenco di metodi per la prima parte.
— Pteromys,

2
Per problemi in FNP senza ovvie versioni decisionali in NP, PPAD è una classe utile (e in crescita) da considerare. I problemi completi di PPAD includono molti problemi nel trovare punti fissi, ad esempio gli equilibri di Nash. L'elenco di Shiva è utile: cs.princeton.edu/~kintali/ppad.html
— András Salamon,

Risposte:


47

Mostrare che il tuo problema è in coAM (o SZK) è davvero uno dei modi principali per aggiungere prove per "limbo di durezza". Ma oltre a ciò, ce ne sono molti altri:

  • Mostra che il tuo problema è in NP ∩ coNP. (Esempio: factoring.)
  • Mostra che il tuo problema è risolvibile in tempi quasipolinomiali. (Esempi: dimensione VC, giochi gratuiti approssimativi.)
  • Mostra che il tuo problema non è più difficile che invertire le funzioni a senso unico o risolvere NP in media. (Esempi: molti problemi nella crittografia.)
  • Mostra che il tuo problema si riduce a (ad es.) Giochi unici o Espansione di piccoli set.
  • Mostra che il tuo problema è in BQP. (Esempio: factoring, anche se ovviamente è anche in NP ∩ coNP.)
  • Escludere grandi classi di riduzioni della completezza NP. (Esempio: The Circuit Minimization Problem, studiato da Kabanets e Cai.)

Sono sicuro che ce ne sono altri che sto dimenticando.


2
È una lista eccellente, Scott!
— Suresh Venkat,

1
Solo curioso ... quale di queste tecniche mostra che è improbabile che il problema sia risolvibile in tempi polinomiali (o RP o BPP)? Non ho visto nessuno che sembrava farlo.
— Philip White,

2
Philip: hai ragione, loro no. Per fornire prove del fatto che un particolare problema NP non si trova in P, tutto si riduce a (1) tentando di inserirlo in P e fallendo, e / o (2) riducendo altri problemi che la gente non ha inserito in P a quel problema.
— Scott Aaronson,

23

Dal commento sopra: se un problema sembra abbastanza difficile, ma non sei in grado di dimostrare che è NP-completo, un rapido controllo è contare il numero di stringhe di lunghezza n nella lingua: se l'insieme è scarso è è improbabile che sia NPC, altrimenti P = NP dal teorema di Mahaney ... quindi è meglio orientare gli sforzi per dimostrare che è in P :-) :-)

Un esempio è il problema della suddivisione dei numeri in k-box (dal blog di Fortnow & Gasarch, fonte originale: Cyberpuzzles del dottor Ecco ):

{ 1 , . . . , n }  in al massimo k caselle in modo che nessuna casella abbia  x , y , z  con  x + y = z }{(n,k)∣ there exists a way to partition  {1,...,n} into at most k boxes so that no box has x,y,z with x+y=z}


23

Ecco tre aggiunte all'elenco di Scott:

  • Mostra il tuo problema è in pochiP. Ciò significa che il numero di soluzioni è limitato da un polinomio. (Esempio: problema di Turnpike). Nessun problema NP completo è noto per essere in pochi P. (impossibile a meno che pochi P = NP).
  • Mostra che il tuo problema è in o in N P [ l o g 2 n ] (può essere risolto utilizzando un numero limitato di bit non deterministici, esempio Problema relativo al set dominante nei tornei) LOGNPNP[log2n]
  • Mostrare che il problema ha densità sub-esponenziale (H. Buhrman e JM Hitchcock dimostrato minore densità vincolata ( ), a meno che la gerarchia polinomiale collassa. Pertanto, qualsiasi N P set -complete deve avere qualche ε > 0 tale che infinitamente -molti numeri interi n ≥ 0 , il set contiene almeno 2 n ϵ stringhe di lunghezza n .). Questo è molto più forte del provare solo la scarsità (come affermato nella risposta di Marzio). 2nϵNPϵ>0n≥02nϵn

coNP⊆NP/poly


1
O anche in UP (non solo FewP)!
— Joshua Grochow,
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.