Quanto un oracolo SAT aiuterebbe ad accelerare gli algoritmi del tempo polinomiale?


23

L'accesso a un oracolo fornirebbe una maggiore accelerazione super polinomiale per qualsiasi cosa in (supponendo che il set non sia vuoto). E 'meno chiaro, tuttavia, quanto sarebbe beneficio da questo accesso oracolo. Naturalmente, l'accelerazione in non può essere super polinomiale, ma può comunque essere polinomiale. Ad esempio, potremmo trovare un percorso più breve più velocemente con un oracolo , che senza di esso? Che ne dici di alcuni compiti più sofisticati, come la minimizzazione delle funzioni sottomodulari o la programmazione lineare? Avrebbero (o altri problemi naturali in ) beneficiare di un oracolo ?SATNPPPPSATPSAT

Più in generale, se riusciamo a individuare qualche problema in , e usare un oracolo per esso, quale dei problemi in potrebbe vedere una velocità?NPPP


2
Quanto è veloce l'oracolo? Se impiega tempo, possono essere velocizzati più problemi che se impiega tempo, dove è la dimensione della formula SAT. O(s)O(s5)s
Peter Shor,

2
@PeterShor Suppongo che l'oracolo, dopo aver ricevuto una formula SAT come query, restituisca una risposta SÌ o NO, indicando se la formula è soddisfacente o meno, in un unico passaggio (tempo costante). Questo è indipendente dalla dimensione della formula. Ovviamente, la formula deve essere costruita per poter essere interrogata. Questo tempo di costruzione non è indipendente dalla dimensione della formula, e dipende anche dal problema quali formule devono essere interrogate. Ma una volta costruita la formula, la ricezione della risposta viene conteggiata come un singolo passaggio, per qualsiasi formula.
Andras Farago,

3
Se invece di un oracolo SAT hai consentito un oracolo , potrebbe essere usato per trovare circuiti minimi per qualsiasi problema. Ciò darebbe un costo ammortizzato quasi ottimale per qualsiasi problema (il motivo per cui è ammortizzato è che se lo usi solo una volta, la dimensione della formula è essenzialmente il runtime del tuo algoritmo poly-time originale - ma dopo quel passaggio hai quindi un circuito ottimale per tutte le istanze di dimensione ). Σ2SATΣ2SATn
Joshua Grochow,

@JoshuaGrochow Il tuo commento è molto interessante! Sarebbe bello vederlo come una risposta, con maggiori dettagli.
Andras Farago,

Risposte:


15

In realtà, l'accettazione delle macchine di Turing non deterministiche nel tempo ètO(tlogt) -tempo riducibile a SAT (la costruzione avviene tramite simulazione ignara, vedi Arora-Barak), quindi in genere ogni volta che una macchina non deterministica è notevolmente più veloce di una deterministica uno vedremo almeno un po 'di accelerazione con un oracolo SAT.

Per essere più concreti, viene in mente il test di primalità, poiché la migliore variante dell'algoritmo AKS sembra testare la primalità di un numero -bit nel tempo O ( n 6n . Ma se andiamo alla "vecchia scuola", Pratt ha dato una TM non deterministica per decidere la primalità nel tempo O ( n. 3O(n6polylogn) . L'accettazione di questa macchina può essere ridotta (deterministicamente) in O ( n 3O(n3polylogn) tempo a un'istanza SAT.O(n3polylogn)

Il problema 3SUM può essere un altro esempio, in quanto sembra che si possa indovinare una soluzione e verificarla in tempi subquadratici, quindi l'accettazione di tale macchina può essere ridotta a SAT in tempi subquadratici.


7

Più in generale, se riusciamo a individuare qualche problema in NP − P, e usare un oracolo per esso, quale dei problemi in P potrebbe vedere una velocità?

Questa domanda diventa più direttamente alla rappresentazione e al tempo richiesto per ridurre un problema ad un altro ....

La risposta principale che ho in mente è un oracolo di programmazione lineare / intero. La versione decisionale di quel problema è NP-completa. C'è una banale "riduzione" dalla programmazione lineare perché è un caso speciale. Ma un oracolo per la sola programmazione lineare (per non parlare dell'ILP) accelera molti problemi che sono immediatamente risolvibili con la programmazione lineare. Possono essere ridotti ad esso in tempo lineare riscrivendo il problema come LP. Ad esempio, percorsi più brevi e altri problemi di flusso, corrispondenze.

Ma non credo che l'ILP sia l'unico in alcun modo, è probabilmente più che le persone non hanno pensato molto ad esempio alla riduzione del percorso più breve verso TSP o così via.


3

SATΣ2SATPΣ2SATn.


NPNPNPPNPNPNPPHPPNPNPNP

1
PPH

kk+2
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.