Как стать автором
Обновить

Комментарии 10

хорошо бы для пары картинок изобразить как оригинал так и найденные аппроксимации
Похоже ваш фреймворк стал родителем нового направления искусства — абстрактный полигонизм)
Меня посещали такие мысли :-). Можно даже пойти дальше, учитывая гибкость подхода можно подобрать картинку хоть кружочкам, хоть зайчиками из плейбоя.
Как я понимаю, Вы используете Proxy для реализации интерфейсов?

Не замеряли, какие накладные расходы с точки зрения производительности с ними связаны?
Чистые накладные расходы не замерял.
Сравнивал реализацию на java.lang.Proxy c реализацией при помощи cgLib.

Результаты сильно зависят от сложности фитнесс-функции.
Пример с поиском минимума функции на cgLib работает в полтора-два раза быстрее. Но, пример с аппроксимацией изображения работает столько же — отрисовка изображений и попиксельное сравнение операция дорогая, на фоне которой вызов нескольких методов через прокси занимает пренебрежимо мало. Та же самая ситуация наблюдалась в случае с обучением нейросети.

Поэтому я решил сделать все на стандартных Proxy. Тем не менее, я оставил штатный способ подменить фабрику прокси на cgLib (ну или любую другую) в рантайме.
А как так у вас получилось, что из метода public Comparable doCalcRating(Solution solution) возвращается -double?
double преобразуется в Double, который является Comparable.
Как и в любом другом деле первый и главный вопрос: А зачем изобретать велосипед если есть XXX?
Я вот ждал прямого сравнения с jgap, а так и не дождался…
Будет не объективно, если я сам буду сравнивать свой собственный фреймворк с другим. :-)

Я видел jgap когда начинал работать с генетическими алгоритмами. Мне не понравился их подход к созданию хромосом. Тогда я задумал написать EvoJ
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации