You are on page 1of 12

Redes Neuronales y Algoritmos Genticos Angel Fernando Kuri Morales Resumen

Se presenta un mtodo para entrenar redes neuronales (perceptrones multicapa) usando algoritmos genticos. Se hace una breve discusin del modelo conexionista y el modelo evolutivo. Se presenta un caso de ejemplo y se discuten las ventajas de esta forma de entrenamiento sobre otras formas ms tradicionales.

1. Introduccin
Las computadoras son ms eficientes (ms rpidas y ms baratas) cada da. Esta tendencia se ha mantenido constantemente durante los ltimos 50 aos y, como resultado de lo anterior, se hace plausible y atractivo abordar ciertos problemas usando tcnicas que hace pocos aos se hubiesen desechado por incosteables ya que requieren de muchos recursos de cmputo o de mucho tiempo (estos dos elementos son, de alguna manera, intercambiables). Dentro de estas tcnicas se encuentran, de manera primordial, aquellas que, de alguna manera, pretenden emular (ms adelante aclararemos este concepto) fenmenos naturales de gran complejidad. La Naturaleza es prolija en el uso de sus recursos. Los tiene en abundancia y en cantidades que, en la escala humana, son prcticamente ilimitadas. En este trabajo nos referiremos a dos de estos modelos: el modelo conexionista y el modelo evolutivo. En particular nos referiremos a la manera en que estos dos modelos se han logrado entrelazar. En los prrafos que siguen expondremos los principios en los que se basan ambos modelos. Por razones de espacio nos es imposible abordarlos ms que forma esquemtica. Sin embargo, trataremos de sintetizar las bondades que ofrecen y sus limitaciones. En la segunda parte hablaremos del modelo conexionista y de las llamadas Redes Neuronales Artificiales (RNs). En la tercera parte nos referiremos al modelo evolutivo y a los llamados Algoritmos Genticos (AGs). En la cuarta parte esbozaremos algunas reas de aplicacin de lo que hemos denominados Redes Neuronales Genticas (RNGs) y las ventajas que stas ofrecen sobre las RNs ms convencionales. Por ltimo, en la quinta parte ofreceremos algunas conclusiones de ndole general.

2. El Modelo Conexionista y las Redes Neuronales Artificiales


En las computadoras tradicionales las instrucciones bsicas se ejecutan de manera secuencial en la unidad central de proceso (UCP). La UCP, tradicionalmente, sigue la denominada arquitectura (o modelo) de von Neumann. Esta arquitectura define un sistema que, de manera secuencial, va tomando los contenidos de la memoria central (RAM), interpretndolos y ejecutando la

