Комментарии 84
Блин всё хорошо, но зачем доктор Хаус, а? Зачем?
странно, я думал он всем нравится)
Понимаете, любые вещи имеют свойство надоедать. Осбенно картинки, которыми можно увидеть на каждом углу, куда не глянь…
Впрочем, это мое личное мнение, посмотрим на реакцию Хабрасообщества!
Впрочем, это мое личное мнение, посмотрим на реакцию Хабрасообщества!
Ясно, похоже он и в правду всем нравится…
Уже карму опустили ниже плинтуса.
Странно, неужели я один такой?
Уже карму опустили ниже плинтуса.
Странно, неужели я один такой?
Нет, не один. Не обращайте внимания на минусующее стадо. И чтобы такого больше не повторилось, запомните:
1) ХАУС КРУТОЙ КТО НЕ СМОТРИТ ТОТ ЛОХ
2) МАК ОЧЕНЬ КРУТОЙ ВЫ ПРОСТО НЕ ПОНИМАЕТЕ
3) ЛИНУКС НАГИБАЕТ РАКОМ ОСТАЛЬНЫЕ ЖАЛКИЕ ОПЕРАЦИОННЫЕ СИСТЕМЫ И ТОЛЬКО ПОПРОБУЙТЕ ВОЗРАЗИТЬ
4) PYTHON НЕ ИМЕЕТ АЛЬТЕРНАТИВ
5) КАРМА НЕ НУЖНА
6) ??????
7) PROFIT!
1) ХАУС КРУТОЙ КТО НЕ СМОТРИТ ТОТ ЛОХ
2) МАК ОЧЕНЬ КРУТОЙ ВЫ ПРОСТО НЕ ПОНИМАЕТЕ
3) ЛИНУКС НАГИБАЕТ РАКОМ ОСТАЛЬНЫЕ ЖАЛКИЕ ОПЕРАЦИОННЫЕ СИСТЕМЫ И ТОЛЬКО ПОПРОБУЙТЕ ВОЗРАЗИТЬ
4) PYTHON НЕ ИМЕЕТ АЛЬТЕРНАТИВ
5) КАРМА НЕ НУЖНА
6) ??????
7) PROFIT!
в таком случае вам повезло, что я не выбрал картинку, где хаус сидит за маком и кодит на питоне под линуксом…
Да мне-то всё равно, я давно уже не обращаю внимания на всё это. Просто tolikblik так был удивлён, что пришлось ему рассказать, как тут на хабре обстоят дела.
Дела так обстоят не только на Хабре. Иначе бы у нас была давно эта… которая инновационная. А не край непуганных идиотов которые с перепугу все заминусуют.
Слишком много кофе?
Не согласен по всем пунктам, за исключением пунктов под номером шесть и семь.
да
Меняйте аватар ;)
Людям стыдно признаваться в том, что они смотрят мыльные сериалы, ведь это удел домохозяек.
Готов поспорить, что фотка Путина вызвала бы другую реакцию. Хотя его почаще Хауса показывают.
Но не с высунутым языком, согласитесь!
Соглашусь. Но, блин, обсуждать какую фотку лучше использовать для испытания алгоритма…
Ну просто выбор несколько неожиданный, да ещё и с высунутым языком… А так общественность уже много раз проходила через выбор тестовых картинок. Обычно фотка «Lena Söderberg» используется для всяких тестов: en.wikipedia.org/wiki/Lenna. Ну а для разнообразия можно было необрезанную фотку взять. Ссылка на неё есть вот здесь www.ee.cityu.edu.hk/~lmpo/lenna/Lenna97.html примерно посередине (на работе лучше не открывать ;) ).
блин чувак, ну не нравится — не смотри. не заставляют же, автору скажи спасибо что он вобще что-то сюда запостил. писец, да сколько можно успокаивать заморачивающихся нытиков, ёпть.
>>Блин всё хорошо, но зачем доктор Хаус, а? Зачем?
все хорошо, а вот аватар у вас — херня. Еще б «Не лох» в квадратике написали…
все хорошо, а вот аватар у вас — херня. Еще б «Не лох» в квадратике написали…
А вы его смотрели?
Не обращай внимания. Тут очень много небыдла, драчащие на мак/хауса/нужно добавить.
Эксперимент забавный, но к генетическим алгоритмам не имеет никакого отношения, больше похоже на simulated annealing. Интересно, кстати, станет ли сходимость быстрее, если сделать настоящий отжиг, т.е. добавить в оценочную функцию «тепловые флуктуации»
действительно очень похоже на данный алгоритм, спасибо за ссылку, не знал о нем. с вашего позволения пока что оставлю в названии генетические алгоритмы.
А тут как раз подошел бы генетичексий. Поскольку металл имеет наследственность, сохраняющуюся и модифицирующкюся при можестве переплавок. Поэтому металлоломы всегда добавляют в свежую плавку для образовния правильного наследования.
OMG что вы курили? Неужели структурированную воду?
а не слышали что металл устает?
Наследственость металла обысловленна микрокристалами, то есть кристаллами микронного размера которые практически не плавятся из-за своей очень компактной и чистой структуры и при застывании служат центрами образования кристализации. То есть образуют необходимое мелкое зерно. К этому надо добавить, что данные кристаллы образуются в холодном металле — так называемая нормализация, но в течении долгого времени. Поэтому найденные в земле немецкие каски и ножи имеют очень хорошее качество не только благодаря Золингеру. Свежая плавка из руды такого наследования не имеет.
можно было бы нехило сэкономить на времени, если начальное наполнение трехугольниками было не случайное. Ну, например, изначально все трехугольники — одинаковые, расположенные рядышком, матрицей. Потом куда надо разъедутся.
Это случайно не вот этим навеяно?
rogeralsing.com/2008/12/07/genetic-programming-evolution-of-mona-lisa/
rogeralsing.com/2008/12/07/genetic-programming-evolution-of-mona-lisa/
верно, не мог вспомнить, где видел вдохновивший пример
Теперь можно организовать стартап вроде imobilko и в день выкладывать по новой фотке, чуть ближе похожей на оригинал :)
Он вас вдохновил так, что вы его повторили с точностью до имен классов (по крайней мере core-классы). Это правильно, что вы написали об этом примере на Хабре, но не стоило было присваивать только себе честь изобретения. Разве сложно всего лишь поставить ссылку: по мотивам того-то.
Но зачем?
Интересно, но без кроссовера и популяции назвать это генетическим алгоритмом у меня не повернулся бы язык :)
Забавно.
Конечно, это не есть генетический алгоритм, но все равно апплодисменты!
Конечно, это не есть генетический алгоритм, но все равно апплодисменты!
Отличная первая статья btw
По мне так очень сложные для понимания вещи, но очень интересно. Занимаюсь рекламой… навеяло много идей…
При таком подходе это брутфорс а не ГА. Нужно было сделсть популяцию и скрещивание, тогда и результаты был бы получше, и время вычисления меньше…
Мб далеко не в тему, но кто может подсказать че за музыка играет в видео?)
навсякий случай, напиши на каком железе результат получен. может какнить соберусь заняться ГА, а результаты несчем сравнить
работало на 1 ядре частотой 1.73 GHz
А если переписать под СUDA? И запустить, скажем, на Nvidia GTX 260 с 216 потоковыми камнями?
проверьте) я с удовольствием почитаю о результатах
habrahabr.ru/blogs/hardware/49910/
Напишите код, я поставлю карточку и проверю) Сейчас стоит HD4870.
Напишите код, я поставлю карточку и проверю) Сейчас стоит HD4870.
Там и без CUDA есть куда оптимизировать. Большинство времени тратится на I/O при сохранении промежуточных результатов на диск. К тому же мутации можно распаралелить на количество ядер на машине. К сожалению просто воткнуть цикл в Parallel.ForAll не получилось — алгоритм не рассчитан на многопоточность, а разбиратся у меня сейчас нету времени, но все же мне кажется, что если пару часов посидеть над ним, то можно добится того же результата за намного меньшее время.

