Presentaciones 2DMP
ACTUALIZADO
Por el paro van a tener 2 días posibles para presentar:
- Jueves 30 de junio, horario 5-6.
- Lunes 4 de julio, horario 5-6.
Asuman que no va a haber datashow, por lo que tengan a mano sus presentaciones (ppt, pptx, pdf) en su correo por si tienen que presentar en mi notebook.
Nos juntaremos en el casino (El que lleve un termo con café tiene puntos extra… si es que vuelve a dar el ramo).
Presentaciones
Buenas! Apenas tenga las salas de las presentaciones les aviso, pero un detalle importante:
Pueden “agrupar” presentaciones de a 2 personas, para comparar técnicas y métodos usados con respecto a los resultados obtenidos.
¿Qué evaluaré?
La explicación y conocimiento individual que tengan sobre sus técnicas, movimientos y representación usada. Me carga la trivialidad y que conozcan poco del trabajo que usaron. Me interesa que encuentren puntos que se podrían mejorar, y cómo. (Hasta ahí todo ha sido individual).
Si es que van a asociarse con un compañero de equipo, es importante que puedan hacer comparaciones 1 a 1 con sus resultados obtenidos, o sea, que hayan ejecutado sus programas con las mismas limitantes, en el mismo computador con el mismo conjunto de problemas, y expliquen por qué uno obtiene resultados antes u obtiene mejores resultados.
En caso de que no hagan esa comparación “bajo las mismas condiciones”, entonces presenten individualmente. (La nota siempre es individual, pero si se “asocian” sin hacer esas pruebas colaborativas entonces tendrán un descuento por no aportar en nada al estar comparando peras con manzanas).
TL;DR:
-Importa mucho el dominio que tengan sobre la implementación realizada, y detectar puntos fuertes y posibles mejoras.
-Si hacen comparaciones bajo el mismo ambiente con la app de un compañero, pueden presentar y comentar juntos los resultados obtenidos.
-Nota individual.
Horario de consultas para proyectos
El 30 de mayo, Lu 3-4++ sala B-005 (Horario IA)
(La idea es que lleguen 3-4, pero si las consultas son muy largas o muchas, se puede prolongar sin problemas. Pero si no hay nadie, no me voy a quedar esperando hasta 5-6).
Salu2!
PD: No es para solucionar segmentation faults ![]()
Dudas 2DMP con HC
Me llegó este correo. Las respuestas les pueden servir. Salu2!
Pregunta:
Buenas,
tengo unas dudas en cuanto a la función objetivo que planteaste en tus diapos:
Deben tomar en consideración:
– Prohibir atravesar obstáculos.
– Favorecer caminos más cortos.
– Favorecer caminos que “terminen” más cerca del punto final.
supongo que uno puede modelar el problema como uno quiera, y yo lo pensé usando como movimiento el cambiar un 0 por 1 de alguna celda adyacente a la posición actual, pero el problema con eso es que no sé como cumplir la segunda condición (Favorecer caminos más cortos). Es necesario cumplir con esas y sólo esas condiciones? o me recomiendas usar otro método?
Respuesta:
Algo que puedes hacer es ignorar los caminos más cortos en un comienzo, aceptando cualquier solución que termine “cerca” del objetivo, o en el objetivo.
Posteriormente, si encuentras otras soluciones con el mismo fitness de la mejor solución que has encontrado hasta ahora, y esta tiene un camino más corto que ese óptimo local, entonces reemplaza tu óptimo local por esta nueva solución. Así, a medida que encuentras soluciones a la larga vas a favorecer las más cortas, sin penalizar las que lleguen más lejos.
Pregunta:
Otra cosa, a mi me tocó HC w/restart + FI, mi problema es cómo genero las soluciones aleatorias, mando al robot a una posición random en el tablero? o tengo que partir siempre desde la posición de abajo a la derecha?
Respuesta:
Es obligatorio llegar desde abajo derecha hasta arriba izq. Tomando la definición de HC académica, suena raro poder obtener una solución distinta con los restarts.
Tienes que cambiar el modelamiento. Una posibilidad es:
-De manera random, o con backtracking intentar desplazarte por el mapa sin chocar hasta que llegues al objetivo.
-Con esa sol. inicial entonces selecciona 2 puntos random, onda 2 coordenadas al azar.
-Aplica HC para llegar de u a de esascoorde adas a la otra.
-Si es que encuentras un camino más corto entre esas coords que el original, entonces actualiza tu sol inicial acortando el camino entre esas coordenadas.
-Vuelve a seleccioar 2 coords al azar.
Otra posibilidad, más fácil, es samplear el mapa, onda dividirlo en sub grillas.
-Luego, seleccionas en cada iteración una grilla cercana al azar.
-Luego, aplicas HC para llegar lo más cerca posible a esa grilla, (a cualquier celda de esa grilla).
-Vuelves a seleccionar otra grilla, etc
Salu2!
Set de pruebas y WinAntColonies
Les adjunto una herramienta para path finding que hice. Lo que hace es generar mapas aleatorios, los puede visualizar y además puede cargar soluciones que ustedes hayan encontrado utilizando su propia implementación (siempre y cuando la escupan en el formato que se especificaba en las slides), para después visualizarla de manera cómoda.
(Además vienen incluído algunos set de prueba para 2DMP). El hecho de que puedan adjuntar una visualización de lo que realiza su algoritmo, o cómo se ve reflejado el cambio de parámetros en el tipo de rutas que se obtienen le entrega valor agregado a lo que hagan en el paper. Así que si se apoyan en herramienta para visualizar su avance, yo feliz.
Configuración
1. Cargar un mapa para visualizarlo.
2. Guardar el mapa actual en un archivo.
3. …
4. Setear el ancho del mapa a generar.
5. …
6. Setear la altura del mapa a generar.
7. …
8. Complejidad del mapa (porcentaje de obstáculos).
9. Generar mapa.
B. Tamaño de los bloques para dibujar en el mapa. Para mapas grandes (400×300) se recomienda usar tamaño 1.
C. Color de los obstáculos.
D. Color de los espacios libres.
E. Color de los caminos.
1. Ejecuta una corrida con 10 hormigas durante 10 segundos para encontrar soluciones.
2. Ejecuta una corrida con 20 hormigas durante 20 segundos para encontrar soluciones.
3..D: Parámetros de configuración para hormigas.
E. Listado de soluciones encontradas. Seleccionar una para visualizarla.
F. Cargar solución desde un archivo para visualización. Es importante que esté cargado el mapa correspondiente.
A shape of things to come
Esta app se las dejaré disponible en unos días más, la estoy desarrollando para ant colonies en 2DMP, pero para el parseo de mapas/soluciones creo que les puede servir.
Así se ve:

Dudas de modelo matemático
Adjunto una respuesta a muchas dudas que han llegado al correo. Ojalá les quede más claro
El modelo matemático debe ser una representación formal del problema en 2 dimensiones, de la versión simplificada que es path finding. Con formal me refiero a que sea como los teoremas en el libro de mate, onda “Sea X un conjunto de casillas x, y sea S un conjunto de obstáculos s…”. No tiene que ser idéntico a lo que explica el PDF, pero debe abarcar al menos eso. Mienras más detallado, mejor.
Cuando implementes el código, la idea es que utilices esa representación, aunque si te das cuena que te equivocaste o algo, la puedes cambiar. No te voy a hacer atados.
En la definición del problema tienes que ser menos simplista, en el sentido de que tienes que explicar por qué se necesita IA en motion planning, porque en pathfinding no se justifica usar un algoritmo genético, sino que bastaría con Dijkstra. En cambio, si consideras variosmgrados de libertad, velocidades de giro, etc, entonces ahí entra en juego el resolver el problema con técnicas de optimización.
Espero que te haya quedado más claro.
Saludos.
Presentación de Travelling tournament problem
Adjunto la presentación del problema de Felipe Díaz (problema 3).
http://villaseca.files.wordpress.com/2011/04/relaxed-traveling-tournament-problem.pptx
Saludos!
Presentación de motion planning
Adjunto la presentación del problema mío (Villaseca) (problema 1).
Más adelante subiré los benchmark y la herramienta generadora de benchmarks, falta “profesionalizarla” todavía. Ahhh, esa herramienta funciona en Windows solamente ![]()
Presentación del Nurse Scheduling Problem
Adjunto la presentación del problema de Diego Herrera (problema 2).