instruccin correspondiente. En algunos casos la instruccin indica que la localidad de RAM de la cual tomar la siguiente instruccin no es la subsecuente. Tpicamente el hecho de saltar de una localidad de instruccin a otra depende de ciertas condiciones que los datos deben cumplir. Dicho de manera muy bsica, lo que otorga a la computadora la posibilidad de exhibir un comportamiento inteligente es la capacidad de tomar las decisiones basadas en la satisfaccin de las condiciones anotadas anteriormente. Con esta arquitectura se han desarrollado sistemas que aprenden, generalizan y clasifican: exhiben comportamientos asociados a un ser inteligente. Pero hay cosas que un ser humano puede hacer muy fcilmente, con mayor precisin y ms rpidamente que una computadora de von Neumann. Por ejemplo, un ser humano, al ver la pata de un elefante sabe rpidamente que ES un elefante. Por contraste, una computadora digital tiene grandes dificultades para determinarlo. Si consideramos que una UCP actual puede llevar a cabo cientos de millones de comparaciones por segundo es claro que el mecanismo de proceso que llevan a cabo los cerebros humanos no puede estar fundamentado en el mecanismo secuencial de von Neumann. Las neuronas que conforman nuestros cerebros son mucho ms lentas (del orden de milisegundos) que una compuerta digital y su capacidad de establecer comparaciones lo es tambin. Por otra parte, una neurona es una unidad funcionalmente muy simple. Lo nico que puede hacer es reaccionar a los estmulos de las neuronas vecinas y emitir un estmulo que se propaga a algunas de ellas si la suma de los estmulos de entrada excede de un valor llamado el umbral de la neurona. Derivado de consideraciones como las anteriores, los estudiosos de la computacin se dieron a la tarea de tratar de entender la aparente contradiccin implcita en ellas. Y, sabiendo un poco de la forma como se conforman las redes neuronales biolgicas, es relativamente fcil llegar a las siguientes conclusiones: a) En una arquitectura neuronal, el potencial primordial de cmputo se encuentra en la interaccin concertada de todas las neuronas que conforman a la red. b) La informacin que se almacena en una red neuronal no se ubica en un punto especfico del espacio; ms bien est en el estado de las neuronas y en la arquitectura misma de la red. c) La capacidad de cmputo se identifica con el alto nmero de neuronas de la red y el an ms alto nmero de conexiones (sinapsis) entre ellas (en el humano, hay cerca de 1011 neuronas y 1015 interconexiones). Derivado de lo anterior se plantea un modelo denominado conexionista en el cual se preservan las dos caractersticas ya sealadas: unidades de proceso muy simples llamadas (por analoga) neuronas y un esquema de interconexin vasto y complejo . En la figura 1 se muestra un esquema de una red neuronal artificial. En esta figura, cada crculo representa una neurona y cada lnea representa una sinapsis. En la figura se distinguen cuatro capas (o conjuntos de neuronas). La primera se conoce como capa de entrada o de presentacin; las dos segundas se denominan ocultas porque no tienen contacto directo con el mundo exterior; la ltima se

llama de salida. Implcito en la figura est el hecho de que, a cada sinapsis, se encuentra asociado un valor numrico llamado el peso de la sinapsis. En la figura ilustrada, cada neurona en todas las capas (excepto la de salida) est conectada con cada una de las neuronas en la capa siguiente. Probablemente el tipo de red ms usado es el denominado Perceptrn Multicapa (PMC). Este tipo de red propaga sus seales solo hacia adelante, como se muestra en la figura 1.

Figura 1. Esquema de una Red Neuronal Artificial En las RNs cada neurona representa una funcin simple (tpicamente g(x)=1/[1+exp(x)]). Cuando se presenta un conjunto de datos a una RN, cada neurona en la capa de entrada transforma sus entradas en una salida y la propaga hacia otras neuronas en la siguiente capa. Estas, a su vez, transforman y propagan sus seales de entrada y salida, respectivamente. Las neuronas en la capa de salida, finalmente, presentan sus salidas al entorno. Se dice que una RN aprende cuando a un conjunto de valores de entrada la red responde con el correspondiente (y adecuado) conjunto de valores de salida. Esta posibilidad depende de la arquitectura de la red y de los pesos asociados. Tpicamente la arquitectura es fija y lo que se modifica cuando se entrena una red son los valores de los pesos. Uno de los principales problemas a resolver cuando se entrena a una red neuronal es cmo obtener los pesos que permitan el ajuste adecuado a los valores de entrenamiento y lo hagan tambin a valores fuera del conjunto de entrenamiento. Es decir, se pide de una RN que aprenda y generalice. El otro problema fundamental en el campo de las RNs es aqul que se refiere a la determinacin de la arquitectura de la red: cul es el nmero de capas ptimo para resolver un problema dado; cmo interconectar las neuronas; qu funciones de activacin elegir, etc.

El Perceptrn Multicapa de Retropropagacin


