Utilizamos cookies propias y de terceros para mejorar nuestros servicios y facilitarte el uso de la web mediante el análisis de tus preferencias de navegación. También compartimos la información sobre el tráfico por nuestra web a los medios sociales y de publicidad con los que colaboramos. Si continúas navegando, consideramos que aceptas nuestra Política de cookies .

1 de Junio de 2017
Teoría de la información

Cómo detectar y corregir errores (I)

¿Cuál es el método más eficiente para comunicarse a través de un canal ruidoso?

© JOSSDIM/ISTOCKPHOTO

Imagine que está tratando de organizar un desayuno con un amigo. Usted se encuentra en el comedor atendiendo a los invitados, a quienes preguntará si desean tomar té o café. Mientras tanto, su amigo estará en la cocina preparándolo todo. Una vez que usted sepa las preferencias de los comensales, se las transmitirá a su amigo mediante un mensaje.

Si asignan de antemano un número natural a cada lugar de la mesa, ese mensaje podría consistir en una secuencia de ceros y unos: el invitado en la posición n-ésima tomará café si y solo si el número en la n-ésima posición es 1. Si cuentan con cuatro invitados, la secuencia:

0101

indicaría que el segundo y el cuarto tomarán café, mientras que los otros dos beberán té.

No obstante, el sistema de transmisión que están empleando es un tanto ruidoso: en ocasiones, su amigo recibirá una secuencia de ceros y unos distinta de la que usted transmitió. Al enviar el mensaje anterior podría ocurrir que su amigo recibiese:

1101.

Por fortuna, ambos saben que lo peor que puede suceder es que la secuencia enviada y la recibida difieran, como máximo, en un dígito. De esta manera, si usted transmite 0101, su amigo nunca podrá recibir un mensaje como 1001 (entre otros muchos).

Llegados aquí, consideremos la siguiente pregunta: ¿qué clase de códigos permitirían a su amigo saber si el mensaje recibido coincide o no con el enviado? Por otro lado, en caso de recibir un mensaje con errores: ¿resultaría posible reconstruir el mensaje inicial?

Dos ejemplos sencillos
En una situación como esta, en la que el error se produce como mucho en un único bit, un método bastante sencillo consiste en mandar tres copias del mensaje original. Así, para asegurarse de que su amigo pueda recuperar la secuencia 0101, usted enviaría:

010101010101.

Ahora, para cada n ≤ 4, bastará con que su amigo compare los dígitos en las posiciones n, 2n y 3n del mensaje recibido. O, dicho en términos más gráficos, será suficiente con que analice el mensaje recibido en términos de secuencias de cuatro bits:

0101 0101 0101.

En tal caso, aunque haya un error de transmisión en uno de los dígitos, siempre habrá al menos dos secuencias de cuatro bits que serán idénticas. Cualquiera de ellas coincide con el mensaje inicial.

Artículos relacionados

Puedes obtener el artículo en...

¿Tienes acceso?

Los boletines de Investigación y Ciencia

Elige qué contenidos quieres recibir.