2/13/2010

Le second principe s’applique aux données

Définition de l'entropie d'information

En thermodynamique, l’entropie est une mesure du désordre présent au sein d’un système. En théorie de l’information, l’entropie mesure la quantité de données qu’il faut pour décrire une situation. En d’autre terme, plus une situation est compliquée, plus sa description est longue et son entropie élevée. A l’inverse, plus une situation est simple et ordonnée, plus sa description sera succincte et plus l’entropie sera faible.
Imaginons que vous deviez décrire une forêt contenant dix mille arbres. Si c’est une forêt sauvage, vous devrez décrire la position, l’essence, la taille et le diamètre de chaque arbre, soit pour faire simple 5x10000 = 50000 informations élémentaires (décrire un arbre est bien sûr plus complexe … c’est une première approximation). A l’inverse, si c’est une plantation d’arbres, tous de la même essence, plantés en même temps, et sur un plan de carré planté à intervalle régulier, il suffit de connaître le diamètre, la taille, l’essence d’un seul arbre et la position de deux arbres situés à deux coins opposés du carré pour décrire totalement la situation, soit 7 informations élémentaires. L’entropie représente donc en quelque sorte la complexité d’une situation.
Cette dernière définition de l’entropie peut tout à fait s’appliquer à un système d’information. En particulier on peut l’appliquer aux données contenues dans ce système.

Exemple de la saisie de données

Je vous suggère de mener une petite expérience pour appréhender la notion d’entropie des données. Demandez à une population de nombreuses personnes de remplir un formulaire (informatique ou non d’ailleurs …). Par exemple, demander leur de remplir leur nom dans une case. Vous constaterez invariablement que les gens ne vont pas tous remplir leur nom de la même manière. Certains vont écrire leur nom de famille, d’autre leur nom et leur prénom, d’autres encore leur prénom puis leur nom. Certains vont préciser Monsieur, Madame, ou Mademoiselle devant, en variant les abréviations. La plupart vont écrire leur nom de famille avec une première lettre en majuscule, d’autres vont l’écrire entièrement en majuscule. Pareil pour le prénom. Si vous augmentez la population, vous en trouverez certains qui plus curieusement laissent tout en minuscule. Et je ne parle même pas des coquilles.
C’est un peu facile, puisque l’on n’a pas été précis sur la manière de remplir le formulaire. Mais si vous recommencez l’expérience avec des instructions précises, le résultat sera certes plus homogène, mais vous aurez quand même de nombreuses variantes. Certaines personnes n’auront pas ou mal compris vos instructions, d’autres se tromperont, d’autres enfin ne les respecteront tout simplement pas par défi ou incurie. Pour ma part, après avoir tenté cette expérience dans de nombreuses circonstances, je ne suis jamais parvenu à obtenir un résultat parfait, quel que soit le degré de précision des instructions fournies, même si le résultat s’améliore globalement avec des instructions précises. J’ai même constaté que si l’on cherche à être trop précis, ceci devient contre productif, les gens ne lisant même pas les instructions jusqu’au bout, découragés par leur caractère trop complexe et pointilleux.

Exemple des doublons

Un autre exemple classique d’entropie est la création de doublons dans une base de données. Par doublon, j’entends deux données représentant le même objet physique. Ceci se produit par exemple pour les personnes dans les réseaux sociaux. J’ai environ une centaine de contacts sur des réseaux sociaux professionnels tels LinkedIn ou autre. Sur ces 100 contacts, j’ai eu au moins 3 personnes qui se sont en fait créé deux profils par erreurs, et qui ont ensuite toutes les peines du monde à gérer leurs comptes. Elles ne l’ont bien sûr pas fait sciemment, mais à des moments différents. Sur quelques millions d’inscrits, cela fait quelques dizaines de milliers de doublons.
Il n’est pas toujours possible de détruire ces données ou de les fusionner car certaines données ne sont pas effacées physiquement et les procédures de fusion inexistantes. Elles restent donc au mieux masquées et désactivées.

Exemple du recyclage d’identifiants

Dans une base de données des articles vendus chez un distributeur, sur un ancien système informatique, la limite logique du nombre d’article était à 100000. Ceci paraissait élevé au début de l’exploitation, mais 20 ou 30 ans plus tard, de tels systèmes sont en pénurie chronique d’identifiants. Ceci amène à gérer les codes disponibles comme une ressource rare, et à les recycler. Souvent, les systèmes n’ont pas été prévus pour cela et des résidus des anciennes données se télescopent avec des nouvelles sur les codes recyclés. Tel le chiffre d’affaire d’un yaourt à la fraise X du début de l’année cumulé au chiffre d’affaire d’un dentifrice Z à la fin de l’année … drôle de mélange !
Ce n’est pas pour rien que l’on utilise aujourd’hui des numéros de séquences incrémentaux et non recyclable pour gérer ce genre de problème.

Exemple du détournement de champs

Un autre cas de désordre apparait quand les utilisateurs détournent consciemment ou non le sens des champs d’une application. Par exemple, dans une base prévoyant « titre » (Mr, Mme, Mlle, Mr ou Mme, etc.), « nom de famille » et « prénom », on a retrouvé pour la plupart des entrées la concaténation des 3 champs dans le nom de famille. « Mademoiselle Catherine Martin » se retrouvait dans le champ « nom de famille » et les champs « titre » et « prénom » restaient vierges. Impossible ensuite d’accéder simplement aux noms de famille dans la base …

Caractère normal de l'augmentation

Bien sûr ces exemples sont loin de faire le tour de la question, et il serait vain de faire un inventaire des situations chaotiques que nous rencontrons dans les systèmes d’informations. Je les ai tous rencontrés à titre personnel, et à plusieurs occasions. Et j’avais en général beaucoup de difficultés à faire comprendre aux intéressés en quoi leur comportement était problématique.
Le second principe de la thermodynamique précise qu’un système voit spontanément son entropie augmenter. Les exemples précédents vous auront convaincu je pense qu’il en va de même pour l’entropie des données dans les systèmes d’information.
Les exemples donnés montrent comment elle apparait spontanément et croît avec le nombre d’utilisateurs et le temps :
  • un utilisateur n’applique pas toujours la même règle pour saisir les données à des moments différents
  • plusieurs utilisateurs ont a priori des comportements différents, même si les instructions sont précises et claires
  • les utilisateurs ont une probabilité non nulle de se tromper à chaque saisie et ne vérifie pas en général ce qu’ils écrivent

Aucun commentaire: