Esistono leggi sulla conservazione nella teoria della complessità?


46

Vorrei iniziare con alcuni esempi. Perché è così banale mostrare CVP in P ma così difficile mostrare LP in P; mentre entrambi sono problemi di P-complete.

O prendi la primalità. È più facile mostrare i composti in NP rispetto ai numeri primi in NP (che richiedeva Pratt) e infine in P. Perché doveva mostrare questa asimmetria?

Conosco Hilbert, il bisogno di creatività, le prove sono in NP ecc. Ma questo non mi ha impedito di avere la nausea che c'è di più di ciò che sembra.

Esiste una nozione quantificabile di "lavoro" ed esiste una "legge di conservazione" nella teoria della complessità? Ciò dimostra, ad esempio, che anche se CVP e LP sono entrambi completi di P, nascondono le loro complessità in "luoghi diversi" - uno nella riduzione (CVP è semplice perché tutto il lavoro è svolto nella riduzione?) E il altro nell'espressività della lingua.

Qualcun altro anche nauseato e con alcune intuizioni? O scrolliamo le spalle e diciamo / accettiamo che questa è la natura del calcolo?

Questa è la mia prima domanda al forum: incrociamo le dita.

Modifica: CVP è Problema valore circuito e LP è Programmazione lineare. Grazie Sadeq, per aver sottolineato una confusione.


7
All'inizio, ho scambiato CVP per Closest Vector Problem (che è NP-hard). Poi ho notato che è il problema del valore del circuito . Ho pensato che sarebbe stato utile menzionarlo.
MS Dousti,

5
domanda interessante. Non sono sicuro che ci sia una risposta interessante :)
Suresh Venkat,

7
Solo un'osservazione: la difficoltà di provare l'appartenenza a NP (diciamo) non è una proprietà di una lingua, ma una proprietà di una descrizione di una lingua. Ad esempio, è necessario uno sforzo per dimostrare che l'insieme di numeri primi è in NP, ma è banale che l'insieme di numeri interi che hanno un certificato Pratt è in NP.
Tsuyoshi Ito,

2
Il compromesso tra spazio e tempo non è applicabile come legge di conservazione nel senso della formulazione di questa domanda?
Maverick Woo,

1
La nozione di profondità computazionale di Charles Bennett (originariamente "profondità logica") può catturare parte dell'intuizione di "lavoro richiesto per dimostrare un fatto complesso".
Aaron Sterling,

Risposte:


13

Questa è una domanda che mi è venuta in mente molte volte.

Penso che un posto dove guardare sia la teoria dell'informazione. Ecco una mia speculazione. Dato un problema, forse possiamo dare una sorta di valore di entropia alle informazioni fornite come input e alle informazioni ricevute dall'algoritmo. Se potessimo farlo, allora ci sarebbe una quantità minima di guadagno di informazioni richiesto da un algoritmo per risolvere quel problema.

C'è una cosa correlata che volevo capire. In alcuni problemi NP-completi puoi trovare una versione vincolata in P; con il percorso hamiltoniano se si specifica che il grafico è un DAG, esiste un algoritmo p-time per risolverlo. Con altri problemi come TSP, ci sono spesso algoritmi p-time che approssimano l'ottimale. A mio avviso, per gli algoritmi p-time vincolati, dovrebbe esserci una relazione proporzionale tra le informazioni di addizione assunte e la riduzione della complessità del runtime. Nel caso del TSP non stiamo assumendo informazioni aggiuntive, stiamo rilassando la precisione, che mi aspetto di avere un effetto simile su qualsiasi tipo di guadagno di informazioni algoritmiche.

Nota sulle leggi di conservazione

Nei primi anni del 1900 c'era poco noto matematico tedesco-americano di nome Emily Noether. Tra le altre cose, è stata descritta da Einstein e Hilbert come le donne più importanti nella storia della matematica. Nel 1915 pubblicò quello che ora è noto come il primo teorema di Noether . Il teorema riguardava le leggi fisiche di conservazione e diceva che tutte le leggi di conservazione hanno una corrispondente simmetria differenziale nel sistema fisico. Conservation of Angular Momentum deriva da una simmetria rotazionale nello spazio, Conservation of Linear Momentum è traduzione nello spazio, Conservation of Energy è traduzione nel tempo. Dato che, affinché ci sia una legge di conservazione della complessità in senso formale, dovrebbe esserci una corrispondente simmetria differenziale in una funzione Langragiana.


2
+1 Ottima risposta! Ho avuto spesso riflessioni simili (@MattRS: mandami una email). A proposito, non penso che Emmy Noether sia "poco conosciuta", ma in realtà è esattamente il contrario, anche se forse non è molto conosciuta in TCS. Il primo teorema di Noether è ben noto ai fisici e gli anelli noetheriani sono un oggetto centrale di studio in algebra commutativa e geometria algebrica. Numerosi altri importanti teoremi, principalmente in quelle aree, portano anche il suo nome.
Joshua Grochow,

