Esiste un candidato per un problema naturale in


27

Voglio sapere se la non uniformità aiuta nella pratica le funzioni di calcolo. È facile mostrare che ci sono funzioni in , prendere qualsiasi funzione ineccepibile f e considerare la lingua { 0 f ( n ) : n ω }, che ha chiaramente semplici circuiti non uniformi, ma non è calcolabile in modo uniforme, ma questo non è il tipo di funzioni che mi interessano.P/polyPf0f(n):nω

C'è una funzione che sappiamo che può essere calcolata in modo non uniforme ma non sappiamo se può essere calcolata in modo uniforme (o almeno dimostrare che non può essere calcolata in modo uniforme non è ovvio)?

Come si può utilizzare la non uniformità dei circuiti per funzioni di calcolo che non sono note per essere calcolabili in modo uniforme (con quasi la stessa quantità di risorse)?

Si prega di notare che non voglio funzioni patologiche come quella incontestabile di cui sopra, voglio funzioni naturali che le persone siano veramente interessate all'elaborazione ed è plausibile che possa essere o possa essere calcolato in modo uniforme.

Modifica: so che . Quindi una risposta che non è un risultato di derandomizzazione è più interessante per me.BPPP/poly

Modifica 2: Come hanno detto András Salamon e Tsuyoshi Ito nelle loro risposte, , e ci sono problemi interessanti in S p a r s e che non sono noti per essere in P , così formalmente hanno risposto a ciò che ho chiesto, ma ciò non aiuta con ciò a cui sono veramente interessato poiché la ragione per cui sono in P / p o l y è la possibilità di codificare duramente un linguaggio sparsa nel circuito. Una lingua non sparsa sarebbe più interessante.SparseP/polySparsePP/poly


P/polyP/polyP/poly

Risposte:


13

Non so se questo risponde alle tue esigenze, ma post sul blog di Bill Gasarch nel luglio 2010 chiede di lingue in SPARSE ∩NP che non si pensa siano in P, dando un esempio tratto dalla Teoria Ramsey. Tali lingue appartengono a (P / poly) ∩NP.

A questo proposito, per qualsiasi lingua L ∈NP, la lingua T L = {1 n : L contiene una stringa di lunghezza n } è in TALLY ∩NP ⊆ SPARSE∩NP ⊆ (P / poly) ∩NP. A seconda della scelta della lingua L , T L potrebbe non avere un motivo evidente per appartenere a P.


8

Il fraseggio elegantemente rado di Tsuyoshi Ito in un'altra risposta non lo dice esplicitamente, ma forse vale la pena sottolineare: qualsiasi linguaggio sparse è in P / poli. Quindi anche qualsiasi linguaggio di conteggio è in P / poli (poiché ogni linguaggio di conteggio è scarso).

Quindi un modo per trovare linguaggi "naturali" in P / poli ma non in P, è cercare linguaggi sparsi "difficili". Come fai notare, i "più difficili" sono quelli indecidibili se codificati in modo rado, ad esempio in unario. Più in generale, la versione con codifica unaria di qualsiasi linguaggio esterno a EXP sarà quindi esterna a P. (In caso contrario, si consideri la macchina di Turing a tempo esponenziale che genera la codifica unaria, composta con la macchina che risolve nel tempo la lingua con codifica unaria risultante che è polinomiale nella codifica unaria. È esponenziale nella dimensione dell'istanza originale. La macchina complessiva viene quindi eseguita in tempo esponenziale. Alcuni linguaggi completi 2-EXP potrebbero quindi soddisfare i tuoi gusti come un problema "naturale".

Si noti che il rado linguaggio teorico Ramsey di Bill Gasarch sembra rientrare nella categoria di linguaggi costruiti sparsificando un linguaggio duro. Se si codifica l'istanza come una tripla di numeri binari anziché due unari e uno binario, la colorazione non ha più dimensioni polinomiali, quindi il linguaggio non è ovviamente in NP.


6

È più un commento in risposta alla domanda rivista (revisione 3) che una risposta, ma è troppo lungo per un commento.

La semplice esclusione di lingue sparse non è sufficiente per escludere lingue come { x ∈ {0,1} * : | x | ∈ S } invece di {1 n : nS }, dove S è un sottoinsieme infinito di {0, 1, 2, ...}. Vorrei sottolineare che potrebbe essere difficile distinguere tra il caso in cui una lingua appartiene a P / poly perché è "essenzialmente scarsa" (come {1 n : nS } e { x : | x | ∈ S}) e il caso in cui una lingua appartiene a P / poly per altri motivi. La cosa problematica qui è, ovviamente, come definire il termine "essenzialmente scarso".

È possibile che si desideri definire "sparseness essenziale" come segue: una lingua è essenzialmente scarsa se è riducibile a una lingua scarsa. Tuttavia, bisogna fare attenzione perché se si utilizza la riducibilità di Turing in tempo polinomiale in questa definizione, la definizione è equivalente all'appartenenza a P / poly!

Quindi una cosa ovvia da provare è usare la riducibilità multi-tempo polinomiale. Non so se questo equivale all'appartenenza a P / poly, per non parlare del fatto che P / poly contenga un linguaggio naturale che non è essenzialmente scarso in questo senso.


AC0

@Kaveh: potrebbe essere un'altra buona definizione di "essenzialmente scarso". Leggendo il tuo commento, mi chiedo se P / poly = P∪ (AC0 / poly) (immagino di no), perché c'è qualche problema in (P / poly) ∖ ( Si potrebbe dire che P∪ (AC0 / poli)) sia "calcolabile usando una famiglia non uniforme di circuiti di dimensioni polinomiali combinando realmente il potere dei circuiti di dimensioni polinomiali e il potere di non uniformità".
Tsuyoshi Ito,

SfCSfLxf(x)S

SACL=A.01.SAA

@Kaveh: Hmm, capisco. Grazie per aver condiviso gli esempi. Ritiro l'idea di vedere (P / poli) ∖ (P∪ (AC0 / poli)) come "P / poli per motivi non banali". Se non sbaglio, entrambi i tuoi esempi sono molti volte polinomiali riducibili a un linguaggio scarso, quindi c'è ancora qualche speranza che la definizione di "sparseness essenziale" che ho suggerito nella risposta possa essere adatta.
Tsuyoshi Ito,
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.