EL CÓDIGO DE GRAY

 

                El código de Gray es usado en informática y resulta útil en determinadas aplicaciones que intentan minimizar el error en un determinado proceso de transmisión de datos. Dado un sistema de numeración cualquiera, el cambio de un número del mismo al siguiente comporta el cambio de uno o varios dígitos: por ejemplo, en el sistema decimal, el paso de 46 a 47 implica un solo cambio, pero el de 999 a 1000 supone cuatro cambios.

            El código de Gray establece un “orden númerico” tal que en cada paso de un número al “siguiente” sólo haya que alterar una cifra. Por ejemplo, en el sistema decimal, podríamos establecer este “orden”:

 

 

#####

0

1

1

2

11

3

10

4

110

5

111

6

101

7

100

8

1100

9

1101

10

1111

11

1110

12

1010

13

1011

14

1001

15

1000

16

11000

17

11001

18

11011

19

11010

20

11110

21

11111

22

11101

23

11100

24

10100

25

10101

26

10111

27

10110

28

10010

29

10011

30

10001

31

10000

32

110000

33

110001

34

110011

35

110010

36

110110

37

110111

38

110101

39

110100

40

111100

41

111101

42

111111

 

Existen para cada base multitud de códigos. Observemos que. para el caso binario, el más interesante, un código equivale a un paseo por los cuatro vértices del cuadrado de la figura, numerados como en ella se indica.  En el caso de un cubo, la diversidad de posibles paseos aumenta: por ejemplo, uno de ellos podría ser 000-001-011-010-110-111-101-100. Este tipo de camino, en que se retorna al punto de salida, es llamado un “camino hamiltoniano”. El número de posibles caminos hamiltonianos aumenta exponencialmente con la dimensión del hipercubo correspondiente, y hasta ahora, que yo sepan, no se conoce siquiera el número para n=4.

            El código de Gray más simple existente para la base binaria es llamado “el código reflejado de Gray”. Para muchos matemáticos es el código Gray por excelencia. Para convertir un número binario cualquiera en su “reflejado equivalente de Gray” sometámoslo a las siguientes manipulaciones:

 

                        1. Consideremos cada dígito partiendo de la derecha. Sea éste D(n), siendo n su lugar desde la derecha.

                        2. Si D(n+1)=0, hágase D(n)=D(n)         (MANTENER)

                        3. Si D(n+1)=1, hágase D(n)=1-D(n)      (CAMBIAR)

                        4. Prosígase así hasta el final (la “siguiente” cifra al dígito más a la izquierda, naturalmente es cero).

 

            Por ejemplo: el número 110111 pasa a 101100.

 

            Existe una regla para deshacer el cambio. Empezando por la derecha, si la suma de los dígitos hacia la izquierda es par, se mantiene el dígito. Si es impar, se cambia. Así, el antes hallado 110111 se restaura a 110111.

            El código de Grey es útil en la resolución de determinados problemas, por ejemplo el del baguenodier, que consiste en una serie de nudos que deben ser desenlazados unos de otros de forma que deshacerse uno cada vez.

 

                                                                                                          JMAiO