Domanda

Recentemente ho iniziato un corso sulla compressione dei dati presso la mia università. Tuttavia, ritengo che l'uso del termine "entropia" come si applica a informatica piuttosto ambigua. Per quanto posso dire, si traduce approssimativamente alla "casualità" di un sistema o di una struttura.

Qual è la corretta definizione di informatica "entropia"?

È stato utile?

Soluzione

L'entropia può significare cose diverse:

Computing

  

In informatica, l'entropia è la   casualità raccolti da un esercizio   sistema o applicazione per l'uso in   la crittografia o per altri usi che   richiede dati casuali. questa casualità   è spesso raccolti dall'hardware   fonti, sia quelle pre-esistenti,   come movimenti del mouse o appositamente   Generatori disponibile casualità.

teoria Informazioni

  

In teoria dell'informazione, l'entropia è una   misura dell'incertezza associata   con una variabile casuale. Il termine per   in questo contesto si riferisce generalmente   al Shannon entropia, che   quantifica, nel senso di un   valore atteso, le informazioni   contenuta in un messaggio, di solito in   Unità come bit. In modo equivalente, il   Shannon entropia è una misura della   contenuto medio di informazioni che si è   manca quando non si conosce la   valore della variabile casuale

Entropy in compressione dei dati

Entropy in compressione dei dati può indicare la casualità dei dati che si sta inputing per l'algoritmo di compressione. Quanto più l'entropia, minore è il rapporto di compressione. Ciò significa che il più casuale del testo è, minore è possibile comprimerlo.

  

entropia di Shannon rappresenta un   limite assoluto la migliore possibile   compressione senza perdita di qualsiasi   comunicazione: trattare i messaggi per essere   codificato come una sequenza di indipendente   e identicamente distribuiti casuale   variabili, fonte di Shannon codifica   teorema mostra che, al limite, la   lunghezza media dei più brevi   possibile rappresentazione codificare la   messaggi in un dato alfabeto è la loro   entropia diviso per il logaritmo   il numero di simboli nel bersaglio   alfabeto.

Altri suggerimenti

La mia definizione preferita, con un focus più pratico, si trova nel capitolo 1 del eccellente Il Pragmatic Programmer: da operaio al Maestro da Andrew Hunt e David Thomas:

  

Software Entropy

     

Mentre lo sviluppo del software è immune   da quasi tutte le leggi fisiche, l'entropia   Ci colpisce duro. L'entropia è un termine da   fisica che si riferisce alla quantità di   "Disordine" in un sistema. Purtroppo,   le leggi della termodinamica garanzia   che l'entropia dell'universo tende   verso un massimo. quando il disturbo   aumenta nel software, i programmatori   lo chiamano "software rot."

     

Ci sono molti fattori che possono   contribuire al marciume del software. Più   un importante sembra essere il   la psicologia, o di cultura, al lavoro su un   progetto. Anche se siete un gruppo di   uno, la psicologia del progetto può essere   una cosa molto delicata. Nonostante il   migliori progetti e le persone migliori, un   progetto può ancora sperimentare rovina e   decadimento durante la sua vita. Eppure ci   sono altri progetti che, nonostante   enormi difficoltà e costante   battute d'arresto, combattono con successo la natura del   tendenza verso il disordine e riescono a   uscito abbastanza bene.

     

...

     

...

     

Una finestra rotta.

     

Una finestra rotta, a sinistra non riparato per   qualsiasi lunghezza di tempo considerevole,   infonde negli abitanti del   costruire un senso di abbandono-a   senso che i poteri forti non lo fanno   preoccupano l'edificio. così un altro   la finestra viene rotto. La gente comincia   littering. appare Graffiti. Grave   danni strutturali comincia. In un   relativamente breve lasso di tempo, la   edificio viene danneggiato oltre la   il desiderio del proprietario per risolvere il problema, e la   senso di abbandono diventa realtà.

     

