Teoría de la información: Shannon y códigos correctores

← Volver a materiales
Bachillerato 22 Salas Información Códigos

Objetivos didácticos

¿Qué es la información? ¿Cuánto "pesa"? ¿Qué códigos son mejores? ¿Podemos corregir errores en la transmisión de la información? Este laboratorio de nivel bachillerato/universidad recorre la teoría de la información desde sus cimientos hasta los códigos correctores de errores, siguiendo los pasos de Hartley, Shannon y Hamming. Son 22 salas de media hora de duración total aproximada. Se recomienda usarlo junto con nuestro juego Oráculo Mentiroso.

Qué se aprende

Se trabaja la capacidad de cuantificar la incertidumbre, diseñar sistemas de codificación eficientes y razonar sobre la fiabilidad cuando los datos se corrompen. El alumno pasa de observar a construir: diseña urnas, árbol de Huffman, códigos prefijo y, finalmente, un código corrector propio.

  • Bloque A — Medir información: se introduce la fórmula i = −log₂ p y la entropía de Shannon manipulando sliders; el alumno diseña distribuciones con entropía dada y ordena experimentos por incertidumbre.
  • Bloque B — Codificar: de la decodificación de tablas al problema del código ambiguo; se construye un código prefijo a mano y se usa la máquina de Huffman para comprimir mensajes sesgados (80/20) por debajo de 0,78 bits/símbolo.
  • Bloque C — Adivinar y mentir: el alumno adivina con búsqueda binaria, luego se enfrenta a un adversario que miente una vez; aprende que hacen falta más preguntas y descubre la estrategia de Berlekamp.
  • Bloque D — Errores y robustez: introduce la distancia de Hamming, los códigos con d_min = 3, el hipercubo {0,1}⁴ y termina diseñando un código corrector que aguante el 10 % de corrupción de bits.

Ideas matemáticas clave

  • La información de un suceso es i = −log₂ p bits; sucesos raros aportan más información.
  • La entropía de Shannon H = −Σ pᵢ log₂ pᵢ mide la incertidumbre media de una fuente; es el límite inferior de cualquier código sin pérdida.
  • Un código prefijo garantiza decodificación única; el algoritmo de Huffman construye el óptimo fusionando iterativamente las dos probabilidades menores.
  • La distancia de Hamming entre dos palabras binarias es el número de bits que difieren; un código con d_min = 2t + 1 puede corregir t errores.
  • El hipercubo {0,1}^n es el espacio natural de los códigos binarios: los codewords son vértices separados por bolas de Hamming sin solaparse.

Contenidos por salas

Sala 1 · ¿Qué es la información?

Introduce la idea central del lab: recibir un mensaje es descartar mundos posibles. Un slider muestra cuántos "mundos" quedan tras cada mensaje y cuántos bits costó.

Tareas para el alumno

  • Mover el slider para ver cómo se reducen los mundos posibles.
  • Observar la relación entre mundos descartados y bits de información.

Sala 2 · La balanza de la sorpresa

Presenta la fórmula i = −log₂ p: cuanto más improbable un suceso, más bits aporta. El alumno practica el cálculo resolviendo tres ejercicios seguidos.

Tareas para el alumno

  • Aplicar la fórmula i = −log₂ p a los sucesos dados.
  • Resolver tres cálculos consecutivos correctamente.

Sala 3 · El laboratorio de la entropía

Explora la entropía H como incertidumbre media de una distribución binaria. Un slider interactivo muestra la curva de H(p) de extremo a extremo.

Tareas para el alumno

  • Mover el slider de 0 a 1 para ver cómo cambia la entropía.
  • Encontrar el valor de p tal que H = 0.5 bits.

Sala 4 · Diseña una urna

Reto de diseño: el alumno reparte bolas entre tres botes para alcanzar exactamente H = 1.24 bits. Conecta la fórmula de entropía con una elección concreta.

