Nozioni più forti di uniformazioni?


16

Un divario che ho sempre saputo che non capisco davvero è tra la complessità computazionale non uniforme e uniforme in cui la complessità del circuito rappresenta la versione non uniforme e le macchine di Turing sono dove le cose sono uniformi. Suppongo che "uniforme" sia un modo per limitare la classe di algoritmi, ad esempio non consentire un circuito completamente diverso per un problema con n variabili rispetto a un problema di n + 1 variabili.

Le mie domande sono: 1) C'è una descrizione dell'uniformità solo in termini di circuiti, e 2) È possibile venire con una forma ancora più forte di uniformità e quindi dare un'idea ancora più limitata di quali algoritmi efficaci (o contenuti) in P sono?

Chiarimento tardivo: la mia intenzione nella domanda 2 riguarda una classe ristretta di algoritmi che "praticamente" ha la stessa potenza della classe di algoritmi polinomiali.


Puoi approfondire il significato di "praticamente ha lo stesso potere"?
MS Dousti,

Voglio dire che tutti gli algoritmi in P che incontriamo praticamente sono in questa (ipotetica) classe ristretta. Quindi non intendo le classi conosciute (o congetturate) per omettere specifici algoritmi di tipo polinomiale come AC_0 o NC ^ non sono ciò a cui mi riferisco.
Gil Kalai,

2
Per la domanda 2, la classe di funzioni calcolabili dai circuiti uniformi di LOGSPACE di dimensioni polinomiali è P. (E otterrai comunque P anche con alcune classi di complessità più piccole di LOGSPACE se definisci correttamente l'uniformità.) Quindi non imporre condizioni di uniformità più rigide. generalmente riduce la potenza degli algoritmi del tempo polinomiale.
Peter Shor,

Risposte:


8

Penso che la risposta alla tua prima domanda sia negativa: un circuito ha un numero fisso di ingressi, e quindi, IMO, possiamo parlare solo di "famiglie" di circuiti, piuttosto che di un solo circuito uniforme.

Per quanto riguarda la tua seconda domanda, potresti notare che esistono "famiglie di circuiti uniformi", la cui descrizione è generata da una macchina di Turing. Cioè, lascia che sia una famiglia di circuiti uniforme e che M sia una macchina di Turing. Quindi, per ogni n , [ C n ] = M ( 1 n ) , dove [ C n ] indica la descrizione di C n .{Cn}Mn[Cn]=M(1n)[Cn]Cn

Esistono diverse classi di complessità sotto P, definite da famiglie di circuiti uniformi. Per esempio:

è la classe di problemi di decisione decidibili dacircuiti booleaniuniformicon un numero polinomiale di porte e profonditàO( log i n).NCiO(login)


7

Aggiungendo alla risposta di Sadeq sopra, mentre si guardano le classi circuitali contenute in P, si potrebbe anche voler esaminare nozioni sempre più restrittive di uniformità.

La nozione più semplice e più nota è l'uniformità di P, che è il requisito che esista una Turing Machine M (deterministica) che produce il circuito Cn nel tempo poli (n) (anche Suresh ne parla). Le versioni più restrittive di uniformità cercano di limitare ulteriormente la potenza di M. Ad esempio, c'è anche Logspace-uniformity, dove ora è richiesto M per funzionare nello spazio O (log (n)).

L'idea più restrittiva che conosco è l'uniformità DLOGTIME, che viene utilizzata per le classi di piccoli circuiti. Qui, la macchina (ora ad accesso casuale) M ha solo il tempo O (log n) e quindi non è possibile scrivere la descrizione dell'intero circuito. La condizione imposta è che, dato i e n, M può scrivere l'ith bit della descrizione del circuito nel tempo O (log n).

Per ulteriori informazioni, consultare il seguente documento: David A. Mix Barrington, Neil Immerman, Howard Straubing: On Uniformity in NC¹. J. Comput. Syst. Sci. 41 (3): 274-306 (1990).



Se M sta per scrivere l'i-esimo bit della descrizione del circuito in O (log n), ciò non significa che se il circuito è di dimensioni O (n) allora equivale a consentire alla macchina di generare il intero circuito in O (n log n)?
M. Alaggan,

1
Non sembra essere equivalente. Ciò che hai dimostrato è che la nozione di uniformità sopra (Barrington et al.) È almeno altrettanto forte della nozione di uniformità che proponi. Il contrario non è chiaro. In particolare, non mi è chiaro se sia vero quanto segue: data una famiglia di circuiti di dimensione che può essere generata da una TM nel tempo O ( n log n ) , viene fuori una TM che, dataO(n)O(nlogn) e n , genera i bit di C n nel tempo O ( log n ) . In effetti, non penso sia vero.ionioCnO(logn)
Srikanth,

Concordo, un contro esempio sarebbe una TM che, dato e n , genera l' i bit in O ( 1 ) , tranne l'ultimo bit per il quale prende O ( n log n ) . Grazie per il suggerimento :)ionioO(1)O(nlogn)
M. Alaggan,

