Дженетикс
Jenetics — это библиотека генетического алгоритма , эволюционного алгоритма , грамматической эволюции , генетического программирования и многоцелевой оптимизации , написанная на современном языке Java. Он разработан с четким разделением нескольких концепций алгоритма, например, Gene
, Chromosome
, Genotype
, Phenotype
, Population
и Function
приспособленности. Jenetics позволяет минимизировать и максимизировать заданную фитнес-функцию без ее настройки. В отличие от других реализаций GA, библиотека использует концепцию потока эволюции ( EvolutionStream
) для выполнения шагов эволюции. Поскольку EvolutionStream
реализует интерфейс Java Stream, он плавно работает с остальной частью API Java Stream.
Другие языки
- Jenetics.Net : экспериментальный порт .NET Core на C# базовой библиотеки.
- Helisa : оболочка Scala для библиотеки Jenetics.
Документация
Библиотека полностью документирована (javadoc) и поставляется с руководством пользователя (pdf).
Сборка Дженетикс
Для компиляции и запуска Jenetics требуется как минимум Java 21 .
Ознакомьтесь с основной веткой на GitHub.
$ git clone https://github.com/jenetics/jenetics.git <builddir>
Jenetics использует Gradle в качестве системы сборки и организует исходный код в подпроекты (модули). Каждый подпроект расположен в своем подкаталоге:
Опубликованные проекты
Следующие проекты/модули также публикуются в Maven.
- jenetics : Этот проект содержит исходный код и тесты основного модуля Jenetics.
- jenetics.ext : этот модуль содержит дополнительные нестандартные операции GA и типы данных. Он также содержит классы для решения многокритериальных задач (MOEA) и грамматической эволюции (GE).
- jenetics.prog : Модули содержат классы, позволяющие выполнять генетическое программирование (GP). Он без проблем работает с существующими
EvolutionStream
и Evolution Engine
. - jenetics.xml : модуль маршалинга XML для базовых структур данных Jenetics .
Неопубликованные проекты
- jenetics.example : Этот проект содержит пример кода для основного модуля.
- jenetics.doc : содержит код веб-сайта и руководство.
- jenetics.tool : этот модуль содержит классы, используемые для проведения интеграционного тестирования и алгоритмического тестирования производительности. Он также используется для создания показателей производительности GA и создания диаграмм на основе показателей производительности.
Для сборки библиотеки перейдите в каталог <builddir>
(или один из каталогов модуля) и вызовите одну из доступных задач:
- compileJava : компилирует исходные коды Jenetics и копирует файлы классов в каталог
<builddir>/<module-dir>/build/classes/main
. - jar : компилирует исходные коды и создает файлы JAR. Артефакты копируются в каталог
<builddir>/<module-dir>/build/libs
. - javadoc : генерирует документацию по API. Javadoc хранится в каталоге
<builddir>/<module-dir>/build/docs
- test : компилирует и выполняет модульные тесты. Результаты теста выводятся на консоль, а отчет о тестировании, созданный TestNG, записывается в каталог
<builddir>/<module-dir>
. - clean : удаляет каталоги
<builddir>/build/*
и все сгенерированные артефакты.
Для создания библиотеки jar из исходного вызова
$ cd <build-dir>
$ ./gradlew jar
Пример
Привет, мир (считаются единицы)
Для минимальной настройки механизма эволюции требуется фабрика генотипов Factory<Genotype<?>>
и фитнес- Function
. Genotype
реализует интерфейс Factory
и поэтому может использоваться в качестве прототипа для создания исходной Population
и для создания новых случайных Genotypes
.
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 );
}
}
В отличие от других реализаций GA, библиотека использует концепцию потока эволюции ( EvolutionStream
) для выполнения шагов эволюции. Поскольку EvolutionStream
реализует интерфейс Java Stream, он плавно работает с остальной частью API потоковой передачи Java. Теперь давайте более подробно рассмотрим приведенный выше листинг и обсудим эту простую программу шаг за шагом:
Вероятно, самой сложной частью при настройке нового Engine
эволюции является преобразование проблемной области в соответствующее представление Genotype
(фабрики). В нашем примере мы хотим подсчитать количество единиц BitChromosome
. Поскольку мы считаем только те, что принадлежат одной хромосоме, мы добавляем к нашему Genotype
только одну BitChromosome
. В общем, Genotype
может быть создан с помощью от 1 до n хромосом.
Как только это будет сделано, можно определить функцию приспособленности, которая должна быть максимизирована. Используя новые возможности языка, представленные в Java 8, мы просто пишем частный статический метод, который берет определенный нами генотип и рассчитывает его значение пригодности. Если мы хотим использовать оптимизированный метод подсчета битов bitCount()
, нам нужно привести класс Chromosome<BitGene>
к фактически используемому классу BitChromosome
. Поскольку мы точно знаем, что создали Генотип с помощью BitChromosome
, это можно сделать безопасно. Ссылка на метод eval затем используется как фитнес-функция и передается методу Engine.build
.
На третьем этапе мы создаем Engine
эволюции, который отвечает за изменение и, соответственно, развитие данной популяции. Engine
имеет широкие возможности настройки и принимает параметры для управления эволюционной и вычислительной средой. Для изменения эволюционного поведения вы можете установить разные альтераторы и селекторы. Изменяя используемый сервис Executor
, вы контролируете количество потоков; Двигатель разрешен к использованию. Новый экземпляр Engine
можно создать только через его построитель, который создается путем вызова метода Engine.builder
.
На последнем шаге мы можем создать новый EvolutionStream
из нашего Engine
. EvolutionStream
— это модель или представление эволюционного процесса. Он служит «дескриптором процесса», а также позволяет, среди прочего, контролировать завершение эволюции. В нашем примере мы просто обрезаем поток после 100 поколений. Если вы не ограничите поток, EvolutionStream
не завершится и будет работать вечно. Поскольку EvolutionStream
расширяет интерфейс java.util.stream.Stream
, он плавно интегрируется с остальной частью API Java Stream. Конечный результат, лучший Genotype
в нашем примере, затем собирается с помощью одного из предопределенных сборщиков класса EvolutionResult
.
Развивающиеся изображения
В этом примере делается попытка аппроксимировать данное изображение полупрозрачными многоугольниками. Он поставляется с пользовательским интерфейсом Swing, где вы можете сразу же начать свои собственные эксперименты. После компиляции исходников с помощью
$ ./gradlew compileTestJava
вы можете начать пример, позвонив
$ ./jrun io.jenetics.example.image.EvolvingImages
На предыдущем изображении показан графический интерфейс после развития образа по умолчанию в течение примерно 4000 поколений. С помощью кнопки «Открыть» можно загрузить другие изображения для полигонизации. Кнопка «Сохранить» позволяет сохранить полигональные изображения в формате PNG на диск. С помощью кнопки пользовательского интерфейса вы можете изменить некоторые параметры GA примера.
Проекты с использованием Jenetics
- SPEAR : SPEAR (умный прогноз энергопотребления с распределением ресурсов) создал расширяемую платформу для оптимизации энергопотребления и эффективности производственных систем.
- Renaissance Suite : Renaissance — это современный, открытый и разнообразный пакет тестов для JVM, предназначенный для тестирования JIT-компиляторов, сборщиков мусора, профилировщиков, анализаторов и других инструментов.
- APP4MC : Eclipse APP4MC — это платформа для разработки встроенных многоядерных и многоядерных программных систем.
Блоги и статьи
- Schachprobleme komponieren mit developmentären Algorithmen, Якоб Лек , декабрь 2023 г., Die Schwalbe 324-2, стр. 373-380. Составление и решение шахматных задач с большим количеством фигур, чем обычно. Вместо подхода грубой силы для решения проблем используется ГА (немецкий).
- Решение задачи о рюкзаке с помощью библиотеки Jenetics, автор Craftcode Crew , 13 мая 2021 г.
- 一种基于Jenetics 的遗传算法程序设计,电脑知识与技术 2018年22期 от 王康, 26 ноября 2018 г.
- Введение в библиотеку Jenetics, автор baeldung , 11 апреля 2017 г.
- Как решать сложные проблемы с помощью генетических алгоритмов, автор: Цофия Шиптан , 6 апреля 2017 г.
- Генетические алгоритмы с использованием Java, Уильям Антонио , 10 января 2017 г.
- Jenetics 설치 및 예제, JDM , 8 мая 2015 г.
- 유전 알고리즘 (Генетические алгоритмы), автор JDM , 2 апреля 2015 г.
Цитаты
Винсент А. Чичирелло. Эволюционные вычисления с открытым исходным кодом с помощью Chips-n-Salsa. Информатика, Школа бизнеса, Стоктонский университет. Декабрь 2024 г. ...
- Винсент А. Чичирелло. Эволюционные вычисления с открытым исходным кодом с помощью Chips-n-Salsa. Информатика, Школа бизнеса, Стоктонский университет. Декабрь 2024 г.
- С. Грубер, П. Файхтеншлагер, К. Фабианек, Э. Гринджингер и К. Г. Шютц. На пути к эвристическому оптимизатору целевой системы управления временем в управлении потоками воздушного движения. 2024 г., 43-я конференция AIAA DATC/IEEE по цифровым авиационным системам (DASC), Сан-Диего, Калифорния, США, 2024 г., стр. 1–10. Ноябрь 2024 г.
- Шимич Г., Евремович А., Стругаревич Д. Улучшение учебного процесса с использованием генетического алгоритма. В: Перакович Д., Кнапчикова Л. (ред.) Будущие средства обеспечения доступа для повсеместных и интеллектуальных инфраструктур. FABULOUS 2024. Конспекты лекций Института компьютерных наук, социальной информатики и телекоммуникационной техники, том 596. Октябрь 2024 г.
- Димитрис Г. Минтиса ∙ Николаос Кеймариоса ∙ Андреас Цуманиса ∙ Анастасиос Г. Пападиамантиса ∙ Нико В. ван ден Бринкд ∙ Хенк Дж. ван Линген ∙ Джорджия Мелагракиф ∙ Исеулт Линчб ∙ Антреас Афантитис. NanoBioAccumulate: моделирование поглощения и биоаккумуляции наноматериалов в почве и водных беспозвоночных с помощью облачной платформы Enalos DIAGONAL. Журнал вычислительной и структурной биотехнологии. Эльзевир, 2001-0370. Октябрь 2024 г.
- Р. Жордао, Ф. Бахрами, Ю. Янг, М. Беккер, И. Сандер и К. Росваль. Многоцелевое точное исследование пространства без предпочтений для статического DSP на многоядерных платформах. Форум 2024 г. по языкам спецификации и проектирования (FDL), Стокгольм, Швеция, 2024 г., стр. 1–9. Сентябрь 2024 г.
- Джаред Мерфи и Трэвис Деселл. Минимизация алгоритма генетического программирования на основе графов EXA-GP для интерпретируемого прогнозирования временных рядов. В материалах конференции по генетическим и эволюционным вычислениям (GECCO '24 Companion). Ассоциация вычислительной техники, Нью-Йорк, штат Нью-Йорк, США, 1686–1690 гг. Август 2024 г.
- Джаред Мерфи, Девруп Кар, Джошуа Карнс и Трэвис Деселл. EXA-GP: объединение генетического программирования на основе графов и нейроэволюции для объяснимого прогнозирования временных рядов. В материалах конференции по генетическим и эволюционным вычислениям (GECCO '24 Companion). Ассоциация вычислительной техники, Нью-Йорк, штат Нью-Йорк, США, 523–526. Август 2024 г.
- Себастьян Грубер, Пауль Файхтеншлагер и Кристоф Г. Шютц. Использование генетических алгоритмов для оптимизации с сохранением конфиденциальности многоцелевых задач назначения в критичных по времени условиях: применение в управлении потоками воздушного движения. В материалах конференции по генетическим и эволюционным вычислениям (GECCO '24). Ассоциация вычислительной техники, Нью-Йорк, штат Нью-Йорк, США, 1246–1254 гг. Июль 2024.
- Цзянхао Ван, Клей Стивенс, Брук Кидмос, Майра Б. Коэн и Хамид Багери. Эволюционный анализ характеристик сплавов с помощью адаптивной функции приспособленности. Разработка программного обеспечения на основе поиска. SSBSE 2024. Конспекты лекций по информатике, том 14767. Springer. Июль 2024.
- Бернхард Дж. Бергер; Кристина Пламп; Лорен Пол; Рольф Дрекслер. EvoAl — Бескодовая оптимизация домена. Конференция по генетическим и эволюционным вычислениям (GECCO-2024). Июль 2024.
- Кристина Пламп, Дэниел К. Хойнкисс, Йорн Хубер, Бернхард Дж. Бергер, Маттиас Гюнтер, Кристоф Лют, Рольф Дрекслер. Поиск идеальной последовательности МРТ для вашего пациента --- На пути к оптимизации рабочего процесса для последовательностей МРТ. IEEE WCCI 2024. Июнь 2024 г.
- Милан Чугурович, Милена Вуйошевич Яничич, Воин Йованович, Томас Вюртингер. GraalSP: многоязычный, эффективный и надежный статический профилировщик на основе машинного обучения. Журнал систем и программного обеспечения, том 213, 2024, 112058, ISSN 0164-1212. Июль. 2024.
- Вэньвэнь Фэн, Сяохуэй Лэй, Юньчжун Цзян, Чао Ван, Вэйхун Ляо, Хао Ван, Гун Синхуэй, Юй Фэн. Прогнозирующее управление на основе сопряженной модели и управление на основе правил для управления городскими речными системами в режиме реального времени. Журнал гидрологии, 2024, 131228, ISSN 0022-1694. Апрель 2024 г.
- С. Синт, А. Мазак-Хюмер, М. Айзенберг, Д. Вагубингер и М. Виммер. Автоматическая оптимизация диапазонов допусков для идентификации состояния времени выполнения на основе модели. Транзакции IEEE по автоматизации науки и техники. Апрель. 2024.
- Чичирелло, Винсент А. Эволюционные вычисления: теории, методы и приложения. Прикладные науки 14, вып. 6: 2542. Март 2024 г.
- Койц-Христов Р., Штернер Т., Страке Л., Вотава Ф. О пригодности проверяемого покрытия и настройке генетических параметров при сокращении набора тестов. J Softw Evol Proc. 2024;е2656. Февраль 2024 г.
- Жордао, Родольфо; Беккер, Матиас; Сандер, Инго. IDeSyDe: Систематическое исследование пространства дизайна посредством идентификации пространства дизайна. Сделки ACM по автоматизации проектирования электронных систем. Февраль 2024 г.
- Скиллеро, Дж., Тонда, А. Вени, Види, комментарий Эволви к фильму У.Б. Лэнгдона «Челюсти 30». Программа Генет, развивающаяся 24, 24 Маха (2023 г.), ноябрь 2023 г.
- Энеко Осаба, Горка Бенгурия, Хесус Л. Лобо, Хосу Диас-де-Аркая, Хункаль Алонсо, Иньяки Эчанис. Оптимизация конфигураций IaC: пример использования вычислений, вдохновленных природой. ЦИИС 2023. Ноябрь 2023.
- Сапра Д., Пиментел А.Д. Исследование многоядерных систем с компромиссом между надежностью на протяжении всего срока службы и энергопотреблением. Встроенные компьютерные системы: архитектура, моделирование и моделирование. SAMOS 2023. Конспекты лекций по информатике, том 14385. Springer, Cham. Ноябрь 2023 г.
- Сайед Джунед Али, Ян Майкл Ларанхо, Доминик Борк. Универсальная и настраиваемая платформа модуляризации концептуальной модели на основе генетических алгоритмов. 27-я Международная конференция EDOC (EDOC 2023) - Проектирование предприятий, операции и вычисления. Сентябрь 2023 г.
- А. Эльясаф, Э. Фарчи, О. Маргалит, Г. Вайс и Ю. Вайс. Обобщенные критерии покрытия для тестирования комбинаторных последовательностей. Транзакции IEEE по разработке программного обеспечения, том. 49, нет. 08, стр. 4023-4034. Август 2023 г.
- Жюльен Амблар, Роберт Филман, Габриэль Копито. GPStar4: Гибкая платформа для экспериментов с генетическим программированием. OGECCO '23 Companion: Материалы сопутствующей конференции по генетическим и эволюционным вычислениям. Июль 2023.
- Гармендиа А., Борк Д., Айзенберг М., Феррейра Т., Кессентини М., Виммер М. Использование искусственного интеллекта для анализа и проектирования программного обеспечения на основе моделей. Оптимизация процесса разработки программного обеспечения с помощью искусственного интеллекта. Серия естественных вычислений. Спрингер, Сингапур. Июль 2023.
- Сикора М., Смолка М. Применение эволюционных алгоритмов и машинного обучения в четырехчастной гармонизации. Вычислительная наука – ICCS 2023. ICCS 2023. Конспекты лекций по информатике, том 14073. Springer, июнь 2023 г.
- Долли Сапра и Энди Д. Пиментел. Исследование многоядерных систем с компромиссом между надежностью на протяжении всего срока службы и энергопотреблением. САМОС '23. Май 2023.
- Випин Шукла, Майнак Бандиопадхьяй. Оптимизация входных параметров источника плазмы, управляемого ИНС, с помощью эволюционных алгоритмов, вдохновленных природой. Интеллектуальные системы с приложениями, том 18, 2023, 200200, ISSN 2667-3053. Май 2023.
- П. Файхтеншлагер, К. Шуец, С. Ябурек, К. Шютц, Э. Гринджингер. Внедрение аукционного механизма для обмена слотами ATFM с сохранением конфиденциальности. Материалы 23-й конференции по интегрированной связи, навигации и наблюдению (ICNS 2023), Вашингтон, округ Колумбия, США, 18–20 апреля 2023 г., IEEE Press, 12 страниц. Апрель 2023 г.
- Кристоф Лаабер, Тао Юэ, Шаукат Али. Приоритизация микротестов программного обеспечения на основе многоцелевого поиска. ArXiv/Информатика/Разработка программного обеспечения. Ноябрь 2022 г.
- Рикардо Феррейра Вилела, Жоау Чома Нето, Виктор Уго Сантьяго Коста Пинту, Паулу Сержиу Лопиш де Соуза, Симоне ду Росио Сенгер де Соуза. Биологическая оптимизация для поддержки генерации тестовых данных параллельного программного обеспечения. Параллелизм и вычисления: практика и опыт. Ноябрь 2022 г.
- Г. Матеева, Д. Пырванов, И. Димитров, И. Илиев и Т. Балабанов. Эффективность библиотек программного обеспечения генетических алгоритмов сторонних производителей в мобильных распределенных вычислениях для прогнозирования финансовых временных рядов. 2022 Международная конференция «Автоматика и информатика» (ICAI). Октябрь 2022 г.
- Гильерме Эспада, Леон Ингельсе, Пауло Канелас, Педро Барбоза, Алсидес Фонсека. Типы данных как более эргономичный интерфейс для генетического программирования на основе грамматики. arXiv. Октябрь 2022 г.
- Кристоф Г. Шютц, Томас Лорюнсер, Самуэль Ябурек, Кевин Шютц, Флориан Вонер, Роман Карл и Эдуард Грингингер. Распределенная архитектура для оптимизации конфиденциальности с использованием генетических алгоритмов и многосторонних вычислений. CoopIS 2022: Совместные информационные системы, стр. 168–185. Сентябрь 2022 г.
- Кристина Пламп, Бернхард Дж. Бергер, Рольф Дрекслер. Использование плотности обучающих данных для улучшения эволюционных алгоритмов с помощью аппроксимативных функций приспособленности. WCCI2022 ВСЕМИРНЫЙ КОНГРЕСС IEEE ПО ВЫЧИСЛИТЕЛЬНОМУ ИНТЕЛЛЕКТУ. июль 2022.
- Кристина Пламп, Бернхард Дж. Бергер, Рольф Дрекслер. Адаптация операторов мутации и рекомбинации к отношениям с учетом диапазона в данных реальных приложений. GECCO '22: Материалы конференции по генетическим и эволюционным вычислениям. Страницы 755–758. июль 2022.
- Эрик Медвет, Джорджия Надизар, Лука Манцони. JGEA: модульная Java-инфраструктура для экспериментов с эволюционными вычислениями. GECCO '22: Материалы конференции по генетическим и эволюционным вычислениям. Страницы 2009–2018 гг. июль 2022.
- Моше Сиппер, Томер Гальперин, Итай Цруя, Ачия Эльясаф. EC-KitY: набор инструментов для эволюционных вычислений на Python с бесшовной интеграцией машинного обучения. arXiv:2207.10367v1 [cs.NE]. июль 2022.
- А. Бильдо и Б. ДеВрис. Использование метаморфических отношений и генетических алгоритмов для тестирования программного обеспечения с открытым исходным кодом. Международная конференция IEEE по электроинформационным технологиям (eIT), 2022 г., 2022 г., стр. 342–345. июль 2022.
- Р. Койц-Христов, Л. Страке и Ф. Вотава. Проверенное покрытие для сокращения набора тестов – стоит ли оно усилий? Международная конференция IEEE/ACM по автоматизации тестирования программного обеспечения (AST), 2022 г., стр. 6–16. Июнь 2022.
- Абдессамед Уэссаи, Мохаммед Салем, Антонио М. Мора. Развитие параметров предварительного выбора действий для MCTS в стратегических играх в реальном времени. Entertainment Computing, том 42. Апрель 2022 г.
- Мусатафа Аббас Аббуд Альбадр, Сабрина Тиун, Масри Айоб, Фахад Таха Аль-Дхиф, Хайруддин Омар и Мхд Халед Маен. Распознавание речевых эмоций с использованием оптимизированного генетического алгоритма — машины экстремального обучения. Мультимедийные инструменты и приложения, март 2022 г.
- Кристина Пламп, Бернхард Бергер, Рольф Дрекслер. Выбор правильной техники для правильного ограничения — предметно-ориентированный подход к обеспечению ограничений пространства поиска в эволюционных алгоритмах. LDIC-2022, Международная конференция по динамике логистики, февраль 2022 г.
- Куок Нат Хан Тран, Нхан Куи Нгуен, Хишам Шехаде, Лайонел Амодео, Фарук Ялауи. Оптимизация амбулаторного приема: пример службы химиотерапии. Прикладные науки/Вычисления и искусственный интеллект. Январь 2022 г.
- Ачия Эльясаф, Эйтан Фарчи, Одед Маргалит, Гера Вайс, Йешаягу Вайс. Тестирование комбинаторных последовательностей с использованием поведенческого программирования и обобщенных критериев покрытия. Журнал систем и программного обеспечения. Январь 2022 г.
- Группа Частотис. D4.1 Отчет о современном состоянии соответствующих концепций. ИГР-МАШИНА — РЕЗУЛЬТАТЫ И ПУБЛИЧНЫЕ РЕЗУЛЬТАТЫ, Часто за декабрь 2021 г.
- Хуан Ваньцзе, Ван Хаотянь, Сюэ Ибо. Исследование по оптимизации модели складского комплектования на основе генетического алгоритма. Международная конференция по информационным технологиям, образованию и развитию 2021 года (ICITED 2021). Декабрь 2021 г.
- Аалам З., Каур С., Ватс П., Каур А., Саксена Р. Комплексный анализ усилий по тестированию с использованием инструмента тестирования Avisar для объектно-ориентированного программного обеспечения. Интеллектуальные устойчивые системы. Конспекты лекций по сетям и системам, том 334. Спрингер, Сингапур. Декабрь 2021 г.
- Ань Ву Во, Дебра Ф. Лефер, Джонатан Бирн. Оптимизация планирования траектории полета городского LiDAR с использованием генетического алгоритма и системы двойных параллельных вычислений. Дистанционное зондирование, том 13, выпуск 21. Ноябрь 2021 г.
- Позас Н., Дуран Ф. О масштабируемости композиций сервис-ориентированных приложений. ICSOC 2021: Сервис-ориентированные вычисления, стр. 449–463, ноябрь 2021 г.
- Кюстер Т., Рейлинг П., Вирсиг Р. и др. Многокритериальная оптимизация энергоэффективных производственных графиков с использованием генетических алгоритмов. Оптимизация и инжиниринг (2021). Октябрь 2021 г.
- Б. ДеВрис и К. Треффц. Новый подход к поиску и метаморфическому тестированию для автоматической генерации тестов. 2021 г., 14-й международный семинар IEEE/ACM по тестированию программного обеспечения на основе поиска (SBST), 2021 г., стр. 8–11. Май 2021.
- В. Гайтнер, З. Анделькович, О. Гайтнер, Ф. Херфурт, В. Рапп, А. Немет, Ф. Вильгельмштеттер, А. Х. Ван Беншотен. ОПТИМИЗАЦИЯ ИСТОЧНИКА ИОНОВ С ИСПОЛЬЗОВАНИЕМ ДВУХОБЪЕКТИВНОГО ГЕНЕТИЧЕСКОГО И МАТРИЧНО-ПРОФИЛЬНОГО АЛГОРИТМА. IPAC2021 - 12-я Международная конференция по ускорителям частиц. Май 2021.
- К. Пламп, Б. Дж. Бергер и Р. Дрекслер. Операторы рекомбинации и мутации, управляемые предметной областью, с учетом корреляции для сложных реальных приложений. Конгресс IEEE по эволюционным вычислениям (CEC) 2021 г., стр. 540–548. Июль 2021.
- Сапра Д., Пиментел А.Д. Проектирование сверточных нейронных сетей с ограниченным эволюционным поэтапным обучением. Приложение Intelll (2021). июль 2021.
- Микела Лоранди, Леонардо Лучио Кустоде, Джованни Якка. Генетическое улучшение маршрутизации в сетях, устойчивых к задержкам. GECCO '21: Материалы конференции по генетическим и эволюционным вычислениям. Июль 2021 г., страницы 35–36.
- Пламп, Кристина и Бергер, Бернхард Дж. и Дрекслер, Рольф. Улучшение эволюционных алгоритмов за счет улучшения аппроксимативной функции пригодности с помощью интервалов прогнозирования. Конгресс IEEE по эволюционным вычислениям (IEEE CEC-2021). Июнь 2021.
- Фальтаус, Сара, Абдулмаксуд, Айя, Кемпе, Маркус, Альт, Флориан и Шнеегасс, Стефан. GeniePutt: Улучшение двигательных навыков человека посредством электрической стимуляции мышц. это - Информационные технологии, вып. , нет. , 2021. Май 2021.
- Имин Тан, Раффи Хачадурян, Мехди Багерзаде, Риа Сингх, Аджани Стюарт и Анита Раджа. Эмпирическое исследование рефакторинга и технического долга в системах машинного обучения. На Международной конференции по программной инженерии ICSE '21. Май 2021.
- Арифин Х.Х., Роберт Онг Х.К., Дай Дж., Дафна В., Чимпли Н. Разработка продуктовой линейки на основе моделей с использованием генетических алгоритмов для автоматического выбора компонентов. В: Кроб Д., Ли Л., Яо Дж., Чжан Х., Чжан К. (ред.) Проектирование и управление сложными системами. Спрингер, Чам. апрель 2021 г.
- МИЧЕЛА ЛОРАНДИ, ЛЕОНАРДО ЛУЧИО КУСТОДЕ и ДЖОВАННИ ИАККА. Генетическое улучшение протоколов маршрутизации для сетей, устойчивых к задержкам. arXiv:2103.07428v1 марта 2021 г.
- Амин Азиз-Алауи, Карола Дорр, Йоханн Дрео. На пути к крупномасштабному проектированию автоматизированных алгоритмов путем интеграции модульных структур сравнительного анализа. E arXiv:2102.06435 февраль 2021 г.
- Доминик Борк, Антонио Гармендия и Мануэль Виммер. На пути к многоцелевому подходу к модуляризации моделей «сущность-связь». ER 2020, 39-я Международная конференция по концептуальному моделированию. Ноябрь 2020 г.
- Сарфарази, С.; Дайссенрот-Уриг, М.; Берч, В. Агрегация домохозяйств в общественных энергетических системах: анализ с точки зрения участников и рынка. Энергия 2020, 13, 5154. Октябрь 2020 г.
- М. Шипек, Д. Мухаремагич, Б. Михалевич и А. Радован. Повышение производительности облачных программных приложений с помощью GraalVM и Quarkus. 2020 г., 43-я Международная конвенция по информационным, коммуникационным и электронным технологиям (MIPRO), Опатия, Хорватия, 2020 г., стр. 1746-1751. Октябрь 2020 г.
- Ватс П., Мандот М. Комплексный анализ проверки инструмента объектно-ориентированного тестирования AVISAR. Джоши А., Хосрави М., Гупта Н. (ред.) Машинное обучение для прогнозного анализа. Конспекты лекций по сетям и системам, том 141. Спрингер, Сингапур. Октябрь 2020 г.
- Тхакур К., Кумар Г. Природные методы и приложения в системах обнаружения вторжений: последние достижения и обновленная перспектива. Архив вычислительных методов в технике (2020). Август 2020 г.
- Нур Хидаях Мат Ясин, Абдул Сахли Фахрудин, Абдул Вафи Афнан Абдул Хади, Мухаммад Харит Мохд Хайруддин, Нур Райхана Абу Сепиан, Фархан Мохд Саид, Норазвина Зайнол. Сравнение методологии поверхности отклика и искусственной нейронной сети для экстракции растворителем метилового эфира жирной кислоты из рыбных отходов. Международный журнал современного сельского хозяйства, том 9, № 3, 2020 г., ISSN: 2305-7246. Сентябрь 2020 г.
- Чичирелло, В.А. Chips-n-Salsa: Java-библиотека настраиваемых, гибридизируемых, итеративных, параллельных, стохастических и самоадаптивных алгоритмов локального поиска. Журнал программного обеспечения с открытым исходным кодом, 5 (52), 2448. Август 2020 г.
- Ли, Юаньюань; Карабелли, Стефано; Фадда, Эдоардо; Манерба, Даниэле; Тадей, Роберто; Терцо, Оливье. Машинное обучение и оптимизация для перепланирования производства в Индустрии 4.0. МЕЖДУНАРОДНЫЙ ЖУРНАЛ ПЕРЕДОВЫХ ПРОИЗВОДСТВЕННЫХ ТЕХНОЛОГИЙ. - ISSN 1433-3015. Август 2020 г.
- Долли Сапра и Энди Д. Пиментел. Алгоритм эволюционной оптимизации для постепенного насыщения целевых функций. GECCO '20, Канкун, Мексика. Июль. 2020.
- Долли Сапра и Энди Д. Пиментел. Ограниченное эволюционное поэтапное обучение проектированию сверточных нейронных сетей. МЭА/АИЕ 2020 – Китакюсю, Япония. Июль. 2020.
- Феми Эммануэль Айо, Сакинат Олувабуконла Фолорунсо, Адебайо А. Абайоми-Алли, Адебола Олайинка Адекунле, Джозеф Бамиделе Авотунде. Обнаружение сетевых вторжений на основе модели глубокого обучения, оптимизированной с помощью выбора гибридных функций на основе правил. Журнал информационной безопасности: глобальная перспектива. Май 2020.
- Зайнол Н., Фахарудин А.С., Зулайди НИС Оптимизация модели с использованием алгоритмов искусственного интеллекта для биологической деградации пищевых отходов. Ясер А. (ред.) Достижения в области технологий переработки отходов. Спрингер, Сингапур. Май 2020.
- Соня Вонева, Манар Мазкатли, Йоханнес Громанн и Анне Козиолек. Оптимизация параметрических зависимостей для поэтапного извлечения модели производительности. Технологический институт Карлсруэ, Карлсруэ, Германия. Апрель. 2020.
- Рауль Лара-Кабрера, Анхель Гонсалес-Прието, Фернандо Ортега и Хесус Бобадилья. Развитие совместной фильтрации на основе матричной факторизации с использованием генетического программирования. МДПИ, Прикладные науки. февраль 2020 г.
- Хамм Б.Г., Хаттер М. Шаблоны обучения для обнаружения сложных событий в данных датчиков робота. Оптимизация и обучение. OLA 2020. Коммуникации в компьютерной и информационной науке, том 1173. Springer, февраль 2020 г.
- Эрих К. Теппан, Джакомо Да Кол. Генетические алгоритмы для создания правил диспетчеризации крупных цехов. Достижения в интеграции интеллектуальных методов. Умные инновации, системы и технологии, том 170. Спрингер, Сингапур. Январь 2020 г.
- Рикардо Перес-Кастильо, Франсиско Руис, Марио Пьяттини. Система поддержки принятия решений для моделирования архитектуры предприятия. Системы поддержки принятия решений. Январь 2020 г.
- Сабрина Аппель, Вольфганг Гайтнер, Стефан Рейманн, Мариуш Сапински, Рахул Сингх и Доминик Вильсмайер. Применение природных алгоритмов оптимизации и машинного обучения для синхротронов тяжелых ионов. Международный журнал современной физики, декабрь 2019 г.
- О.М. Эльзеки, М.Ф. Альрахмави, Самир Эльмуги. Новый гибридный алгоритм генетики и получения информации для вменения пропущенных значений в наборах данных о генах рака. Международный журнал интеллектуальных систем и приложений (IJISA), Том 11, № 12, стр. 20–33, DOI: 10.5815/ijisa.2019.12.03. Декабрь 2019 г.
- Оливер Штраус, Ахмад Альмхейдат и Хольгер Кетт. Применение эвристических стратегий и стратегий машинного обучения к ProductResolution. Материалы 15-й Международной конференции по информационным веб-системам и технологиям (WEBIST 2019), стр. 242-249. Ноябрь 2019 г.
- Юаньюань Ли, Стефано Карабелли, Эдоардо Фадда, Даниэле Манерба, Роберто Тадей1 и Оливье Терзо. Интеграция методов машинного обучения и оптимизации для гибкого изменения графика работы цеха в «Индустрии 4.0». Туринский политехнический университет, Группа исследования и оптимизации операций. Октябрь 2019 г.
- Хеттгер Р., Игель Б., Спинчик О. Ограниченное распространение программного обеспечения для автомобильных систем. Коммуникации в компьютерной и информационной науке, том 1078. Октябрь 2019 г.
- Джин Ву Ли, Квансон Чан, Хохён Юнг, Джэ Гиль Ли, Уичин Ли. Увеличение скорости и надежности выполнения заданий MapReduce в мобильном облаке за счет оптимизации распределения задач. Повсеместные и мобильные вычисления. Октябрь 2019 г.
- Кравчик, Лукас, Махмуд Баззал, Рам Прасат Говиндараджан и Карстен Вольф. Анализ времени на основе модели и оптимизация развертывания гетерогенных многоядерных систем с использованием Eclipse APP4MC. 22-я Международная конференция ACM/IEEE 2019 по модельно-ориентированным инженерным языкам и системам. Сопровождение: 44-53. Сентябрь 2019 г.
- Жунио Сезар Рибейру да Силва, Лорена Леан, Винисиус Петруччи, Абдулай Гаматье, Фернандо МаньоКинтау Перейра. Планирование в гетерогенных архитектурах с помощью многомерной линейной регрессии на входных функциях. lirmm-02281112. Сентябрь 2019 г.
- Эрик О. Скотт, Шон Люк. Европейский суд в 20 лет: к общему набору метаэвристических инструментов. GECCO '19: Материалы конференции по генетическим и эволюционным вычислениям, страницы 1391–1398. июль 2019.
- Франсиско Г. Монтойя и Рауль Баньос Наварро (ред.). Методы оптимизации, применяемые к энергосистемам, том 2. Книги MDPI, ISBN 978-3-03921-156-2. июль 2019.
- Хеттгер, Роберт и Ки, Чунхён и Буй, Бао и Игель, Буркхард и Спинчик, Олаф. Время отклика CPU-GPU и анализ сопоставления для высокопроизводительных автомобильных систем. 10-й международный семинар по инструментам и методологиям анализа для встраиваемых систем и систем реального времени (WATERS), совмещенный с 31-й конференцией Euromicro по системам реального времени (ECRTS'19). июль 2019.
- Максим Корди, Стив Мюллер, Майк Пападакис и Ив Ле Траон. Поисковое тестирование и усовершенствование систем обнаружения аномалий на основе машинного обучения. Материалы 28-го Международного симпозиума ACM SIGSOFT по тестированию и анализу программного обеспечения (ISSTA 2019). ACM, Нью-Йорк, Нью-Йорк, США, 158–168. июль 2019.
- Михаэль Вистейн, Ян Фабер, Клеменс Шмидт-Айзенлор, Даниэль Райтер. Автоматизированная обработка вспомогательных материалов с использованием мультикинематической системы захвата. Procedia Manufacturing, том 38, 2019 г., страницы 1276–1283. Июнь 2019.
- Николаос Николакис, Иоаннис Статакис, Сотириос Макрис. Об эволюционирующей информационной системе для персонализированной поддержки операторов предприятий. 52-я конференция CIRP по производственным системам (CMS), Любляна, Словения. Июнь 2019.
- Майкл Троттер, Тимоти Вуд и Джинхо Хван. Прогнозирование шторма: определение оптимальных конфигураций с использованием генетических алгоритмов и контролируемого обучения. 13-я Международная конференция IEEE по самоадаптивным и самоорганизующимся системам (SASO 2019). Июнь 2019.
- Кравчик, Лукас и Баззал, Махмуд и Прасат Говиндараджан, Рам и Вольф, Карстен. Аналитический подход к расчету сквозного времени отклика в приложениях для автономного вождения. 10-й международный семинар по инструментам и методологиям анализа для встраиваемых систем и систем реального времени (WATERS 2019). Июнь 2019.
- Родольфо Айала Лопес, Тьяго Маседо Гомеш и Алан Роберт Ресенде де Фрейтас. Программная платформа символических эволюционных алгоритмов. Материалы конференции по генетическим и эволюционным вычислениям (GECCO '19). июль 2019.
- Александр Прокопец, Андреа Роза, Давид Леопольдседер, Жиль Дюбоск, Петр Тума, Мартин Штуденер, Любомир Булей, Юди Чжэн, Алекс Вильясон, Дуг Саймон, Томас Вюртингер, Вальтер Биндер. Renaissance: пакет для сравнительного анализа параллельных приложений на JVM. PLDI '19, Финикс, Аризона, США. Июнь 2019.
- Роберт Хеттгер, Лукас Кравчик, Буркхард Игель, Олаф Спинчик. Анализ отображения памяти для автомобильных систем. Сборник кратких докладов (РТАС 2019). Апрель 2019 г.
- Аль Аккад М.А., Газимзянов Ф.Ф. АВТОМАТИЗИРОВАННАЯ СИСТЕМА ОЦЕНКИ КОМПОЗИЦИОННЫХ ХАРАКТЕРИСТИК 2D-ИЗОБРАЖЕНИЯ: НАСТРОЙКА МАТЕМАТИЧЕСКОЙ МОДЕЛИ. Интеллект. Сист. Произв., 17(1), 26-33. дои: 10.22213/2410-9304-2019-1-26-33. Апрель 2019 г.
- Alcayde, A.; Baños, R.; Arrabal-Campos, FM; Монтойя, FG Оптимизация сокращенной электроэнергии с помощью генетических алгоритмов. Энергии, том 12, выпуск 7, апрель 2019 г.
- Абдул Сахли Фахарудин, Норазвина Зайнол, Зулсайзван Ахмад Хушайри. Моделирование и оптимизация биодминирования багажника масличных пальм с использованием нейронной сети и генетического алгоритма. IEEA '19: Материалы 8 -й Международной конференции по информатике, окружающей среде, энергии и приложениям; Страницы 155–158, март 2019 года.
- Александар Прокопек, Андреа Роза, Дэвид Леопольдседер, Жиль Дюбоск, Петр Тинма, Мартин Студент, Любомир Булеи, Юди Чжэн, Алекс Вильязон, Дуг Саймон, Томас Вуертинг, Уолтер Биндер. При оценке набора бенчмаркинга эпохи Возрождения: разнообразие, производительность и сложность. Корнелльский университет: языки программирования, март 2019 года.
- S. Appel, W. Geithner, S. Reimann, M Sapinski, R. Singh, DM Vilsmeier Оптимизация синхронных синхротрон с использованием алгоритмов, вдохновленных NOTRAUTH и машинного обучения. 13 -й инт. Вычислительный акселератор Physics Conf., Февраль 2019 года.
- Саад, Кристиан, Бернхард Бауэр, Ульрих Р. Мансманн и Цзянь Ли. Автоанализ в системной биологии. Биоинформатика и биологическая информация, январь 2019 года.
- Гандева Байю Сатсрия, Су Янг Шин. Эволюционный вычислительный подход для оптимизации планирования суперфреймов в промышленных беспроводных сенсорных сетях. Корнелльский университет, декабрь 2018 года.
- HR Maier, S. Razavi, Z. Kapelan, LS Matott, J. Kasprzyk, Ba Tolson. Вводной обзор: Оптимизация с использованием эволюционных алгоритмов и других метахевристики. Экологическое моделирование и программное обеспечение, декабрь 2018 года.
- Эрих С. Теппп и Джакомо Д.А. Полковник Автоматическая генерация правил отправки для крупных магазинов трудоустройства с помощью генетических алгоритмов. CIMA 2018, Международный семинар по комбинациям интеллектуальных методов и приложений, ноябрь 2018 года.
- Pasquale Salzaa, Filomena Ferrucci. Ускорить генетические алгоритмы в облаке, используя программные контейнеры. Компьютерные системы будущего поколения, октябрь 2018 года.
- Гулам Мубашар Хасан и Марк Рейнольдс. Генетические алгоритмы для планирования и оптимизации рудных сетей. GCAI-2018. 4 -я Глобальная конференция по искусственному интеллекту, сентябрь 2018 года.
- Drezewski, Rafal & Kruk, Sylwia & Makowka, Maciej. Эволюционная оптимизация доходности компании на акционерный капитал: к агентской системе, вдохновленной биографией, поддерживающей решения корпоративных финансов. Доступ IEEE. 6. 10.1109/Access.2018.2870201, сентябрь 2018.
- Arifin, HH, Chimplee, N., Kit Robert Ong, H., Daengdej, J. and Sortrakul, T. Автопонентный компонент -выбор синтеза проектирования для физической архитектуры с помощью системной инженерии на основе моделей с использованием эволюционного коммерческого офф. Incose International Symposium, 28: 1296-1310, август 2018.
- Ong, Robert & Sortrakul, Thotsapon. Сравнение методов отбора генетических алгоритмов для автоматического выбора компонентов проектного синтеза с модельной системной техникой. Конференция: I-Seec 2018, май 2018 года.
- Стефан Пирнбаум. Die Evolution Im Algorithmus - Teil 2: Multikriterielle OptimierUng Und Architekturerkennung. Javaspektrum 03/2018, стр. 66–69, май 2018 года.
- W. Geithner, Z. Andelkovic, S. Appel, O. Geithner, F. Herfurth, S. Reimann, G. Vorobjev, F. Wilhelmstötter. Генетические алгоритмы для оптимизации машины в среде системы справедливого управления. 9 -я Международная конференция акселератора частиц (IPAC'18), май 2018 года.
- Стефан Пирнбаум. Die Evolution Im Algorithmus - Teil 1: Grundlagen. Javaspektrum 01/2018, стр. 64–68, январь 2018 года.
- Александр Фелферниг, Рувен Уолтер, Хосе А. Галиндо, Дэвид Бенавидс, Седа Полат Эрениз, Мюслум Атас, Стефан Рейтерер. В любое время диагноз реконфигурации. Журнал интеллектуальных информационных систем, стр. 1–22, январь 2018 года.
- Брюс А. Джонсон. От необработанных данных до химических сдвигов белка с использованием обработки NMRFX и анализа NMRVIEWJ. ЯМР белка: методы и протоколы, с. 257--310, Springer New York, ноябрь 2017 года.
- Cuadra P., Krawczyk L., Höttger R., Heisig P., Wolff C. Автоматическое планирование для плотно связанных встроенных многоядерных систем с использованием гибридных генетических алгоритмов. Информационные и программные технологии: 23 -я Международная конференция, ICIST 2017, Druskininkai, Литва. Коммуникации в компьютере и информационной науке, том 756. Springer, Cham, сентябрь 2017.
- Майкл Троттер, Гайю Лю, Тимоти Вуд. В шторм: смягчающие оптимальные конфигурации с использованием генетических алгоритмов и байесовской оптимизации. Основы и приложения Self* Systems (FAS* W), 2017 IEEE 2 -й международные семинары, сентябрь 2017 года.
- Эмна Хачича, Карн Юнсиривит, Мохамед Селлами. Генетическое настраиваемое распределение облачных ресурсов в разработке бизнес-процессов AWARE. Информационные и программные технологии: 23 -я Международная конференция, ICIST 2017, Druskininkai, Литва. Web Services (ICWS), 2017 IEEE International Conference, Jun. 2017.
- Абрау Г. Назарио, Фабио Ра Сильва, Раймундо Тейв, Леонардо Вилла, Антонио Флавио, Жуао Зико, Эйре Фаросо, Эдерсон Ф. Соуза. Automação Domótica Simulada utilizando algoritmo genético Especializado na redução do consemo de Energia. Компьютер на пляже 2017 с. 180-189, март 2017 года.
- Бандару С. и Деб, К. Метахевристические методы. Науки о принятии решений. CRC Press, стр. 693-750, ноябрь 2016 года.
- Лизид Туми, Абделуахаб Муссауи и Ахмет Угур. EMED-Part: эффективная методология для горизонтального разделения в хранилищах данных. Материалы Международной конференции по обработке интеллектуальной информации, безопасности и передовой коммуникации. Джаллель Эддин Бубиче, Фаузи Хидусси и Хомеро Торал Круз (ред.). ACM, Нью -Йорк, Нью -Йорк, США, статья 43, 7 страниц, 2015.
- Андреас Холзингер (редактор), IGO Jurisica (редактор). Интерактивное обнаружение знаний и интеллектуальный анализ данных в биомедицинской информатике. Заметки лекции в информатике, вып. 8401. Springer, 2014.
- Льязид Туми, Абделуахаб Муссауи, Ахмет Угур. Оптимизация роя частиц для растровой задачи соединения индексов в хранилищах данных. Журнал суперкомпьютинг, том 68, выпуск 2, стр. 672-708, май 2014 года.
- Tang Yi (Гуанчжоу Бюро источника энергетического снаряжения Limited, Guangzhou 511400, Китай) Исследование об объектно-ориентированном алгоритме оптимизации распределения реактивной компенсации для распределительных сетей , октябрь 2012 года.
- Джон М. Линебаргер, Ричард Дж. Детсри, Роберт Дж. Гласс, Уолтер Э. Бейлер, Арло Л. Эймс, Патрик Д. Финли, С. Луиза Маффитт. Сложные адаптивные системы системной инженерной среды версии 1.0. Отчет о песке, февраль 2012 года.
Примечания к выпуску
8.1.0
Улучшения
- #822: Улучшите сценарий сборки для генерации комбинированного Javadoc.
- #898: Добавьте поддержку для чтения данных из файлов CSV или строк. Это упрощает код для проблем регрессии.
static List < Sample < Double >> parseDoubles ( final CharSequence csv ) {
return CsvSupport . parseDoubles ( csv ). stream ()
. map ( Sample :: ofDouble )
. toList ();
}
- #904: обновление до Gradle 8.10 и очистки сценариев сборки.
- #907: Добавьте главу в руководство пользователя для стратегий оптимизации: Практическая джентика .
- #909: вспомогательные методы для преобразования примитивных массивов.
final Codec < int [], DoubleGene > codec = Codecs
. ofVector ( DoubleRange . of ( 0 , 100 ), 100 )
. map ( Conversions :: doubleToIntArray );
Ошибки
- #419: Исправлена флакированные статистические тесты.
8.0.0
Улучшения
- Java 21 используется для построения и использования библиотеки.
- #878: Разрешить виртуально-трудные оценивать функцию физической подготовки. Должен быть включен при создании
Engine
(см. Фрагмент кода ниже), предыдущее поведение сохранилось.
final Engine < DoubleGene , Double > engine = Engine . builder ( ff )
. fitnessExecutor ( BatchExecutor . ofVirtualThreads ())
. build ();
- #880: замените примеры кода в Javadoc на JEP 413.
- #886: улучшить сортировку
CharStore
. - #894: Новые генетические операторы:
ShiftMutator
, ShuffleMutator
и UniformOrderBasedCrossover
. - #895: Улучшение выбора
RandomGenerator
по умолчанию. Используемый RandomGenerator
выбирается в следующем порядке:- Проверьте, устанавливается ли параметр
io.jenetics.util.defaultRandomGenerator
. Если так, возьмите этот генератор. - Проверьте, доступен ли генератор
L64X256MixRandom
. Если так, возьмите этот генератор. - Найдите наилучший доступный случайный генератор в соответствии со значением
RandomGeneratorFactory.stateBits()
. - Используйте
Random
генератор, если не может быть найдено лучшего генератора. Этот генератор гарантированно будет доступен на каждой платформе.
Все заметки о выпуске
Лицензия
Библиотека лицензирована по лицензии Apache, версия 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.
Использовалось программное обеспечение