Генетический алгоритм с открытым исходным кодом библиотеки со всеми отделками, например, Особенности cellGA - PullRequest
3 голосов
/ 07 июля 2010

Я хотел бы реализовать программу выбора функций на основе GA для УФ-системы SGI (ядра = 512, общая память = 4 ТБ), которая работает следующим образом: (Выбор функций - это процесс, при котором наименьшее подмножество исходных функцийнайдено, что делает различие между выходными классами лучше, чем использование исходного набора функций - или только то же самое - для заданных данных, например, данные состоят из: {Атмосферное давление, температура, myShoeSize} в качестве независимых переменных, и на выходе получается Rainfall, возможныйРезультатом выбора функции будет {Атм. Давление, Температура}).

GA хранит пул родителей, каждый из которых представляет отдельное подмножество функций.Эти родители должны оцениваться с использованием машины опорных векторов или любого другого метода машинного обучения (нейронная сеть и т. Д.), Поэтому я хочу, чтобы каждого родителя отправляли на следующее доступное ядро ​​ЦП, оценивали с помощью любой программы, а пригодность отправляли обратно вGA.Таким образом, GA будет отвечать за все, кроме оценки (пригодности) каждого родителя - вместо этого GA отправит родителя в доступное ядро ​​и будет ждать результата пригодности.Вот где будут распределенные функции метода (поэтому я не хочу, чтобы различные GA работали на разных ядрах, только один GA работал на одном ядре и порождали оценщики работоспособности в разных ядрах).

В порядкеЧтобы воспользоваться преимуществами распределенных вычислений моего оборудования, я бы хотел, чтобы GA работал в асинхронном режиме, в то время как есть две группы родителей: те, кто оценил свою пригодность, и те, кто ждет ее.Когда есть свободное ядро, GA берет родителя из пула не оцененных и отправляет его ядру.Тем временем, ГА берет родителей из оцененного пула, мутирует их и т. Д., Скрещивает их и отправляет своих детей в не оцененный пул и т. Д.

Итак, моя идея - получить библиотеку ГА с открытым исходным кодомизменить его немного, насколько это касается его функции оценки.Если библиотека предлагает этот «асинхронный» режим, это будет хорошо.В дополнение ко всему, я хотел бы, чтобы библиотека предлагала множество функций, например, cellGA.Что бы ни вышло, тоже будет с открытым исходным кодом.

У кого-нибудь есть предложения?Кстати, кто-нибудь знает какие-либо ссылки на публикации об этом «асинхронном» режиме - или вы видите какие-либо недостатки с этим?

Ответы [ 2 ]

1 голос
/ 07 июля 2010

Попробуйте JGAP . Это больше о генетическом программировании, но имеет поддержку GA, и это opeensource, так что вы можете изменить его. И он имеет распределенную вычислительную поддержку.

0 голосов
/ 28 января 2015

В последнее время появились проекты с открытым исходным кодом для различных языков программирования, которые позволяют это.Я знаком с DEAP для python, но есть и другие пакеты Python и аналогичные пакеты для R, которые могли бы выполнять эту работу.

...