Historique
Le code de Gray, également appelé code Gray ou code binaire réfléchi, est un type de codage
binaire permettant de ne modifier qu'un seul bit à la fois quand un nombre est augmenté d'une
unité. Cette propriété est importante pour plusieurs applications.
Le nom du code vient de l'ingénieur américain Frank Gray qui publia un brevet sur ce code en
1953, mais le code lui-même est plus ancien.
L'ingénieur américain Frank Gray qui déposa un brevet sur ce code en 19471, mais le code lui-même
est plus ancien; il a notamment été utilisé dans le code Baudot.
Luc-Agathon-Louis Gros, qui fut clerc de notaire puis conseiller à la Cour d'appel de Lyon, publia en
1872 un opuscule, Théorie du baguenodier par un clerc de notaire lyonnais, où ce code était
présenté pour la première fois en lien avec un casse-tête, le jeu du baguenaudier2.
Cette séquence a été notamment vulgarisée dans le jeu du baguenaudier3 (jeu qui nous a été
transmis par Jérôme Cardan et qui a été résolu par John Wallis).
Quel est le principe de codage du "Code Gray" ?
Le code Gray ou "binaire réfléchi" permet de coder une valeur numérique en cours d'évolution
en une suite de configurations binaires se différenciant l'une de l'autre par le changement
d'état d'un seul bit à la fois
Le code de Gray est un codage binaire, c'est-à-dire une fonction qui associe à chaque nombre
une représentation binaire. Cette méthode est différente du codage binaire naturel. Le tableau
suivant montre le codage sur 4 bits
Appli
Puzzles mathématiques [ modifier ]
Le code Gray réfléchi binaire peut servir de guide de solution au problème des tours de Hanoi ,
ainsi que le puzzle classique en anneaux chinois , un mécanisme de puzzle mécanique
séquentiel. [11] Il forme également un cycle hamiltonien sur un hypercube , où chaque bit est vu
comme une dimension.
Algorithmes génétiques [ modifier ]
En raison des propriétés de distance de Hamming des codes Gray, ils sont parfois utilisés
dans des algorithmes génétiques . Ils sont très utiles dans ce domaine, car les mutations dans le
code permettent principalement des modifications incrémentielles, mais occasionnellement, une
simple modification d'un bit peut provoquer un grand saut et conduire à de nouvelles propriétés.
Minimisation du circuit booléen [ modifier ]
Codes de Gray sont également utilisés dans le marquage des axes de tables de Karnaugh [15] [16] ,
ainsi que dans des diagrammes circulaires Händler , [17] [18] [19] [20] les deux méthodes graphiques pour
la minimisation de circuit logique.
Correction d'erreur [ edit ]
Dans les communications numériques modernes , les codes gris jouent un rôle important dans la
correction des erreurs . Par exemple, dans un schéma de modulation numérique tel que QAM où
les données sont généralement transmises sous forme de symboles de 4 bits ou plus,
le diagramme de constellation du signal est agencé de sorte que les configurations de bits
acheminées par les points de constellation adjacents ne diffèrent que d'un bit. En combinant cela
avec une correction d'erreur directe capable de corriger les erreurs sur un bit, il est possible pour
un récepteur de corriger les erreurs de transmission qui font dévier un point de constellation dans
la zone d'un point adjacent. Cela rend le système de transmission moins susceptible dele bruit