DivulgaMAT

Detector de mentiras

 

Dice la Wikipedia que la teoría de códigos es una especialidad matemática que trata de las leyes de la codificación de la información. No es difícil suponer que constituye un campo de investigación muy actual de las matemáticas y otras ciencias, ya que nuestro mundo moderno se caracteriza por el constante flujo de información codificada, mensajes de móvil, correo electrónico, internet, pago con tarjeta de crédito, identificación por tarjetas inteligentes, apertura y cierre de todo tipo de dispositivos mediante claves secretas, etc. Sus aplicaciones son tan directas y cotidianas que hacemos uso de ellas de forma inconsciente.

Dos de las cuestiones más importantes que dicha teoría trata de resolver son:

  • ¿Cómo asegurar la privacidad de los datos que se transmiten?
  • ¿Cómo asegurar la veracidad de los datos que se transmiten?

Como en este rincón no pretendemos enseñar matemáticas, pero sí provocar la curiosidad hacia ellas, si quieres saber más sobre el tema, basta que escribas las palabras mágicas "códigos correctores de errores" en un buscador de internet. Una de las primeras páginas que los explican de forma sencilla está en el blog "Divulgaciones" de José Ángel de Bustos. Otro interesante artículo, con una amplia lista de referencias, es el titulado "La teoría de códigos: una introducción a las matemáticas de la transmisión de información" de Adolfo Quirós.

Veamos si tu curiosidad se despierta con el juego que propondremos a continuación. Ya hemos abordado el tema de adivinar un número mediante una serie de preguntas cuyas únicas posibles respuestas son SÍ y NO (por ejemplo, en julio de 2008) utilizando códigos binarios. En esta ocasión, el planteamiento es el mismo pero tiene una variante muy sorprendente: puedes mentir en alguna de las preguntas. En la vida real, esto equivale a cometer algún error en la transmisión de la información. Por lo tanto, la teoría de códigos correctores de errores tiene que estar presente en la solución.

La versión javascript que presentamos está realizada por Thomas Berry, compañero de trabajo durante mis años en la Universidad Simón Bolívar de Venezuela, quien ha accedido amablemente a que se incluya en este rincón. Visita la página ldc.usb.ve/~berry/demo/sdem5.html para acceder a otros experimentos similares y conocer las explicaciones sobre su funcionamiento. Otra versión interactiva con cartas, realizada por nuestro colega Juan Carlos Ruiz de Arcaute, está disponible en el portal Automagia.

  1. Piensa un número comprendido entre 0 y 15. ¡Sí, un número entero!
  2. A continuación, debes responder, marcando en la casilla correspondiente, a las siguientes preguntas relativas al número pensado. ¡Con una salvedad: en una cualquiera de las preguntas, pero sólo en una, puedes mentir! Fíjate en el número de posibilidades: puedes contestar que SÍ aunque la respuesta sea NO, o puedes contestar que NO cuando la respuesta sea SÍ. Además el ordenador no sabe cuál es el momento que has elegido para mentir.
    1. ¿Tu número está en el conjunto {1,3,4,6,8,10,13,15}?
      ¿Tu número está en el conjunto {1,2,5,6,8,11,12,15}?
      ¿Tu número está en el conjunto {1,2,4,7,9,10,12,15}?
      ¿Tu número es mayor o igual que 8?
      ¿Tu número está en el conjunto {4,5,6,7,12,13,14,15}?
      ¿Tu número está en el conjunto {2,3,6,7,10,11,14,15}?
      ¿Tu número es impar?

Aunque el mecanismo utilizado en este juego es muy sencillo, la codificación utilizada (que recibe el nombre de código de Hamming) es la base en la que se basan otros códigos más modernos y sofisticados. En el artículo "Códigos secretos y teoría de la información en la magia" damos algunas nociones sobre los códigos de Hamming. Quizá algún lector de este rincón pueda darnos un código apropiado que permita corregir dos errores, es decir que descubra a un doble mentiroso.

Pedro Alegría (Universidad del País Vasco)

Cerrar ventana