Sì, questo è quello che volevo dire; non ben noto a comp sci. Ho sempre pensato che l'algebra astratta dovesse essere insegnata più ampiamente in CS.
MattRS

α>1αϵϵ>0

6

Penso che la ragione sia nel sistema logico che usiamo. Ogni sistema formale ha una serie di assiomi e una serie di regole di inferenza .

Una prova in un sistema formale è solo una sequenza di formule tale che ciascuna formula nella sequenza o è un assioma o è ottenuta da formule precedenti nella sequenza applicando una regola di inferenza. Un teorema del sistema formale è solo l'ultima formula di una dimostrazione.

La lunghezza della dimostrazione di un teorema, supponendo che sia decidibile nel sistema logico, dipende totalmente dagli insiemi di assiomi e regole di inferenza .

Ad esempio, si consideri la logica proposizionale, per la quale esistono diverse caratterizzazioni: Frege (1879), Nicod (1917) e Mendelson (1979). (Vedi questo breve sondaggio per maggiori informazioni.)

φφ

Questo problema è definito complessità di prova . Per citare Beame & Pitassi :

Una delle domande più elementari della logica è la seguente: data un'affermazione universalmente vera (tautologia) qual è la lunghezza della prova più breve dell'affermazione in un sistema di prova assiomatica standard? La versione della logica proposizionale di questa domanda è particolarmente importante nell'informatica sia per la dimostrazione del teorema che per la teoria della complessità. Importanti domande algoritmiche correlate sono: esiste un algoritmo e ffi ciente che produrrà una prova di qualsiasi tautologia? Esiste un algoritmo e ffi ciente per produrre la prova più breve di qualsiasi tautologia? Tali domande sulla dimostrazione e la complessità del teorema hanno ispirato l'articolo fondamentale di Cook sulla completezza NP, in particolare intitolato "La complessità delle procedure di dimostrazione del teorema" e sono stati contemplati ancor prima da Gödel nella sua ormai nota lettera a von Neumann.


6

Stavo pensando a questa stessa domanda l'altro giorno, quando stavo riproducendo alcune delle lezioni di fisica di Feynman e sono arrivato alla lezione 4 sulla conservazione dell'energia. Nella lezione Feynman usa l'esempio di una macchina semplice che (attraverso un sistema di leve o pulegge o qualsiasi altra cosa) abbassa un peso di un'unità di una certa distanza x, e lo usa per sollevare un secondo peso di 3 unità. Quanto può essere sollevato il peso? Feynman osserva che se la macchina è reversibile, non abbiamo bisogno di sapere nulla sul meccanismo della macchina - possiamo trattarla come una scatola nera - e solleverà sempre il peso alla massima distanza possibile ( x / 3 in questo caso).

Questo ha un analogo nel calcolo? L'idea del calcolo reversibile ricorda il lavoro di Landauer e Bennett, ma non sono sicuro che sia questo il senso del termine a cui siamo interessati. Intuitivamente, se abbiamo un algoritmo per qualche problema che è ottimale, allora non c'è alcun "lavoro" sprecato che viene fatto agitando i bit; mentre un approccio a forza bruta allo stesso problema eliminerebbe i cicli della CPU a destra e sinistra. Tuttavia, immagino che si possa costruire un circuito fisicamente reversibile per entrambi gli algoritmi.

Penso che il primo passo nell'approccio a una legge di conservazione per la complessità computazionale sia quello di capire esattamente cosa dovrebbe essere conservato. Lo spazio e il tempo sono metriche importanti, ma dall'esistenza di compromessi spazio / tempo emerge chiaramente che nessuno dei due sarà di per sé adeguato come misura della quantità di "lavoro" svolto da un algoritmo. Sono stati utilizzati altri parametri come inversioni della testina TM o incroci di celle a nastro. Nessuno di questi sembra davvero essere vicino alla nostra intuizione della quantità di "lavoro" richiesto per eseguire un calcolo.

Il rovescio della medaglia del problema è capire in cosa viene convertito quel lavoro. Una volta ottenuto l'output da un programma, che cosa hai guadagnato esattamente?


3

Alcune osservazioni che suggeriscono l'esistenza della legge sulla conservazione:

<pPNP

P={L|L<pHornSAT}

NP={L|L<p3SAT}

CoNP={L|L¯<p3SAT}

NPC={L|L<p3SAT,3SAT<pL}

PC={L|L<pHornSAT,HornSAT<pL}

PP={L|L<pHornSAT,L¯<pHornSAT}PNPP=NP


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.