Tareas para el alumno

  • Distribuir las bolas entre los tres botes.
  • Comprobar que la entropía resultante es 1.24 bits.

Sala 5 · Ordena por incertidumbre

Cuatro experimentos con distintas distribuciones de probabilidad. El alumno los ordena de menor a mayor entropía arrastrando las tarjetas.

Tareas para el alumno

  • Analizar visualmente las distribuciones de cada experimento.
  • Arrastrarlos al orden correcto de menor a mayor entropía.

Sala 6 · Codificar = traducir a bits

Presentación del bloque de codificación: no todos los códigos cuestan lo mismo, y la entropía marca el suelo que ningún código eficiente puede perforar. Sala introductoria/visual.

Tareas para el alumno

  • Leer la explicación y observar los ejemplos de códigos de distinto coste.

Sala 7 · Decodifica esto

Práctica directa: dada una tabla de códigos binarios, el alumno recibe una cadena de bits y debe escribir la palabra original que representa.

Tareas para el alumno

  • Aplicar la tabla de códigos a la cadena recibida.
  • Escribir la palabra decodificada correctamente.

Sala 8 · La trampa del código ambiguo

Una cadena de bits tiene más de una decodificación válida. El alumno debe encontrar dos interpretaciones distintas, lo que motiva la necesidad de códigos prefijo.

Tareas para el alumno

  • Encontrar dos decodificaciones distintas para la misma cadena.
  • Entender por qué este código no sirve para comunicarse sin ambigüedad.

Sala 9 · La máquina de Huffman

Visualización animada del algoritmo de Huffman: sliders de probabilidad muestran cómo fusiona las dos probabilidades menores en cada paso. El alumno busca una distribución casi óptima (L − H < 0.05).

Tareas para el alumno

  • Mover los sliders de probabilidad y observar las fusiones del árbol.
  • Encontrar una distribución donde la longitud media L sea casi igual a H.

Sala 10 · Construye un código prefijo

Reto de construcción: el alumno inventa un código binario para 4 letras tal que ninguna palabra de código sea prefijo de otra.

Tareas para el alumno

  • Asignar cadenas de bits a las 4 letras.
  • Verificar que ninguna cadena es prefijo de otra.

Sala 11 · Asigna códigos a las letras

Drag-and-drop: el alumno arrastra cadenas de bits a cada letra. El código debe ser prefijo y la longitud media debe ser ≤ 1.85 bits/letra.

Tareas para el alumno

  • Arrastrar la cadena de bits correcta a cada letra.
  • Comprobar que la longitud media cumple ≤ 1.85 bits/letra y que el código es prefijo.

Sala 12 · Comprime un mensaje sesgado

La fuente emite 80 % ceros y 20 % unos. El alumno trabaja con parejas de símbolos y diseña un código prefijo que comprima a ≤ 0.78 bits/símbolo.

Tareas para el alumno

  • Diseñar un código para pares de símbolos (00, 01, 10, 11).
  • Verificar que la longitud media por símbolo es ≤ 0.78 bits.

Sala 13 · Adivina con "menor que N"

El lab piensa un número entre 1 y 8; el alumno debe adivinarlo en exactamente 3 preguntas del tipo "¿es menor que N?". Conecta búsqueda binaria con bits de información.

Tareas para el alumno

  • Plantear las 3 preguntas en el orden óptimo.
  • Adivinar el número en no más de 3 intentos.

Sala 14 · Ahora el ordenador adivina

El alumno piensa un número entre 1 y 8 y el ordenador hace preguntas siguiendo la estrategia óptima de búsqueda binaria. El alumno observa cómo divide el rango por la mitad cada vez.

Tareas para el alumno

  • Pensar un número y responder "Sí/No" honestamente.
  • Observar la estrategia del ordenador y fijarse en la bisección del rango.

Sala 15 · Adivina aunque mienta

El lab puede mentir una vez. El alumno debe adivinar un número entre 1 y 4 en 5 preguntas Sí/No a pesar de esa posible mentira. Introduce la necesidad de redundancia.

