Día 01

Evolución Artificial

Aplicado a la Electromovilidad — Ciudad Juárez, Chihuahua

2 horas | Teoría + Práctica · UTCJ

Gobierno de Chihuahua Democratizamos la Innovación Fundación Coppel Change and Code

Hoy vamos a crear un cerebro artificial que juegue mejor que ustedes

Sin programarle las reglas.

Sin decirle cómo ganar.

Solo lo dejamos evolucionar — y les va a ganar.

¿No me creen? Vean esto →

¿Puede una IA aprender a jugar Mario?

Nadie le programó las reglas. Nadie le dijo "salta aquí" o "esquiva esto". Empezó sin saber absolutamente nada.

MarI/O — creado por SethBling. Un Mario con un cerebro artificial que evoluciona intento tras intento.

¿Cómo aprendió?

Lo que acaban de ver se llama neuroevolución (NEAT). Funciona así:

1Mario tiene un cerebro artificial (red neuronal) que "ve" la pantalla y decide qué botón presionar.
2Intento 1: cerebro aleatorio → no sabe hacer nada → muere al instante.
3El cerebro muta: se agregan o cambian conexiones al azar. Algunas mejoran, otras empeoran.
4Las versiones que llegan más lejos sobreviven. Las que mueren rápido se descartan.
5Intento tras intento, el cerebro evoluciona: se hace más complejo y más inteligente.
6Después de muchos intentos → pasa el nivel completo.

Un solo agente que evoluciona su cerebro intento tras intento. Más adelante veremos otro estilo: muchos agentes compitiendo al mismo tiempo.

Dos sabores de evolución artificial

Neuroevolución (Mario)

Un agente que juega muchas veces. Su cerebro muta entre intentos. Las versiones buenas sobreviven, las malas se descartan.

Como un estudiante que practica un examen muchas veces. Cada vez cambia su estrategia. Se queda con lo que funciona.

Ej: MarI/O, algunos robots

Algoritmo Genético (poblaciones)

100 agentes compiten al mismo tiempo. Los mejores se reproducen. Sus hijos compiten en la siguiente ronda.

Como un reality show: 100 concursantes, los peores se van, los hijos de los ganadores entran en la siguiente temporada.

Ej: Flappy Bird AI, Hill Climb Racing, Creature Creator

Ambos usan la misma idea: probar, medir, quedarse con lo bueno, cambiar un poco, repetir.

Hoy nos vamos a enfocar en el segundo — las poblaciones. Es más visual y más divertido de ver.

Esto no es nuevo — tiene 50 años

1975
John Holland (U. de Michigan) publica Adaptation in Natural and Artificial Systems — inventa los algoritmos genéticos. Citado más de 50,000 veces.
1994
Karl Sims crea criaturas 3D que aprenden a nadar, caminar y pelear. Publicado en SIGGRAPH '94 — el Creature Creator original.
2002
Kenneth Stanley (U. de Texas) inventa NEAT — la técnica que usa MarI/O y Creature Creator de Code Bullet. Ganó premio "Paper of the Decade".
2006
NASA vuela la primera antena diseñada por evolución artificial — superó al diseño humano. Misión ST5.
Hoy
Medicina (fármacos en 18 meses vs 4 años), logística (DHL: -10% combustible), energía eólica, autos eléctricos, diseño de materiales...

Fuentes: Holland (1975) Britannica; Sims (1994) SIGGRAPH; Stanley (2002) Evolutionary Computation; NASA (2006) NTRS

Karl Sims, 1994 — el Creature Creator original

Hace 30 años, Karl Sims creó criaturas virtuales que aprendían a nadar, caminar y pelear — usando evolución. Miren:

Publicado en SIGGRAPH '94. Estas criaturas no fueron programadas — evolucionaron. El mismo principio que vamos a usar hoy.

Veamos el segundo tipo: ¿pueden jugar Flappy Bird?

Abran este link en su navegador:

thebigcb.com/projects/FlappyBird
1Presiona P para jugar tú
2Presiona SPACE para saltar
3Intenta pasar el mayor número de tubos

Tienen 2 minutos. ¿Cuántos tubos pueden pasar?

🐦

Tu récord:

¿? tubos

Ahora miren cómo lo hace la IA

Recarguen la página y NO presionen P.

Solo observen. Son muchos pájaros al mismo tiempo — este es el tipo "poblaciones".

Generación 1: Todos los pájaros chocan. Son pésimos.

Generación 5-10: Algunos empiezan a esquivar 1-2 tubos.