Lo que se entiende por adecuado conjunto de valores de salida est determinado por una medida del error (entre los valores esperados y aquellos

2 1 p (i) y d (i ) . 2 i =1 En donde d es el valor deseado, y es el valor obtenido, p es el nmero de patrones de entrenamiento y el superndice indica el nmero de categoras. Para minimizar este error se aplica el denominado algoritmo de retropropagacin, que es el siguiente. 1. Inicializar los pesos a valores aleatorios pequeos. r 2. Aleatoriamente elegir el patrn de entrada x u . 3. Propagar la seal hacia adelante a lo largo de la red. 4. Calcular il = g ' (h iL )[d iu yiL ] . L es el nmero de capas de la red.

obtenidos) a minimizar. En un PMC esta medida est dada por E =

donde hli representa la entrada neta a la i-sima unidad de la l-sima capa y g es la derivada de la funcin de activacin g. 5. Calcular las deltas de las capas precedentes propagando los errores l denota hacia atrs: il = g ' (h li ) wlij+1 lj+1 para l=(L-1),...,1. En donde wij
j

el peso asociado a la conexin entre la i-sima neurona de la capa l-1 con la j-sima neurona de la capa l. 6. Actualizar los pesos usando wl ji = li y lj1 ( 0 < < 1 ). 7. Ir al paso 2 y repetir para el siguiente patrn hasta que el error en la capa de salida est debajo de un umbral predeterminado o un nmero mximo de iteraciones sea alcanzado. Este algoritmo est tan generalizado que es conveniente hablar de un PMC de retropropagacin (PMCR). En un trabajo de esta naturaleza es imposible entrar en los detalles finos de implantacin del PMCR. (El lector interesado puede consultar [8, 9, 10]). Pero es importante consignar que la operacin exitosa de una RN de este tipo depende de un conjunto de parmetros que el diseador debe de elegir cuidadosamente a travs de un proceso de prueba y error o, en el mejor de los casos, a ciertos heursticos dictados por el tipo de problema y la experiencia en problemas anlogos. An siendo as, las RNs han demostrado su eficacia y utilidad innegables por lo que, hoy por hoy, el paradigma conexionista est firmemente consolidado.

3. El Modelo Evolutivo y los Algoritmos Genticos


Para entender el modelo evolutivo es preciso reconocer que la naturaleza es un ingeniero consumado. Lo es en el sentido de que los seres vivos representan la solucin al problema de la supervivencia de un organismo que se enfrenta a condiciones determinadas por el entorno en el que se desarrolla. El ms conocido pionero y defensor de este punto de vista fue Darwin quien observ que las especies evolucionan poco a poco a lo largo de intervalos de tiempo que, en la escala humana, resultan enormes; que las especies actuales son el fruto de

la acumulacin de innumerables cambios paulatinos de otras que las antecedieron y que lo que dirige esos cambios es la pertinencia que estos tienen al favorecer la subsistencia de los individuos de la especie en funcin de su medio ambiente. A mediados de este siglo se empezaron a comprender las razones por las que as ocurre. Watson y Crick explicaron el mecanismo de la herencia identificando la molcula de ADN (cido desoxirribonucleico) como la portadora de la informacin (a nivel celular) que determina las caractersticas del individuo. El ADN codifica al individuo (el genotipo) usando un alfabeto qumico muy simple y, al ser interpretado por el organismo que lo gesta, da origen al individuo mismo (el fenotipo). El ADN, pues, contiene la informacin de la mejor solucin (el individuo) al problema fundamental del ser vivo (la supervivencia). La teora de la evolucin que considera esta forma de transmisin de la informacin de una generacin a otra se denomina neodarwinismo. En los seres vivos la informacin, pues, se encuentra contenida en su ADN. Es informacin intrnseca que se deriva de un proceso de aprendizaje generacional. La idea de la Computacin Evolutiva y de los Algoritmos Genticos (AGs) en particular, es simular parcialmente el proceso anterior para lograr que una computadora aprenda. Es decir, que encuentre el mejor ADN: el que permita que el individuo sobreviva mejor frente a las condiciones de su entorno (el problema a resolver).

El Algoritmo Gentico Simple


