Рубрика «генетические алгоритмы» - 2

Биокриптография как шанс спастись от криптоапокалипсиса - 1Было время, среди ученых ходила мода ругать природу за неоптимальные решения и массу применяемых «костылей». Один физик XIX века даже вошел историю с высказыванием в том духе, что господь бог – плохой оптик, и за конструкцию человеческого глаза он и гроша бы ему (богу) не дал. Потом его именем даже институт в Москве назвали, но уже не за это.

Так вот, он был неправ (хотя без слепого пятна можно было бы и обойтись). Сейчас наука то и дело подсматривает у живых организмов отдельные принципы и приемы. Да, они не всегда энергетически эффективны, часто область их применения узка, зато проверены миллионами лет выживания. И вот что интересно – даже в такой безжизненной области, как криптография, находится применение тому, что придумала когда-то жизнь. Конечно, животные не шифруют передаваемую информацию, так что напрямую тут ничего не украсть. We need to go deeper, как выразился известный оскароносец.

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

Сегодня будем рисовать геометрические фракталы, которым уделяют незаслуженно мало внимания. А между тем, тут каждый фрактал — маленький шедевр, поражающий воображение!

Эволюция фрактальных монстров - 1

Дальше много картинок и gif-анимация. Но прежде, чем переходить под кат, посмотрите на картинку выше и скажите, что на ней нарисовано?

Читать полностью »

Как создать торгового робота с помощью генетического программирования - 1

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

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

Проект возник из желания попробовать на практике генетическое программирование. Первым вариантом было создавать бота к какой-нибудь игре, но я остановился на торговых роботах, где биржа тоже своего рода игра.
Читать полностью »

Исследователи из Университета Твенте в Энсхеде, Нидерланды (University of Twente, Enschede), задались вопросом: можно ли некий бесформенный наноразмерный объект запрограммировать для выполнения математических операций?
Таким объектом была выбрана «клякса» (blob) из золотых наночастичек 20 нм в диаметре, помещенных на 8 золотых электродов методом диэлектрофореза.
схематическое изображение Можно ли запрограммировать бесструктурный объект? - 2
Читать полностью »

Генетическое программирование («Yet Another Велосипед» Edition) - 1

Давайте на время отвлечемся от очередного "языка-убийцы C++", ошеломляющих синтетических тестов производительности какой-нибудь NoSQL-ой СУБД, хайпа вокруг нового JS-фреймворка, и окунемся в мир "программирования ради программирования".

Читать полностью »

Бродя по просторам интернета, заинтересовался такой вещью как генетическое программирование. Если в двух словах, это автоматическое создание программ, которые выполняют ту или иную цель, в соответствии с принципом естественного отбора. То есть сначала случайным образом создается поколение «существ»-программ, которые сортируются по разным критериям (близость к достижению цели), затем часть из них мутирует (также случайно), часть вымирает и часть заменяется новыми случайными существами.

Таким образом, самые достойные существа продолжают свое дело и дают потомков, а самые слабые — отсеиваются в процессе отбора. Несколько экспериментов и их результаты — под катом.

Генетическое программирование. ELTRUT-проблема - 1
Читать полностью »

Одним субботним декабрьским вечером сидел я над книгой The Blind Watchmaker (Слепой Часовщик), как на глаза мне попался невероятно интересный эксперимент: возьмём любое предложение, например Шекспировскую строку: Methinks it is like a weasel и случайную строку такой же длины: wdltmnlt dtjbkwirzrezlmqco p и начнем вносить в неё случайные изменения. Через сколько поколений эта случайная строка превратится в Шекспировскую строку, если выживать будут лишь потомки более похожие на Шекспировскую?

Сегодня мы повторим этот эксперимент, но в уже совершенно другом масштабе.

Играем с генетическими алгоритмами - 1

Структура статьи:

  1. Что такое генетический алгоритм
  2. Почему это работает
  3. Формализуем задачу со случайной строкой
  4. Пример работы алгоритма
  5. Эксперименты с классикой
  6. Код и данные
  7. Выводы

Осторожно трафик!
Читать полностью »

image

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

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

Книга, что попалась не так давно на глаза, объединяет в себе оба мира: в ней, с одной стороны, описаны интересные в совокупности алгоритмические приемы; результат же работы — настольная игра «Yavalath» на приложенной картинке — был издан и пользовался достаточно широкой для абстрактной игры популярностью.

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

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

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

В моём примере сами эффекты выбираются вручную — это колонка справа от изображения: размытие, цвет, контраст, резкость и т.п. А вот настройки для каждого из эффектов выбираются случайно. Но случайно до тех пор, пока вы не запустите процесс эволюции и отбора.
Читать полностью »

Привет!

Этим летом я принял участие в Научно-образовательной школе МГУ, которая проводится Московским Государственным Университетом и Лабораторией Научного Творчества СУНЦ МГУ. В этой статье я хотел бы рассказать вам о проекте, который я разработал во время школы на спецкурсе по программированию под руководством MAD_GooZe.
image
Для нетерпеливых

Идея проекта

Итак, у нас возникла идея сделать что-нибудь интересное, используя генетические алгоритмы. Например — попытаться генерировать красивые абстрактные изображения. К слову сказать, до начала работы над этим проектом, я был знаком с генетическими алгоритмами весьма посредственно, но пообщавшись с руководителем и почитав некоторые статьи в интернете, я ринулся в бой.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js