Il punto non è che le famiglie di circuiti uniformi X forniscano gli stessi gruppi di famiglie per X diverse, ma che le funzioni che possono essere calcolate dalle famiglie di circuiti uniformi X siano le stesse per X diverse.
Peter Shor,

6

Un modo per "unificare" i circuiti e i calcoli uniformi è quello di richiedere una procedura a complessità limitata che accetta e genera il circuito di avviso C n . Nel caso di P, credo che richiedere un generatore di tempo polinomiale in grado di fare quanto sopra catturerà P correttamente.nCn


Un generatore LOGSPACE per il circuito funzionerà bene anche per catturare P.
Peter Shor,

5

C'è una descrizione dell'uniformità solo in termini di circuiti?

Se per "in termini di circuiti" intendi circuiti non uniformi, la risposta è negativa. Se la descrizione dei circuiti non è uniforme, consentirà di utilizzare funzioni non calcolabili per definire circuiti che a loro volta saranno in grado di calcolare funzioni non calcolabili. Possiamo sempre costruire un circuito di dimensioni calcolando f (1 dove f è una funzione calcolabile con qualsiasi mezzo che stiamo usando per descrivere i circuiti.f(|X|)f

D'altra parte, se ci è permesso di limitarci a circuiti uniformi per definire i circuiti, allora la risposta è ovviamente positiva. E possiamo usare (che è uguale a D L o g T i m eFODLogTiomeUNC0FO

Mi sembra che il punto principale qui sia che abbiamo bisogno di un modello di calcolo uniforme per definire l'uniformità per i circuiti, se la descrizione dei circuiti è data da mezzi che non sono uniformi, i circuiti possono essere non uniformi.


1
O(1)

UNltTiome(O(1),O(lgn))

4

1) Esiste una descrizione dell'uniformità solo in termini di circuiti?

[Questa è una versione modificata della mia risposta alla stessa domanda che hai posto sul blog di Dick Lipton. Avvertenza: non sono un esperto.]

Sì (penso), di almeno due tipi diversi:

a) I circuiti sono generabili da una macchina di Turing in tempo polinomiale nella dimensione di input del problema (come menzionato in alcune altre risposte). (Penso che questa sia la definizione standard del concetto.)

Questo copre qualsiasi famiglia di circuiti che potremmo voler chiamare uniformi, ma come definizione del concetto di P-time, riduce semplicemente la definizione sulle famiglie di circuiti alla definizione sulle macchine di Turing, che potrebbe non essere quella che desideri.

b) Se esiste un automa cellulare monodimensionale che evolve l'input del problema alla soluzione del problema (per un problema di decisione, la soluzione sarebbe un singolo bit in una cella specificata rispetto alle celle che contengono l'input, che è uno stato stabile della CA), in tempo polinomiale in dimensioni di input, quindi questo corrisponde a un circuito periodico in 2D in modo semplice (una unità di ripetizione per cella per unità di tempo), il cui stato conta solo in una regione quadraticamente grande al tempo di soluzione.

Questo è un tipo molto speciale di famiglia di circuiti uniformi, ma sufficiente per risolvere tutti i problemi in P, poiché una macchina di Turing può essere facilmente codificata come CA 1D. (Ciò sembra soddisfare anche la definizione di uniformità DLOGTIME menzionata in una risposta precedente.)

(Questo è simile alle codifiche delle macchine di Turing come circuiti menzionati nelle risposte di Gowers sul blog di Lipton - in effetti, uno di questi è probabilmente identico.)

Un modo per codificare una macchina Turing come una CA 1D: in ogni cella, rappresentiamo lo stato del nastro in un punto, lo stato che avrebbe la testa della macchina Turing se fosse qui ora (il cui valore non importa se non è qui) e un po 'dicendo se la testa è qui adesso. Chiaramente, ciascuno di questi stati al momento t dipende solo dai suoi stati di vicinato immediati al momento t-1, che è tutto ciò di cui abbiamo bisogno affinché questo funzioni come CA.

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.