</> CodeBooks
    ← Volver a IA: fundamentos y aplicaciones (página 1)
    Portada de Agile Artificial Intelligence in Pharo

    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?

    TeóricoPráctico

    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.

    Más de IA: fundamentos y aplicaciones con nivel Intermedio