La literatura reporta un gran nmero de variantes de AGs. Una de ellas (propuesta originalmente por Holland) se conoce como el AG Simple o AG Cannico. Opera de la siguiente forma [que ilustramos con un ejemplo]: a) Se identifica una forma de codificar la solucin al problema [Encontrar la solucin al sistema 1) f1 ( x, y ) = x 2 + y 2 + x + y 8 = 0 ; 2) f 2 ( x, y ) = xy + x + y 5 = 0 . La solucin consiste de dos nmeros. Cada uno de estos nmeros se codifica con 25 bits. El primer bit es el signo; los siguientes cuatro representan la parte entera y los ltimos 20 la parte decimal.] b) Se genera un nmero arbitrario n de posibles soluciones, al azar. [En este caso suponemos que n = 100 por lo que se generan 100 cadenas, cada una de ellas de 50 bits de longitud a las que se denomina el cromosoma o genoma]. Cada una de estas posibles soluciones es un individuo de la poblacin. En un AG el individuo es el genoma. c) Se determina una medida de adaptacin de los individuos. Esta medida nos permite calificar qu tan bien se adaptan al medio ambiente. [En el ejemplo, la medida de adaptacin es: Minimizar f1 ( x, y ) + f 2 ( x, y ) sujeto a que se cumpla que f1 ( x, y ) 0 y f 2 ( x, y ) 0 . Aquellos individuos que satisfagan las condiciones y que induzcan valores menores en f1 ( x, y ) y f 2 ( x, y ) reciben una mejor evaluacin; el medio ambiente les es ms favorable]. Los individuos se evalan y catalogan de acuerdo con su desempeo y se otorga una mayor probabilidad de supervivencia

a los individuos ms aptos. Puede pensarse que las calificaciones de los individuos definen las zonas de una ruleta. A mayor probabilidad, mayor rea le toca al individuo. En la figura 2 se ilustra un caso sencillo (n = 4 ). d) La ruleta se gira n veces. Se seleccionan los n individuos elegidos en este proceso. Ntese que los individuos ms aptos tienen mayores probabilidades de ser elegidos y que puede haber varias copias del mismo individuo. Aunque estadsticamente podemos esperar que los mejores individuos prevalezcan, nunca se predetermina cules son estos. En ese sentido, la seleccin induce una bsqueda aleatoria dirigida. Tenemos, pues, una nueva poblacin resultante de aplicar el operador de seleccin. e) Ahora seleccionamos al azar una pareja de individuos de la nueva poblacin. El ADN de stos (que llamamos los padres) se va a combinar con un proceso muy simple: escogemos un punto de cruzamiento aleatoriamente e intercambiamos los segmentos correspondientes a cada uno de los padres. Este proceso se ilustra en

Figura 2. Seleccin Proporcional. la figura 3. El denominado cruzamiento en un punto se repite n/2 veces, de manera que n padres dan origen a n descendientes o hijos. La poblacin derivada del operador de cruzamiento es distinta a la poblacin padre. f) Por ltimo, induciremos el tercer operador del AGS: el operador de mutacin. Su aplicacin consiste, simplemente, en elegir aleatoriamente un cierto nmero de bits de los genomas de la poblacin y cambiarlos: trocar los 0s por 1s y viceversa. La poblacin mutada es distinta de la poblacin cruzada. g) Los individuos de la nueva poblacin (seleccionada, cruzada y mutada) se evalan de uno en uno y los pasos (d), (e) y (f) se repiten hasta que se alcanza algn criterio de terminacin. Uno muy simple es establecer a priori el nmero de iteraciones (generaciones) durante las cuales se aplicarn los operadores genticos.

En el ejemplo que esbozamos, nuestra meta es que el AG termine encontrando aquellos individuos que satisfagan el sistema de (a); es decir, que encuentre los valores de las variables x e y que hagan cero a f1(x,y) y a f2(x,y) simultneamente. Nosotros hicimos un proceso anlogo al mencionado y el AG nos entreg los siguientes valores: x=0.99879679; y=2.00275002. El lector puede verificar fcilmente que una solucin exacta est dada por x=1 y y=2. El error en la solucin encontrada por el AG es de, aproximadamente, 0.01. De manera que, entre otras muchas aplicaciones, un AG nos ofrece un mtodo general de resolucin de ecuaciones simultneas no lineales!

