
Agile Artificial Intelligence in Pharo
Alexandre Bergel
- Editorial
- Apress
- Año
- 2020
- Páginas
- ~407
- Nivel
- Intermedio
De qué trata
Obra técnica de Alexandre Bergel que aborda la inteligencia artificial clásica, el aprendizaje automático conexionista y los algoritmos evolutivos utilizando el entorno puramente orientado a objetos de Pharo (Smalltalk contemporáneo, versiones 8 y 9). Está orientada a desarrolladores intermedios o avanzados, científicos de datos y entusiastas de la orientación a objetos que quieren asimilar los principios matemáticos y de diseño de la IA mediante una implementación artesanal desde cero («from scratch»), sin esconder la lógica interna tras paquetes prefabricados de alto nivel.
El contenido se articula en tres grandes bloques progresivos: redes neuronales, computación evolutiva y neuroevolución. En la primera parte se construyen neuronas artificiales, perceptrones, redes neuronales multicapa, el algoritmo de retropropagación (backpropagation) y una biblioteca matricial propia escrita en Pharo para clasificación de patrones, abordando también la interoperabilidad externa con Keras y TensorFlow mediante un puente con Python. En la segunda se detallan los algoritmos genéticos (selección, cruce, mutación y funciones de aptitud) resolviendo problemas clásicos de optimización como el viajante de comercio (TSP) y la navegación en laberintos. Por último, une ambos conceptos en la neuroevolución, permitiendo evolucionar topologías y ponderaciones de redes neuronales sin gradientes analíticos, apoyándose en el motor Roassal para la inspección y visualización interactiva de datos.
El aprendizaje se consolida mediante proyectos interactivos completos: simuladores de criaturas zoomórficas que aprenden a caminar, robots virtuales que escapan de laberintos y dos videojuegos jugables en Pharo —un clon de Pong y otro de Flappy Bird— cuyos personajes aprenden a jugar de forma autónoma gracias a redes neuroevolutivas. La gran virtud de la obra es explotar el depurador en vivo («live programming») y la inspección dinámica de objetos que ofrece Pharo para hacer la IA transparente y didáctica. Deja fuera las arquitecturas de aprendizaje profundo modernas basadas en transformers o modelos generativos masivos. Resulta esencial poseer una base sólida en programación orientada a objetos, aunque no es imprescindible dominar Pharo previamente gracias a su sintaxis minimalista.
- Pharo
- Smalltalk
- Redes neuronales
- Perceptrón
- Algoritmos genéticos
- Neuroevolución
- Backpropagation
- Roassal
- Keras
- Clasificación de datos
- Visualización de datos
- Juegos autónomos
¿Cómo enseña?
Con proyectos
- ✗ Sin ejercicios
- ✓ Incluye proyectos
Proyectos
Simulador de criaturas zoomórficas
Entorno virtual en Pharo donde modelos morfológicos de criaturas articuladas aprenden a desplazarse de forma autónoma optimizando sus movimientos mediante algoritmos genéticos.
Navegador de laberintos para robot autónomo
Agente simulado que aplica algoritmos evolutivos para trazar y optimizar rutas de salida en laberintos complejos sorteando obstáculos.
Agente autónomo para el juego Pong
Recreación de Pong en Pharo en la que el control de la pala se delega a una red neuronal cuyos parámetros se perfeccionan iterativamente con neuroevolución.
Clon de Flappy Bird con IA neuroevolutiva
Videojuego interactivo desarrollado en Pharo donde una población de pájaros aprende a superar tuberías y obstáculos mediante redes neuronales evolucionadas genéticamente.

