ΦΎΣΙΣ

000

Phúsis

Curso 11 · intermedio · ~6 h

Evolución y vida artificial

De la mutación sobre bits a mundos que evolucionan solos

Mutas cadenas de bits, seleccionas y ves subir la aptitud; programas la comadreja de Dawkins y un algoritmo genético completo, construyes paisajes NK para medir la rugosidad, encuentras el umbral de error de Eigen y terminas con un pequeño mundo de criaturas que comen, se reproducen y cambian sin que nadie lo diseñe.

7 lecciones15 pasos con checks4 widgets interactivos9 predicciones y quizzes+ laboratorio libre

Qué vas a construir

  • Genomas binarios, mutación puntual y ascenso por selección en OneMax
  • La comadreja de Dawkins: selección acumulativa frente al azar puro
  • Un algoritmo genético con torneo, cruce, mutación y elitismo
  • Paisajes NK de Kauffman: óptimos locales, caminatas adaptativas y rugosidad
  • Cuasiespecies de Eigen y el umbral de error, en teoría y en simulación
  • Un mundo de vida artificial con metabolismo, herencia y selección natural
  • Genealogías de Moran y un gráfico de Muller de clones en competencia

Prerrequisitos

  • JavaScript básico (arrays, objetos, Map)
  • Probabilidad elemental
  • Curso de agentes recomendado

Temario

Unidad 01

Variación y selección

  1. 01 · Cadenas que mutan40 min
  2. 02 · La comadreja de Dawkins40 min
  3. 03 · Algoritmo genético50 min

Construyes

mulberry32()randomGenome()mutate()hamming()onemax()hillClimb()randomString()score()mutateString()weasel()tournament()crossover()runGA()

Cierra con reflexión

Teleología sin diseño

Unidad 02

Paisajes y umbrales

  1. 01 · Paisajes NK55 min
  2. 02 · Cuasiespecies y umbral de error50 min

Construyes

mulberry32()toBits()flip()makeNK()nkFitness()gray()drawLandscape()isLocalOptimum()countLocalOptima()randomGenome()mutate()hamming()adaptiveWalk()copyFidelity()

Cierra con reflexión

El darwinismo como algoritmo

Unidad 03

Vida artificial

  1. 01 · Un mundo de criaturas55 min
  2. 02 · Linajes y evolución abierta50 min

Construyes

mulberry32()metabolicCost()reproduce()makeWorld()drawWorld()worldStep()moranGenealogy()ancestors()mrca()evolveClones()meanFitness()

Cierra con reflexión

¿Qué cuenta como vida?

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).