3

Я хотел бы реализовать программу выбора функций на основе GA для системы SGI UV (core = 512, shared memory = 4TB), которая работает следующим образом: (Выбор функции - это процесс, с помощью которого наименьшее подмножество оригинала обнаружены функции, которые делают дискриминацию между выходными классами лучше, чем использование исходного набора функций - или точно так же - для данных, например, данные состоят из: {Атмосферное давление, температура, myShoeSize} в качестве независимых переменных и выходных данных - осадки, возможным результатом выбора функции будет {Atm.Pressure, Temperature}).Библиотека с открытым исходным кодом из генетического алгоритма со всеми обрезками, например. Функции cellGA

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

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

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

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

ответ

1

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

0

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