Curso 07 · intermedio · ~6 h
Información y entropía
Shannon, compresión y complejidad: medir cuánta sorpresa cabe en un mensaje
Cuentas símbolos de un texto y terminas midiendo la estructura de un autómata celular. Por el camino programas la entropía de Shannon, un código de Huffman, un compresor LZ78 que aproxima la complejidad de Kolmogorov, la entropía por bloques y la información mutua de un canal ruidoso.
Qué vas a construir
- Frecuencias, sorpresa y entropía de Shannon de un texto
- Una fuente de Bernoulli y su entropía empírica
- Codificación por longitud de corridas y código de Huffman
- Compresor LZ78 como aproximación a la complejidad de Kolmogorov
- Entropía por bloques y tasa de entropía (regla 30 incluida)
- Información mutua, canal binario simétrico y dinámica simbólica
Prerrequisitos
- JavaScript básico (objetos, strings)
- Logaritmos de secundaria
- Curso de autómatas recomendado
Temario
Unidad 01
Medir la sorpresa
- 01 · Frecuencias y sorpresa30 min
- 02 · La entropía de un texto35 min
- 03 · Codificar: corridas y Huffman45 min
Construyes
countSymbols()probabilities()surprisal()entropy()textEntropy()drawHistogram()mulberry32()bernoulliSource()rleEncode()rleDecode()huffmanCodes()avgCodeLength()encode()decode()Cierra con reflexión
Información sin significado
Unidad 02
Comprimir es describir
Construyes
mulberry32()lz78()lz78Decode()noisyPeriodic()compressedBits()complexityRatio()blockEntropy()entropyRate()rule30Center()blockProfile()Cierra con reflexión
¿Qué es una secuencia aleatoria?
Unidad 03
Correlación y estructura
Construyes
countSymbols()probabilities()surprisal()entropy()textEntropy()mutualInformation()mulberry32()bernoulliSource()binaryChannel()symbolize()laggedMI()logisticSeries()axes()miProfile()Cierra con reflexión
Entre el cristal y el gas
Al terminar
Laboratorio libre
Un sandbox que se arma con tus funciones del curso (las que pasaron los checks) y retos abiertos sin guion. Para ver versiones terminadas, visita Kósmos Interactivo (kosmos-interactivo.vercel.app).