Tareas para el alumno

  • Diseñar una estrategia de preguntas que tolere una mentira.
  • Adivinar el número en 5 preguntas o menos.

Sala 16 · Tú adivinas, tú puedes mentir

El alumno es quien puede mentir una vez; el ordenador aplica la estrategia de Berlekamp y lo adivina igualmente. Primer contacto con la robustez de los códigos correctores.

Tareas para el alumno

  • Pensar un número entre 1 y 4 y responder, mintiendo si quieres.
  • Ver cómo el ordenador lo adivina aun con la mentira.

Sala 17 · La distancia de Hamming

Define la distancia de Hamming entre cadenas binarias del mismo largo como el número de posiciones en que difieren. El alumno calcula distancias sobre ejemplos concretos.

Tareas para el alumno

  • Leer los ejemplos de pares de cadenas.
  • Calcular la distancia de Hamming solicitada.

Sala 18 · La estrategia de Berlekamp

Desvela cómo el ordenador adivinó el número de la sala 16 usando 6 preguntas a pesar de la mentira: el truco es un código corrector de errores con d_min = 3. Sala explicativa.

Tareas para el alumno

  • Leer la explicación del código corrector con d_min = 3.
  • Relacionar las 6 preguntas de la sala anterior con las palabras-código.

Sala 19 · Cuando el canal miente

El canal corrompe 1 bit en cada mensaje. El alumno recibe varias cadenas con 1 error y debe decidir a qué palabra original pertenece cada una usando la distancia mínima.

Tareas para el alumno

  • Recibir cada mensaje corrupto y calcular su distancia a cada palabra del código.
  • Decidir de qué palabra venía cada mensaje.

Sala 20 · Diseña tu propio código

El alumno diseña desde cero: primero elige los codewords más cortos para tres letras, luego calcula qué distancia mínima hace falta para sobrevivir a tres errores.

Tareas para el alumno

  • Construir los codewords más cortos para tres letras.
  • Determinar la distancia mínima necesaria para corregir tres errores.

Sala 21 · El hipercubo

Visualización geométrica: el alumno selecciona vértices del hipercubo {0,1}⁴ maximizando la distancia mínima entre ellos. Tres niveles de dificultad (d ≥ 2, d ≥ 3, máximo número de vértices con d = 3).

Tareas para el alumno

  • Seleccionar vértices del hipercubo con distancia mínima 2 entre sí.
  • Repetir con distancia mínima 3 y encontrar el máximo de vértices.

Sala 22 · Diseña un código corrector

Reto final: el canal corrompe el 10 % de los bits. El alumno diseña un código binario para 4 mensajes que se decodifique bien al menos el 90 % de las veces, penalizando la longitud.

Tareas para el alumno

  • Definir 4 palabras-código y su regla de decodificación.
  • Verificar que la tasa de éxito es ≥ 90 % y que la longitud es lo más corta posible.

Salas para proyectar

Las más vistosas para mostrar y discutir en clase.

★
Sala 9 · La máquina de Huffman — La animación del árbol de Huffman creciendo en tiempo real mientras se mueven los sliders es muy visual y da pie a discutir por qué los caracteres frecuentes merecen códigos cortos.
★
Sala 12 · Comprime un mensaje sesgado — Ver que trabajar con parejas de símbolos rompe la barrera de 1 bit por símbolo sorprende al alumno y abre la discusión sobre compresión real (ZIP, MP3, etc.).
★
Sala 16 · Tú adivinas, tú puedes mentir — El alumno miente y el ordenador le adivina igualmente: el efecto dramático es inmediato y motiva la pregunta "¿cómo lo sabe?", que lleva directamente a los códigos correctores.
★
Sala 21 · El hipercubo — La geometría del hipercubo {0,1}⁴ hace tangible la distancia de Hamming y los límites de Hamming/Singleton; perfecta para proyectar y debatir cuántos mensajes caben con d ≥ 3.