I problemi completi di sono intrinsecamente meno trattabili di completi di ?


66

Attualmente, risolvere un completo o un problema completo è impossibile nel caso generale di input di grandi dimensioni. Tuttavia, entrambi sono risolvibili nel tempo esponenziale e nello spazio polinomiale.P S P A C ENPPSPACE

Dato che non siamo in grado di costruire computer non deterministici o "fortunati", fa differenza per noi se un problema è completo o completo?P S P A C ENPPSPACE

Risposte:


82

Questa è una domanda molto bella a cui ho pensato molto: il fatto che un problema sia completo o realtà influisce sulla complessità del problema nel caso peggiore? P S P A C ENPPSPACEPiù confusamente, una tale distinzione influisce davvero nella complessità del "caso tipico" del problema nella pratica?

L'intuizione afferma che il problema completo di è più difficile di quello completo di , indipendentemente dalla misura di complessità che si utilizza. Ma la situazione è sottile. Potrebbe essere, ad esempio, che (formule booleane quantificate, il problema completo canonico della ) sia in tempo subsponenziale se e solo se (Soddisfacibilità, il problema completo canonico ) sia in tempo subesponenziale. (Una direzione è ovvia; l'altra direzione sarebbe un risultato importante!) Se questo è vero, forse dal punto di vista "Voglio solo risolvere questo problema", non è un grosso problema se il problema è completo oN P Q B F P S P A C E S A T N P P S P A C E N PPSPACENPQBFPSPACESATNPPSPACENP-completo: in entrambi i casi, un algoritmo subexponential per uno implica un algoritmo subexponential per l'altro.

Permettetemi di essere un avvocato del diavolo e di darvi un esempio in cui un problema sembra essere "più difficile" dell'altro, ma risulta essere "più trattabile" dell'altro.

Sia una formula booleana su variabili, dove è pari. Supponi di avere una scelta tra due formule che vuoi decidere:nF(x1,,xn)nn

Φ1=(x1)(x2)(xn1)(xn)F(x1,,xn) .