Figura 3. Cruzamiento en un Punto. Decir que un AG funciona y entender por qu lo hace (y cuando no) son asuntos muy distintos. En un trabajo de esta naturaleza es imposible siquiera tratar de analizar el mecanismo gentico. El lector interesado puede consultar, por ejemplo, [11, 12, 13].

4. Redes Neuronales Genticas


Como ya se anot, los PMCRs dependen, de manera bsica, del algoritmo de retropropagacin (AR). Varios de los parmetros que un usuario de una RN debe determinar son impuestos por dicha forma de entrenamiento. Por ejemplo y L en las frmulas arriba, as como el momento, el factor de decaimiento de los pesos, el umbral de discriminacin y la constante de tiempo (que no se haban mencionado1 antes). Otros ms no dependen de AR. Por ejemplo, el tipo de funcin de activacin, el esquema de interconexin de la red, las disciplina de
1

El lector interesado puede referirse a [7].

aprendizaje, la forma de presentacin de las muestras de entrenamiento, etc. En un PMCR podemos contar ms de 45 parmetros! La idea que surge de inmediato, al conocer las bondades de los dos paradigmas anotados, el conexionista y el evolutivo, es evidente: sera posible hacer que una RN fuese optimizada (es decir, que sus parmetros de operacin fuesen elegidos de alguna manera que garantizara que estos han sido elegidos de manera cercana al ptimo)? La respuesta, evidente tambin, es SI. Podemos pedirle a un AG que busque (y encuentre) por nosotros cmo establecer a) La arquitectura de la red y/o b) Los valores de los parmetros de la misma. De esta forma, el proceso de eleccin del detalle de una RN para resolver tal o cual problema se hace menos heurstico. Se han desarrollado varios enfoques para estos dos problemas. Por ejemplo, Montana y Davis [1] han evolucionado los pesos de las RNs; Miller, Todd y Hegde [2] han evolucionado la arquitectura de la RN usando codificacin directa y Kitano [3] us codificacin gramtical para el mismo propsito. Una discusin ms detallada de tales aplicaciones puede ser encontrada en [4] y [5]. Para ello, por supuesto, hay que presumir que un AG no se encuentra plagado por la misma enfermedad: la necesidad de determinar sus propios parmetros de manera casustica. De lo anotado arriba no es evidente que este sea el caso. Parecera que un AG sufre de la misma dolencia que una RN: la necesidad de ser entonado para cada problema2. En los trabajos que se reportan los autores, de hecho, usaron AGs clsicos. Pero, recuerde el lector, que no existe el AG. De hecho, existe un sinnmero de variantes de AGs. Una vez elegida la variante adecuada, podemos desligarnos (relativamente) de la necesidad de establecer parmetros de manera heurstica. En un trabajo reciente [6] hemos atacado el problema de entrenar un PMCR usando un tipo de AG que brinda solidez y nos permite prescindir de la definicin de parmetros antes mencionada. Este tipo de AG que hemos denominado eclctico (AGE) incorpora una serie de caractersticas que lo hacen esencialmente diferente de un AG simple, a saber: Dada una poblacin de N individuos: a) Los mejores N individuos se mantienen siempre en la poblacin (elitismo global3), b) Durante el cruzamiento, las parejas son seleccionadas de manera determinstica apareando el mejor individuo con el peor; el segundo mejor con el segundo peor, y as sucesivamente, c) El cruzamiento se hace de manera anular, d) Los parmetros del AGE evolucionan junto con la mejor solucin y e) El AGE determina, de manera automtica, la conveniencia de invocar un algoritmo complementario llamado escalador de mutacin aleatoria. Con este algoritmo se resuelve una serie de problemas inherentes a un AGS4. Cuando se usa un AGE en vez del algoritmo de retropropagacin se hace innecesario definir los ya mencionados , L, el momento, el factor de decaimiento
2