La "teoria delle finestre rotte" ha   dipartimenti di polizia ispirato a New   York e altre grandi città per rompere   verso il basso per le piccole cose, al fine di   tenere fuori la roba grossa. Funziona:   mantenendo in cima finestre rotte,   graffiti, e altre piccole infrazioni   ha ridotto il grave livello di criminalità.

     

Suggerimento 4

     

non vivono con Windows rotto

     

Non lasciare "finestre rotte" (male   disegni, decisioni sbagliate, o scarsa   codice) non riparato. Fissare ognuno nel più breve   come si è scoperto. Se c'è   tempo sufficiente per risolvere il problema correttamente,   poi salire su. Forse si può   commentare il codice incriminato, o   visualizzare un messaggio "Non implementato",   o dati fittizi sostitutivi invece. Prendere   alcune misure per prevenire ulteriori danni   e per dimostrare che sei in cima al   situazione.

Testo tratto da: http://pragprog.com/the-pragmatic- programmatore / estratti / software-entropia

alt text
(fonte: mit.edu )

Università del Messico

  

Le informazioni nozione teorica   Entropia è una generalizzazione del   nozione fisica. Ci sono molti modi   per descrivere Entropia. Si tratta di una misura   della casualità di un casuale   variabile. È anche una misura della   quantità di informazioni di un caso   processo variabile o stocastico   contiene. E 'anche un limite inferiore sulla   la somma che un messaggio può essere   compressa. E infine è il   numero medio di domande si / no   che devono essere chiesto un casuale   all'entità di determinare il suo valore.

Equazione per Entropy in un'applicazione di esempio per il calcolo delle probabilità:

  

è la somma su tutti i valori di un camper   della probabilità che i tempi di valore   il registro di che prob (cioè.   p (x) logp (x)). Questa equazione può essere   derivato da primi principi del   proprietà di informazioni.

Ho sempre incontrato l'entropia nel senso di Shannon Entropia.

http://en.wikipedia.org/wiki/Information_entropy :

In teoria dell'informazione, entropia è una misura dell'incertezza associata con una variabile casuale. Il termine di per sé in questo contesto si riferisce solitamente al entropia di Shannon, che quantifica, nel senso di un valore atteso, le informazioni contenute in un messaggio, di solito in unità come i bit. In modo equivalente, l'entropia di Shannon è una misura del contenuto medio di informazioni ne manca quando non si conosce il valore della variabile casuale.

In termini di compressione e teoria dell'informazione, l'entropia di una sorgente è la quantità media di dati (in bit) che i simboli dalla sorgente può trasmettere. Informalmente parlando, il più improbabile un simbolo è, il più sorpresa il suo aspetto porta.

Se la sorgente ha due simboli, dicono A e B, e sono altrettanto probabile, quindi ogni simbolo veicola la stessa quantità di informazioni (un bit). Una fonte con quattro simboli equiprobabili trasmette due bit per simbolo.

Per un esempio più interessante, se la sorgente ha tre simboli, C, <=>, e <=>, in cui i primi due sono il doppio delle probabilità, come il terzo, poi il terzo è più sorprendente, ma è anche meno probabile. C'è un'entropia netto di 1,52 per questa fonte, come calcolato sotto.

Si calcola entropia come la "sorpresa medio", dove la "sorpresa" per ogni simbolo è la sua volte di probabilità il log binario negativo della probabilità:

                            binary
symbol  weight  probability   log    surprise
  A        2        0.4      -1.32    0.53
  B        2        0.4      -1.32    0.53
  C        1        0.2      -2.32    0.46
total      5        1.0               1.52

Il negativo del log binario è utilizzato (ovviamente) perché i registri di valori tra 0 e 1 (esclusiva) sono negativi.

Ecco una grande spiegazione alternativa per entropia nella teoria dell'informazione.

  

L'entropia è una misura della incertezza coinvolti nella realizzazione di un   previsione .

Si può anche descrivere l'entropia come come sorpreso saremmo se otteniamo un risultato dopo abbiamo fatto la nostra previsione iniziale.

