четверг, 7 февраля 2013 г.

в=12. с=0. решить алгоритм

Для начала попытаемся нарисовать абстрактное изображение которое будет радовать наш глаз. Будем строить изображение, как наложение пяти случайных радиальных градиентов с прозрачностью 50%. Каждый градиент характеризуется центральной точкой, точкой фокуса, радиусом и набором из десяти цветов, плавно переходящих друг в друга.

Абстрактное изображение

От теории к практике

результаты сравнения с предыдущих циклов кэшируются, и если однажды пользователь уже сравнивал какую-то пару картинок, на следующей итерации результаты будут взяты из кэша

сортировка прекращается, как только однозначно определяется 6 лучших решений, которые будут использованы для порождения нового поколения

Алгоритм QuickSort был немного модифицирован, чтобы сократить количество кликов мыши, необходимых для одного цикла сортировки:

шаги 2 и 3 повторяются бесконечно, в любой момент можно сохранить понравившееся изображение посредством контекстного меню

после завершения сортировки, в соответствии с генетическим алгоритмом, путем скрещивания наилучших представителей популяции порождается следующее поколение картинок

изображения сортируются алгоритмом QuickSort, при этом, сравнение изображений осуществляет человек ему демонстрируется пара картинок и предлагается выбрать лучшую из двух

порождается популяция случайных изображений

Приложение функционирует следующим образом:

Исходный код Java приложения, реализующего данную идею может быть найден , исполняемый код можно скачать , для запуска требуется .

Так как фитнес-функция используется для ранжирования решений, сортировки их в порядке возрастания достоинства, предлагается опустить фазу подсчета фитнес-функции и перейти сразу к сортировке, используя человеческий мозг в качестве компаратора.

Однако, это ставит новый вопрос как его надежно измерить. Наиболее простым подходом было бы попросить пользователя поставить оценку изображению, однако на мой взгляд это слишком напрягло бы логическую часть мозга, так как приходилось бы много думать, сомневаться 4 поставить или 5, помнить какую оценку поставил «вон той красивой картинке», чтобы соблюсти иерархию.

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

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

Я, как и многие люди технического склада ума, испытываю трудности с рисованием и графическими решениями вообще. Я, конечно, могу отличить красивое решение от плохого, но оказываюсь в тупике, когда нужно нарисовать что-то с нуля, будь то пользовательский интерфейс приложения, презентация или открытка.

Генерация дизайнерских идей при помощи генетического алгоритма

6 сентября 2012 в 10:55

Генерация дизайнерских идей при помощи генетического алгоритма / Блог компании Luxoft / Хабрахабр

Комментариев нет:

Отправить комментарий