Relazione tra complessità computazionale e informazioni


11

Lavoro in un laboratorio di neuroscienze computazionale che quantifica le informazioni reciproche tra coppie o gruppi di neuroni. Di recente, il capo si è concentrato sulla misurazione della "complessità della dinamica neurale". Nel perseguire quella linea di ricerca, alcune persone del mio gruppo sembrano equiparare "complesso" a "ha un'entropia elevata".

Qualcuno può guidarmi su quale sia la relazione tra complessità computazionale (in senso CS) ed entropia nel senso della teoria dell'informazione?

Per spiegare un po 'di più, misure come la complessità di Lempel-Ziv, non mi sembrano valide misure di complessità perché confondono l'informazione (all'utente) con il trasporto di molti bit. Altre misure, ad esempio, [Causal State Splitting Reconstruction][1]sono molto meno conosciute ma hanno la proprietà accattivante che i processi casuali hanno una complessità zero, poiché sono necessari zero stati nascosti per rappresentare un processo casuale stazionario.


1
Potresti spiegare cosa significa "complesso" nel tuo campo? Vuol dire che i neuroni stanno sparando in modo significativo o più di loro stanno partecipando?
vs

@vs: ci sono molte definizioni concorrenti per "complesso". Alcuni sostengono che il processo più complesso sia quello con l'entropia più elevata. Ciò, tuttavia, implicherebbe che i processi casuali sono complessi, il che non sembra biologicamente realistico. Anche così, "sparare in modo significativo" è più vicino di "più ... partecipazione", anche se probabilmente "sparare in modo più significativo" è ancora più vicino.
mac389,

1
Comprendiamo che il complesso implica una maggiore entropia dal nostro campo. Ho fatto quella domanda per capire cosa significa il tuo campo per complesso. Quindi "" partecipare in modo più significativo "è più vicino. Ok. Questa è la mia ipotesi. Per me" partecipare in modo più significativo "implica che i neuroni stanno comunicando" in modo intelligente "o" piuttosto rispondendo agli stimoli "per un" risultato desiderato particolare ". Questa comunicazione significativa di solito è associato a una maggiore entropia o informazione nella teoria dell'informazione.
vs

@vs: C'è una domanda su come due quantificano l'entropia quando lo schema di codifica non è noto e probabilmente sta cambiando, come sembra essere il caso nel cervello. Le persone hanno detto di aver usato le informazioni reciproche tra un neurone e uno stimolo per quantificare quanto selettivo sia quel neurone per quello stimolo. Il problema diventa più confuso se si considera il caso più realistico di molti neuroni.
mac389,

1
@ mac389 potremmo significare un numero qualsiasi di cose come la complessità di un oggetto. alcuni esempi sono: la complessità di Kolmogorov (di cui hai ottenuto una risposta) e varie nozioni di complessità di Kolmogorov limitata nel tempo; quando disponi di una famiglia di oggetti di dimensioni variabili, osserviamo la quantità di tempo / spazio (in funzione della dimensione dell'oggetto) che richiede un algoritmo per riconoscere che un oggetto appartiene alla classe. hai un problema di modellazione abbastanza non banale qui penso.
Sasho Nikolov,

Risposte:



7

Molte persone hanno menzionato la complessità di Kolmogorov o le sue varianti limitate dalle risorse, ma penso che qualcosa di più vicino a ciò che stai cercando sia la nozione di profondità (logica) . Esistono diverse varianti di profondità, ma tutte cercano di ottenere qualcosa di simile a ciò di cui stai parlando. In particolare, né le stringhe puramente casuali né le stringhe molto ordinate / ripetitive sono profonde.

Una nozione di profondità è intuitiva: una stringa è profonda se ha una breve descrizione, ma l'unico modo per ricostruire la stringa da quella breve descrizione richiede una quantità eccessiva di tempo. Questa è la nozione di profondità e molte altre sono state introdotte e sviluppate in [1]. L'altro riferimento standard è [2]. Vorrei guardare quelli, quindi fare una ricerca di riferimento in avanti.

[1] L. Antunes, L. Fortnow, D. van Melkebeek, NV Vinodchandran. Profondità computazionale: concetto e applicazioni . Theoret. Comp. Sci. 354 (3): 391--404. Disponibile anche gratuitamente dalla pagina web dell'autore .

[2] CH Bennett. Profondità logica e complessità fisica. In R. Herken (a cura di), The Universal Turing Machine: A Half-Century Survey, Oxford University Press, Oxford (1988), 227-257.


Grazie mille per questa risposta La profondità logica sembra essere molto vicina a ciò che intendevo per complessità.
mac389,

3

La prima cosa che viene in mente come qualcosa che potresti trovare affascinante è la complessità di Kolmogorov; Lo trovo sicuramente affascinante, e dato che non lo hai menzionato, ho pensato che valesse la pena menzionarlo.

Detto questo, un approccio più generale alla risposta a questa domanda potrebbe essere basato sulla teoria delle lingue e degli automi. Gli automi finiti deterministici sono processori di stringa O (n). Cioè, data una stringa di lunghezza n, elaborano la stringa esattamente in n passaggi (molto dipende da come si definiscono gli automi finiti deterministici; tuttavia, un DFA certamente non richiede più passaggi). Gli automi finiti non deterministici riconoscono gli stessi linguaggi (insiemi di stringhe) dei DFA e possono essere trasformati in DFA, ma per simulare un NFA su una macchina sequenziale e deterministica, è necessario esplorare in genere uno "spazio di ricerca" ad albero che può aumentare la complessità drammaticamente. Le lingue normali non sono molto "complesse" in senso computazionale,

Allo stesso modo puoi guardare altri livelli della gerarchia di lingue di Chomsky: senza contesto deterministico, senza contesto (compresi i linguaggi non deterministici senza contesto, che non possono essere necessariamente riconosciuti dagli automi deterministici di pushdown), i linguaggi sensibili al contesto, i ricorsivi e ricorsivi lingue enumerabili e lingue indecidibili.

Automi diversi differiscono principalmente nella loro memoria esterna; vale a dire, quale memoria esterna è necessaria affinché gli automi elaborino correttamente le lingue di un certo tipo. Gli automi finiti non hanno memoria esterna; I PDA hanno uno stack e le macchine di Turing hanno un nastro. È quindi possibile interpretare la complessità di un particolare problema di programmazione (che corrisponde a una lingua) da correlare alla quantità o al tipo di memoria richiesta per riconoscerlo. Se non è necessaria alcuna quantità di memoria fissa o limitata per riconoscere tutte le stringhe in una lingua, è una lingua normale. Se tutto ciò di cui hai bisogno è uno stack, hai un linguaggio senza contesto. Eccetera.

In generale, non sarei sorpreso se le lingue più alte nella gerarchia di Chomsky (quindi con maggiore complessità) tendano anche ad avere una maggiore entropia in senso teorico dell'informazione. Detto questo, probabilmente potresti trovare molti controesempi a questa idea, e non ho idea se ci sia qualche merito.

Inoltre, questo potrebbe essere meglio chiesto al "teorico cs" (cstheory) StackExchange.


L'ho migrato e grazie per il tuo suggerimento.
mac389,

1

La complessità computazionale affronta le risorse necessarie: dato un particolare tipo di problema, di una certa dimensione, quali sono le risorse necessarie (di solito tempo, spazio o entrambi; e un particolare tipo di dispositivo informatico) per risolverlo. I problemi vengono quindi raggruppati in "classi" di complessità.

Alcuni di questi sono piuttosto generali e astratti: il problema è risolvibile, anche in linea di principio? Richiede una macchina di questo tipo o quella? L'introduzione a queste idee è ancora un argomento di informatica a livello di laurea, e il materiale introduttivo di solito fa riferimento alla gerarchia di Chomsky, che mappa in modo ordinato (e magnificamente!) Alcuni tipi di macchine astratte e alcuni tipi di abstract, specifiche del linguaggio matematico.

Alcuni di questi, al livello inferiore, sono più pratici nell'uso quotidiano: questo problema si ridimensiona come il quadrato della dimensione del problema, o il cubo o qualche altra funzione? È interessante notare che so che gli argomenti all'entropia di un determinato problema sono stati trovati utili nel determinare alcuni limiti inferiori ad alcuni problemi computazionali. Uno che sporge nella mia mente (anche se probabilmente non potrei ripeterlo senza controllare un libro di testo) è un argomento basato sull'entropia per il numero minimo necessario di confronti durante una sorta. La connessione all'entropia è attraverso la teoria dell'informazione.

Quindi c'è qualche merito all'idea, penso.

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.