Argomenti a favore / contro la congettura di Kolmogorov sulla complessità del circuito di P


19

Secondo un resoconto storico (non verificato), Kolmogorov pensava che ogni lingua in P avesse una complessità del circuito lineare. (Vedi la domanda precedente congettura di Kolmogorov che P ha circuiti lineari a grandezza naturale .) Si noti che implica PNP .

La congettura di Kolmogorov, tuttavia, è probabile che fallisca. Ad esempio, Ryan Williams scrive in un recente articolo: "La congettura sarebbe sorprendente, se fosse vera. Per le lingue in P richiedono n100100 volte, sembra improbabile che la complessità di tali problemi si riduca magicamente alla dimensione O(n) , semplicemente perché un circuito diverso può essere progettato per ogni lunghezza di ingresso ".

D'altra parte, Andrey Kolmogorov (1903-1987) è ampiamente riconosciuto come uno dei principali matematici del 20 ° secolo. È piuttosto difficile immaginare che avrebbe proposto una congettura completamente assurda. Pertanto, per capirlo meglio, ho cercato di trovare alcuni argomenti che potrebbero effettivamente supportare la sua ipotesi sorprendente. Ecco cosa potrei pensare:

PSIZE(lin)LPL

  1. C'è una nota esplicita algoritmo (macchina di Turing) che accetta L . Da questo possiamo costruire una famiglia di funzioni esplicite che deve avere una complessità circuitale superlineare. Tuttavia, ciò può essere considerato improbabile, dal momento che nessuno è stato in grado di trovare un tale esempio in più di 60 anni di intensa ricerca sui circuiti.

  2. Non è noto alcun esplicito algoritmo per L . Ad esempio, la sua esistenza è dimostrata con mezzi non costruttivi, come l'Assioma della Scelta. Oppure, anche se esiste l'algoritmo esplicito, nessuno è stato in grado di trovarlo. Dato, tuttavia, che ci sono infiniti linguaggi che possono svolgere il ruolo di L , è improbabile che si comportino tutti in questo modo ostile.

Ma poi, se consideriamo entrambe le opzioni improbabili, l'unica possibilità rimasta è che tale non esista. Ciò significa , che è precisamente la congettura di Kolmogorov.LPSIZE(lin)

Domanda: puoi pensare a qualche ulteriore argomento a favore / contro la congettura di Kolmogorov?


2
Mi chiedo: abbiamo candidati per confutare la congettura di Kolmogorov? Ovviamente, si può considerare qualsiasi problema che abbia una complessità superlineare. Forse alcuni di loro hanno maggiori probabilità di non avere circuiti di dimensioni lineari?
Bruno,

2
ammettiamolo, nessuno ha il minimo indizio. (re citazione goldman su hollywood: "nessuno sa niente.") la congettura (non pubblicata) forse è stata aperta anche più a lungo di P =? NP. tuttavia, un'idea / angolo approssimativo che vale la pena esplorare: teoria della compressione e compressibilità. questo è fondamentalmente ciò a cui allude William e potrebbe essere al centro di molte separazioni di classi di complessità. l'idea è che ci sono modi / algoritmi di base per codificare i dati e alcuni modelli sono intrinsecamente più difficili da comprimere usando codifiche (arbitrarie) . ma sembrano esserci pochissimi risultati anche in questo settore.
vzn,

1
e tra l'altro, le molte connessioni della complessità di Kolmogorov alla complessità computazionale, ad esempio esplorate da Fortnow, potrebbero avere una connessione esplicativa al perché le domande sono così difficili da risolvere, perché così tante domande relative alla complessità di Kolmogorov sono indecidibili ...?
vzn

