Source: http://docplayer.es/1966240-Utgenes-framework-para-implementacion-y-estudio-de-algoritmos.html
Timestamp: 2017-02-19 17:19:39+00:00

Document:
UTgeNes - Framework para Implementación y Estudio de Algoritmos - PDF
Download "UTgeNes - Framework para Implementación y Estudio de Algoritmos"
Álvaro Soto Prado
1 UTgeNes - Framework para Implementación y Estudio de Algoritmos Genéticos Abstract UTgeNes es un framework para la implementación y estudio de algoritmos genéticos propuesto para la realización de trabajos prácticos por parte de los estudiantes de la asignatura Inteligencia Artificial. Su principal propósito es brindar una estrategia simple de construcción de soluciones mediante el aprovechamiento del paradigma orientado a objetos y las virtudes del lenguaje Java. Para ello, cuenta con todas las técnicas abordadas en el programa de la asignatura para que los estudiantes puedan comparar las distintas configuraciones y variantes de cada solución propuesta. Palabras Clave Algoritmos Genéticos. Computación Evolutiva. Framework. Inteligencia Artificial. Introducción Los Algoritmos Genéticos (AG) como estrategia para la resolución de problemas computacionales puede ser implementada mediante el uso de varios frameworks actualmente disponibles en lenguaje Java, tales como JGAP [1], EJC [2], EpochX [3] y WatchMaker [4]. Sin embargo, la curva de aprendizaje de cualquiera de estos frameworks ha de ser significativamente empinada para los estudiantes, no sólo por estar documentados e implementados en idioma inglés, sino porque modelar una posible solución requiere conocimiento de lenguaje de bajo nivel y representaciones binarias de las características de los individuos. Aunque la representación de cada característica de los individuos con segmentos de bits es el enfoque clásico propuesto por Holland en [5], esto suele generar complicaciones al momento de implementar la función de aptitud. En este contexto, el framework UTgeNes simplifica la resolución de problemas con algoritmos genéticos, tomando las ventajas del modelado orientado a objetos y las facilidades que brinda Java como lenguaje de programación. De esta forma, los conceptos de abstracción, herencia, polimorfismo, delegación, encapsulamiento y otros derivados de la programación orientada a objetos, son utilizados para que el usuario pueda ocuparse de la representación e implementación del problema a resolver y no en el desarrollo de elementos de bajo nivel. Funcionamiento básico de los Algoritmos Genéticos El esquema básico a alto nivel estudiado durante el curso de la asignatura Inteligencia Artificial plantea la estructura de los AG que se indica en la Figura 1. Figura 1: Diagrama de un algoritmo genético El algoritmo se inicia en la generación de una población de individuos, generalmente con atributos de valores aleatorios. Esta población inicial luego es introducida en el operador de selección para seleccionar o filtrar algunos de sus individuos (generalmente los más aptos según la utilidad de sus características), para acotar la muestra de individuos totales a un conjunto menor. De2 esta forma, este conjunto está formado generalmente por los individuos más relevantes, la elite, de esa población. Sin embargo, debe tenerse en cuenta que algunos operadores (como es el caso del de Ruleta ) también seleccionan individuos no tan aptos para mantener así un nivel aceptable de diversidad. Los individuos que han sido seleccionados son combinados en una fase posterior, utilizando el operador de cruzamiento. Aquí se intercambian sus atributos para generar nuevos individuos y de esta forma generar nuevas posibles soluciones para el problema a resolver. Más tarde, con los individuos generados en el cruzamiento, se evalúa la posibilidad de que uno de esos individuos modifique alguna de sus características mediante el operador de mutación. Entonces, si la probabilidad de mutación es superior a una prefijada, se altera aleatoriamente alguno de los atributos de un individuo tomado al azar. Finalmente, se decide si el algoritmo debe finalizar su ejecución o continuar con un nuevo ciclo desde la selección de la población con los individuos disponibles luego de mutación. Debe notarse que para cada una de estos operadores, se proponen distintas técnicas que logran alterar el comportamiento del algoritmo para poder obtener mejores individuos soluciones en forma más óptima. Implementación del framework UTgeNes Para la implementación del algoritmo fue necesario diseñar e implementar: 1. Una clase que controle el funcionamiento general del algoritmo genético. 2. Una clase que contenga la configuración inicial definida para el algoritmo. 3. Una clase para definir de forma genérica a los individuos de la población que va a ser sometida al algoritmo junto con su función de aptitud. 4. Una clase para conservar el estado del algoritmo durante toda su ejecución. 5. Clases abstractas para modelar cada uno de los operadores: Selección, Cruzamiento, Mutación y Criterio de Finalización. A continuación se describen las características de cada una de estas clases: 1. Clase AlgoritmoGenetico Esta es la clase fundamental que controla la ejecución de todo el ciclo de resolución del problema y punto de entrada para la utilización del algoritmo. Según su configuración inicial, parametrizada cuando se instancia esta clase, es posible modificar la forma en que las poblaciones de individuos van evolucionar generación tras generación para generar así una población final que cuente con las características más aptas para la resolución del problema. El esquema general de esta clase se puede ver en la figura 2. Figura 2: Diagrama de la clase fundamental ejecutora del algoritmo genético. 2. Clase Configuración Esta clase permite al usuario definir los parámetros generales de configuración que serán utilizados durante la ejecución del algoritmo como son el criterio de paro, tamaño de la población inicial, y los métodos de selección, cruzamiento y mutación a ser utilizados. Para simplificar su uso, el framework cuenta con dos clases concretas que heredan de esta clase y que ya tienen definido parámetros de configuración por defecto. Estas clases son: ConfiguracionDefault: o Criterio de Paro: Cantidad de ciclos, 99 ciclos o Tamaño de la población inicial: 999 individuos o Método de Selección: Torneo o Método de Cruzamiento: Simple o Método de Mutación: Simple, con un 20% de probabilidad constante3 Configuracion5Min: o Criterio de Paro: Tiempo transcurrido, finaliza en 5 minutos. o Tamaño de la población inicial: 999 individuos o Método de Selección: Torneo o Método de Cruzamiento: Simple o Método de Mutación: Simple, con un 20% de probabilidad constante Ambas configuraciones pueden ser utilizadas para implementarse en las ejecuciones del algoritmo, y a su vez, también pueden ser extendidas según se requiera. 3. Clase Individuo Esta clase es la que encapsula la representación de las posibles soluciones del problema que se desea resolver. Por lo que su definición es esencial para el funcionamiento del framework. Para ello, emula a cada individuo con su respectivo cromosoma (atributos) como solución potencial y la cuenta con métodos que permiten realizar la comparación entre individuos usando su aptitud. Su estructura se muestra en la Figura 5. Figura 3: Diagrama de la clase abstracta Individuo Cabe destacar que el único método que se debe definir es el de aptitud(). Este método cuantificará la medida en que cada individuo resuelve el problema de acuerdo a sus características. 4. Clase Estado Esta clase instancia un objeto que mantiene un estado general del algoritmo. Sus propiedades permiten acceder a las aptitudes promedio de los individuos cuales son los mejores y peores individuos de cada población, entre otras cosas. La razón de su existencia es facilitar el cálculo de los promedios de valores y la obtención de estadísticas históricas del algoritmo durante toda la corrida. Es decir, esta clase puede ser utilizada para visualizar los resultados que se van generando por cada ciclo de ejecución del framework. 5a. Clase Selección Los criterios de selección incluidos en UTgeNes se utilizan para discriminar y descartar a los individuos que no son candidatos a soluciones lo suficientemente buenas. Los individuos seleccionados recibirán una cantidad de copias de acuerdo al criterio de selección y su función de aptitud. Para mantener siempre el mismo tamaño de la población, se toma aleatoriamente a un individuo existente de la población y lo clona o elimina según sea el caso de necesitar más o menos individuos respectivamente. Las posibles instancias de esta clase se corresponden con distintas formas de realizar la selección de individuos. Estas instancias ya incluidos en el framework son: Torneo: Ejecuta la comparación de las funciones de aptitud de cada par de individuos y selecciona al más apto de ese par. Ranking: Selecciona sólo los n individuos más aptos. La cantidad de individuos seleccionados dependerá del parámetro inicial de configuración de esta clase. Una vez seleccionados los individuos, asigna una cantidad de copias de acuerdo a su función de aptitud para que a los mejores le correspondan más copias que a los peores. Ruleta: Asigna a cada individuo un rango de valores de un tamaño porcentual directamente proporcional a la función de aptitud de cada uno y luego de generar un valor aleatorio perteneciente a alguno de esos valores, selecciona al individuo cuyo rango encierre a ese valor. Este proceso se realiza sucesivas veces hasta que logre completar la cantidad requerida de individuos. ControlSobreNumeroEsperado: Calcula el promedio de las aptitudes de los individuos y comparar ese promedio contra cada uno de los individuos. A cada in-4 dividuo le asigna un porcentaje de copias de acuerdo a la cantidad entera de veces que el valor de la aptitud de ese individuo supere el promedio total de aptitudes. Luego, con el resultado de la resta de esa cantidad entera y el promedio, obtendrá un valor decimal y con este valor, aplicará el método de Ruleta detallado anteriormente. 5b. Clase Cruzamiento Para realizar el intercambio de características de los individuos seleccionados, se pueden utilizar varias técnicas. Como todas estas pueden ser vistas como especializaciones del cruzamiento por máscara doble (la cual utiliza una máscara para determinar las características que son utilizadas de cada padre para generar cada hijo), las otras técnicas internamente invocan al método correspondiente de esta clase como se puede ver en la Figura 4. Figura 4: Diagrama de clases para la implementación del operador de cruzamiento. 5c. Clase Mutación Los mecanismos de mutación implementados en UTgeNes cumplen con el requisito de diversificar las características de los individuos establecido por los algoritmos genéticos. El mecanismo de mutación es el mismo para cualquier tipo de mutación: se genera un nuevo individuo de características aleatorias que se cruza con un individuo existente en la población seleccionado en forma aleatoria. Entonces la diferencia entre los diferentes formas de mutación radica en el cálculo de la probabilidad de mutación para determinar si corresponde mutar o no. Para ello el framework incluye las siguientes posibilidades: MutacionSimple: Permite definir en la configuración inicial una probabilidad que se mantendrá constante a lo largo de toda la corrida del algoritmo. MutacionAdaptativaPorConvergencia: Aumenta la probabilidad de mutación proporcionalmente de acuerdo a la diferencia haya entre la aptitud el mejor y el peor de los individuos. MutacionTemperaturaDescendente: La probabilidad de mutación es inversamente proporcional a la cantidad de ciclos ejecutados por el algoritmo. Entonces, la probabilidad de mutación disminuye con el transcurso del tiempo de ejecución del algoritmo. MutacionTemperaturaAscendente: La probabilidad de mutación es directamente proporcional a la cantidad de ciclos ejecutados por el algoritmo. Entonces, la probabilidad de mutación aumento con el transcurso del tiempo de ejecución del algoritmo. 5d. Clase Criterio de Finalización Los criterios de finalización definidos para en UTgeNes responden a distintos comportamientos validando una condición particular al analizar el estado del algoritmo: AptitudMinima: Evalúa si alguno de los individuos cumple con un valor de función de aptitud igual o mayor a un valor definido. Con esto asegura el cumplimiento de las expectativas mínimas de la solución. AptitudMinimaPromedio: Evalúa si el promedio de los valores de las aptitudes de todos los individuos de la población5 es igual o mayor a un valor definido. Con esto asegura una población suficientemente buena, en promedio, como para garantizar que la solución será igual o mejor que ese promedio alcanzado. CantidadDeCiclos: Evalúa la cantidad de ciclos ejecutados por el algoritmo y finalizará la ejecución si esa cantidad de ciclos es igual o mayor a una cantidad de ciclos definida inicialmente. TiempoTranscurrido: Evalúa el tiempo transcurrido desde el inicio de la ejecución del algoritmo y lo comparará contra el tiempo inicialmente definido. Si se ha ejecutado el algoritmo durante la cantidad de horas, minutos y segundos definidos, el algoritmo finalizará. Cabe destacar que los criterios de finalización TiempoTranscurrido y Cantidad- DeCiclos, no tienen en cuenta los valores de la población final. Por lo cual, los individuos resultantes puede no ser lo suficientemente apto como se desea. Sin embargo, estos criterios son muy útiles cuando el tiempo de respuesta esperado para la ejecución del algoritmo es crucial en la implementación. Por otro lado, los criterios AptitudMinima y AptitudMinimaPromedio pueden ejecutar durante mucho más tiempo y hasta podrían llegar a provocar que el algoritmo nunca finalice. Teniendo en cuenta estas clases, para construir el algoritmo genético, se arma una red de objetos como se muestra en la Figura 5. El punto de entrada será la instancia de AlgoritmoGenetico que contendrá los operadores asignados a la configuración, el estado interno del algoritmo y los individuos definidos de acuerdo a la implementación requerida. Luego de la ejecución, el resultado final se encontrará en instancias de la clase Individuo. Todas las clases descriptas previamente se encuentran disponibles en [7] para su utilización. Figura 5: Diagrama de clases para la implementación del algoritmo genético. Caso de Estudio Para ilustrar la utilización del framework UTgeNes en la resolución de un problema se lo utilizará el problema descripto en [8] el cual consiste en encontrar el máximo de una función matemática que se indica en la Figura 6. Figura 6: Función del caso de estudio Esta función en el rango [0; 15] se puede representar en la figura 7 donde se puede ver que el máximo valor de la curva se encuentra en el rango (11; 11,5). Figura 7: Gráfica resultante del análisis del caso de estudio6 Preparación del framework Para resolver este problema, se requiere definir las características de cada individuo y la función de aptitud que evalúe el valor máximo. o Para cada individuo se debe poseer un atributo capaz de tomar cualquier valor real en el rango [0; 15]. Este valor se identificará con la variable x. o La función de aptitud evalúa el valor de la función consigna y destaca a los individuos cuyo valor de retorno de esta función es mayor. Los pasos para generar el código para implementar esta solución son los siguientes: 1. Se extiende la clase Individuo desde la clase X. 2. Se declara un atributo x de tipo Doble. 3. Se define la función de aptitud donde se ejecuta la función a analizar y se retorna el valor resultante. Si el valor del atributo x se encuentra fuera del rango permitido se retorna una valor bajo para que ese individuo sea descartado en la selección. 4. Se declaran los métodos correspondientes para acceder al atributo x. En otras palabras se genera el siguiente código: 1. public class X extends Individuo { 2. private Double x; public double aptitud() { if (this.x < 0 this.x > 15) { return 0; return Math.abs((this.x - 5) / (2 + Math.sin(this.x))); 4. public Double getx() { return x; public void setx(double x) { this.x = x; 5. Luego se crea una nueva instancia de la clase AlgoritmoGenetico con la configuración predefinida indicada por la clase ConfiguracionDefault. 6. Finalmente se ejecutar esa instancia para obtener el individuo solución que más se adapte a las condiciones del problema. public static void main(string[] args) { AlgoritmoGenetico max = new AlgoritmoGenetico(new ConfiguracionDefault(), X.class); 6. Individuo x = max.ejecutar();... Análisis del comportamiento del algoritmo Al ejecutar el algoritmo planteado anteriormente, se extrajeron los resultados de cada ciclo y se calculó la función de aptitud para el mejor y el peor individuo, además de un promedio de los valores de todos los individuos resultantes de la población como se puede ver en la Figura 8. Figura 8: Gráfica resultante de una ejecución particular del caso de estudio. En las celdas resaltadas con color rojo, se puede observar que un muy buen individuo fue generado en la población inicial y se mantuvo a lo largo de 54 iteraciones. Sin embargo, en la iteración 55, se generó un nuevo individuo más apto. Éste último individuo se mantuvo como el mejor de todas las generaciones futuras hasta finalizar la corrida. En la figura del costado se representa mediante curvas el valor de la función de aptitud del mejor individuo de la población en cada iteración (curva superior), el promedio de todos los individuos (curva del medio) y del peor individuo (curva inferior).7 Para la aptitud del mejor individuo se puede ver existe un salto en la iteración número 55 donde el mejor individuo surge con un nuevo valor en su función de aptitud. Para el promedio de todos los individuos de la población de cada iteración, se ve un crecimiento rápido de esta curva en las primeras iteraciones del algoritmo ya que la población inicial generó muchos individuos no válidos con aptitud cero y el promedio de todas las aptitudes fue relativamente bajo. Luego, al evolucionar la población, el algoritmo fue descartando los individuos poco aptos y generando individuos resultantes con funciones de aptitud bastante similares a la mejor manteniendo este promedio. Finalmente la curva de la aptitud de los peores individuos tiene un comportamiento bastante caótico. Esto se produce por las mutaciones que generan nuevos individuos con función de aptitud de valor cero (cada raíz de esta curva). Cabe destacar que el valor del mejor individuo de toda la corrida del algoritmo, es menos que el esperado, sin embargo, se acerca significativamente. Luego de realizar 10 diferentes ejecuciones del framework con esta configuración, se obtuvieron los siguientes resultados que se indican en la tabla 1. En dicha tabla, se puede observar un porcentaje promedio de un 20% de mutaciones en relación al total de ciclos de cada corrida del algoritmo tal y como lo establece el parámetro de configuración de la mutación, cómo los individuos no válidos se rechazan y cómo los valores de la solución oscilan cerca del valor óptimo buscado. Por otro lado, luego se ha probado resolver este mismo problema aplicando diferentes configuraciones del algoritmo como se puede ver en la tabla 2. Esta tabla contiene los resultados obtenidos para varias corridas del mismo algoritmo utilizando la configuración indicada. Analizando estos resultados, se demuestra que las soluciones obtenidas para cada caso, convergen a un resultado similar y siempre con una aproximación apropiada al resultado óptimo esperado. # Mejor Individuo Valor / Aptitud x = / f(x) = x = / f(x) = x = / f(x) = x = / f(x) = x = / f(x) = x = / f(x) = x = / f(x) = x = / f(x) = x = / f(x) = x = / f(x) = Peor Individuo Valor / Aptitud x = x = x = x = x = x = x = x = x = x = Tabla 1: Resultados de 10 ejecuciones Configuración Selección: Ranking ( 30 ) Cruzamiento: Binomial Azar Mutación: Adaptativa por Convergencia Selección: Ruleta Cruzamiento: Binomial Azar Complemento Mutación: Temperatura Ascendente Selección: Control Sobre Numero Esperado Cruzamiento: Simple Punto Fijo ( Punto=1 ) Mutación: Temperatura Descendente Selección: Ruleta Cruzamiento: Binomial Mascara Complemento ( Mascara="X" ) Mutación: Simple ( 90% ) Mejor Individuo Valor / Aptitud x = / f(x) = x = / f(x) = x = / f(x) = x = / f(x) = Tabla 2: Ejecuciones con distintas configuraciones8 Discusión de los Resultados Comparando los resultados de las ejecuciones del algoritmo genético se puede afirmar que entre todos los casos este método de resolución de problemas tiene un resultado promedio de 11,11665 y el promedio de valores de la función de aptitud es de 5,7195. El porcentaje de margen de error entre el valor óptimo que se calcula matemáticamente y el valor calculado por el algoritmo genético es menor al 5% por lo cual, se puede concluir que el método de obtención del máximo de esta función es 95% efectivo. De esta manera, queda demostrada, una de las múltiples variantes de utilización del framework para la resolución de problemas y su porcentaje de exactitud con respecto al método óptimo matemático. Conclusión La simplicidad y practicidad de la implementación del problema ejemplo en el código y sus características de orientación a objetos expuestas a lo largo de este documento avalan la utilización de UTgeNes como framework para resolver problemas mediante la técnica de algoritmos genéticos. Se destacan sus características de versatilidad y consistencia para cualquier cambio en la configuración de operadores que se requieran utilizar en cada caso. Además de los operadores y mecanismos propuestos, gracias a la orientación a objetos, UTgeNes puede ser extendido en cualquiera de sus características manteniendo el mismo comportamiento y estabilidad para la resolución de problemas, logrando así, gran flexibilidad y adaptación a las necesidades de cada implementación. Con UTgeNes se logra abstraer al programador de la implementación a bajo nivel del algoritmo genético dejando en sus manos sólo la definición de algunas variantes de configuración necesarias y la implementación de un Individuo focalizándolo en el modelado de las características y función de aptitud que requiere el problema a resolver. Agradecimientos Al a cátedra de Inteligencia Artificial de la UTN- FRBA y a sus profesores por la oportunidad: Mg María Florencia Pollo-Cattaneo, Ing Cinthia Vegega y Mg Pablo Pytel. A Mg Pablo Pytel por sus correciones y guía en el presente trabajo. A la Ingeniera María Cecilia Vallejos por su paciencia y ayuda durante la elaboración del presente trabajo. Referencias [1]. JGAP [2]. ECJ - sistema de investigación EC y GP codificado en Java. [3]. EpochX - framework de algoritmos genéticos. [4]. The Watchmaker - framework de algoritmos genéticos. [5]. Holland, John H. Adaptation in natural and artificial systems: An introductory analysis with applications to biology, control, and artificial intelligence. U Michigan Press, [7]. Juhal, G. F. UTgeNes. https://github.com/gooznt/utgenes [8]. Algoritmos Genéticos Ejemplo. Datos de Contacto Gustavo Francisco Juhal. Universidad Tecnológica Nacional. Facultad Regional de Buenos Aires. Documentos relacionados
Algoritmos genéticos como métodos de aproximación analítica y búsqueda de óptimos locales Jorge Salas Chacón A03804 Rubén Jiménez Goñi A93212 Juan Camilo Carrillo Casas A91369 Marco Vinicio Artavia Quesada Más detalles Un algoritmo genético híbrido para resolver el EternityII. Rico, Martin; Ros, Rodrigo Directora: Prof. Dra. Irene Loiseau
Un algoritmo genético híbrido para resolver el EternityII Rico, Martin; Ros, Rodrigo Directora: Prof. Dra. Irene Loiseau Temas Temas Introducción Eternity II Historia Descripción Demo Metaheurísticas Algoritmos Más detalles Introducción a la Computación Evolutiva
Introducción a la Computación Evolutiva Sección de Computación CINVESTAV-IPN Av. IPN No. 2508 Col. San Pedro Zacatenco México, D.F. 07300 email: ccoello@cs.cinvestav.mx http: //delta.cs.cinvestav.mx/~ccoello Más detalles UNIVERSIDAD CATOLICA DE COLOMBIA FACULTAD DE INGENIERIA DE SISTEMAS
UNIVERSIDAD CATOLICA DE COLOMBIA FACULTAD DE INGENIERIA DE SISTEMAS CURSO: JAVA BASICO PROFESOR: EMERSON CASTAÑEDA SANABRIA TEMA: Programación Orientada a Objetos OBJETIVOS: Familiarizarse con la Programación Más detalles Introducción a los Algoritmos Genéticos
Introducción a los Algoritmos Genéticos Francisco José Ribadas Pena INTELIGENCIA ARTIFICIAL 5 Informática ribadas@uvigo.es 17 de octubre de 2005 c FJRP 2005 ccia IA Métodos de 8 < : 1 Introducción 9 = Más detalles Prácticas de Programación
Prácticas de Programación Tema 1. Introducción al análisis y diseño de programas Tema 2. Clases y objetos Tema 4. Tratamiento de errores Tema 5. Aspectos avanzados de los tipos de datos Tema 6. Modularidad Más detalles ALGORITMOS GENÉTICOS
Algoritmos Genéticos Y Optimización n Heurística Dr. Adrian Will Grupo de Aplicaciones de Inteligencia Artificial Universidad Nacional de Tucumán awill@herrera.unt.edu.ar Operadores de Mutación El operador Más detalles Algoritmos Genéticos. Introduccion a la Robótica Inteligente
Algoritmos Genéticos Introduccion a la Robótica Inteligente 7 Marzo 2014 (IRIN) AGs 7/03/2014 1 / 43 Índice 1 Introducción 2 Algoritmos Genéticos 3 Algunos Fundamentos Matemáticos 4 Conclusiones (IRIN) Más detalles Curso de Java POO: Programación orientada a objetos
Curso de Java POO: Programación orientada a objetos Luis Guerra Velasco Curso INEM 02830. Programación en Java Marzo 2010 Índice 1 Introducción a la POO 2 Herencia y polimorfismo 3 Empaquetado de proyectos Más detalles Introducción a los Tipos Abstractos de Datos
Página 1 de 8 Introducción a los Tipos Abstractos de Datos Introducción: Concepto de abstracción Abstracción funcional y abstracción de datos Construcción de tipos abstractos de datos Especificación de Más detalles Basic Object Oriented Programming (BOOP) Gramática del Lenguaje. Ever Mitta Flores
Ever Mitta Flores Índice 1. Clase @Principal...3 2. Comentarios...3 3. Definición de Atributos...3 4. Definición de Métodos...4 5. Declaración de Variables...4 6. Asignación de Valores...5 7. Definición Más detalles Algoritmos Genéticos
Introducción a la Computación Evolutiva Tercera Clase: Algoritmos Genéticos Algoritmos Genéticos Desarrollados en USA durante los años 70 Autores principales: J. Holland, K. DeJong, D. Goldberg Aplicados Más detalles Programación Orientada a Objetos en Java
Programación Orientada a Objetos en Java Curso 2006-2007 Tema 4 Herencia y Polimorfismo Gonzalo Méndez Pozo Dpto. de Ingeniería de Software e Inteligencia Artificial Universidad Complutense de Madrid Herencia Más detalles PROGRAMACION ORIENTADA A OBJETOS CON PHP
PROGRAMACION ORIENTADA A OBJETOS CON PHP COMO SE DEFINE EN PHP La programación orientada a objetos es una metodología de programación avanzada y bastante extendida, en la que los sistemas se modelan creando Más detalles Introducción a los Algoritmos Genéticos. Tomás Arredondo Vidal 17/4/09
Introducción a los Algoritmos Genéticos Tomás Arredondo Vidal 17/4/09 Esta charla trata de lo siguiente: Introducción a algunos aspectos de los algoritmos genéticos. Introducción a algunas aplicaciones Más detalles 2.1. Introducción al lenguaje Java
Bloque II. Elementos del lenguaje de programación Java 1.Introducción a los lenguajes de programación 2. Estructura de un programa 3. Datos y expresiones simples 4. Instrucciones de control 5. Entrada/salida Más detalles Búsqueda Local. cbea (LSI-FIB-UPC) Inteligencia Artificial Curso 2011/2012 1 / 33
Introducción Búsqueda Local A veces el camino para llegar a la solución no nos importa, buscamos en el espacio de soluciones Queremos la mejor de entre las soluciones posibles alcanzable en un tiempo razonable Más detalles 2.2.- Paradigmas de la POO
2.2.- Paradigmas de la POO Los principios propios de la orientación a objetos son: 2.2.1.- Abstracción de Datos 2.2.2.- Encapsulamiento 2.2.3.- Ocultamiento 2.2.4.- Herencia 2.2.5.- Polimorfismo Cualquier Más detalles Tema: Patrones de Diseño.
Programación II. Guía 13 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II Tema: Patrones de Diseño. Objetivos Específicos Implementar la aplicación de patrones de diseño como herramientas Más detalles &$3Ì78/2 $/*25,7026 (92/87,926 $9$1=$'26 3$5$ 763 6.1. INTRODUCCIÓN
&$3Ì78/2 6.1. INTRODUCCIÓN Los primeros avances para solucionar el TSP, por medio de Algoritmos Evolutivos han sido introducidos por Goldberg y Lingle en [68] y Grefenstette en [72]. En éste área muchos Más detalles PROYECTO FIGURAS DIAGRAMA DE FLUJO
FIGURAS JAVA ~ 1 ~ PROYECTO FIGURAS 1. Crear una clase Figura, abstracta 2. Añadirle los métodos vacíos a. CalcularPerimetro() public Devolver double b. Calcular() public Devolver double 3. Crear la clase Más detalles Computación Evolutiva: Técnicas de Selección
Computación Evolutiva: Técnicas de Selección Dr. Gregorio Toscano Pulido Laboratorio de Tecnologías de Información Centro de Investigación y de Estudios Avanzados del IPN Cinvestav-Tamaulipas Dr. Gregorio Más detalles Lenguajes de Programación Curso 04-05. Práctica 4. Herencia. Utilización de interfaces y clases abstractas. 1. Interfaces 1. 2. Clases abstractas 2
Objetivos Herencia. Utilización de interfaces y clases abstractas. Índice 1. Interfaces 1 2. Clases abstractas 2 3. Collections Framework 3 3.1. Collection........................................... 3 Más detalles Computación Evolutiva. Inteligencia Computacional Dra. Maricela Bravo
Computación Evolutiva Inteligencia Computacional Dra. Maricela Bravo Introducción - Evolución La evolución es un proceso de optimización con el objetivo de mejorar la habilidad de un organismo o sistema Más detalles I.E.S.MEDITERRÁNEO CURSO 2015 2016 DPTO DE MATEMÁTICAS PROGRAMA DE RECUPERACIÓN DE LOS APRENDIZAJES NO ADQUIRIDOS EN MATEMÁTICAS DE 3º DE E.S.O.
PROGRAMA DE RECUPERACIÓN DE LOS APRENDIZAJES NO ADQUIRIDOS EN MATEMÁTICAS DE 3º DE E.S.O. Este programa está destinado a los alumnos que han promocionado a cursos superiores sin haber superado esta materia. Más detalles 10550 Programming in Visual Basic with Microsoft Visual Studio 2010
10550 Programming in Visual Basic with Microsoft Visual Studio 2010 Introducción Este curso le enseña sintaxis de lenguaje Visual Basic, estructura de programa e implementación al utilizar Microsoft Visual Más detalles UNIDAD 2: Abstracción del Mundo real Al Paradigma Orientado a Objetos
2.1. Principios básicos del Modelado de Objetos UNIDAD 2: Abstracción del Mundo real Al Paradigma Orientado a Objetos Hoy en día muchos de los procesos que intervienen en un negocio o empresa y que resuelven Más detalles Temario III Algoritmos Combinatorios y Metaheurísticas
ECJ GENETIC A Java-based Evolutionary Computation and Genetic Programming Research System Néstor Arias (naariasm@unal.edu.co) CONTENIDO Qué es ECJ? Características Generales. Características de GP. Proceso Más detalles Partes de un programa en Java. A. Ejemplo de un Programa en Java /* Programa Ejemplo de Java: Muestra una Ventana Archivo: Ejemplo1.
Partes de un programa en Java A. Ejemplo de un Programa en Java /* class Ejemplo1 { //comienza la clase Ejemplo1. public static void main(string[] args) { // comienza el método main. JFrame miventana; Más detalles Algoritmos Genéticos Y
Algoritmos Genéticos Y Optimización n Heurística Dr. Adrian Will Grupo de Aplicaciones de Inteligencia Artificial Universidad Nacional de Tucumán awill@herrera.unt.edu.ar Algoritmos Genéticos - Operadores Más detalles Programación Avanzada para Sistemas de Telecomunicación. Objetos y clases. J.C. Cruellas. Objetos y clases
Programación Avanzada para Sistemas de Telecomunicación Objetos y clases Juan Carlos Cruellas cruellas@ac.upc.es Objetos y clases Concepto de objeto. Concepto de clase. Clases, objetos y programas. Clases Más detalles Unidad II. - Las técnicas en las que se basó, las categorías de análisis o ejes centrales que permiten guiar el proceso de investigación.
Unidad II Metodología de Solución de Problemas 2.1 Descripción del problema (enunciado). Este aspecto nos indica describir de manera objetiva la realidad del problema que se esta investigando. En la descripción Más detalles SIMULACIÓN CAPITULO 3 LECTURA 6.3. SIMULACIÓN Y ANÁLISIS DE MODELOS ESTOCÁSTICOS Azarang M., Garcia E. Mc. Graw Hill. México 3.
LECTURA 6.3 SIMULACIÓN Y ANÁLISIS DE MODELOS ESTOCÁSTICOS Azarang M., Garcia E. Mc. Graw Hill. México CAPITULO 3 SIMULACIÓN 3.1 INTRODUCCIÓN Simulación es el desarrollo de un modelo lógico-matemático de Más detalles 15. Parámetros o argumentos
UNED Centro Asociado de Cádiz RESUMEN DE CONCEPTOS BASICOS DE PROGRAMACION JAVA 1. OBJETOS Cualquier elemento del programa es un objeto. Un programa es un conjunto de objetos que se comunican entre sí Más detalles Procesamiento Digital de Imágenes. Compresión de imágenes
FICH, UNL - Departamento de Informática - Ingeniería Informática Procesamiento Digital de Imágenes Guía de Trabajos Prácticos 8 Compresión de imágenes 2010 1. Objetivos Analizar las características y el Más detalles Apuntes de Matemática Discreta 7. Relaciones de Orden
Apuntes de Matemática Discreta 7. Relaciones de Orden Francisco José González Gutiérrez Cádiz, Octubre de 2004 Universidad de Cádiz Departamento de Matemáticas ii Lección 7 Relaciones de Orden Contenido Más detalles Analizar, diseñar, desarrollar e implementar soluciones orientadas a objetos utilizando encapsulamiento, herencia, polimorfismo y archivos.
Nombre de la asignatura: Programación Orientada a Objetos Créditos: 2-3- 5 Aportación al perfil Desarrollar, implementar y administrar software de sistemas o de aplicación que cumpla con los estándares Más detalles Tema 1. Introducción a los TAD
Tema 1. Introducción a los TAD Objetivos En este tema nos ocupamos inicialmente del concepto de abstracción, dedicando la mayor atención a la abstracción de datos, estudiando aspectos relacionados con Más detalles AUDITORIA ESPECIFICA SEGURIDAD LOGICA Y FISICA SISTEMAS ORIENTADOS A OBJETOS
AUDITORIA ESPECIFICA SEGURIDAD LOGICA Y FISICA SISTEMAS ORIENTADOS A OBJETOS Presentado por: ANDRÉS RINCÓN MORENO 1700412318 JORGE ARMANDO MEDINA MORALES 1700321660 Profesor: Carlos Hernán Gómez. Asignatura: Más detalles POLIMORFISMO "una interfaz, múltiples métodos".
"una interfaz, múltiples métodos". 20/02/2007 Polimorfismo 2 Indice Definición y caracteristicas Objetivos. SOBRRESCRITURA-SOBRECARGA SOBRECARGA Clases y métodos abstractos INTERFACES (herencia múltiple) Más detalles Selección usando Algoritmos
Capítulo 3 Selección usando Algoritmos Genéticos 3.1. Introducción En esta sección se aborda el uso de Algoritmos Genéticos (GA del inglés Genetic Algorithms) para selección de características. Así como Más detalles Procesamiento Digital de Imágenes. Pablo Roncagliolo B. Nº 22. Algoritmos Genéticos. prb@2007 2
Procesamiento Digital de Imágenes Pablo Roncagliolo B. Nº 22 prb@2007 2 1 El núcleo de cada célula humana contiene una base de datos química. Esta base de datos contiene todas las instrucciones que la Más detalles 1. Qué tipos de relación hay entre las siguientes clases?
Ejercicios Tema 8: Herencia 1. Qué tipos de relación hay entre las siguientes clases? Personal de la Universidad PAS Profesor 1 n Estudiante a) herencia y asociación b) herencia y dependencia c) dependencia Más detalles Tema 6. Reutilización de código. Programación 2015-2016. Programación - Tema 6: Reutilización de código
Tema 6 Reutilización de código Programación 2015-2016 Programación - Tema 6: Reutilización de código 1 Tema 6. Reutilización de código Modularidad. Implementación de métodos. Uso de métodos. Programación Más detalles Generador de casos de prueba genético
Generador de casos de prueba genético Álvaro Galán Piñero Ingeniería Técnica en Informática de Sistemas, Universidad de Cádiz 24 de Septiembre 2012 1 / 42 Índice 1 Motivación y contexto 2 Planificación Más detalles Programación Orientada a Objetos en Java
Programación Orientada a Objetos en Java Curso 2006-2007 Tema 3 Clases y Objetos Gonzalo Méndez Pozo Dpto. de Ingeniería de Software e Inteligencia Artificial Universidad Complutense de Madrid Clases y Más detalles Java: Clases Abstractas e Interfaces
Clases abstractas e interfaces Java: Clases Abstractas e Interfaces Franco Guidi Polanco Escuela de Ingeniería Industrial Pontificia Universidad Católica de Valparaíso, Chile fguidi@ucv.cl A nivel conceptual, Más detalles Framework basado en Colonias de Hormigas artificiales para la resolución de problemas de optimización
Universidad Central de Venezuela Facultad de Ciencias Escuela de Computación Laboratorio de Inteligencia Artificial Framework basado en Colonias de Hormigas artificiales para la resolución de problemas Más detalles www.aprendoencasa.com Curso Introducción JAVA Pág.: 1
www.aprendoencasa.com Curso Introducción JAVA Pág.: 1 Introducción Java es un lenguaje basado en la programación orientada a objetos (POO), este tipo de programación va más allá del tipo de programación Más detalles Programación orientada a
Programación orientada a objetos con Java Pedro Corcuera Dpto. Matemática Aplicada y Ciencias de la Computación Universidad de Cantabria corcuerp@unican.es Objetivos Presentar los conceptos de la programación Más detalles 4994 Introduction to Programming Microsoft.NET Framework Applications with Microsoft Visual Studio 2005
4994 Introduction to Programming Microsoft.NET Framework Applications with Microsoft Visual Studio 2005 Introducción Este curso de cinco días impartido por instructor permite a desarrolladores de nivel Más detalles A L G O R I T M O S E VO L U T I VO S A P L I C A D O S A L A G E N E R AC I Ó N D E H O R A R I O S PA R A C O L E G I O
E S C U E L A P O L I T É C N I C A N A C I O N A L F A C U L T A D D E C I E N C I A S D E P A R T A M E N T O D E M A T E M Á T I C A S A L G O R I T M O S E VO L U T I VO S A P L I C A D O S A L A G Más detalles Estructuras de Control - Diagrama de Flujo
RESOLUCIÓN DE PROBLEMAS Y ALGORITMOS Ingeniería en Computación Ingeniería en Informática UNIVERSIDAD NACIONAL DE SAN LUIS DEPARTAMENTO DE INFORMÁTICA AÑO 2015 Índice 1. Programación estructurada 2 1.1. Más detalles Conceptos. ELO329: Diseño y Programación Orientados a Objetos. ELO 329: Diseño y Programación Orientados a Objetos
Conceptos ELO329: Diseño y Programación Orientados a Objetos 1 Paradigmas de Programación Historia: Los computadores parten cableados por hardware, Luego se introduce la programación en binario, Se desarrolla Más detalles Clases abstractas e interfaces
Clases abstractas e interfaces Clases abstractas Una clase abstracta es una clase que no se puede instanciar se usa únicamente para definir subclases Cuándo es una clase abstracta? En cuanto uno de sus Más detalles Curso a distancia: INTRODUCCIÓN AL DISEÑO LÓGICO PROGRAMABLE CON VHDL. Capítulo 3. Codificadores
Curso a distancia: INTRODUCCIÓN AL DISEÑO LÓGICO PROGRAMABLE CON VHDL Capítulo 3 Codificadores Codificadores binarios y codificadores de prioridad. Codificadores de 3 a 2 líneas y de 4 a dos líneas. Detector Más detalles TEMA 5. MUESTREO PARA LA ACEPTACIÓN.
TEMA 5. MUESTREO PARA LA ACEPTACIÓN. Introducción. Planes de muestreo por atributos simple, doble, múltiple y rectificativos Dodge-Romig, Norma militar 1000STD-105D. Pautas a seguir para el cambio de rigor Más detalles Estimación de parámetros, validación de modelos y análisis de sensibilidad
Tema 6 Estimación de parámetros, validación de modelos y análisis de sensibilidad 6.1 Calibración Una vez que se ha identificado el modelo y se ha programado, necesitamos aplicarlo al problema concreto Más detalles Aplicación Java para distribución de código en R
rolgalan@gmail.com Huesca - 24 de noviembre de 2009 Implementación Descripción problema Existen muchos problemas, cuya resolución informática requiere de un enorme tiempo de cómputo. En la actualidad, Más detalles Framework de Simulación de Planificación de Procesos. por Emmanuel Luján
Framework de Simulación de Planificación de Procesos por Emmanuel Luján INFORMACIÓN GENERAL Fecha: Noviembre del 2010 Tema: Framework de Simulación de Planificación Materia: Taller de Tiempo Real para Más detalles Capítulo V Operaciones Booleanas
85 Capítulo V Operaciones Booleanas 5.1 Introducción Es muy posible que en muchos casos sea necesario comparar dos objetos y determinar cuál es su parte común. Esto implica intersectar los dos objetos Más detalles Segmentación Recursiva de Proyectos Software para la Estimación del Esfuerzo de Desarrollo Software
Segmentación Recursiva de Proyectos Software para la Estimación del Esfuerzo de Desarrollo Software J. Cuadrado Gallego 1, Miguel Ángel Sicilia 1, Miguel Garre Rubio 1 1 Dpto de Ciencias de la Computación, Más detalles PROGRAMACIÓN ORIENTADA A OBJETOS (L40629) Sabino Miranda-Jiménez
PROGRAMACIÓN ORIENTADA A OBJETOS (L40629) Sabino Miranda-Jiménez Encapsulamiento: Control de Acceso Clases en Java (1) UNIVERSIDAD AUTÓNOMA DEL ESTADO DE MÉXICO En Java se organizan las clases en paquetes Más detalles 4. HERRAMIENTAS ESTADÍSTICAS
4. HERRAMIENTAS ESTADÍSTICAS 4.1 Definiciones La mayor parte de las decisiones se toman en función de la calidad, como en la mayoría de las demás áreas del moderno esfuerzo humano (por ejemplo, en la evaluación Más detalles Introducción a los Algoritmos Genéticos
Marcos Gestal Pose Depto. Tecnologías de la Información y las Comunicaciones Universidade da Coruña http://sabia.tic.udc.es/ mgestal mgestal@udc.es Índice 1. Introducción 2 2. Orígenes 2 3. Bases Biológicas Más detalles Segunda práctica de Programación 2
Segunda práctica de Programación 2 La segunda práctica consistirá en el diseño y posterior implementación como proyecto de Netbeans de dos versiones sobre el mismo problema. El tema central de ambas versiones Más detalles PENDIENTES DE MATEMÁTICAS DE 2º ESO (CURSO 2014-2015)
PENDIENTES DE MATEMÁTICAS DE 2º ESO (CURSO 2014-2015) CRITERIOS E INDICADORES Se detallan a continuación los criterios de evaluación junto con sus indicadores de contenidos asociados. En negrita se indican Más detalles Clases y Objetos. Informática II Ingeniería Electrónica
Clases y Objetos Informática II Ingeniería Electrónica Los Tipos de Datos Hasta ahora, en un programa podemos usar para representar variables a: Tipos fundamentales : enteros (int), caracteres (char), Más detalles Repaso de las características más importantes de la programación Java y su adaptación a Android
Repaso de las características más importantes de la programación Java y su adaptación a Android 1. Entorno de programación en java 2. Variables y tipos de datos 3. Operaciones y operadores 4. Clases y Más detalles Capítulo 10. Análisis descriptivo: Los procedimientos Frecuencias y Descriptivos
Capítulo 10 Análisis descriptivo: Los procedimientos Frecuencias y Descriptivos Al analizar datos, lo primero que conviene hacer con una variable es, generalmente, formarse una idea lo más exacta posible Más detalles Capítulo II. Arquitectura del Software
Capítulo II. Arquitectura del Software Después de un cuidadoso análisis de los objetivos del proyecto, se determinó que la mejor manera de estructurar el sistema era haciendo uso del muy famoso patrón Más detalles Librería de Algoritmos Genéticos para Arquitectura (LAGA)
Librería de Algoritmos Genéticos para Arquitectura (LAGA) Genetic Algorithms Architectural Library Carlos Ignacio de la Barrera Poblete designemergente.com, Chile - España cidelab@gmail.com Abstract LAGA Más detalles UNIDAD DIDÁCTICA: ELECTRÓNICA DIGITAL
IES PABLO RUIZ PICASSO EL EJIDO (ALMERÍA) CURSO 2013-2014 UNIDAD DIDÁCTICA: ELECTRÓNICA DIGITAL ÍNDICE 1.- INTRODUCCIÓN A LA ELECTRÓNICA DIGITAL 2.- SISTEMA BINARIO 2.1.- TRANSFORMACIÓN DE BINARIO A DECIMAL Más detalles Consejo Superior Universitario. Resolución Nº 024/2011 Acta Nº 474 Fecha: 16/02/2011
Resolución Nº 024/2011 Acta Nº 474 Fecha: 16/02/2011 Por la cual se aprueba el Curso de Posgrado de Especialización en Estadística de la Facultad de Filosofía de la Universidad Nacional del Este. Vista: Más detalles LECCIÓN 8: CIRCUITOS Y ALGORITMOS DE MULTIPLICACIÓN DE ENTEROS
ESTRUCTURA DE COMPUTADORES Pag. 8.1 LECCIÓN 8: CIRCUITOS Y ALGORITMOS DE MULTIPLICACIÓN DE ENTEROS 1. Circuitos de multiplicación La operación de multiplicar es mas compleja que la suma y por tanto se Más detalles CONCEPTOS BASICOS DEL LENGUAJE JAVA
CONCEPTOS BASICOS DEL LENGUAJE JAVA NOMENCLATURA GENERAL En Java se distinguen las letras mayúsculas y minúsculas. Las reglas del lenguaje respecto a los nombres de variables son muy amplias y permiten Más detalles Metodología y Framework para el Desarrollo de Aplicaciones Científicas con Computación de Alto Rendimiento a través de Servicios Web
Metodología y Framework para el Desarrollo de Aplicaciones Científicas con Computación de Alto Rendimiento a través de Servicios Web J.Corral-García, D.Cortés-Polo, C.Gómez-Martín, J.L.González-Sánchez Más detalles Java en 2 horas. Rodrigo Santamaría
+ Java en 2 horas Rodrigo Santamaría + Generalidades 2 Desarrollado por Sun en 1995 Hereda mucha de la sintaxis de C (1972) Fuertemente tipado y orientado a objetos Aplicaciones compiladas a bytecode Gestión Más detalles Workflow, BPM y Java Resumen de la presentación de Tom Baeyens
Workflow, BPM y Java Resumen de la presentación de Tom Baeyens Workflow, BPM y Java Página 1 de 11 1. Introducción Tom Baeyens es el fundador y arquitecto del proyecto de JBoss jbpm, la máquina de workflow Más detalles ALGORITMICA III Capitulo I ANALISIS DE ALGORITMOS
Universidad Nacional de San Antonio Abad del Cusco Departamento Académico de Informática ALGORITMICA III Capitulo I ANALISIS DE ALGORITMOS Iván Medrano Valencia ANALISIS DE ALGORITMOS Un algoritmo es un Más detalles Métodos evolutivos de Optimización. Prof. Cesar de Prada Dpto. Ingeneiria de Sitemas y Automática Universidad de Valladolid
Métodos evolutivos de Optimización Prof. Cesar de Prada Dpto. Ingeneiria de Sitemas y Automática Universidad de Valladolid Indice Introducción Método de Montecarlo Algoritmos genéticos Tabú Search Simulated Más detalles Java Inicial (20 horas)
Java Inicial (20 horas) 1 Temario 1. Programación Orientada a Objetos 2. Introducción y Sintaxis Java 3. Sentencias Control Flujo 4. POO en Java 5. Relaciones entre Objetos 6. Polimorfismo, abstracción Más detalles Propuesta de una arquitectura para la generación de mutantes de orden superior en WS-BPEL
Propuesta de una arquitectura para la generación de mutantes de orden superior en WS-BPEL Emma Blanco Muñoz, Antonio García Domínguez, Juan José Domínguez Jiménez, Inmaculada Medina Bulo Escuela Superior Más detalles Tema 3: Herencia en C++ Programación Orientada a Objetos Curso 2008/2009 Begoña Moros Valle
Tema 3: Herencia en C++ Programación Orientada a Objetos Curso 2008/2009 Begoña Moros Valle Contenido Tipos de herencia Herencia y niveles de visibilidad Herencia y creación Redefinición de métodos Conversión Más detalles Transformación de binario a decimal. Transformación de decimal a binario. ELECTRÓNICA DIGITAL
ELECTRÓNICA DIGITAL La electrónica es la rama de la ciencia que se ocupa del estudio de los circuitos y de sus componentes, que permiten modificar la corriente eléctrica amplificándola, atenuándola, rectificándola Más detalles Receta general para resolver problemas de sincronización con semáforos
Receta general para resolver problemas de sincronización con semáforos La primera vez que te enfrentas a la tarea de implementar una solución a un problema de sincronización entre procesos, es normal que Más detalles 1 HILOS (THREADS) EN JAVA
1 HILOS (THREADS) EN JAVA 1.1QUÉ ES UN THREAD La Máquina Virtual Java (JVM) es un sistema multihilo. Es decir, es capaz de ejecutar varios hilos de ejecución simultáneamente. La JVM gestiona todos los Más detalles Problemas indecidibles
Capítulo 7 Problemas indecidibles 71 Codificación de máquinas de Turing Toda MT se puede codificar como una secuencia finita de ceros y unos En esta sección presentaremos una codificación válida para todas Más detalles Esta investigación esta basada y evolucionada de las redes neuronales pero con visión de crear software.
Introducción Esta es un nuevo planteamiento al paradigma de la computación y la ingeniería del software, Necesitamos planteamientos nuevos en el area de la Inteligencia artificial que ayuden a el trabajo Más detalles Ingeniería Energética E-ISSN: 1815-5901 orestes@cipel.ispjae.edu.cu. Instituto Superior Politécnico José Antonio Echeverría. Cuba
Ingeniería Energética E-ISSN: 1815-5901 orestes@cipel.ispjae.edu.cu Instituto Superior Politécnico José Antonio Echeverría Cuba Carvajal- Pérez, Raúl Nicolás Un Algoritmo Genético Especializado en Planeamiento Más detalles 2. Estructura de un programa en Java
24 A. García-Beltrán y J.M. Arranz 2. Estructura de un programa en Java Objetivos: a) Describir la estructura del código fuente de una aplicación Java b) Presentar los conceptos de comentario y de identificador Más detalles Modelado y simulación de proyecto
Modelado y simulación de proyecto El objetivo de este caso es practicarse en las técnicas de Análisis Cuantitativo de Riesgos y de Modelado, para lo cual se utilizará el software @RISK for Project, el Más detalles Tema 3. MODELOS. 2.1 Apoyo Informático a la investigación experimental. 2.2 Modelos del cerebro: A. Realistas biológicos.

References: resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución 

RESOLUCIÓN 
 resolución 
 Resolución 

Resolución