Φ2=(x1)(x2)(xn1(xn)F(x1,,xn)

(Cioè, in , i quantificatori si alternano.)Φ2

Quale pensi che sia più facile da risolvere? Formule di tipo o formule di tipo ?Φ 2Φ1Φ2

Si potrebbe pensare che la scelta ovvia sia , poiché è solo completo a decidere, mentre è un problema . Ma in realtà, secondo i nostri algoritmi più noti, è un problema più semplice. Non abbiamo idea di come risolvere per generale in meno di passaggi. (Se potessimo farlo, avremmo limiti inferiori inferiori per le nuove dimensioni della formula!) Ma può essere facilmente risolto per qualsiasi nel tempo randomizzato , usando la ricerca dell'albero del gioco randomizzata! Per un riferimento, vedere il capitolo 2, sezione 2.1, in Motwani e Raghavan. N P Φ 2 P S P A C E Φ 2 Φ 1 F 2 n Φ 2 F O ( 2 0,793 n )Φ1NPΦ2PSPACEΦ2Φ1F2nΦ2FO(2.793n)

L'intuizione è che l' aggiunta di quantificatori universali in realtà limita il problema , rendendolo più facile da risolvere, piuttosto che più difficile. L'algoritmo di ricerca dell'albero di gioco si basa fortemente sull'avere quantificatori alternati e non può gestire quantificazioni arbitrarie. Tuttavia, rimane il punto che i problemi a volte possono diventare "più semplici" sotto una misura di complessità, anche se possono sembrare "più difficili" sotto un'altra misura.


16
Bella risposta e un'interpretazione interessante.
Suresh Venkat,

Mi viene in mente che quanto sopra è un ottimo esempio di ciò che intendiamo per "complessità a grana fine" (un programma dell'autunno 2015 presso il Simons Institute). Una delle idee chiave è che la teoria della complessità può apparire alquanto diversa quando, invece di cercare di trovare per ogni problema un modello computazionale (potenzialmente bizzarro) per il quale quel problema è "completo", ci si concentra semplicemente sulla comprensione di quale sia il miglior tempo di esecuzione possibile esponente per il problema.
Ryan Williams,

37

È importante, perché è in gioco qualcosa in più rispetto alla possibilità di trovare soluzioni. Anche di interesse è se possiamo verificare soluzioni. Altre distinzioni qualitative possono essere fatte tra la difficoltà dei problemi, ma per NP rispetto a classi di complessità più grandi, questa sarebbe quella che definirei più importante.

Per problemi di decisione - problemi per i quali ogni istanza ha una risposta " " o " NO " - NP è precisamente la classe di problemi per la quale possiamo verificare in modo efficace una presunta prova che una determinata istanza è un'istanza " ", in modo deterministico, se ce ne viene presentato uno. Ad esempio, se si dispone di un'assegnazione soddisfacente di variabili per un'istanza di 3-SAT, tale assegnazione consente di dimostrare in modo efficiente che l'istanza è soddisfacente. Un compito così soddisfacente può essere difficile da trovare, ma una volta che ne hai uno, puoi facilmente dimostrare agli altri che l'istanza è soddisfacente solo facendo loro verificare la soluzione che hai trovato.

Allo stesso modo, per coNP , esistono prove verificabili in modo efficiente per le istanze " NO "; e per problemi in NP  ∩  coNP , puoi fare entrambe le cose. Ma per i problemi completi di PSPACE non esistono procedure di questo tipo, a meno che non si possano dimostrare uguaglianze abbastanza spettacolari di classi di complessità.


Penso che la domanda riguardi la versione "ottimizzata" dei problemi NP-complete e PSPACE-complete. Ad esempio, c'è qualche differenza (in termini di complessità) tra la ricerca di una soluzione per SAT e per QBF? E più in generale, esiste una caratterizzazione dei problemi di ottimizzazione di quale versione decisionale è NP-completa o PSPACE-completa?
Lamine

@Lamina: non rilevo la distinzione che stai facendo nella domanda (almeno, tra semplice decisione e ottimizzazione completa). Forse intendi che l'interlocutore è interessato solo alla questione delle risorse necessarie per trovare quella risposta, e non è interessato ad altre misure di difficoltà del problema, nel qual caso concordo sul fatto che la mia risposta non risponde a questa. In ogni caso, sopra è la mia risposta per la domanda così com'è.
Niel de Beaudrap,

5
Risposta molto bella.
Dave Clarke,

La capacità di verificare in modo efficiente non aiuta a calcolare una soluzione (a meno che P = NP). NP e co-NP consentono di attaccare il problema tramite indovinare e verificare. Questo approccio è facile da implementare e può anche essere più efficiente, ma non aiuta nel caso peggiore.
András Salamon,

@ András: vero - quindi la mia enfasi sul fatto che trovare soluzioni non è l'unica cosa importante nella prefazione alla mia risposta.
Niel de Beaudrap,

36

Non sappiamo come costruire problemi difficili nel medio caso da problemi NP (nel caso peggiore) completi, ma possiamo farlo per PSPACE (vedi Köbler e Schuler (1998) ) per creare problemi anche sulla distribuzione uniforme che non può essere risolto sulla maggior parte degli input a meno che tutto PSPACE non sia facile da calcolare.


20

Da un punto di vista pratico, è importante ricordare che NP-Completezza non è una barriera per molti problemi nella pratica. Gli strumenti gemelli dei solutori SAT e CPLEX (per la programmazione lineare intera) sono abbastanza potenti e abbastanza ingegnerizzati che è spesso possibile risolvere grandi casi di problemi NP-completi inquadrando il problema come ILP adatto o riducendo a SAT.

Non sono a conoscenza di solutori altrettanto ben progettati per problemi in PSPACE.



7

Potresti pensarlo in questo modo: un problema di matematica ha una prova che è leggibile dall'uomo o richiede intrinsecamente una "prova del computer". Esempi: la posizione iniziale delle pedine è un pareggio? (Risposta: sì.) La posizione iniziale degli scacchi è una vittoria per il bianco? (Risposta: sconosciuta, ma la maggior parte dei laureati pensa che sia un pareggio.)

La prova che la posizione di partenza delle pedine è un pareggio alla fine richiede che si accetti che il computer ha davvero verificato accuratamente molti casi speciali. Se esiste mai una prova sugli scacchi, probabilmente richiederà ai lettori umani di accettare che un computer abbia verificato correttamente casi ancora più speciali. E può darsi che non ci sia un metodo più breve per provare quelle affermazioni. Questi sono problemi in PSPACE. Se un problema è "solo" in NP, allora (intuitivamente) un essere umano potrebbe contenere l'intera prova nella sua testa. Quell'umano potrebbe aver bisogno di essere un matematico molto specializzato, ovviamente.

Questa metafora si guasterà se spinta troppo forte: una prova NP di dimensioni probabilmente non si adatterà mai alla testa di nessuno. Ma l'idea di base che "i testimoni sono piccoli" è parte del motivo per cui i problemi NP-completi hanno un significato così industriale.n1000000


Si potrebbe anche sostenere che i problemi completi del coNP hanno questo problema di (a volte) richiedere una "prova del computer?"
Philip White

@Philip White: non credo sia lo stesso. Di '"scacchi un pareggio" è in coNP. Per dire di no, tutto ciò che devo fare è dimostrare una singola linea di forzatura facilmente verificabile. Tuttavia, ci aspettiamo che, anche se esiste una tale linea, sarà probabilmente molto difficile dimostrare che si tratta effettivamente di "forzatura". Quindi il problema non offre alcuna garanzia di semplicità se è risolvibile in una direzione particolare. "Gli scacchi sono un pareggio" probabilmente richiede intrinsecamente un computer per dimostrare, sia vero che falso.
Aaron Sterling,

5

Oltre al commento di Suresh, sembra esserci una grande differenza nella pratica. Esistono euristiche che riescono a sfruttare la struttura delle istanze pratiche di SAT e ottenere prestazioni eccellenti (qui mi riferisco ai risolutori dell'apprendimento basato su conflitti). La stessa euristica non produce miglioramenti delle prestazioni simili nei solutori QBF.

Viene inoltre visualizzata la differenza tra prova e verifica. Alcuni solutori SAT (come MiniSAT 1.14 e molti altri) producono prove. Produrre prove negli attuali solutori di QBF non è banale. (La prossima affermazione è del sentito dire) Ci sono grandi casi nella competizione QBF su cui apparentemente i solutori producono risultati diversi. In assenza di solutori che generano prove, non sappiamo quale risultato sia corretto.


0

Se osservi le prestazioni pratiche su SAT e scacchi, allora c'è una differenza: i problemi NP-completi sono più rintracciabili dei problemi PSPACE completi. I solutori di SAT oggi possono gestire oltre mille variabili, ma il miglior motore di scacchi, nello stesso lasso di tempo, può calcolare solo meno di 20 mosse.

Immagino che ciò sia dovuto alla struttura dei problemi. Sì, se si elencano solo soluzioni, la risoluzione SAT è super lenta. Ma poiché non ha un'alternanza quantificabile, le persone scoprono strutture nella formula e quindi evitano gran parte dell'enumerazione. Penso che Ryan Williams abbia trascurato questo punto.

Con un'alternanza quantificabile, sì, ci sono metodi intelligenti di potatura, ma la struttura non è così ricca come quella di una formula CNF.

Lasciami predire il futuro. Il SAT solving arriverà a P esaminando la formula ed essenzialmente evitando la ricerca, mentre gli scacchi lo faranno su P capitalizzando la ricerca nell'albero del gioco.

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.