1
@Bruno: Immagino che i sarebbero buoni candidati, ad esempio Programmazione lineare o Problema del valore del circuito. Se allora questi problemi non possono essere risolti neppure in modo uniforme in profondità polifunzionale e poliarcaritmica, quindi almeno sembra ragionevole indovinare che tali problemi non dovrebbero essere risolvibile in dimensioni lineari (e profondità illimitata). Il determinante potrebbe essere un altro candidato ragionevole. Ma queste sono solo proposte: non ho forti ragioni per pensare che abbiano una dimensione del circuito super-lineare. PN CPPNC
Joshua Grochow,

Risposte:


22

La nota a piè di pagina del mio articolo che citi si riferisce anche a un "argomento" euristico, almeno, ciò che pensiamo fosse l'intuizione di Kolmogorov - la risoluzione positiva del tredicesimo problema di Hilbert.

http://en.wikipedia.org/wiki/Hilbert's_thirteenth_problem

In particolare, Kolmogorov e Arnold hanno dimostrato che qualsiasi funzione continua su variabili può essere espressa come una composizione di funzioni "semplici": aggiunta di due variabili e funzioni continue su una variabile. Quindi, sulla "base" di funzioni continue a una variabile e aggiunta a due variabili, ogni funzione continua su variabili ha "complessità circuitale" .O ( n 2 ) n O ( n 2 )nO(n2)nO(n2)

Sembra che Kolmogorov credesse che esista un analogo discreto, in cui "continuo in variabili" diventa "Booleano in variabili e poli tempo calcolabile", e dove la "base" data sopra diventa funzioni booleane a due variabili.n ( n )nn(n)


Sarebbe molto interessante se esistesse davvero l'analogo discreto in cui credeva Kolmogorov. Presumibilmente, i ricercatori hanno cercato di trovarlo, dal momento che potrebbe portare a una prova di . Qual è stato il blocco stradale principale che hanno riscontrato? PNP
Andras Farago,

3
Blocchi stradali? Non credo che qualcuno abbia trovato la strada :) Dato che la maggior parte delle persone crede che non abbia circuiti di dimensioni , per ogni fisso , probabilmente poche persone hanno persino cercato la strada. O ( n k ) kPO(nk)k
Ryan Williams,

11

La risposta di Stasys alla domanda precedente fornisce alcune intuizioni potenzialmente a favore: /cstheory//a/22048/8243 . Proverò a ripetere qui come lo capisco. L'intuizione chiave è vedere un circuito come, non un algoritmo, ma una codifica di un set (il set che accetta). Possiamo ottenere un limite superiore sulla dimensione della codifica in base al tempo di esecuzione dell'algoritmo (ovvero tradurre un time- TM in un circuito size- ), ma non è chiaro quale relazione inversa debba esistere. Se una lingua è in , forse questo implica che l'appartenenza è "locale" abbastanza da essere codificata in modo molto conciso.t PttP

Cioè, l'appartenenza a è un'affermazione sul tempo di esecuzione di un algoritmo mentre i circuiti lineari sono (forse) un'affermazione sulla codifica delle dimensioni di insiemi di parole a lunghezza fissa. Entrambe sono dichiarazioni sulla semplicità della lingua ma vivono in mondi forse abbastanza diversi.P

Un'altra intuizione menzionata da Stasys deriva dalla "stringa indicatrice" di una lingua, che formalizziamo come la stringa infinita dove bit è se la stringa lessicografica è nella lingua ed è altrimenti. Una TM (polytime) per la lingua è un (veloce) oracolo per la stringa --- dato in binario, produce il bit. Un circuito (lineare) per gli ingressi di lunghezza è un oracolo (conciso) per il prefisso lunghezza della stringa. La congettura diventa "qualsiasi stringa infinita che ha un oracolo 'veloce' ha prefissi-oracoli 'concisi'."1 j 0 j j n 2 nj1j0jjn2n

Nessuno dei precedenti spiega perché e" linear "potrebbero essere i parametri rispettivi giusti per l'affermazione; ma penso che dimostrino che un'intuizione naturale - che i circuiti si comportano come algoritmi e che richiedono algoritmi più complicati circuiti altrettanto complicati - potrebbero essere fuorvianti.P"

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.