web-dev-qa-db-fra.com

Quelle est la définition informatique de l'entropie?

J'ai récemment commencé un cours sur la compression de données à mon université. Cependant, je trouve l'utilisation du terme "entropie" telle qu'elle s'applique à l'informatique plutôt ambiguë. Autant que je sache, cela se traduit approximativement par le "caractère aléatoire" d'un système ou d'une structure.

Quelle est la définition correcte de l'informatique "entropie"?

59
fluffels

L'entropie peut signifier différentes choses:

L'informatique

En informatique, l'entropie est le caractère aléatoire recueilli par un opérateur système ou application à utiliser dans cryptographie ou autres utilisations qui nécessite des données aléatoires. Ce hasard est souvent collecté à partir de matériel sources, qu'elles soient préexistantes, telles que en mouvements de souris ou spécialement fourni générateurs de hasard.

Théorie de l'information

En théorie de l'information, l'entropie est un mesure de l'incertitude associée avec une variable aléatoire. Le terme par lui-même dans ce contexte se réfère habituellement à l'entropie de Shannon, qui quantifie, dans le sens d'un valeur attendue, l'information contenues dans un message, généralement en des unités telles que des bits. De manière équivalente, le L'entropie de Shannon est une mesure du contenu d'information moyen on est manquant quand on ne connait pas le valeur de la variable aléatoire

Entropie dans la compression de données

L'entropie dans la compression de données peut indiquer le caractère aléatoire des données que vous entrez dans l'algorithme de compression. Plus l'entropie est importante, plus le taux de compression est faible. Cela signifie que plus le texte est aléatoire, moins vous pouvez le compresser.

L'entropie de Shannon représente un limite absolue sur le meilleur possible compression sans perte de tout communication: traiter les messages pour qu'ils soient codé en tant que séquence d'indépendant et aléatoire identique variables, le code source de Shannon le théorème montre que, dans la limite, le longueur moyenne du plus court représentation possible pour encoder le les messages dans un alphabet donné est leur entropie divisée par le logarithme de le nombre de symboles dans la cible alphabet.

55
Niyaz

Ma définition préférée, plus pratique, se trouve au chapitre 1 de l'excellent livre Le programmeur pragmatique: de compagnon à maître de Andrew Hunt et David Thomas:

Entropie du logiciel

Alors que le développement de logiciels est immunisé de presque toutes les lois physiques, entropie nous frappe fort. Entropie est un terme de la physique qui se réfère à la quantité de "désordre" dans un système. Malheureusement, les lois de la thermodynamique garantissent que l'entropie dans l'univers tend vers un maximum. Quand le désordre augmentation des logiciels, des programmeurs appelez cela "logiciel pourriture".

Il y a beaucoup de facteurs qui peuvent contribuer à la pourriture logicielle. Le plus un important semble être le psychologie, ou culture, au travail sur un projet. Même si vous êtes une équipe de Premièrement, la psychologie de votre projet peut être une chose très délicate. Malgré la meilleurs plans et les meilleures personnes, un le projet peut encore connaître la ruine et décomposition au cours de sa vie. Pourtant là sont d'autres projets qui, malgré énormes difficultés et constant échecs, combattre avec succès la nature tendance au désordre et parviennent à sors plutôt bien.

...

...

Une fenêtre cassée.

Une fenêtre cassée, laissée non réparée pour une durée substantielle, inculque aux habitants du créer un sentiment d'abandon — a sens que les pouvoirs en place ne le font pas se soucient de la construction. Donc, un autre la fenêtre est cassée. Les gens commencent litière. Des graffitis apparaissent. Sérieux les dommages structurels commencent. Dans un espace de temps relativement court, le bâtiment est endommagé au-delà de la le désir du propriétaire de le réparer, et le le sentiment d'abandon devient réalité.

La "théorie de la fenêtre brisée" a services de police inspirés à New York et autres grandes villes à craquer bas sur les petites choses afin de garder les gros trucs. Ça marche: garder au-dessus des fenêtres brisées, graffitis et autres petites infractions a réduit le niveau de criminalité grave.

