Codage de l'information
Le codage de l’information concerne les moyens de formaliser l'information afin de pouvoir la manipuler, la stocker ou la transmettre. Il ne s'intéresse pas au contenu, mais seulement à la forme et à la taille des informations à coder.
Alphabet, mot, langages
Définitions
On définit un alphabet comme un ensemble non vide de symboles, par exemple :
- A = {a,b,c,…,z}, l'alphabet latin ;
- A = {0,1,2,…,9}, les chiffres dits arabes ;
- A = {0,1,…,9,A,B,…,F}, les chiffres hexadécimaux ;
- A = {0,1}, l'alphabet de la logique booléenne ;
- A = {A,T,G,C}, les bases de l'ADN qui codent notre génome (cet alphabet est le sujet principal de la bio-informatique).
On nomme lettre un élément d'un alphabet.
On nomme mot une suite finie de lettres. La suite qui ne contient aucune lettre est nommée mot vide, et notée ε.
On nomme langage un ensemble de mots associé à certaines règles d'interprétation (sans cette dernière restriction, n'importe quelle table de valeurs aléatoires pourrait être nommée langage). Dans le cas de l'ADN, ces règles sont contenues dans le ribosome ; dans les langues naturelles, elles sont contenues dans leur lexique ; dans un ordinateur, elles sont présentes dans les circuits de l'unité centrale.
Opérations
Soit un alphabet et un entier naturel .
On note l'ensemble de tous les mots de longueur sur et l'ensemble de tous les mots de .
On dispose de : (fermeture de Kleene).
On définit l'opération de concaténation
qui à associe un mot qui est constitué de la suite de lettres de puis celle de .
Exemple : « marc » « et sophie » = « marc et sophie » (les guillemets servent à délimiter les symboles, ce ne sont pas des éléments de ).
- Propriétés :
- est associatif :
- admet ε comme élément neutre :
- n'est pas commutative
Codages et codes
Codage
Soit L et M deux langages.
Un codage c de L dans M est un morphisme (pour l'opération ) injectif.
En d'autres termes, c'est une correspondance entre les mots de L et ceux de M, où à tout mot de L est associé un unique mot de M et tel que le codage de la concaténée soit égale à la concaténée des codages. ().
Codes
Un langage L sur un alphabet A est un code si et seulement s'il n'existe pas deux factorisations différentes des mots avec des mots de L.