Рубрика «эволюция» - 14

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

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

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

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

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

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

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

Напомню как это делается: вы создаете две страницы, разница которых будет заключаться только в цвете кнопки “оформления заказа”. Затем вы, случайным образом, половине посетителей сайта показываете страницу №1, а другой половине — страницу №2. В результате, на одной из страниц, пользователи нажмут кнопку оформления заказа больше, чем тоже самое количество других пользователей на другой странице.

Следует ли из этого, что цвет кнопки влияет на количество оформленных заказов? Давайте проведём мысленный эксперимент. У нас будет две команды, по пять человек в каждой. Одна команда будет в красных футболках, другая — в синих. Каждый член команды будет подбрасывать монетку и записывать что выпало: орёл или решка. Пусть каждый подбросит монетку, скажем, три раза. После, посчитаем количество полученных “орлов” для каждой из команд.

Мы увидим, что одна из команд набрала больше “орлов” чем другая. Можно ли сделать вывод, что цвет футболки определил победителя? Следует ли нам одевать красную (синию) футболку, когда мы собираемся зарабатывать больше “орлов”?
Читать полностью »

Последний месяц в армии. Постепенно освобождается время для разных интересных проектов. Остается только определиться, чем именно занять мозги. Закончил читать «Эгоистичный ген» Ричарда Докинза и идея была сформулирована – хочу сделать визуализацию, использующую принципы эволюции.

image
Рисунок 1. Популяция бактерий перестраивает среду под свои нужды.

Итак, вперед!
Читать полностью »

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

Большая часть предпродкашен идей отправляется в корзину, но и среди этого потока иногда можно выловить нечто ценное, что в итоге попадает в проект и оживает в игре. Собственно, именно о таком случае и пойдет речь в этой статье. Я разделил ее на несколько хронологических этапов, чтобы вы поняли, что процесс разработки «размазан» по времени и у некоторых заданий нет четких временных рамок.
История собаченьки. Создание персонажа для новой игры «Эволюция: Битва за Утопию»

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

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

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

P.S. Лекция записывалась на камеру (полную версию в не очень хорошем качестве можно посмотреть здесьЧитать полностью »

Голосуем за лучшую футболку для разработчиков: между котиками и приложениями

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

image
Недавно на хабре проскочил пост, который напомнил мне о такой забавной и довольно интересной вещи, как BoxCar2D (Оригинал, Версия из поста), которую в первый раз я увидел пару лет назад, и которая меня порядком впечатлила. И уже тогда я подметил в ней один фатальный недостаток (вкратце — ее сделал не я), но в тот раз руки так и не дошли до его исправления. И вот теперь я решил это исправить.

Итак, я расчехлил Visual Studio и принялся за дело.
Первым делом я просто повторил функционал BoxCar2D, а именно: фиксированный размер популяции, которая проживает свою жизнь и порождает следующее поколение. Можно было поиграться с тем, как усложняется трасса со временем, что содержит в себе геном и как машинки скрещиваются и мутируют.
Читать полностью »

Эволюция гоночных автомобилей — Мультиплеер

В продолжение предыдущей игры — Эволюция гоночных автомобилей на JavaScript

Эта игра теперь сетевая, все игроки деляться своими лучшими машинками в каждом раунде. Лучшая машинка каждого игрока игрового мира добавляется к вам в список машин текущего уровня. Лучшие машинки передаются по миру друг другу пользователями которые прямо сейчас играют, используя PubNub Real-time Network.

Сорцы: https://github.com/pubnub/genetic-car-2

Играть на http://gencar.co/

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

Возможно, вам доводилось видеть игру Box Car 2D — автогонки машинок, сгенерированных с помощью генетического алгоритма. Игра работает на платформе Flash и использует физический движок box2d. За тем, как из бесформенных уродцев через несколько десятков поколений развиваются вполне приличные гоночные автомобили, можно наблюдать часами. Игра существует уже несколько лет, а её фанаты соревнуются в выведении новых «пород» машинок на разных типах трасс. Недавно в сети появился клон этой игры под названием Genetic Cars, написанный на HTML5 и JavaScript. Хотя в нем ещё многого не хватает (например, редактора машинок), некоторые вещи сделаны гораздо лучше, чем в оригинале. Например, есть возможность наблюдать заезд всех машинок одновременно. И самое главное — можно ковыряться в исходниках!

Эволюция гоночных автомобилей на JavaScript
Читать полностью »

image

Количество новых гаджетов и электронных устройств с каждым днём растёт как на дрожжах.

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

Давайте посмотрим на то, как развивался Homo Sapiens. Род Homo отделился от австралопитеков или подобных им гоминид около 2 млн лет назад в Африке. Существовало несколько видов людей, большинство из которых вымерло. К ним, в частности, относятся питекантропы, неандертальцы и др. Важнейшими этапами антропогенеза, отделившими человека разумного от других гоминид и выделившими его из мира животных, были начало изготовления орудий труда, освоение огня и появление языка.

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


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