Overview
El curso trata de resolución automática de problemas por medio de algoritmos de búsqueda.
Aprenderás a abstraer un problema como un grafo de estados-acciones y a dimensionar su complejidad por medio de la identificación de parámetros. Además, te mostraremos cómo analizar el consumo de recursos computacionales de los algoritmos para seleccionar o adaptar el más apropiado al problema.
Nos interesa que puedas aplicar los algoritmos a problemas concretos.
Te acompañaremos en la implementación de los algoritmos en el lenguaje de programación Python y te mostraremos algunos ejemplos de su aplicación a ciertos problemas modelo.
Al final podrás probar tus algoritmos en un espacio de búsqueda interesante: el resolver el cubo de Rubik.
Syllabus
- Algoritmos de Búsqueda ciega
- Conocerás los algoritmos de búsqueda no informada. Estos algoritmos pueden verse como building blocks para diseñar agentes inteligentes que resuelven problemas. Aprenderás a abstraer los problemas como grafos de estados-acciones y podrás tratar la solución de problemas de manera equivalente a encontrar rutas dentro de este grafo. Te mostraremos cómo utilizar el análisis asintótico para evaluar el desempeño de los algoritmos.
- Algoritmos de Búsqueda ciega (parte 2)
- Conocerás los algoritmos de búsqueda no informada. Estos algoritmos pueden verse como building blocks para diseñar agentes inteligentes que resuelven problemas. Aprenderás a abstraer los problemas como grafos de estados-acciones y podrás tratar la solución de problemas de manera equivalente a encontrar rutas dentro de este grafo. Te mostraremos cómo utilizar el análisis asintótico para evaluar el desempeño de los algoritmos.
- Algoritmos de búsqueda informada
- Aprenderás a incorporar conocimiento del dominio del problema para guiar a los algoritmos en dirección a la solución por medio de funciones heurísticas. Entenderás el efecto que tiene la selección de la heurística en la optimalidad de las rutas encontradas.
- Algoritmos de búsqueda informada (parte 2)
- Aprenderás a incorporar conocimiento del dominio del problema para guiar a los algoritmos en dirección a la solución por medio de funciones heurísticas. Entenderás el efecto que tiene la selección de la heurística en la optimalidad de las rutas encontradas.
- Algoritmos de búsqueda metaheurísticos
- Comprenderás la importancia de los algoritmos meta-heurísticos para enfrentar la complejidad de problemas grandes donde los algoritmos vistos en los módulos anteriores dejan de ser efectivos.
Taught by
Stalin Muñoz Gutiérrez