Descargar

Software para computación evolutiva

Enviado por Pablo Turmero


Partes: 1, 2

    edu.red

    Esquema Introducción Lenguajes de programación Tecnologías Aplicaciones Futuro Librerías de Software Evolutivo Todo Junto Ejemplo de un programa

    edu.red

    Introducción Programación dirigida a objetos. Elementos de programación para computación evolutiva. Clases básicas Clases auxiliares Patrones de programación

    edu.red

    Programación dirigida a objetos Principal paradigma de programación, hoy en día. Procedural: algoritmos + estructuras de datos = programas (Wirth) PDO: algoritmos U estructuras de datos = objetos

    edu.red

    Programación dirigida a objetos II Representa mejor el dominio del problema. Hace más fácil la reutilización de código, haciendo explícita la relación e interacción entre objetos. Facilita la depuración.

    edu.red

    PDO III: conceptos Herencia Encapsulación La interface regula el acceso a las variables de instancia Interfaces Tipos de datos abstractos Lenguajes: SmallTalk, Modula2,C++, Java

    edu.red

    PDO II: Terminología Las clases se instancian en objectos y pueden implementar interfaces. La clase madre es la superclase y la hija la subclase, la subclase hereda de la superclase.

    edu.red

    Clases I: Individuo El que sufre la evolución. Representa una solución al problema. Representación interna Binaria, punto flotante, árbol, cualquier otra estructura de datos. Fitness: un objeto comparable

    eoBit< double> indi; // EO en C++ DoubleVectorIndividual ind; //ECJ (en Java)

    edu.red

    Clases II: Operadores Cambio (mutación) Incluye todo tipo de operadores específicos. Intercambio (crossover) Cualquier operador que incluya material de más de un individuo Operadores específicos: orgía, con restricciones, permutaciones // EO eoBitMutation< eoBit< double> > mutation(P_MUT_PER_BIT); mutation( indi ); eo1PtBitXover< eoBit< double> > xover; xover( indi1, indi2); // ECJ ind.defaultMutate( state, thread );

    edu.red

    Clases III: poblaciones Conjuntos de individuos A veces llamada isla o deme No suele tener estructura, salvo orden

    // EO eoPop< eoBit< double> > pop; // ECJ DoubleVectorIndividual pop[POPSIZE];

    edu.red

    Clases IV: algoritmos Son un contenedor para todo tipo de transformaciones de la población. reproductor, un transformador y un reemplazador. Condiciones de terminación. Evaluador. Operadores específicos. // EO typedef eoBit< double> Indi; eoDetTournamentSelect< Indi> selectOne(T_SIZE); eoSelectPerc< Indi> select(selectOne); eoSGATransform< Indi> transform(xover, P_CROSS, mutation, P_MUT); eoGenContinue< Indi> genCont(MAX_GEN); eoGenerationalReplacement< Indi> replace; eoEvalFuncPtr< Indi,double,const vector< bool>& > eval(binary_value); eoEasyEA< Indi> gga(genCont, eval, select, transform, replace); apply< Indi>(eval, pop);

    edu.red

    Clases V: auxiliares Parsers para ficheros de configuración y de línea de comandos. Checkpointing: paro y continuación del algoritmo. Generación de números aleatorios. Interfaces gráficos para salida y parámetros.

    edu.red

    Patrones de software Singleton: clase de la que puede haber una sola instancia. Población, parser Constructor: es capaz de crear otros objetos. Generadores de individuos de la población.

    Partes: 1, 2
    Página siguiente