В журнале Esquire страницы с авторами имеют такой же вид, правда я думаю они не тратят на это по 20 часов за картинку, но тем неменее, результат получается довольно интересным
А вы уверены что там используется та же технология?
Это совсем другой алгоритм. Тут используется delaunay raster

www.jonathanpuckey.com/projects/delaunay-raster/

www.jonathanpuckey.com/projects/delaunay-raster/
от вашего алгоритма у Хауса заплыл правый глаз =)
Вариант на Javascript поинтересней будет ;)
демонстрация шикарна.
но было бы гораздо интереснее еслиб туда вставить счётчик поколений/мутаций.
абстрактное «20 часов» мало о чём говорит.
/**
ну и пояснения можно было бы подетальнее — для тех, кто не в теме генетических алгоритмов.
*/
но было бы гораздо интереснее еслиб туда вставить счётчик поколений/мутаций.
абстрактное «20 часов» мало о чём говорит.
/**
ну и пояснения можно было бы подетальнее — для тех, кто не в теме генетических алгоритмов.
*/
СкайВолкер, спасибо — очень понравилось. Пара вопрос по делу (не про фотку Д.Хауса):
1. На какаой машине заняло 20 часов?
2. Как влияет на время количество многоугольников и количество углов?
1. На какаой машине заняло 20 часов?
2. Как влияет на время количество многоугольников и количество углов?
а где-же комментарии в коде?
Сударь, вы больны! (в хорошем смысле слова) =)
Итого, имеем Джпег в 16,5 кБ против
100*10*( 2*sizeof(int) ) = 8000 байт, что после архивации даст что-то около 1 кБ.
Очень неплохой результат.
100*10*( 2*sizeof(int) ) = 8000 байт, что после архивации даст что-то около 1 кБ.
Очень неплохой результат.
Как уже было сказано выше это совсем не генетический алгоритм (ничего схожего с живой эволюцией). Такого рода алгоритмы называются метод Монте-Карло, просто случайный перебор вариантов в надежде что найдем неплохой результат.
жду Хауса, алгоритм — зачот!
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Векторизуем изображение генетическим алгоритмом