Generación 30+: Vuelan perfecto. Para siempre. Sin cansarse.

Nadie le enseñó a volar.

A diferencia de Mario (un agente), aquí son muchos compitiendo. Los mejores se reproducen.

🤖🐦

Récord de la IA:

∞ tubos

¿Qué es el "cerebro" de cada pájaro?

Se llama red neuronal. Funciona como tu cerebro cuando decides si cruzar la calle: ves los carros (entradas), tu cerebro procesa, y decides: cruzo o espero (salida).

ENTRADAS

Lo que "ve" (números)

NEURONAS + PESOS

Procesan y deciden

SALIDA

Una decisión

Neuronas

Nodos que reciben información, la procesan y la pasan. Como una cadena de personas pasándose un mensaje.

Pesos

Números en cada conexión. Peso alto = "esto importa mucho". Peso negativo = "lo opuesto". Los pesos son los genes del cerebro.

En Flappy Bird, cada pájaro tiene esto:

⬆️ Velocidad vertical

↔️ Distancia al tubo

⬆️ Borde de arriba

⬇️ Borde de abajo

🧠

Neuronas + pesos

(los pesos son su "personalidad")

🐦

¿Salto?

Sí o No

Todos ven lo mismo. La diferencia: los pesos de cada uno son diferentes — eso es lo que los hace únicos.

Ahora van a tocar esto ustedes mismos

Toca el cerebro del pájaro

Mueve los sliders — la escena y la red neuronal cambian en tiempo real.

LO QUE "VE" EL PÁJARO

ENTRADAS

RED NEURONAL

DECISIÓN

🐦

0.00

Experimenten

1Muevan el slider de "Dist. tubo" de un lado al otro. ¿Cambia la decisión?
2Presionen 🎲 Pesos aleatorios 5 veces. ¿La red toma buenas decisiones? (Spoiler: no)
3Presionen 🏆 Pesos óptimos. Ahora muevan los sliders. ¿Ahora sí tiene sentido?
4Con pesos óptimos: pongan distancia al tubo baja (tubo cerca) → ¿qué decide? ¿Y si está lejos?

La evolución hace exactamente lo que acaban de hacer con el botón 🎲:

Prueba miles de combinaciones de pesos aleatorios. Se queda con los que funcionan. Los hijos heredan esos pesos. Repite. Después de 30 generaciones → pesos perfectos.

Cada pájaro tiene una red así adentro

Pájaro generación 1

Pesos aleatorios — como cuando presionaste 🎲

Salta cuando no debe. No salta cuando debería. Muere en el primer tubo.

💀

Pájaro generación 30+

Pesos evolucionados — como cuando presionaste 🏆

Salta en el momento exacto. Esquiva todo. Vuela para siempre.

♾️

100 pájaros = 100 redes con pesos diferentes. Los que vuelan más lejos tienen los mejores pesos. Sus hijos heredan esos pesos. Eso es la evolución.

¿Pueden manejar esto?

Ahora abran Hill Climb Racing:

thebigcb.com/projects/HillClimbRacing
PJuégalo tú — usa las flechas
BVe al mejor agente de la IA
FFight mode — compite contra la IA
GVe los highlights de cómo evolucionó

Intenta esto: Primero juega tú (P). Luego compite contra la IA (F).

🚗⛰️

Mismo truco que Flappy Bird:

100 carros aleatorios → los que llegan más lejos sobreviven → sus hijos compiten → después de muchas generaciones = experto

Video: youtube.com/watch?v=BP6xtp_9UME

¿Y el juego más difícil del mundo?

Un cuadrito rojo tiene que llegar al otro lado esquivando bolas azules.

Abrir World's Hardest Game

Lo interesante de este:

El cuadrito no ve nada. No sabe dónde están las bolas. Solo tiene una lista de instrucciones: "arriba, derecha, derecha, abajo..."

Generación 1: instrucciones aleatorias → muere al instante.

Generación 50+: las instrucciones son exactamente las correctas para esquivar todo.

¿Cómo? Las instrucciones que funcionaron se heredaron. Las que no, murieron.

6 niveles — cada uno más difícil

La IA empieza de cero en cada nivel y evoluciona una solución nueva.

🟥💨🔵🔵🔵

Evolución pura — sin ojos, sin inteligencia, solo selección natural

El patrón: siempre es lo mismo

