← Volver a proyectos
ML & Estadística2024Académico

Genetic Golf

Un algoritmo genético visual: 500 pelotas de golf aprenden por evolución a llegar al hoyo esquivando obstáculos.

500agentes por generación

El problema

El trabajo final de Inteligencia Artificial pedía demostrar computación evolutiva de forma tangible, no en una planilla de resultados.

Qué hice

Implementé el ciclo evolutivo completo en JavaScript con p5.js: ADN de [x, y, ángulo, fuerza] por tiro, función de fitness con penalizaciones, mating pool y mutación, animado en el navegador con 500 agentes y 15 tiros por individuo.

Qué resultó

Simulador funcional corriendo en el navegador, presentado como trabajo final de Inteligencia Artificial.

Cómo evoluciona

  1. 500 pelotas con ADN aleatorioEntrada
  2. ADN de posición, ángulo y fuerza15 tiros por individuo
  3. Simulación de la tiradaCon obstáculos
  4. Fitness con penalizacionesQué tan cerca del hoyo
  5. Mating pool y mutaciónLas mejores se cruzan
  6. Generación que llega al hoyoSalida

Nadie le enseña a la pelota dónde está el hoyo. Cada generación tira, se la puntúa por cuánto se acercó, y las mejores se cruzan: el comportamiento aparece por selección, no por programación.

Stack

  • JavaScript
  • p5.js
  • HTML/CSS