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₂ py 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₂ pbits; 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 + 1puede corregir t errores. - El hipercubo
{0,1}^nes 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.