Flappy BirdHill ClimbWorld's Hardest Game
¿Quién compite?100 pájaros100 carros100 cuadritos
¿Qué es su "ADN"?Un cerebro (red neuronal)Un cerebro (red neuronal)Lista de movimientos
¿Qué mide el éxito?Tubos pasadosDistancia recorridaCercanía al final
Generación 1Todos chocanSe voltea al instanteMueren al instante
Generación 50+Vuela perfectoManeja como proEsquiva todo

Muchos candidatos malos → los mejores sobreviven → sus hijos compiten → repetir → candidatos increíbles

Nadie programó las reglas. Solo definieron "qué tan bien lo hiciste" y la evolución hizo el resto.

Esto se usa en el mundo real

NASA (2006)

Antena evolucionada voló al espacio. Superó al diseño de ingenieros humanos. Primera pieza evolucionada en orbitar la Tierra.

Medicina

Insilico Medicine descubrió un fármaco para fibrosis pulmonar en 18 meses usando GA + deep learning. Normalmente toma 4-5 años.

DHL (Logística)

Optimiza rutas de entrega con algoritmos genéticos. Resultado: 5-10% menos combustible en hubs principales.

Eólica (Mar del Norte)

Posicionamiento de turbinas evolucionado = 2-5% más energía que layouts diseñados por humanos.

Autos eléctricos

Diseño de baterías, rutas de flota, estrategias de manejo. BMW, Tesla, BYD — todos usan evolución artificial.

Y mucho más...

Diseño de circuitos, robótica, videojuegos, materiales, finanzas, agricultura. Donde haya algo que optimizar, hay un GA.

Fuentes: NASA NTRS 2006; Insilico Medicine Phase II (PMC); DHL route optimization reports

Viste antenas de la NASA, pájaros, carros y cuadritos evolucionar

Ahora vas a crear tu propia criatura.

Primero miren cómo se ve el proceso completo en este video de Code Bullet →

Video: IA que aprende a correr

Code Bullet creó Creature Creator y grabó todo el proceso. Vean cómo las criaturas evolucionan de caerse al instante a correr.

TU TURNO

Crea tu propia criatura

Viste pájaros, carros y cuadritos evolucionar. Ahora tú diseñas la criatura.

1Abre Creature Creator en tu navegador
2Agrega nodos (articulaciones) y músculos (conexiones entre nodos)
3Dale Run y mira cómo intenta moverse
4Screenshot de generación 1 — se van a caer, arrastrar, voltear
5Espera varias generaciones → Screenshot de la mejor
6Ponle nombre a tu criatura
Abrir Creature Creator Tip: CTRL + - para alejar si no ves todo

Tips y competencia

Empieza simple

3-4 nodos, 2-3 músculos. La evolución descubre cómo usarlos. No necesitas 50 articulaciones.

Experimenta

¿Simétrica o asimétrica? ¿Muchos músculos o pocos? ¿Forma de araña, de gusano, de humano?

Competencia

La criatura que avance más lejos gana. Muestren su pantalla al grupo.

Tiempo: 30 minutos

Después vamos a Colab para ver el código por dentro

Entregable del día

Suban sus capturas aquí:

Subir entregable → forms.gle/NVnM5BwonTfv2i2W6
QuéCómo
Screenshot Flappy Bird — tu récordCaptura de pantalla cuando mueras con tu mejor score
Screenshot Hill Climb Racing — tú vs IACaptura del Fight mode (F) mostrando ambos scores
Screenshot World's Hardest GameCaptura de la IA resolviendo un nivel
Screenshot Creature Creator — Gen 1Captura cuando recién empieza (van a ser malas)
Screenshot Creature Creator — Mejor genCaptura después de muchas generaciones
Nombre de tu criaturaPonle nombre creativo

La criatura más rápida gana. Compartan sus screenshots con el grupo.

Puntos Clave — Día 01

✓ La IA puede aprender sin que nadie le programe las reglas — lo vimos con Flappy Bird, Hill Climb Racing y el juego más difícil del mundo

✓ El truco: muchos candidatos compiten, los mejores sobreviven, sus hijos compiten de nuevo

✓ Esto se llama algoritmo genético — inspirado en la evolución de Darwin

✓ Se usa en autos eléctricos reales: diseño de baterías, estrategias de manejo, rutas de flotas, aerodinámica

✓ Lo único que necesitas definir: "qué tan bien lo hizo" (fitness). La evolución descubre el cómo.

> Siguiente: Día 02 — Ruta óptima: el GPS con cerebro de IA

Gobierno de Chihuahua Democratizamos la Innovación Fundación Coppel Change and Code