Consente di dire che abbiamo una moneta piegata che ci dà una testa 99% del tempo e una coda 1% del tempo. Dal momento che c'è solo una possibilità su cento di ottenere una coda, saremmo molto sorpresi se realmente otteniamo una coda. D'altra parte, non sarà troppo sorprendente se abbiamo ottenuto una testa come abbiamo già un 99 per cento di avere una testa.

lascia supporre che abbiamo una funzione chiamata Surprise(x) che ci darebbe la quantità di sorpresa per ogni risultato; allora possiamo media la quantità di sorpresa su una distribuzione di probabilità. L'importo medio di sorpresa potrebbe essere utilizzato anche come misura per come siamo incerti. Questa incertezza si chiama entropia .

definizione super semplice

La parola entropia può essere definito in una sola frase:

"La quantità di informazioni necessarie per descrivere un sistema."

Immaginate per un esempio l'espansione dell'universo: Fin dall'inizio, tutta la materia è stato raccolto in un piccolo punto prima del Big Bang, così abbiamo potuto hanno descritto il sistema con "tutta la materia è all'interno di un punto." Mentre oggi significativamente più informazioni sono necessarie per descrivere il sistema (l'universo, che è), uno avrebbe bisogno di descrivere tutte le posizioni dei pianeti, il loro movimento, ciò che è in loro, ecc .. In termini di teoria dell'informazione, la definizione funziona anche: per esempio: I più lettere che si aggiungono a una password (il sistema), più informazioni sono necessarie per descrivere la password. Poi si può misurare in unità diverse, bit o caratteri ad esempio, come "Ciao" = 5 caratteri entropia = 40 bit di entropia (se charsize è di 8 bit).
Da questo deriva anche che più informazioni si hanno le più modi si possono organizzare le informazioni in. Se si dispone di 40 bit ci sono 2 ^ 40 modi diversi che possono essere organizzati. Se stiamo parlando password qui poi le modalità più possibili delle informazioni (bit) più tempo ci sta andando a prendere di cracking (con la forza bruta o attacchi dizionario).

In parole più semplici, Entropia definisce casualità. E 'più simile a come imprevedibile qualcosa è. In termini più tecnici, “In informatica, entropia è la casualità raccolta da un sistema operativo o applicazione per uso in crittografia o per altri usi che richiedono dati casuali. Questa casualità è spesso raccolti da fonti hardware, sia quelle preesistenti come movimenti del mouse o appositi generatori casualità.”, Come definito da wikipedia.

Ora si può facilmente concludere il significato di entropia rispetto a un file come la misurazione della quantità di disordine i byte sono in un file. Ci sono varie unità utilizzate per la definizione di entropia come NAT, Shannon o hartley. Beh, unità più comune è Shannon. L'intervallo di valori entropia di un file deve venire secondo algoritmo di Shannon è 0 a 8. Quindi, quando il valore di entropia è zero, si può dire il risultato è certa. Sul contrario, quando il valore di entropia è 8, il risultato è più imprevedibile potrebbe essere. La formula proposta dal Shannon per misurare la casualità nel risultato di eventi è:

          Entropy = ∑ pi log(1/pi)

dove i è l'evento con probabilità pi .

Questa equazione comporta sempre tra 0 a 8.

Per ulteriori informazioni, passare attraverso il link: https: //www.talentcookie.com/2016/02/file-entropy-in-malware-analysis/

entropia riferisce alla misura in cui un programma è rimodellato occasionalmente basandosi sulle esigenze del cliente quindi il costo per il rimodellamento di soddisfare reqrments cliente diventa massima.

L'entropia è come un codice hash per i ricercatori di virus pure. Meno entropia si ottiene, vorrebbe dire che è probabile criptato o il codice che potrebbe essere potenzialmente essere un virus compresso.

Un binario di serie avrebbe un entropia superiore a uno compresso o crittografato.

Entropy ha molti significati tipicamente in Computer Science. Dipende dal contesto. In sicurezza entropia significa quanto randomality si posiziona, per esempio quando si genera una chiave privata molte applicazioni chiedono di spostare il mouse per generare entropia. Questo genera entropia prendendo l'elemento "umano" di randomality e lo aggiunge al processo di hashing generazione della chiave.

