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

Я познакомлю вас с полным туториалом на HTML5 с демо по алгоритму машинного обучения видеоигре Flappy Bird. Цель этого эксперимента — написать игровой контроллер искусственного интеллекта на основе нейросетей и генетического алгоритма.

То есть мы хотим создать ИИ-робота, который сможет учиться оптимальной игре во Flappy Bird. В результате наша маленькая птица сможет спокойно пролетать через препятствия. В наилучшем сценарии она не умрёт никогда.

Прочитав теорию, лежащую в основе этого проекта, можно скачать исходный код в конце этого туториала. Весь код написан на HTML5 с использованием фреймворка Phaser. Кроме того, мы использовали библиотеку Synaptic Neural Network для реализации нейросети, чтобы не создавать её с нуля.

Демо

Для начала посмотрите демо, чтобы оценить алгоритм в действии:

Алгоритм машинного обучения Flappy Bird - 1

Запустить в полноэкранном режиме
Читать полностью »

Постепенная информатизация медицины связана со сбором очень разных данных. Они добываются совершенно непохожими способами и почти всегда имеют уникальную структуру. Откуда, как и зачем их стоит собирать? В своём докладе руководитель разработки сервиса Яндекс.Здоровье Михаил Tomcat Пайсон рассказывает об основных путях развития современной медицины и о технологических проблемах, которые перед ней стоят.

Под катом — расшифровка доклада и слайды.

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

Биокриптография как шанс спастись от криптоапокалипсиса - 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» на приложенной картинке — был издан и пользовался достаточно широкой для абстрактной игры популярностью.

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


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