CONTROL INTELIGENTE Laboratorio Nº5 INTRODUCCIÓN A LOS ALGORITMOS GENETICOS Profesor: Juan Pablo Rivera. Objetivos Implementar algoritmos genéticos para la solución de problemas tales como el valor máximo y mínimo de una función, y el movimiento de un robot siguiendo las paredes de una habitación. MARCO TEORICO Los algoritmos genéticos corresponden a la clase de métodos estocásticos de búsqueda Que operan en una población de soluciones. La idea básica, inspirada en los procesos evolutivos en biología, es que el contenido genético de una población contiene potencialmente la solución, o una solución mejor, a un dado problema de adaptación. Esta solución puede estar inactiva porque la combinación genética adecuada esta diseminada entre varios sujetos. Solo la asociación de genomas distintos puede llevar a la activación de la solución. PROCEDIMIENTO 1. Graficar las siguientes funciones de dos variables, encontrando sus valores máximo y mínimo mediante el uso de MATLAB. Seleccionar a partir de la grafica un rango adecuado de valores en los que le interese identificar el máximo y el mínimo. (X2+Y2-1) 7 6 5 4 3 2 1 0 -1 -2 2 1.5 1 2 1.5 0.5 1 0 0.5 -0.5 0 -0.5 -1 a. -1 -1.5 -2 Y -1.5 -2 X Rango de valores: -1 y 1 (Después de estos valores el valor máximo disminuye, pero el valor mínimo permanece igual) Valor mínimo: -1 Valor máximo: 9.3907e+030 (2 sin(4 x)+cos(2 y)) b. 2sen4x+cos2y 3 2 1 0 -1 -2 -3 10 8 6 4 2 0 -2 -4 -6 -8 -10 y -10 -8 -6 -4 -2 0 2 4 6 8 10 x Rango de valores: -10 y 10 (Aquí es indiferente la selección de este punto, ya que la función es cíclica y no influirá en los valores máximo y mínimo.) Valor mínimo: -3 Valor máximo: 3 ((2 x 2) (y 2)+(3 x)-(2 y)) c. 2X^2Y^2+3X-2Y+8=0 50 40 30 20 10 0 -10 2 1.5 1 0.5 Rango 0 valores: -74 y la función 2 1.5 de 74 (Entre estos puntos -1 alcanza su valor más alto) 1 0.5 -0.5 0 -0.5 -1 -1.5 -2 y -1.5 -2 x Valor mínimo: -3.1660 Valor máximo: 2.2065e+149 2. Que es un algoritmo genérico y qué relación tendría esta técnica con el numeral anterior. Es una técnica de optimización que encuentra los algoritmos propios para la variable en un proceso, permite seleccionar de un grupo de individuos el más óptimo o los más óptimos, Esta técnica se relaciona con el punto anterior en que busca los valores más óptimos, en este caso estamos en una búsqueda de los valores mínimos y máximos de la función 3. Haga un programa en matlab donde mediante programación genética un robot pueda moverse siguiendo las paredes de una habitación. (IF (IF (IF (se)(0)(ne)) (OR (se) (este)) (IF (OR (AND (e) (0) ) (so)) (OR (so)(0)) (AND(NOT(NOT(AND (s) (se)))) (se)))) (IF (o) (OR (norte) (NOT (NOT (s)))) (oeste)) (NOT (NOT (NOT (AND (IF (NOT (sur)) (se) (o)) (NOT (n))))))) CONCLUSIONES Para hallar el mínimo de la función con los algoritmos genéticos se debe poner un signo menos que se anteponga a la función para que tome esta al revés y así engañar al sistema haciendo que el mínimo detectado sea en verdad el máximo de la función. Los algoritmos genéticos toman como base la evolución humana en el cual como selección natural solo sobreviven los individuos más aptos, que para el caso solo sobreviven los software más aptos para la solución del problema. Los algoritmos genéticos ofrecen óptimas soluciones a problemas complejos, ya que no solo encuentran programas eficaces, es decir, que realicen su tarea sino que además buscan el más eficiente de estos, ósea el que realice su labor en el menor tiempo posible. A diferencia de los otros algoritmos, cuya convergencia y resultado final son fuertemente dependientes de la posición inicial, en los algoritmos genéticos la convergencia del algoritmo es poco sensible a la población inicial si esta se escoge de forma aleatoria y es lo suficientemente grande.