UNIVERSIDAD CENTRAL DE VENEZUELA FACULTAD DE CIENCIAS ESCUELA DE COMPUTACION INTELIGENCIA ARTIFICIAL Proyecto 1 Algoritmos Genéticos Existe un juego muy popular para realizarse entre grupos de amigos, que consiste en hacer dos equipos que van a pujar de una cuerda en direcciones contrarias con la finalidad de hacer caer al otro equipo. A pesar de ser un juego simple, este tiene algunas reglas que cumplir. 1. Los equipos no pueden tener mas de un integrante de diferencia. 2. La diferencia de pesos entre los equipos tiene que ser mínima. Se quiere que Ud. Implemente un algoritmo genético para resolver el problema con las restricciones anteriores y tomando en cuenta las siguientes: 1. La cantidad de participantes no excede de 30. 2. Los pesos de los participantes son enteros positivos mayores que 0. Requerimientos 1. Los valores de la cantidad de individuos y los pesos de los mismos tienen que ser leídos de un archivo de texto plano con el siguiente formato: <cantidad de personas(N)> <peso persona 1> … <peso persona N> 2. Puede ser implementado en C/C++ o Java. (para C++ usar ANSI-C o gcc/g++). 3. Como resultado del algoritmo tienen que indicar en que equipo debe participar cada persona y cuanto fue la diferencia de pesos entre los equipos. 4. Implementar dos mecanismos de cruce diferentes. 5. En la aplicación se debe poder seleccionar el mecanismo de cruce a utilizar. 6. En la aplicación se debe poder seleccionar utilizar solamente mutación. 7. Un informe corto que contenga la siguiente información: Explicar la codificación utilizada en el cromosoma. Describir los dos mecanismos de cruce implementados. 3 gráficos de rendimiento de la población promedio y mejor individuo por generación: 1 para cada operador de cruce, y uno utilizando solo mutación. Cada grafico es tomado en la mejor configuración de variables para ese escenario. Indicar los parámetros que se utilizaron para cada corrida. (probabilidad de cruce, probabilidad de mutación, tamaño de la población inicial) Analizar cual operador de cruce funciona mejor, cual converge en menos generaciones a la solución. Instrucciones para utilizar el programa. La fecha tope de entrega del proyecto es el 30 de mayo de 2007. El proyecto puede ser realizado en equipos de máximo 2 personas. El proyecto puede ser entregado vía correo electrónico hasta las 11:59pm del día de entrega, correos que tengan fecha posterior al tope se consideran no entregados. Todos los proyectos se pueden entregar vía e-mail bajo las siguientes restricciones: Los fuentes deben compilar y correr sin falla (cero segmentation faults, excepciones, fatal error, etc. Los archivos (fuentes + informe + extras) deben estar en 1 solo adjunto, ya sea en: tar, zip, rar, bz2, gz, etc. Proyectos con mas de un adjunto no se consideraran entregados y serán notificados. Los archivos deben estar libre de virus. Proyectos con virus son considerados no entregados y serán notificados. Cada proyecto entregado por esta vía recibirá un correo de vuelta notificando su recepción, si no reciben este correo su proyecto no fue entregado. ic/IA