jenética
Jenetics es una biblioteca de algoritmos genéticos , algoritmos evolutivos , evolución gramatical , programación genética y optimización multiobjetivo , escrita en Java moderno. Está diseñado con una clara separación de los diversos conceptos del algoritmo, por ejemplo, Gene
, Chromosome
, Genotype
, Phenotype
, Population
y Function
de aptitud. Jenetics le permite minimizar y maximizar la función de fitness dada sin modificarla. A diferencia de otras implementaciones de GA, la biblioteca utiliza el concepto de flujo de evolución ( EvolutionStream
) para ejecutar los pasos de evolución. Dado que EvolutionStream
implementa la interfaz Java Stream, funciona sin problemas con el resto de la API Java Stream.
Otros idiomas
- Jenetics.Net : puerto experimental de .NET Core en C# de la biblioteca base.
- Helisa : contenedor de Scala para la biblioteca Jenetics.
Documentación
La biblioteca está completamente documentada (javadoc) y viene con un manual de usuario (pdf).
Construir jenética
Jenetics requiere al menos Java 21 para compilarse y ejecutarse.
Consulte la rama maestra de GitHub.
$ git clone https://github.com/jenetics/jenetics.git <builddir>
Jenetics utiliza Gradle como sistema de compilación y organiza el código fuente en subproyectos (módulos). Cada subproyecto se encuentra en su propio subdirectorio:
Proyectos publicados
Los siguientes proyectos/módulos también se publican en Maven.
- jenetics : este proyecto contiene el código fuente y las pruebas para el módulo central de Jenetics.
- jenetics.ext : este módulo contiene operaciones GA y tipos de datos adicionales no estándar. También contiene clases para la resolución de problemas multiobjetivo (MOEA) y realización de Evolución Gramatical (GE).
- jenetics.prog : Los módulos contienen clases que permiten hacer programación genética (GP). Funciona a la perfección con
EvolutionStream
y Evolution Engine
existentes. - jenetics.xml : módulo de clasificación XML para las estructuras de datos base de Jenetics .
Proyectos no publicados
- jenetics.example : este proyecto contiene código de ejemplo para el módulo principal .
- jenetics.doc : Contiene el código del sitio web y el manual.
- jenetics.tool : este módulo contiene clases utilizadas para realizar pruebas de integración y pruebas de rendimiento algorítmico. También se utiliza para crear medidas de desempeño de GA y crear diagramas a partir de las medidas de desempeño.
Para construir la biblioteca, cambie al directorio <builddir>
(o uno de los directorios del módulo) y llame a una de las tareas disponibles:
- compileJava : compila las fuentes de Jenetics y copia los archivos de clase en el directorio
<builddir>/<module-dir>/build/classes/main
. - jar : compila las fuentes y crea los archivos JAR. Los artefactos se copian en el directorio
<builddir>/<module-dir>/build/libs
. - javadoc : Genera la documentación API. El Javadoc se almacena en el directorio
<builddir>/<module-dir>/build/docs
- prueba : Compila y ejecuta las pruebas unitarias. Los resultados de la prueba se imprimen en la consola y se escribe un informe de prueba, creado por TestNG, en el directorio
<builddir>/<module-dir>
. - clean : elimina los directorios
<builddir>/build/*
y elimina todos los artefactos generados.
Para construir el jar de la biblioteca desde la llamada fuente
$ cd <build-dir>
$ ./gradlew jar
Ejemplo
Hola mundo (unos contando)
La configuración mínima del motor de evolución necesita una fábrica de genotipos, Factory<Genotype<?>>
y una Function
de aptitud. El Genotype
implementa la interfaz Factory
y, por lo tanto, puede usarse como prototipo para crear la Population
inicial y para crear nuevos Genotypes
aleatorios.
import io . jenetics . BitChromosome ;
import io . jenetics . BitGene ;
import io . jenetics . Genotype ;
import io . jenetics . engine . Engine ;
import io . jenetics . engine . EvolutionResult ;
import io . jenetics . util . Factory ;
public class HelloWorld {
// 2.) Definition of the fitness function.
private static Integer eval ( Genotype < BitGene > gt ) {
return gt . chromosome ()
. as ( BitChromosome . class )
. bitCount ();
}
public static void main ( String [] args ) {
// 1.) Define the genotype (factory) suitable
// for the problem.
Factory < Genotype < BitGene >> gtf =
Genotype . of ( BitChromosome . of ( 10 , 0.5 ));
// 3.) Create the execution environment.
Engine < BitGene , Integer > engine = Engine
. builder ( HelloWorld :: eval , gtf )
. build ();
// 4.) Start the execution (evolution) and
// collect the result.
Genotype < BitGene > result = engine . stream ()
. limit ( 100 )
. collect ( EvolutionResult . toBestGenotype ());
System . out . println ( "Hello World: n " + result );
}
}
A diferencia de otras implementaciones de GA, la biblioteca utiliza el concepto de flujo de evolución ( EvolutionStream
) para ejecutar los pasos de evolución. Dado que EvolutionStream
implementa la interfaz Java Stream, funciona sin problemas con el resto de la API de transmisión de Java. Ahora echemos un vistazo más de cerca a la lista anterior y analicemos este sencillo programa paso a paso:
La parte probablemente más desafiante, al configurar un nuevo Engine
de evolución, es transformar el dominio del problema en una representación de Genotype
(fábrica) apropiada. En nuestro ejemplo queremos contar el número de unos de un BitChromosome
. Como contamos solo los de un cromosoma, agregamos solo un BitChromosome
a nuestro Genotype
. En general, el Genotype
se puede crear con 1 an cromosomas.
Una vez hecho esto, se puede definir la función de aptitud que debe maximizarse. Utilizando las nuevas características del lenguaje introducidas en Java 8, simplemente escribimos un método estático privado, que toma el genotipo que definimos y calcula su valor de aptitud. Si queremos utilizar el método optimizado de conteo de bits, bitCount()
, tenemos que convertir la clase Chromosome<BitGene>
a la clase BitChromosome
real utilizada. Como sabemos con seguridad que creamos el Genotipo con un BitChromosome
, esto se puede hacer de forma segura. Luego se utiliza una referencia al método eval como función de aptitud y se pasa al método Engine.build
.
En el tercer paso, estamos creando el Engine
de evolución, que es responsable de cambiar y, respectivamente, evolucionar, una población determinada. El Engine
es altamente configurable y toma parámetros para controlar el entorno evolutivo y computacional. Para cambiar el comportamiento evolutivo, puede configurar diferentes alteradores y selectores. Al cambiar el servicio Executor
utilizado, usted controla la cantidad de subprocesos; el motor puede utilizar. Solo se puede crear una nueva instancia Engine
a través de su constructor, que se crea llamando al método Engine.builder
.
En el último paso, podemos crear un nuevo EvolutionStream
desde nuestro Engine
. El EvolutionStream
es el modelo o visión del proceso evolutivo. Sirve como »identificador de proceso« y también permite, entre otras cosas, controlar la finalización de la evolución. En nuestro ejemplo, simplemente truncamos la secuencia después de 100 generaciones. Si no limita la transmisión, EvolutionStream
no finalizará ni se ejecutará para siempre. Dado que EvolutionStream
amplía la interfaz java.util.stream.Stream
, se integra sin problemas con el resto de la API de Java Stream. El resultado final, el mejor Genotype
de nuestro ejemplo, se recopila con uno de los recopiladores predefinidos de la clase EvolutionResult
.
Imágenes en evolución
Este ejemplo intenta aproximar una imagen dada mediante polígonos semitransparentes. Viene con una interfaz de usuario Swing, donde puedes comenzar inmediatamente tus propios experimentos. Después de recopilar las fuentes con
$ ./gradlew compileTestJava
puedes comenzar el ejemplo llamando
$ ./jrun io.jenetics.example.image.EvolvingImages
La imagen anterior muestra la GUI después de evolucionar la imagen predeterminada durante aproximadamente 4000 generaciones. Con el botón »Abrir«, es posible cargar otras imágenes para poligonizarlas. El botón »Guardar« permite almacenar imágenes poligonizadas en formato PNG en el disco. En el botón de la interfaz de usuario, puede cambiar algunos parámetros de GA del ejemplo.
Proyectos que utilizan Jenetics
- SPEAR : SPEAR (Smart Prognosis of Energy with Allocation of Resources) creó una plataforma extensible para optimizaciones energéticas y de eficiencia de los sistemas de producción.
- Renaissance Suite : Renaissance es un conjunto de pruebas moderno, abierto y diversificado para JVM, destinado a probar compiladores JIT, recolectores de basura, perfiladores, analizadores y otras herramientas.
- APP4MC : Eclipse APP4MC es una plataforma para diseñar sistemas de software integrados de múltiples y muchos núcleos.
Blogs y artículos
- Schachprobleme komponieren mit Evolutionären Algorithmen, por Jakob Leck , diciembre de 2023, Die Schwalbe 324-2, págs. 373-380. Composición y resolución de problemas de ajedrez con un mayor número de piezas de lo habitual. En lugar de un enfoque de fuerza bruta, se utiliza un AG para resolver los problemas (alemán).
- Resolviendo el problema de la mochila con la biblioteca Jenetics, por Craftcode Crew , 13 de mayo de 2021
- 一种基于Jenetics的遗传算法程序设计,电脑知识与技术 2018年22期 por 王康, 26 de noviembre de 2018.
- Introducción a la biblioteca Jenetics, por baeldung , 11 de abril de 2017
- Cómo resolver problemas difíciles utilizando algoritmos genéticos, por Tzofia Shiftan , 6 de abril de 2017
- Algoritmos genéticos con Java, por William Antônio , 10 de enero de 2017
- Jenetics 설치 및 예제, por JDM , 8 de mayo de 2015
- 유전 알고리즘 (Algoritmos genéticos), por JDM , 2 de abril de 2015
Citas
Vicente A. Cicirello. Computación evolutiva de código abierto con Chips-n-Salsa. Ciencias de la Computación, Escuela de Negocios, Universidad de Stockton. Diciembre de 2024. ...
- Vicente A. Cicirello. Computación evolutiva de código abierto con Chips-n-Salsa. Ciencias de la Computación, Escuela de Negocios, Universidad de Stockton. Diciembre de 2024.
- S. Gruber, P. Feichtenschlager, C. Fabianek, E. Gringinger y CG Schuetz. Hacia un optimizador heurístico para un sistema de gestión del tiempo objetivo en la gestión del flujo del tráfico aéreo. 2024 AIAA DATC/IEEE 43.ª Conferencia sobre sistemas de aviónica digital (DASC), San Diego, CA, EE. UU., 2024, págs. Noviembre de 2024.
- Šimić, G., Jevremović, A., Strugarević, D. Mejora del proceso de enseñanza mediante el algoritmo genético. En: Perakovic, D., Knapcikova, L. (eds) Habilitadores de acceso futuros para infraestructuras ubicuas e inteligentes. FABULOSO 2024. Apuntes de conferencias del Instituto de Ciencias de la Computación, Ingeniería en Informática Social e Ingeniería de Telecomunicaciones, vol 596. Octubre de 2024.
- Dimitris G. Mintisa ∙ Nikolaos Cheimariosa ∙ Andreas Tsoumanisa ∙ Anastasios G. Papadiamantisa ∙ Nico W. van den Brinkd ∙ Henk J. van Lingene ∙ Georgia Melagrakif ∙ Iseult Lynchb ∙ Antreas Afantitis. NanoBioAccumulate: Modelado de la absorción y bioacumulación de nanomateriales en el suelo y en invertebrados acuáticos a través de la plataforma en la nube Enalos DIAGONAL. Revista de Biotecnología Computacional y Estructural. Elsevier, 2001-0370. Octubre de 2024.
- R. Jordão, F. Bahrami, Y. Yang, M. Becker, I. Sander y K. Rosvall. Exploración del espacio de diseño exacto y sin preferencias de múltiples objetivos de DSP estático en plataformas multinúcleo. Foro de 2024 sobre lenguajes de especificación y diseño (FDL), Estocolmo, Suecia, 2024, págs. 1-9. Septiembre de 2024.
- Jared Murphy y Travis Desell. Minimización del algoritmo de programación genética basado en gráficos EXA-GP para pronósticos de series temporales interpretables. En actas de la conferencia complementaria sobre computación genética y evolutiva (GECCO '24 Companion). Association for Computing Machinery, Nueva York, NY, EE. UU., 1686–1690. Agosto de 2024.
- Jared Murphy, Devroop Kar, Joshua Karns y Travis Desell. EXA-GP: Unificación de la programación genética basada en gráficos y la neuroevolución para una predicción de series temporales explicables. En actas de la conferencia complementaria sobre computación genética y evolutiva (GECCO '24 Companion). Association for Computing Machinery, Nueva York, NY, EE. UU., 523–526. Agosto de 2024.
- Sebastian Gruber, Paul Feichtenschlager y Christoph G. Schuetz. Uso de algoritmos genéticos para la optimización de la preservación de la privacidad de problemas de asignación de objetivos múltiples en entornos en los que el tiempo es crítico: una aplicación en la gestión del flujo del tráfico aéreo. En actas de la Conferencia sobre Computación Genética y Evolutiva (GECCO '24). Association for Computing Machinery, Nueva York, NY, EE. UU., 1246–1254. Julio de 2024.
- Jianghao Wang, Clay Stevens, Brooke Kidmose, Myra B. Cohen y Hamid Bagheri. Análisis evolutivo de especificaciones de aleaciones con una función de aptitud adaptativa. Ingeniería de software basada en búsquedas. SSBSE 2024. Apuntes de conferencias sobre informática, vol 14767. Springer. Julio de 2024.
- Bernhard J. Berger; Cristina regordeta; Lauren Paul; Rolf Drechsler. EvoAl: optimización de dominios sin código. Jornada de Computación Genética y Evolutiva (GECCO-2024). Julio de 2024.
- Christina Plump, Daniel C. Hoinkiss, Jörn Huber, Bernhard J. Berger, Matthias Günther, Christoph Lüth, Rolf Drechsler. Encontrar la secuencia de resonancia magnética perfecta para su paciente --- Hacia un flujo de trabajo de optimización para secuencias de resonancia magnética. IEEE WCCI 2024. Junio de 2024.
- Milan Čugurović, Milena Vujošević Janičić, Vojin Jovanović, Thomas Würthinger. GraalSP: perfilador estático basado en aprendizaje automático, políglota, eficiente y robusto. Revista de Sistemas y Software, Volumen 213, 2024, 112058, ISSN 0164-1212. Julio. 2024.
- Wenwen Feng, Xiaohui Lei, Yunzhong Jiang, Chao Wang, Weihong Liao, Hao Wang, Gong Xinghui, Yu Feng. Modelo de acoplamiento de control predictivo y control basado en reglas para el control en tiempo real de sistemas fluviales urbanos. Revista de Hidrología, 2024, 131228, ISSN 0022-1694. Abril de 2024.
- S. Sint, A. Mazak-Huemer, M. Eisenberg, D. Waghubinger y M. Wimmer. Optimización automática de rangos de tolerancia para la identificación del estado de tiempo de ejecución basada en modelos. Transacciones IEEE sobre ciencia e ingeniería de automatización. Abril. 2024.
- Cicirello, Vincent A. Computación evolutiva: teorías, técnicas y aplicaciones. Ciencias Aplicadas 14, núm. 6: 2542. marzo de 2024.
- Koitz-Hristov R, Sterner T, Stracke L, Wotawa F. Sobre la idoneidad de la cobertura comprobada y el ajuste de parámetros genéticos en la reducción del conjunto de pruebas. J Softw Evol Proc. 2024;e2656. febrero de 2024.
- Jordão, Rodolfo; Becker, Matías; Sander, Ingo. IDeSyDe: Exploración sistemática del espacio de diseño mediante la identificación del espacio de diseño. Transacciones ACM sobre automatización del diseño de sistemas electrónicos. febrero de 2024.
- Squillero, G., Tonda, A. Veni, Vidi, Evolvi comentario sobre “Tiburón 30” de WB Langdon. Programa Genet Evolvable Mach 24, 24 (2023) Nov. 2023.
- Eneko Osaba, Gorka Benguria, Jesús L. Lobo, Josu Díaz-de-Arcaya, Juncal Alonso, Iñaki Etxaniz. Optimización de configuraciones de IaC: un estudio de caso que utiliza informática inspirada en la naturaleza. CIIS 2023. Noviembre de 2023.
- Sapra, D., Pimentel, AD Exploración de sistemas multinúcleo con compensaciones entre confiabilidad de por vida y consumo de energía. Sistemas informáticos integrados: arquitecturas, modelado y simulación. SAMOS 2023. Apuntes de conferencias sobre informática, vol 14385. Springer, Cham. Noviembre de 2023.
- Syed Juned Ali, Jan Michael Laranjo, Dominik Bork. Un marco de modularización de modelos conceptuales basado en algoritmos genéticos genérico y personalizable. 27a Conferencia Internacional EDOC (EDOC 2023) - Diseño, operaciones y computación empresarial. Septiembre de 2023.
- A. Elyasaf, E. Farchi, O. Margalit, G. Weiss y Y. Weiss. Criterios de cobertura generalizada para pruebas de secuencias combinatorias. Transacciones IEEE sobre ingeniería de software, vol. 49, núm. 08, págs. 4023-4034. Agosto de 2023.
- Julien Amblard, Robert Filman, Gabriel Kopito. GPStar4: un marco flexible para experimentar con programación genética. Compañero de OGECCO '23: Actas de la conferencia complementaria sobre computación genética y evolutiva. Julio de 2023.
- Garmendia, A., Bork, D., Eisenberg, M., Ferreira, T., Kessentini, M., Wimmer, M. Aprovechamiento de la inteligencia artificial para el análisis y diseño de software basado en modelos. Optimización del proceso de desarrollo de software con Inteligencia Artificial. Serie de Computación Natural. Springer, Singapur. Julio de 2023.
- Sikora, M., Smołka, M. Una aplicación de algoritmos evolutivos y aprendizaje automático en la armonización de cuatro partes. Ciencias Computacionales - ICCS 2023. ICCS 2023. Apuntes de conferencias sobre Ciencias de la Computación, vol 14073. Springer, junio de 2023.
- Dolly Sapra y Andy D. Pimentel. Exploración de sistemas multinúcleo con compensaciones entre confiabilidad de por vida y consumo de energía. SAMOS '23. Mayo de 2023.
- Vipin Shukla, Mainak Bandyopadhyay. Optimización de los parámetros de entrada de una fuente de plasma impulsada por ANN a través de algoritmos evolutivos inspirados en la naturaleza. Sistemas Inteligentes con Aplicaciones, Volumen 18, 2023, 200200, ISSN 2667-3053. Mayo de 2023.
- P. Feichtenschlager, K. Schuetz, S. Jaburek, C. Schuetz, E. Gringinger. Implementación para preservar la privacidad de un mecanismo de subasta para el intercambio de franjas horarias ATFM. Actas de la 23.ª Conferencia Integrada de Comunicaciones, Navegación y Vigilancia (ICNS 2023), Washington DC, EE. UU., 18-20 de abril de 2023, IEEE Press, 12 páginas. Abril de 2023.
- Christoph Laaber, Tao Yue, Shaukat Ali. Priorización de microbenchmarks de software basado en búsquedas multiobjetivo. ArXiv/Ciencias de la Computación/Ingeniería de Software. Noviembre de 2022.
- Ricardo Ferreira Vilela, João Choma Neto, Victor Hugo Santiago Costa Pinto, Paulo Sérgio Lopes de Souza, Simone do Rocio Senger de Souza. Optimización bioinspirada para respaldar la generación de datos de prueba de software concurrente. Concurrencia y Computación: Práctica y Experiencia. Noviembre de 2022.
- G. Mateeva, D. Parvanov, I. Dimitrov, I. Iliev y T. Balabanov. Una eficiencia de las bibliotecas de software de algoritmos genéticos de terceros en la informática distribuida móvil para la previsión de series temporales financieras. 2022 Congreso Internacional de Automática e Informática (ICAI). Octubre de 2022.
- Guilherme Espada, León Ingelse, Paulo Canelas, Pedro Barbosa, Alcides Fonseca. Tipos de datos como interfaz más ergonómica para la programación genética guiada por gramática. arXiv. Octubre de 2022.
- Christoph G. Schuetz, Thomas Lorünser, Samuel Jaburek, Kevin Schuetz, Florian Wohner, Roman Karl y Eduard Gringinger. Una arquitectura distribuida para la optimización de la preservación de la privacidad mediante algoritmos genéticos y computación multipartita. CoopIS 2022: Sistemas de información cooperativa págs. 168–185. Septiembre de 2022.
- Christina Plump, Bernhard J. Berger, Rolf Drechsler. Uso de la densidad de datos de entrenamiento para mejorar los algoritmos evolutivos con funciones de aptitud aproximadas. WCCI2022 CONGRESO MUNDIAL IEEE SOBRE INTELIGENCIA COMPUTACIONAL. Julio de 2022.
- Christina Plump, Bernhard J. Berger, Rolf Drechsler. Adaptación de operadores de mutación y recombinación a relaciones con reconocimiento de rango en datos de aplicaciones del mundo real. GECCO '22: Actas de la conferencia complementaria sobre computación genética y evolutiva. Páginas 755–758. Julio de 2022.
- Eric Medvet, Giorgia Nadizar, Luca Manzoni. JGEA: un marco modular de Java para experimentar con la computación evolutiva. GECCO '22: Actas de la conferencia complementaria sobre computación genética y evolutiva. Páginas 2009-2018. Julio de 2022.
- Moshe Sipper, Tomer Halperin, Itai Tzruia, Achiya Elyasaf. EC-KitY: kit de herramientas de computación evolutiva en Python con integración perfecta de aprendizaje automático. arXiv:2207.10367v1 [cs.NE]. Julio de 2022.
- A. Billedeaux y B. DeVries. Uso de relaciones metamórficas y algoritmos genéticos para probar software de código abierto. 2022 Conferencia internacional IEEE sobre tecnología de la información eléctrica (eIT), 2022, págs. 342-345. Julio de 2022.
- R. Koitz-Hristov, L. Stracke y F. Wotawa. Cobertura comprobada para la reducción del conjunto de pruebas: ¿vale la pena el esfuerzo? Conferencia internacional IEEE/ACM de 2022 sobre automatización de pruebas de software (AST), págs. Junio de 2022.
- Abdessamed Ouessai, Mohammed Salem, Antonio M. Mora. Evolución de los parámetros de preselección de acciones para MCTS en juegos de estrategia en tiempo real. Computación de entretenimiento, volumen 42. Abril de 2022.
- Musatafa Abbas Abbood Albadr, Sabrina Tiun, Masri Ayob, Fahad Taha AL-Dhief, Khairuddin Omar y Mhd Khaled Maen. Reconocimiento de emociones del habla mediante una máquina de aprendizaje extremo con algoritmo genético optimizado. Herramientas y aplicaciones multimedia, marzo de 2022.
- Christina Plump, Bernhard Berger, Rolf Drechsler. Elegir la técnica adecuada para la restricción correcta: un enfoque de dominio específico para imponer restricciones en el espacio de búsqueda en algoritmos evolutivos. LDIC-2022, Conferencia Internacional sobre Dinámica en Logística, febrero de 2022.
- Quoc Nhat Han Tran, Nhan Quy Nguyen, Hicham Chehade, Lionel Amodeo, Farouk Yalaoui. Optimización de citas ambulatorias: estudio de caso de un servicio de quimioterapia. Ciencias Aplicadas/Computación e Inteligencia Artificial. Enero de 2022.
- Achiya Elyasaf, Eitan Farchi, Oded Margalit, Gera Weiss, Yeshayahu Weiss. Pruebas de secuencia combinatoria utilizando programación conductual y criterios de cobertura generalizada. Revista de sistemas y software. Enero de 2022.
- Grupo Frequentis. D4.1 Informe sobre el estado del arte de conceptos relevantes. SLOTMACHINE - RESULTADOS Y ENTREGABLES PÚBLICOS, Frequentis diciembre de 2021.
- Huang Wanjie, Wang Haotian, Xue Yibo. Investigación sobre Optimización del Modelo de picking en almacén basado en algoritmo genético. 2021 Conferencia Internacional sobre Tecnología de la Información, Educación y Desarrollo (ICITED 2021). Diciembre de 2021.
- Aalam Z., Kaur S., Vats P., Kaur A., Saxena R. Un análisis completo de los esfuerzos de prueba utilizando la herramienta de prueba Avisar para software orientado a objetos. Sistemas Inteligentes Sostenibles. Apuntes de conferencias sobre redes y sistemas, vol 334. Springer, Singapur. Diciembre de 2021.
- Anh Vu Vo, Debra F. Laefer, Jonathan Byrne. Optimización de la planificación de rutas de vuelo LiDAR urbanas mediante un algoritmo genético y un marco informático paralelo dual. Teledetección, volumen 13, número 21. Noviembre de 2021.
- Pozas N., Durán F. Sobre la escalabilidad de composiciones de aplicaciones orientadas a servicios. ICSOC 2021: Computación orientada a servicios págs. 449-463, noviembre de 2021.
- Küster, T., Rayling, P., Wiersig, R. et al. Optimización multiobjetivo de programas de producción energéticamente eficientes mediante algoritmos genéticos. Optimización e Ingeniería (2021). Octubre de 2021.
- B. DeVries y C. Trefftz. Un enfoque novedoso de búsqueda y pruebas metamórficas para la generación automática de pruebas. 2021 IEEE/ACM 14.° taller internacional sobre pruebas de software basadas en búsquedas (SBST), 2021, págs. 8-11. Mayo de 2021.
- W. Geithner, Z. Andelkovic, O. Geithner, F. Herfurth, V. Rapp, A. Németh, F. Wilhelmstötter, AH Van Benschoten. OPTIMIZACIÓN DE FUENTES DE IONES MEDIANTE ALGORITMO GENÉTICO BI-OBJETIVO Y PERFIL DE MATRIZ. IPAC2021 - 12ª Conferencia Internacional sobre Aceleradores de Partículas. Mayo de 2021.
- C. Plump, BJ Berger y R. Drechsler. Operadores de mutación y recombinación basados en correlación basados en dominios para aplicaciones complejas del mundo real. Congreso IEEE de 2021 sobre Computación Evolutiva (CEC), págs. Julio de 2021.
- Sapra, D., Pimentel, AD Diseño de redes neuronales convolucionales con entrenamiento gradual evolutivo restringido. Appl Intell (2021). Julio de 2021.
- Michela Lorandi, Leonardo Lucio Custode, Giovanni Iacca. Mejora genética del enrutamiento en redes tolerantes al retardo. GECCO '21: Actas de la conferencia complementaria sobre computación genética y evolutiva. Julio de 2021, páginas 35–36.
- Plump, Christina y Berger, Bernhard J. y Drechsler, Rolf. Mejora de los algoritmos evolutivos mediante la mejora de una función de aptitud aproximada a través de intervalos de predicción. Congreso IEEE sobre Computación Evolutiva (IEEE CEC-2021). Junio de 2021.
- Faltaous, Sarah, Abdulmaksoud, Aya, Kempe, Markus, Alt, Florian y Schneegass, Stefan. GeniePutt: aumento de las habilidades motoras humanas mediante estimulación muscular eléctrica. it - Tecnología de la información, vol. , No. , 2021. mayo de 2021.
- Yiming Tang, Raffi Khatchadourian, Mehdi Bagherzadeh, Rhia Singh, Ajani Stewart y Anita Raja. Un estudio empírico de refactorizaciones y deuda técnica en sistemas de aprendizaje automático. En Conferencia Internacional sobre Ingeniería de Software, ICSE '21. Mayo de 2021.
- Arifin HH, Robert Ong HK, Dai J., Daphne W., Chimplee N. Ingeniería de líneas de productos basada en modelos con algoritmos genéticos para la selección automatizada de componentes. En: Krob D., Li L., Yao J., Zhang H., Zhang X. (eds) Diseño y gestión de sistemas complejos. Springer, Cham. Abril de 2021.
- MICHELA LORANDI, LEONARDO LUCIO CUSTODE y GIOVANNI IACCA. Mejora genética de protocolos de enrutamiento para redes tolerantes al retardo. arXiv:2103.07428v1 de marzo de 2021.
- Amine Aziz-Alaoui, Carola Doerr, Johann Dreo. Hacia el diseño de algoritmos automatizados a gran escala mediante la integración de marcos modulares de evaluación comparativa. E arXiv:2102.06435 febrero de 2021.
- Dominik Bork y Antonio Garmendia y Manuel Wimmer. Hacia un enfoque de modularización multiobjetivo para modelos entidad-relación. ER 2020, 39° Congreso Internacional sobre Modelado Conceptual. Noviembre de 2020.
- Sarfarazi, S.; Deissenroth-Uhrig, M.; Bertsch, V. Agregación de hogares en sistemas energéticos comunitarios: un análisis desde las perspectivas de los actores y del mercado. Energías 2020, 13, 5154. Octubre de 2020.
- M. Šipek, D. Muharemagić, B. Mihaljević y A. Radovan. Mejora del rendimiento de las aplicaciones de software basadas en la nube con GraalVM y Quarkus. 2020 43.° Convenio Internacional sobre Tecnología de la Información, las Comunicaciones y la Electrónica (MIPRO), Opatija, Croacia, 2020, págs. 1746-1751. Octubre de 2020.
- Vats P., Mandot M. Un análisis completo para la validación de la herramienta de prueba orientada a objetos AVISAR. Joshi A., Khosravy M., Gupta N. (eds) Aprendizaje automático para análisis predictivo. Apuntes de conferencias sobre redes y sistemas, vol 141. Springer, Singapur. Octubre de 2020.
- Thakur, K., Kumar, G. Técnicas y aplicaciones inspiradas en la naturaleza en sistemas de detección de intrusiones: avances recientes y perspectiva actualizada. Archivos de métodos computacionales en ingeniería (2020). Agosto de 2020.
- Nur Hidayah Mat Yasin, Abdul Sahli Fakhrudin, Abdul Wafie Afnan Abdul Hadi, Muhammad Harith Mohd Khairuddin, Noor Raihana Abu Sepian, Farhan Mohd Said, Norazwina Zainol. Comparación de la metodología de superficie de respuesta y la red neuronal artificial para la extracción con solventes de éster metílico de ácidos grasos a partir de desechos de pescado. Revista Internacional de Agricultura Moderna, Volumen 9, No.3, 2020, ISSN: 2305-7246. Septiembre de 2020.
- Cicirello, VA Chips-n-Salsa: una biblioteca Java de algoritmos de búsqueda local personalizables, hibridables, iterativos, paralelos, estocásticos y autoadaptativos. Revista de software de código abierto, 5(52), 2448. Agosto de 2020.
- Li, Yuanyuan; Carabelli, Stefano;Fadda, Edoardo; Manerba, Daniele; Tadei, Roberto; Terzo, Olivier. Aprendizaje automático y optimización para la reprogramación de la producción en la Industria 4.0. LA REVISTA INTERNACIONAL DE TECNOLOGÍA DE FABRICACIÓN AVANZADA. -ISSN 1433-3015. Agosto de 2020.
- Dolly Sapra y Andy D. Pimentel. Un algoritmo de optimización evolutiva para funciones objetivas de saturación gradual. GECCO '20, Cancún, México. Julio. 2020.
- Dolly Sapra y Andy D. Pimentel. Entrenamiento gradual evolutivo restringido para diseñar redes neuronales convolucionales. IEA/AIE 2020 – Kitakyushu, Japón. Julio. 2020.
- Femi Emmanuel Ayo, Sakinat Oluwabukonla Folorunso, Adebayo A. Abayomi-Alli, Adebola Olayinka Adekunle, Joseph Bamidele Awotunde. Detección de intrusiones en la red basada en un modelo de aprendizaje profundo optimizado con selección de funciones híbridas basada en reglas. Revista de seguridad de la información: una perspectiva global. Mayo de 2020.
- Zainol N., Fakharudin AS, Optimización del modelo Zulaidi NIS utilizando algoritmos de inteligencia artificial para la degradación biológica de residuos de alimentos. Yaser A. (eds) Avances en la tecnología de procesamiento de residuos. Springer, Singapur. Mayo de 2020.
- Sonya Voneva, Manar Mazkatli, Johannes Grohmann y Anne Koziolek. Optimización de dependencias paramétricas para la extracción de modelos de rendimiento incremental. Instituto Tecnológico de Karlsruhe, Karlsruhe, Alemania. Abril. 2020.
- Raúl Lara-Cabrera, Ángel González-Prieto, Fernando Ortega y Jesús Bobadilla. Evolución del filtrado colaborativo basado en factorización matricial mediante programación genética. MDPI, Ciencias Aplicadas. febrero de 2020.
- Humm BG, Hutter M. Patrones de aprendizaje para la detección de eventos complejos en datos de sensores de robots. Optimización y Aprendizaje. OLA 2020. Comunicaciones en informática y ciencias de la información, vol 1173. Springer, febrero de 2020.
- Erich C. Teppan, Giacomo Da Col. Algoritmos genéticos para crear reglas de despacho de grandes talleres. Avances en Integraciones de Métodos Inteligentes. Innovación, sistemas y tecnologías inteligentes, vol 170. Springer, Singapur. Enero de 2020.
- Ricardo Pérez-Castillo, Francisco Ruiz, Mario Piattini. Un sistema de apoyo a la toma de decisiones para el modelado de arquitectura empresarial. Sistemas de soporte a la decisión. Enero de 2020.
- Sabrina Appel, Wolfgang Geithner, Stephan Reimann, Mariusz Sapinski, Rahul Singh y Dominik Vilsmeier. Aplicación de algoritmos de optimización inspirados en la naturaleza y aprendizaje automático para sincrotrones de iones pesados. Revista Internacional de Física Moderna A. Dic. 2019.
- OM Elzeki, MF Alrahmawy, Samir Elmougy. Un nuevo algoritmo híbrido genético y de ganancia de información para imputar valores faltantes en conjuntos de datos de genes del cáncer. Revista Internacional de Sistemas y Aplicaciones Inteligentes (IJISA), Vol.11, No.12, pp.20-33, DOI: 10.5815/ijisa.2019.12.03. Diciembre de 2019.
- Oliver Strauß, Ahmad Almheidat y Holger Kett. Aplicación de estrategias heurísticas y de aprendizaje automático a ProductResolution. Actas de la 15.ª Conferencia Internacional sobre Tecnologías y Sistemas de Información Web (WEBIST 2019), páginas 242-249. Noviembre de 2019.
- Yuanyuan Li, Stefano Carabelli, Edoardo Fadda, Daniele Manerba, Roberto Tadei1 y Olivier Terzo. Integración de técnicas de optimización y aprendizaje automático para la reprogramación flexible del taller en la Industria 4.0. Politecnico di Torino, Grupo de Optimización e Investigación de Operaciones. Octubre de 2019.
- Höttger R., Igel B., Spinczyk O. Distribución de software restringida para sistemas automotrices. Comunicaciones en informática y ciencias de la información, vol 1078. Octubre de 2019.
- Jin-wooLee, Gwangseon Jang, Hohyun Jung, Jae-Gil Lee, Uichin Lee. Maximizar la velocidad y confiabilidad del trabajo de MapReduce en la nube móvil optimizando la asignación de tareas. Computación generalizada y móvil. Octubre de 2019.
- Krawczyk, Lukas, Mahmoud Bazzal, Ram Prasath Govindarajan y Carsten Wolff. Análisis de tiempos basado en modelos y optimización de la implementación para sistemas multinúcleo heterogéneos utilizando Eclipse APP4MC. 22.ª Conferencia internacional de ACM/IEEE de 2019 sobre lenguajes y sistemas de ingeniería basados en modelos. Compañero: 44-53. Septiembre de 2019.
- Junio Cezar Ribeiro da Silva, Lorena Leão, Vinicius Petrucci, Abdoulaye Gamatié, Fernando MagnoQuintao Pereira. Programación en arquitecturas heterogéneas mediante regresión lineal multivariada en entradas de funciones. lirmm-02281112. Septiembre de 2019.
- Eric O. Scott, Sean Luke. TJCE a los 20: hacia un conjunto de herramientas metaheurísticas generales. GECCO '19: Actas de la conferencia complementaria sobre computación genética y evolutiva, páginas 1391–1398. Julio de 2019.
- Francisco G. Montoya y Raúl Baños Navarro (Eds.). Métodos de optimización aplicados a sistemas de energía, volumen 2. Libros MDPI, ISBN 978-3-03921-156-2. Julio de 2019.
- Höttger, Robert & Ki, Junhyung & Bui, Bao & Igel, Burkhard & Spinczyk, Olaf. Análisis de mapeo y tiempo de respuesta de CPU-GPU para sistemas automotrices de alto rendimiento. Décimo taller internacional sobre herramientas y metodologías de análisis para sistemas integrados y en tiempo real (WATERS), ubicado conjuntamente con la 31.ª Conferencia Euromicro sobre sistemas en tiempo real (ECRTS'19). Julio de 2019.
- Maxime Cordy, Steve Muller, Mike Papadakis e Yves Le Traon. Prueba basada en búsqueda y mejora de sistemas de detección de anomalías basados en aprendizaje automático. Actas del 28.º Simposio internacional ACM SIGSOFT sobre pruebas y análisis de software (ISSTA 2019). ACM, Nueva York, NY, EE.UU., 158-168. Julio de 2019.
- Michael Vistein, Jan Faber, Clemens Schmidt-Eisenlohr, Daniel Reiter. Manipulación automatizada de materiales auxiliares mediante un sistema de agarre multicinemático. Procedia Manufacturing Volumen 38, 2019, páginas 1276-1283. Junio de 2019.
- Nikolaos Nikolakis, Ioannis Stathakis, Sotirios Makris. Sobre un sistema de información evolutivo para soporte personalizado a los operadores de planta. 52ª Conferencia CIRP sobre Sistemas de Fabricación (CMS), Ljubljana, Eslovenia. Junio de 2019.
- Michael Trotter, Timothy Wood y Jinho Hwang. Pronosticar una tormenta: adivinar configuraciones óptimas utilizando algoritmos genéticos y aprendizaje supervisado. 13.a Conferencia Internacional IEEE sobre Sistemas Autoadaptativos y Autoorganizados (SASO 2019). Junio de 2019.
- Krawczyk, Lukas & Bazzal, Mahmoud & Prasath Govindarajan, Ram & Wolff, Carsten. Un enfoque analítico para calcular tiempos de respuesta de un extremo a otro en aplicaciones de conducción autónoma. Décimo Taller Internacional sobre Herramientas y Metodologías de Análisis para Sistemas Embebidos y en Tiempo Real (WATERS 2019). Junio de 2019.
- Rodolfo Ayala Lopes, Thiago Macedo Gomes y Alan Robert Resende de Freitas. Una plataforma de software de algoritmo evolutivo simbólico. Actas de la conferencia complementaria sobre computación genética y evolutiva (GECCO '19). Julio de 2019.
- Aleksandar Prokopec, Andrea Rosà, David Leopoldseder, Gilles Duboscq, Petr Tůma, Martin Studener, Lubomír Bulej, Yudi Zheng, Alex Villazón, Doug Simon, Thomas Würthinger, Walter Binder. Renaissance: Suite de evaluación comparativa para aplicaciones paralelas en JVM. PLDI '19, Phoenix, AZ, EE. UU. Junio de 2019.
- Robert Höttger, Lukas Krawczyk, Burkhard Igel, Olaf Spinczyk. Análisis de mapeo de memoria para sistemas automotrices. Actas de Presentaciones Breves (RTAS 2019). Abril de 2019.
- Al Akkad, MA y Gazimzyanov, FF SISTEMA AUTOMATIZADO PARA EVALUAR LAS CARACTERÍSTICAS COMPOSICIONALES DE IMÁGENES 2D: CONFIGURACIÓN DEL MODELO MATEMÁTICO. Intellekt. Hermana. Proizv., 17(1), 26-33. doi: 10.22213/2410-9304-2019-1-26-33. Abril de 2019.
- Alcayde, A.; Baños, R.; Arrabal-Campos, FM; Montoya, FG Optimización de la energía eléctrica contratada mediante algoritmos genéticos. Energías, volumen 12, número 7, abril de 2019.
- Abdul Sahli Fakharudin, Norazwina Zainol, Zulsyazwan Ahmad Khushairi. Modelado y optimización de la biodelignificación del núcleo del tronco de la palma de aceite utilizando red neuronal y algoritmo genético. IEEA '19: Actas de la 8ª Conferencia Internacional sobre Informática, Medio Ambiente, Energía y Aplicaciones; Páginas 155–158, marzo de 2019.
- Aleksandar Prokopec, Andrea Rosà, David Leopoldseder, Gilles Duboscq, Petr Tůma, Martin Studener, LubomÍr Bulej, Yudi Zheng, Alex Villazón, Doug Simon, Thomas Wuerringer, Walter Binder. Al evaluar la suite de evaluación comparativa del Renacimiento: variedad, rendimiento y complejidad. Universidad de Cornell: Lenguajes de programación, marzo de 2019.
- S. Appel, W. Geithner, S. Reimann, M Sapinski, R. Singh, DM Vilsmeier Optimización de sincrotrones de iones pesados utilizando algoritmos inspirados en Nature y aprendizaje automático. 13º int. Computational Acelerator Physics Conf., Febrero de 2019.
- Saad, Christian, Bernhard Bauer, Ulrich R Mansmann y Jian Li. Autoanalizar en biología de sistemas. Bioinformática y Biología Insights, enero de 2019.
- Gandeva Bayu Satrya, Soo Young Shin. Enfoque de computación evolutiva para optimizar la programación de superframe en redes de sensores inalámbricos industriales. Universidad de Cornell, diciembre de 2018.
- HR Maier, S. Razavi, Z. Kapelan, LS Matott, J. Kasprzyk, Ba Tolson. Descripción general introductoria: optimización utilizando algoritmos evolutivos y otras metaheurística. Modelado ambiental y software, diciembre de 2018.
- Erich C. Teppan y Giacomo DA Col. Generación automática de reglas de despacho para grandes tiendas de trabajo mediante algoritmos genéticos. CIMA 2018, Taller internacional sobre combinaciones de métodos y aplicaciones inteligentes, noviembre de 2018.
- Pasquale Salzaa, Filomena Ferrucci. Acelere los algoritmos genéticos en la nube utilizando contenedores de software. Future Generation Computer Systems, octubre de 2018.
- Ghulam Mubashar Hassan y Mark Reynolds. Algoritmos genéticos para la programación y optimización de redes de trenes de mineral. GCAI-2018. 4ª Conferencia Global sobre Inteligencia Artificial, septiembre de 2018.
- Drezewski, Rafal & Kruk, Sylwia y Makowka, Maciej. La optimización evolutiva del rendimiento de una empresa sobre el factor de capital: hacia el sistema bioinspirado basado en agentes que respalda las decisiones financieras corporativas. IEEE Acceso. 6. 10.1109/Access.2018.2870201, septiembre de 2018.
- Arifin, HH, Chimplee, N., Kit Robert Ong, H., Daengdej, J. y Sortrakul, T. Selección de componentes automatizados de la síntesis de diseño para la arquitectura física con ingeniería de sistemas basados en modelos utilizando el comercio evolutivo. Incusé Simposio Internacional, 28: 1296-1310, agosto de 2018.
- Ong, Robert y Sortrakul, Thotsapon. Comparación de métodos de selección de algoritmos genéticos para la selección automatizada de componentes de la síntesis de diseño con ingeniería de sistemas basados en modelos. Conferencia: I-SEEC 2018, mayo de 2018.
- Stephan Pirnbaum. Die Evolution IM Algorithmus - Teil 2: Multikriterielle Optimierung und ArchitekTurerkennung. Javaspektrum 03/2018, pp 66–69, mayo de 2018.
- W. Geithner, Z. Andelkovic, S. Appel, O. Geithner, F. Herfurth, S. Reimann, G. Vorobjev, F. Wilhelmstötter. Algoritmos genéticos para la optimización de la máquina en el entorno del sistema de control justo. La 9ª Conferencia Internacional de Acelerador de partículas (IPAC'18), mayo de 2018.
- Stephan Pirnbaum. Die Evolution IM Algorithmus - Teil 1: Grundlagen. Javaspektrum 01/2018, pp 64–68, enero de 2018.
- Alexander Felfernig, Rouven Walter, José A. Galindo, David Benavides, Seda Polat Erdeniz, Müslüm Atas, Stefan Reiterer. Diagnóstico en cualquier momento para la reconfiguración. Journal of Intelligent Information Systems, pp 1–22, enero de 2018.
- Bruce A. Johnson. Desde datos sin procesar hasta cambios químicos de la columna vertebral de proteínas utilizando el procesamiento de NMRFX y el análisis de NMRVIEWJ. Protein RMN: Métodos y protocolos, págs. 257-310, Springer New York, noviembre de 2017.
- Cuadra P., Krawczyk L., Höttger R., Heisig P., Wolff C. Programación automatizada para sistemas de núcleos integrados bien acoplados utilizando algoritmos genéticos híbridos. Tecnologías de información y software: 23a Conferencia Internacional, ICIST 2017, Druskininkai, Lituania. Communications in Computer and Information Science, Vol 756. Springer, Cham, septiembre de 2017.
- Michael Trotter, Guyue Liu, Timothy Wood. En la tormenta: descripción de configuraciones óptimas utilizando algoritmos genéticos y optimización bayesiana. Fundaciones y aplicaciones de Self* Systems (FAS* W), 2017 IEEE 2nd International Workshops de septiembre de 2017.
- Emna Hachicha, Karn Yongsiriwit, Mohamed Sellami. Asignación de recursos en la nube configurable por genética en el desarrollo de procesos comerciales conscientes de QoS. Tecnologías de información y software: 23a Conferencia Internacional, ICIST 2017, Druskininkai, Lituania. Servicios web (ICWS), Conferencia Internacional IEEE 2017, junio de 2017.
- Abraão G. Nazário, Fábio Ra Silva, Raimundo Teive, Leonardo Villa, Antônio Flávio, João Zico, Eire Fragoso, Ederson F. Souza. Automáção domótica simulada utilizando algoritmo genéTico especializado na redução do consumo de energia. Computadora en la playa 2017 pp. 180-189, marzo de 2017.
- Bandaru, S. y Deb, K. Metaheuristic Techniques. Ciencias de la decisión. CRC Press, págs. 693-750, noviembre de 2016.
- Lyazid Toumi, Abdelouahab Moussaoui y Ahmet Ugur. EMED-PART: una metodología eficiente para la partición horizontal en los almacenes de datos. Actas de la Conferencia Internacional sobre Procesamiento de Información Inteligente, Seguridad y Comunicación Avanzada. Djallel Eddine Boubiche, Faouzi Hidoussi y Homero Toral Cruz (eds.). ACM, Nueva York, NY, EE. UU., Artículo 43, 7 páginas, 2015.
- Andreas Holzinger (editor), IGO Jurisica (editor). Descubrimiento de conocimiento interactivo y minería de datos en informática biomédica. Notas de conferencia en informática, vol. 8401. Springer, 2014.
- Lyazid Toumi, Abdelouahab Moussaoui, Ahmet Ugur. Optimización del enjambre de partículas para el problema de selección de índices de unión de mapa de bits en almacenes de datos. El Journal of SuperComputing, Volumen 68, Número 2, pp 672-708, mayo de 2014.
- El estudio de Tang Yi (Guangzhou Power Supply Bureau Limited, Guangzhou 511400, China) sobre el algoritmo de optimización de asignación de compensación de compensación orientada a objetos para redes de distribución , octubre de 2012.
- John M. Linebarger, Richard J. Detry, Robert J. Glass, Walter E. Beyeler, Arlo L. Ames, Patrick D. Finley, S. Louise Maffitt. Sistemas adaptativos complejos de entorno de ingeniería de sistemas Versión 1.0. Informe de arena, febrero de 2012.
Notas de la versión
8.1.0
Mejoras
- #822: Mejore el script de compilación para generar Javadoc combinado.
- #898: Agregue soporte para leer datos de archivos o cadenas CSV. Esto simplifica el código para problemas de regresión.
static List < Sample < Double >> parseDoubles ( final CharSequence csv ) {
return CsvSupport . parseDoubles ( csv ). stream ()
. map ( Sample :: ofDouble )
. toList ();
}
- #904: Actualice a Gradle 8.10 y la limpieza de scripts de compilación.
- #907: Agregue un capítulo en el manual del usuario para estrategias de optimización: Jenética práctica .
- #909: Métodos de ayuda para convertir matrices primitivas.
final Codec < int [], DoubleGene > codec = Codecs
. ofVector ( DoubleRange . of ( 0 , 100 ), 100 )
. map ( Conversions :: doubleToIntArray );
Insectos
- #419: Fix pruebas estadísticas escamosas.
8.0.0
Mejoras
- Java 21 se usa para construir y usar la biblioteca.
- #878: Permitir huéspedes virtuales que evalúen la función de aptitud física. Debe habilitarse al crear un
Engine
(ver fragmento de código a continuación), se ha preservado el comportamiento anterior.
final Engine < DoubleGene , Double > engine = Engine . builder ( ff )
. fitnessExecutor ( BatchExecutor . ofVirtualThreads ())
. build ();
- #880: Reemplace los ejemplos de código en Javadoc con JEP 413.
- #886: Mejore el tipo de
CharStore
. - #894: Nuevos operadores genéticos:
ShiftMutator
, ShuffleMutator
y UniformOrderBasedCrossover
. - #895: Mejorar la selección predeterminada
RandomGenerator
. El RandomGenerator
usado se selecciona en el siguiente orden:- Compruebe si se establece el parámetro de inicio
io.jenetics.util.defaultRandomGenerator
. Si es así, tome este generador. - Compruebe si el generador
L64X256MixRandom
está disponible. Si es así, tome este generador. - Encuentre el mejor generador aleatorio disponible de acuerdo con el valor
RandomGeneratorFactory.stateBits()
. - Use el generador
Random
si no se puede encontrar el mejor generador. Se garantiza que este generador estará disponible en cada plataforma.
Todas las notas de lanzamiento
Licencia
La biblioteca tiene licencia bajo la licencia Apache, versión 2.0.
Copyright 2007-2024 Franz Wilhelmstötter
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Software usado