En un AG simple hay que definir, a priori, el tamao de la poblacin, la probabilidad de cruzamiento y la probabilidad de mutacin. 3 En la literatura, a esta forma de manejo de la poblacin se le denomina seleccin + . 4 El lector interesado en el detalle del AGE puede consultar [7].

de los pesos, el umbral de discriminacin y la constante de tiempo. Ms an, podemos tratar de minimizar el error de entrenamiento relativo a otras medidas de distancia. En el trabajo mencionado hemos minimizado las siguientes normas5:
n 1 O ( i ) Z ( i ) MEE = 10 s s i =1 n 1 MAE = O(i ) Z (i ) s s i =1 n 1 MSE = (O(i ) Z(i ))2 s s i =1 SAE = max O(i ) Z (i ) s ,i
L L L

Estas normas simplemente denotan formas de medir qu tan adecuada es la respuesta de la i-sima neurona en relacin a la respuesta deseada. Hay dos medidas de qu tan exitoso es un mtodo de entrenamiento. Una es el ndice de entrenamiento (IE) que definimos como la razn entre el nmero de valores correctos arrojados por la RN cuando se le presenta el conjunto de entrenamiento y el nmero de elementos del conjunto. El otro es el ndice de generalizacin (IG) que es la razn entre el nmero de valores correctos obtenidos por la red cuando se le presentan datos fuera del conjunto de entrenamiento. El IE establece qu tan bien una RN puede aprender; el IG mide qu tan bien la RN puede generalizar. Encontramos tanto el IE como el IG para las redes neuronales genticas. Condujimos varios conjuntos de corridas. Entrenamos la red de 5 formas diferentes: uno para cada norma definida y uno para el PMCR tradicional.

Un Problema de Prediccin
Los resultados de un problema de prediccin se muestran en la Tabla 1. Aqu se tomaron las ventas anuales de una aerolnea comercial y, de las ventas del ao inmediato anterior y se predijo el comportamiento de sus ventas en el ao inmediatamente siguiente. Este es un problema de inters prctico pero de difcil solucin usando mtodos de aproximacin tradicionales. Particularmente, es difcil encontrar una forma adecuada de extrapolar los datos. Las RNs funcionan sorprendentemente bien (como se ver ms adelante) pero sufren de las desventajas ya citadas. Entrenamos la red usando el AR clsico y la entrenamos, tambin, evolucionando los pesos asociados a las neuronas usando las normas antes mencionadas. La conclusin es que podemos prescindir del algoritmo de entrenamiento tpico (retropropagacin) y reemplazarlo por un AG. Con ello

O(i) denota el valor observado y Z(i) denota el valor deseado.

disminuimos sensiblemente la necesidad de fijar parmetros de los que depende la operacin de la RN. Tabla 1. Aplicacin de Distintas Normas para un Problema de Prediccin PRUEBA (12 ELEMENTOS) Error Promedio MEE 5.74% MAE 9.34% MSE 10.04% SAE 9.50% PMCR 17.67% ENTRENAMIENTO (108 ELEMENTOS) Error Promedio MEE 10.62% MAE 5.27% MSE 5.26% SAE 5.68% PMCR 3.35%

Figura 4. Prediccin usando RNGs.

5. Conclusiones
Hay problemas de aprendizaje que pueden atacarse ventajosamente aprovechando las caractersticas del modelo conexionista. Sin embargo, la obtencin de la correcta disposicin de los elementos y/o parmetros de dichas redes ubica al usuario en una posicin incierta. Depende de su habilidad personal para poder sacar aprovechar las arquitecturas neuronales. Para evitar esta

dependencia casustica es posible usar el modelo evolutivo para afinar el comportamiento de la red. En este trabajo hemos no solamente mostrado que es posible combinar ambos paradigmas con las ventajas esperadas, sino que es posible determinar la bondad de las RNs usando otras medidas de desempeo. El campo donde se desarrollan ambos modelos es an incipiente pero est tomando cada vez ms auge. Debemos de esperar, en el futuro inmediato, que haya interesantes desarrollos que permitan explotar las ventajas conjuntas de ambos modelos.

