Grammaires et algèbre

jeudi 15 juillet 2010
par  Alain BUSSER

Il y a

  • Les papous papas à poux papas ;
  • Les papous papas à poux pas papas ;
  • Les papous pas papas à poux papas ;
  • Les papous pas papas à poux pas papas ;
  • Les papoux papas pas à poux ;
  • Les papous pas papas pas à poux ;

et c’est tout !


Codes

La numération décimale est basée sur un vocabulaire $V=\left\{0,1,2,3,4,5,6,7,8,9\right\}$, et le langage formé par les "mots" écrits à l’aide de ces 10 chiffres, en admettant une règle (ne pas commencer par un $0$), est celui des entiers naturels.

Le langage des nombres décimaux s’obtient en ajoutant la lettre "virgule" au vocabulaire, et en ajoutant trois règles d’écriture :

  1. ne placer au maximum qu’une fois la virgule ;
  2. ne pas finir par un $0$ ;
  3. commencer par un $0$ si c’est le seul chiffre avant la virgule.

On peut étudier des variantes, en ajoutant des espaces entre les groupes de trois chiffres, avec d’autres bases de numération que 10, avec les symboles $+$ et $-$ pour traiter les nombres négatifs, ou avec les "chiffres" $V=\left\{I,V,X,L,C,M\right\}$ des nombres romains...

Avec des chiffres on peut définir d’autres langages que ceux des numérations : Par exemple,

  • une adresse IP s’écrit avec 4 groupes de 3 chiffres séparés par des points,
  • un numéro de téléphone (en France) s’écrit avec dix chiffres ;
  • Un numéro de sécurité sociale en France lui non plus ne peut pas s’écrire avec n’importe quelle suite de 15 chiffres (le premier chiffre ne peut pas être 3, les chiffres 2 et 3 ne peuvent donner 13 car il n’y a que 12 mois dans l’année, etc et les deux derniers chiffres sont calculés à l’aide des précédents avec l’algorithme de la clé RIB)
  • Le nom de cette clé vient de ce qu’elle est utilisée pour les relevés d’identité bancaire, dont les numéros forment eux aussi un langage.

Enfin, un exemple un peu pointu : Il y a $2^{24}$=16777216 mots de 3 octets ; ils forment un espace de dimension 24 sur le corps $F_2$ à 2 éléments. Dans cet espace, le réseau de Leech permet de placer 4096 hypersphères tangentes entre elles, dont les centres sont $2^{12}$=4096 points de distance de Hamming maximale. Le langage formé par les coordonnées de ces 4096 points est appelé code de Golay et sert à encoder des mots de 12 bits par des mots de 24 bits, de manière que le changement (par erreurs de transmission) de trois bits soit corrigeable, tout simplement parce que ces trois erreurs déplacent le point à l’intérieur de l’hyperboule centrée sur son ancienne position, et qu’il suffit de le remettre au centre de l’hyperboule pour corriger les trois erreurs. Le code de Golay est très performant parce que 3 bits par paquet de 3 octets, c’est 12,5% d’erreurs sur le canal de transmission que le récepteur n’apercevra même pas.


Commentaires