Astuce 4

Ne pas vivre avec des fenêtres brisées

Ne laissez pas les "fenêtres brisées" (mauvaises conceptions, mauvaises décisions ou mauvais code) non réparées. Fixez chacun dès que possible comme il se découvre. S'il y a manque de temps pour le réparer correctement, puis embarquez-le. Peut-être que vous pouvez commentez le code incriminé, ou afficher un message "Non implémenté", ou substituez des données factices à la place. Prendre quelques actions pour prévenir d'autres dommages et pour montrer que vous êtes au dessus de la situation.

Texte extrait de: http://pragprog.com/the-pragmatic-programmer/extracts/software-entropy

16
Ash

J'ai toujours rencontré l'entropie dans le sens de Shannon Entropy. 

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

Dans la théorie de l'information, l'entropie est une mesure de l'incertitude associée à une variable aléatoire. Le terme en lui-même dans ce contexte fait généralement référence à l'entropie de Shannon, qui quantifie, au sens d'une valeur attendue, les informations contenues dans un message, généralement en unités telles que des bits. De manière équivalente, l’entropie de Shannon est une mesure du contenu moyen des informations qui manque lorsque l’on ne connaît pas la valeur de la variable aléatoire.

9
Adrian Grigore

 alt text
(source: mit.edu )

from Université de Mexico

La notion théorique de l'information de L'entropie est une généralisation de la notion physique. Il y a plusieurs façons décrire Entropie. C'est une mesure du caractère aléatoire d'un hasard variable. C'est aussi une mesure de la quantité d'informations un hasard processus variable ou stochastique contient. C'est aussi une limite inférieure sur le montant qu'un message peut être comprimé. Et finalement c'est le nombre moyen de questions oui/non ce besoin d'être interrogé sur un hasard entité pour déterminer sa valeur.

Équation pour Entropie dans un exemple d'application de calcul de probabilité: 