Referencias
[1] Montana, D.J., and Davis, L.D., Training feedforward Networks using Genetic Algorithms, in Proceedings of the International Joint Conference on Artificial Intelligence, Morgan Kauffman, 1989. [2] Miller, G.F., Todd, P.M., and Hedge, S.U., Designing neural networks using genetic algorithms, in J.D. Schaffer, ed., Proceedings of the Third International Conference on Genetic Algorithms, Morgan Kauffman, 1989. [3] Kitano, H., Designing Neural Networks using genetic algorithms with graph generation system, Complex Systems 4:461-476, 1990. [4] Yao, X., A Review of Evolutionary Artificial Neural Networks, International Journal of Intelligent Systems, 8:539-567, 1993. [5] van Rooij, A.J.F., Jain, J.C., and Johnson, R.P., Neural Network Training using Genetic Algorithms, World Scientific, 1996. [6] Kuri, A., Training Neural Networks using Non-standard Norms Preliminary Results, MICAI 2000. [7] Kuri, A., A Comprehensive Approach to Genetic Algorithms in Optimization and Learning, Theory and Applications, Volume 1: Foundations, pp. 215-219, Ed. Politcnico, 1999. [8] Jain, A., Mohiuddin, K., Artificial Neurla Networks: A Tutorial, Computer, IEEE Computer Society, pp. 31-44, March, 1996. [9] Yao, X., Evolving Artificial Neural Networks, Proceedings of the IEEE, 87(9):1423-1447, September, 1999. [10] Kuri, A., Non-standard Norms in Genetically Trained Neural Networks, First IEEE Symposium on Combinations of Evolutionary Computation and Neural Networks, May 11-12, 2000, San Antonio. [11] Holland, J., Adaptation in Natural and Artificial Systems, Ann Arbor, Mich., University of Michigan Press, 1975. [12] Mitchell, M., Forrest, S., and Holland, J., The Royal Road for Genetic Algorithms: Fitness Landscapes and GA Performance, in F.J. Varela and P. Bourgine, eds., Toward a practice of autonomous systems: Proceedings of the First European Conference on Artificial Life, MIT Press, 1992. [13] Rudolph, G., Convergence Analysis of Canonical Genetic Algorithms, IEEE Transactions on Neural Networks, 5(1):96-101, January, 1997.

Angel Fernando Kuri Morales Profesor investigador del Centro de Investigacin en Computacin (CIC) del Instituto Politcnico Nacional desde 1996. En 1974 se gradu como Ingeniero Mecnico Electricista en la Universidad Anhuac. En 1976 recibi un grado de maestra en Ciencias de la Computacin de la Universidad de Illinois en UnrbanaChampaign, USA. En 1986 recibi el grado doctoral de Kennedy-Western University, con la tesis Genetic Automata and Information System Losslessness. El Dr. Kuri ha incursionado en los campos de inteligencia artificial, diseo de sistemas electrnicos digitales, arquitectura de computadoras, telecomunicaciones, desarrollo de sistemas de informacin, modelacin matemtica de sistemas de informacin, entre otros. En varias ocasiones ha sido incluido en las ediciones de Who is Who in The World. Ha sido profesor titular del programa de Ciencias de la Computacin de la UNAM desde 1978. Ha sido socio fundador de las empresas Micromex, Idet Ingeniera, Idet Consultores e Idet Centro de Capacitacin. En 1999 public el libro A Comprehensive Approach to Genetic Algorithms in Optimization and Learning. Se ha desempeado como Subdirector de Investigacin Aplicada del CIC desde 1996. Telfono: Fax: e-mail: 5729-6000 ext 56547 5729-6000 ext 56607 akuri@pollux.cic.ipn.mx

You might also like