Esistono problemi "O (1) completi"?


9

Molte classi di complessità hanno problemi "completi". Esistono problemi completi per la classe di complessità dei problemi che possono essere risolti in O(1) tempo?

Una complicazione è che questa classe dipende dal modello di calcolo; un problema può essere risolto in un tempo in un modello di calcolo ragionevole ma non in un altro, dato che "ragionevole" in genere significa equivalenza di tempo polinomiale con una macchina di Turing. Tuttavia, potrebbe ancora essere elaborato per specifici modelli ragionevoli.O(1)

Penso che abbia più senso guardare a riduzioni multiple a tempo costante. Tuttavia, sono anche aperto a guardare altre riduzioni sensate se c'è letteratura su di loro.

Esiste qualcosa di simile o è stato studiato per qualsiasi modello di calcolo?

Risposte:


3

Poiché la lettura dell'ingresso è necessaria per quasi tutti i problemi, abbiamo bisogno di almeno tempo per quasi tutti i problemi, dove n è la dimensione dell'ingresso. Pertanto, potresti pensare alla classe dei problemi di tempo lineari, che è già definita.Ω(n)n

Tuttavia, non conosciamo ancora alcun problema completo o O ( n 2 ) completo. Il campo della complessità a grana fine ha alcuni nuovi risultati in quest'area, ma le classi sono basate sui problemi (ad esempio, APSP è equivalente a Raggio, Triangolo negativo, ...).O(n)O(n2)


Non sono sicuro che questo risponda alla domanda. Molti problemi richiedono tempo, ma non tutti - ci sono ancora alcuni problemi che possono essere risolti nel tempo O ( 1 ) - quindi sembra che la domanda posta rimanga rilevante. Ω(n)O(1)
DW

1
Ciò presuppone anche che l'input debba essere letto in sequenza e non vi sia alcuna indiretta, quindi questo sarebbe uno di quei casi in cui il modello conta davvero. (Mi chiedo se dovrei insistere sull'indirizzamento indiretto e possibilmente sulla casualità nel mio post originale, poiché altrimenti ti imbatterai in un mucchio di banali blocchi stradali come questo)
Mike Battaglia,

Problema nel decidere se viene dato qualcosa in quanto l'input impiega tempo. Tutti gli altri problemi che richiedono tempo costante sono limitate versioni costanti di altri problemi. O(1)
rus9384,

Cosa intendi esattamente con "versioni costanti limitate di altri problemi"?
Mike Battaglia,

@MikeBattaglia, ad esempio, se la macchina di Turing si fermerà dopo aver eseguito 100 passaggi.
rus9384,

2

Penso che per i problemi di , tutte le lingue sono complete in "riduzioni a tempo costante" tranne L = Σ e L = O(1)L=Σ*L=

Supponiamo che e L 0 , L Σ L,L'O(1)L0,LΣ*

Sia XYL,XNL

Questa è una riduzione a tempo costante da a L :L'L

  • dato risolve L in O ( 1 ) tempoXL'O(1)
  • se quindi emette x Y , altrimenti emette x NXL'XYXN

Quindi è completo per O ( 1 ) (... riduzione pigra, risultato pigro :-)).LO(1)


1
In generale, la durezza per una classe non è definita in modo significativo per le riduzioni che sono potenti quanto la stessa C , esattamente per il motivo che hai dichiarato. Per avere una definizione significativa di TIME ( O ( 1 ) ) completa, avremmo bisogno di riduzioni più deboli del tempo costante. Non so cosa potrebbero essere. CCO(1)
Pontus,

@Pontus: sono d'accordo; e sicuramente non così interessante ... a meno che non viviamo in un universo discreto e finito MrGreen
Vor

... potremmo usare riduzioni dei passi ( k risolto), ma in questo caso non ci sono problemi completi ... o aggiungere un vincolo tra la dimensione della TM e il numero di passi costanti (ad es. se la dimensione della ( deterministico / non deterministico) TM è n quindi sono ammessi solo n / 2 passaggi) ...kknn/2
Vor

Sì, forse qualcosa di interessante può (o è stato) inventato. Qual è la TM nel tuo ultimo suggerimento?
Pontus,

@Vor Che dire della larghezza costante del tempo fissa in alcuni modelli paralleli?
l4m2
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.