c'est la somme sur toutes les valeurs d'une va de la probabilité de cette valeur fois le journal de ce prob (c'est-à-dire . p (x) logp (x)). Cette équation peut être dérivé des premiers principes de la propriétés de l'information.

9
Ric Tokyo

En termes de compression et de théorie de l'information, l'entropie d'une source est la quantité moyenne d'informations (en bits) que les symboles de la source peuvent véhiculer. De manière informelle, plus un symbole est improbable, plus son apparence surprend.

Si votre source contient deux symboles, par exemple, A et B, et qu'ils sont également probables, chaque symbole transmet la même quantité d'informations (un bit). Une source avec quatre symboles d'égale probabilité transmet deux bits par symbole.

Pour un exemple plus intéressant, si votre source contient trois symboles, A, B et C, où les deux premiers sont deux fois plus probables que le troisième, le troisième est plus surprenant mais également moins probable. Il existe une entropie nette de 1,52 pour cette source, calculée ci-dessous.

Vous calculez l'entropie en tant que "surprise moyenne", où la "surprise" pour chaque symbole est sa probabilité multipliée par le journal binaire négatif de la 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

Le négatif du journal binaire est utilisé (bien sûr) car les journaux de valeurs comprises entre 0 et 1 (exclusif) sont négatifs.

4
joel.neely

Voici une excellente explication alternative pour entropie dans la théorie de l'information.

L'entropie est une mesure de de l'incertitude impliquée dans la création d'un prédiction .

Nous pouvons aussi décrire l’entropie de la façon dont nous serions surpris si nous obtenions un résultat après avoir fait notre prédiction initiale.

Disons que nous avons une pièce de monnaie courbée qui nous donne une tête 99% du temps et une queue 1% du temps. Comme il n’ya que 1% de chance d’avoir une queue, nous serions très surpris d’obtenir une queue. D'un autre côté, il ne sera pas trop surprenant que nous ayons une tête, car nous avons déjà 99% de chances d'obtenir une tête.

supposons que nous ayons une fonction appelée Surprise(x) qui nous donnerait le montant de surprise pour chaque résultat; alors nous pouvons faire la moyenne de la quantité de surprise sur une distribution de probabilité. Ce montant moyen de surprise pourrait également être utilisé pour mesurer notre incertitude. Cette incertitude s'appelleentropie.

4
r2d2oid

Super simple définition

L'entropie de Word peut être définie en une phrase:

"La quantité d'informations nécessaire pour décrire un système."

Imaginons par exemple l’expansion de l’univers: dès le début, toute la matière était collectée en un petit point avant le big bang, de sorte que nous aurions pu décrire le système avec "toute la matière est dans un point". Alors qu'aujourd'hui beaucoup plus d'informations sont nécessaires pour décrire le système (l'univers, c'est-à-dire), il faudrait décrire toutes les positions des planètes, leur mouvement, leur contenu, etc. ... En termes de théorie de l'information, la définition fonctionne également. Exemple: plus vous ajoutez de lettres au mot de passe (le système), plus vous aurez besoin d'informations pour décrire le mot de passe. Ensuite, vous pouvez le mesurer en différentes unités, par exemple des bits ou des caractères, comme "Hello" = entropie à 5 caractères = 40 bits d'entropie (si charsize est de 8 bits).

Cela découle également du fait que plus vous avez d'informations, plus vous pouvez organiser ces informations. Si vous avez 40 bits, vous disposez de 2 ^ 40 manières différentes de les organiser. Si nous parlons de mots de passe ici, plus l'arrangement de l'information (bits) est possible, plus la fissuration prend du temps (avec des attaques par force brute ou par dictionnaire).

3
Axel K
2
Ray Tayek

En termes simples, Entropy définit le caractère aléatoire. C’est plutôt à quel point quelque chose est imprévisible. En termes plus techniques, «En informatique, l'entropie est le caractère aléatoire recueilli par un système d'exploitation ou une application pour être utilisé en cryptographie ou pour d'autres utilisations nécessitant des données aléatoires. Ce caractère aléatoire est souvent collecté à partir de sources matérielles, qu'il s'agisse de sources préexistantes telles que des mouvements de souris ou de générateurs d'aléa spécialement fournis. », Comme défini par wikipedia.

On peut maintenant facilement conclure que la signification de l'entropie dans un fichier est la mesure de la quantité d'octets désordonnés dans un fichier. Il existe différentes unités utilisées pour définir l'entropie, telles que nat, shannon ou hartley. Eh bien, l’unité la plus utilisée est Shannon. La plage de valeurs qu’une entropie de fichier doit entrer conformément à l’algorithme de Shannon est comprise entre 0 et 8. Ainsi, lorsque la valeur d’entropie est égale à zéro, on peut dire que le résultat est certain. Au contraire, lorsque la valeur d'entropie est 8, le résultat est très imprévisible. La formule donnée par Shannon pour mesurer le caractère aléatoire de l'issue des événements est la suivante:

          Entropy = ∑ pi log(1/pi)

i est l'événement avec probabilité pi

Cette équation donnera toujours entre 0 et 8.

Pour plus d'informations, cliquez sur le lien suivant: https://www.talentcookie.com/2016/02/file-entropy-in-malware-analysis/

1
Tarang Arora

l'entropie désigne la mesure dans laquelle un logiciel est remodelé à l'occasion, en fonction des besoins du client. Par conséquent, le coût de son remodelage pour répondre aux exigences du client devient maximal.

1
machajackson

Il est facile de faire une grosse affaire d'entropie. À mon avis, c'est un joli concept simple et utile .

Fondamentalement, il quantifie ce que vous apprendrez en moyenne d'un événement, comme lancer une pièce de monnaie, prendre une instruction de branche ou indexer un tableau.

Comme une opération de comparaison au milieu d'un algorithme de recherche a une certaine probabilité P de prendre une branche et 1-P de prendre l'autre.

Supposons que P vaut 1/2, comme dans une recherche binaire. Ensuite, si vous prenez cette branche, vous en connaissez un peu plus que précédemment, car log (2/1), base 2, vaut 1. Par contre, si vous prenez l’autre branche, vous apprenez également 1 bit.

Pour obtenir la quantité moyenne d'informations que vous apprendrez, multipliez ce que vous apprenez sur la première branche multiplié par la probabilité que vous preniez cette branche, plus ce que vous apprenez sur la seconde branche multiplié par la probabilité de cette branche.

1/2 fois 1 bit, plus 1/2 fois 1 bit, correspond à 1/2 bit plus 1/2 bit ou au total 1 bit d'entropie. C'est ce que vous pouvez vous attendre à apprendre en moyenne de cette décision.

D'autre part, supposons que vous effectuez une recherche linéaire dans un tableau de 1024 entrées.

Sur le premier test ==, la probabilité de OUI est de 1/1024, donc l'entropie de OUI à cette décision est

1/1024 times log(1024/1)

ou 1/1024 * 10 = environ 1/100 bit.

Donc, si la réponse est OUI, vous apprenez 10 bits, mais la chance que cela se produise est d’environ un sur mille.

D'autre part, NO est beaucoup plus probable. C'est l'entropie c'est

1023/1024 * log(1024/1023)

ou environ 1 fois à peu près zéro = environ zéro.

Additionnez les deux ensemble et en moyenne, vous en apprendrez environ un centième sur cette décision.

C'est pourquoi la recherche linéaire est lente. L'entropie (à quel point vous pouvez vous attendre à apprendre) à chaque décision est trop petite, car vous allez devoir apprendre 10 bits pour trouver l'entrée dans la table.

0
Mike Dunlavey

Dans l'informatique, l'entropie indique généralement à quel point une chaîne de bits est aléatoire. La question suivante concerne la précision de cette information:

Comment calculer l'entropie approximative d'une chaîne de bits?

0
dreeves

En termes simples, si vous connaissez les probabilités des symboles dans la langue, vous pouvez calculer le contenu moyen en informations du symbole dans la langue.

Ou 

L'entropie d'une langue est une mesure du contenu en information d'un symbole moyen dans la langue.

Considérez une pièce juste;

Il existe deux symboles, chacun avec une probabilité de 1/2 L’entropie est donc calculée comme suit:

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

0
fahad pirzada

L'entropie a de nombreuses significations typiquement en informatique. Ça dépend du contexte. Dans Entropie de sécurité, vous indiquez le degré de randomisation que vous placez. Par exemple, lorsque vous générez une clé privée, de nombreuses applications vous demandent de déplacer la souris pour générer de l'entropie. Cela génère une entropie en prenant l'élément "humain" de la randomalité et l'ajoute au processus de hachage consistant à générer la clé.

Maintenant, il y a aussi une définition pour le génie logiciel de l'entropie. Cette définition représente un code obsolète, ou un code qui a été écrit par de nombreux développeurs. Généralement utilisé en référence au moment où il est presque temps de refactoriser votre projet logiciel. "Le code de ce projet a une énorme quantité d'entropie car beaucoup des personnes qui l'ont maintenu ne sont pas sur le projet actuellement".

Voici un troisième exemple d'utilisation dont je me suis souvenu également. Dans le sujet du recuit simulé (en ce qui concerne l'informatique), l'entropie est décrite comme l'ampleur de la désintégration survenue au cours de l'évaluation de l'algorithme.

Je suppose que pour répondre à votre question, il n’existe pas de définition concrète du mot "entropie", à l’exception de celles que vous pouvez trouver dans un dictionnaire. La manière dont l’informatique tend à appliquer ce terme dépend du contexte du terme utilisé et de son application.

0
jwendl

L'entropie est aussi semblable à un code de hachage pour les chercheurs de virus. Moins d'entropie vous obtiendrez, cela voudrait dire qu'il s'agira probablement d'un code crypté ou compressé pouvant potentiellement être un virus. 

Un binaire standard aurait une entropie plus élevée qu'un comprimé ou un chiffré.

0
Codingday