Ora c'è anche una defnizione per l'ingegneria del software di entropia. Questa definizione rappresenta di codice della data, o il codice che ha avuto molti sviluppatori scriverlo. Tipicamente utilizzata in riferimento a quando è vicino il momento di refactoring del progetto software. "Il codice per questo progetto ha una quantità enorme di entropia, perché molti degli individui che sostenevano che non sono sul progetto attualmente".

Ecco un terzo esempio di utilizzo che ricordavo troppo. In tema di ricottura simulata (per quanto riguarda l'informatica è interessato), l'entropia è descritto come la quantità di decadimento è successo durante la valutazione dell'algoritmo.

Credo che per rispondere alla tua domanda, però, non v'è una definizione concreta della parola 'entropia' eccezione di quelli che si possono trovare in un dizionario. Come l'informatica tende ad applicare tale termine dipende dal contesto del termine utilizzato e quello che viene applicato a.

E 'facile fare un grande affare fuori di entropia. A mio parere si tratta di un grazioso concetto semplice e utile .

In sostanza si quantifica quello che, in media, si impara da un evento, come lanciare una moneta, di prendere un'istruzione di salto, o l'indicizzazione di un array.

Come un'operazione di confronto nel bel mezzo di un algoritmo di ricerca ha una certa probabilità P di prendere un ramo, e 1-P di prendere l'altro.

Si supponga che P è 1/2, in quanto è in una ricerca binaria. Poi se si prende quel ramo, si sa 1 po 'più di quanto si faceva prima, a causa di log (2/1), base 2, è pari a 1. D'altra parte, se si prende l'altro ramo è anche imparare a 1 bit.

Per ottenere la quantità media di informazioni si impara, moltiplicare ciò che si impara sui primi tempi di filiale la probabilità di prendere quel ramo, oltre a ciò che si impara sui secondi tempi ramo la probabilità di quel ramo.

1/2 volte 1 bit, oltre a 1/2 volte 1 bit, è 1/2 1/2 bit più bit o totale 1 bit di entropia. Questo è quello che ci si può aspettare di imparare in media da tale decisione.

D'altra parte, supponiamo che si sta facendo ricerca lineare in una tabella di 1024 voci.

Al primo test ==, la probabilità di SI è 1/1024, così l'entropia di SI a tale decisione è

1/1024 times log(1024/1)

o 1/1024 * 10 = circa 1/100 po '.

Quindi, se la risposta è sì, si impara 10 bit, ma la possibilità di che è di circa 1 su mille.

D'altra parte, NO è molto più probabile. E 'di entropia è

1023/1024 * log(1024/1023)

o approssimativamente 1 volte circa zero = circa zero.

Aggiungere le due cose insieme, e in media si impara circa 1/100 di un po 'su tale decisione.

Ecco perché ricerca lineare è lento. L'entropia (quanto ci si può aspettare di imparare) ad ogni decisione è troppo piccolo, dal momento che si sta andando ad avere per imparare 10 bit per trovare la voce nella tabella.

Entropy in informatica si riferisce comunemente a come casuale una stringa di bit è. La domanda è di fare quel preciso:

Come faccio a calcolare l'entropia approssimativa di una stringa di bit?

In parole semplici se si conoscono le probabilità di simboli nella langauge, si può calcolare il contenuto medio informazioni di simboli nel linguaggio.

o

L'entropia di una lingua è una misura del contenuto informativo di un simbolo media nella lingua

Si consideri una moneta;

Ci sono due simboli, ognuno con probabilità 1/2 così l'entropia è calcolato come

h = - (1/2 * log1 / 2 + 1/2 * log1 / 2) = 1

Ho sentito le persone abusano delle definizioni termodinamiche di entropia w.r.t CS.

es. L'entropia è decisamente in aumento in questo sistema.

Quando il loro significato è questo codice sta peggiorando e peggio!

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top