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

Учимся летать: симуляция эволюции на Rust. 4-5 - 1

Это предпоследняя часть серии статей по разработке симуляции эволюции с помощью нейронной сети и генетического алгоритма.

В сегодняшнем выпуске:

Сексуальные многоугольники

Учимся летать: симуляция эволюции на Rust. 4-5 - 2

Сертифицированные ISO диаграммы ASCII

------------
| ...%....|
|   ......|
|    @>....|
|      ...|
|        .|
------------

Клевые числа

Учимся летать: симуляция эволюции на Rust. 4-5 - 3

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

Ксеноботы: живые нанороботы из клеток лягушки - 1

В далеком 1495 году Леонардо да Винчи создал чертеж живых доспехов. И лишь спустя 425 лет чешский фантаст Карел Чапек впервые использовал слово «робот» в своей пьесе «R.U.R.». Современные роботы намного умнее, сложнее и мобильнее робота да Винчи, но у них есть общие черты. Одной из них является материал, из которого изготавливаются эти удивительные машины. Когда мы говорим о роботах, то чаще всего представляем себе что-то синтетическое, недаром в книгах и кино роботов порой именуют синтетиками.

Однако роботов создавать можно далеко не только из металла, пластика или углеволокна. Ученые из университета Вермонта (США) решили использовать в качестве строительных материалов мертвые клетки лягушек. Полученные в результате микроскопические роботы, названные «ксеноботами», способны путешествовать по телу живого организма и выполнять поставленные перед ними задачи. Как именно ученые создали искусственную жизнь, какими талантами могут похвастаться ксеноботы и где можно применить столь необычное изобретение? Об этом мы узнаем из доклада исследовательской группы. Поехали.Читать полностью »

В тактических играх ИИ очень важен. Если ИИ видится как «искусственный идиот», то игру может спасти потрясающий мультиплеер, сюжет, атмосфера и графика (это неточно). Решение очевидное: делай хороший ИИ, в чём тут могут быть проблемы?

Cat terminator by CoolAI

В деталях. Ниже описаны мои шаги по конструированию сильного ИИ с характером. Не супер сильного [1], но способного быстро отработать локально в прожорливом браузере любого средне-слабого ПК. Мною применён подход экспертных систем с использованием набора эвристик и мутаций. Описаны 15 шагов постепенного преображения ИИ, каждый из шагов можно пощупать.
Читать полностью »

Генетика любви: межполовой конфликт как основа сотрудничества в парах моногамных птиц - 1

Отношения между партнерами, наполненные заботой, знаками внимания и сопереживанием, поэты называют любовью, а вот биологи — межполовой взаимосвязью, нацеленной на выживание и продолжение рода. Одни виды предпочитают брать количеством — размножаться с как можно большим числом партнеров, чтобы увеличить потомство, тем самым повысив шансы на выживание всего вида. Другие же создают моногамные пары, которые могут прекратить свое существование лишь после смерти одного из партнеров. Многие годы ученые считали, что первый вариант значительно выгоднее, но это не совсем так. Моногамные пары, как правило, совместно воспитывают потомство, т.е. защищают его от хищников, добывают пищу и учат определенным навыкам, тогда как в полигамных отношениях все это чаще всего ложится на хрупкие плечи самок. Конечно, бывают исключения, но сегодня не о них. Биологов долгое время интересовал другой занятный момент — самцы продолжают проявлять знаки внимания в адрес самок, даже когда их пара уже сформирована и существует несколько лет. Чем обусловлено такое поведение, какая от этого выгода и какие эволюционные аспекты с этим связаны? На эти вопросы мы найдем ответы в докладе исследовательской группы. Поехали.Читать полностью »

В прошлой статье я описал алгоритм, позволяющий строить более интересные (в противовес более коротким, как делают всякие яндексы-гуглы) пешеходные маршруты между двумя точками. Алгоритм загружал достопримечательности, парки и прочие приятные и интересные для пешеходов объекты из Open Street Map и прокладывал маршрут через них. В итоге путь мог оказаться на 10-20% длиннее, но гораздо живописнее и интереснее.

Гуляем по городу с умом — 2: ходим по городу кругами с помощью генетического алгоритма - 1
Фото города — Alex 'Florstein' Fedorov

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

После некоторого количества экспериментов я сочинил генетический алгоритм, который строит достаточно неплохие (для меня) маршруты в такой ситуации. Под катом описание принципа работы и несколько примеров.Читать полностью »

В этой статье описывается библиотека optlib, предназначенная для решения задач глобальной оптимизации на языке Rust. На момент написания этой статьи в этой библиотеке реализован генетический алгоритм нахождения глобального минимума функции. Библиотека optlib не привязана к конкретному типу входных данных для оптимизируемой функции. Также библиотека построена таким образом, что при использовании генетического алгоритма можно легко менять алгоритмы скрещивания, мутации, отбора и другие этапы работы генетического алгоритма. По сути генетический алгоритм собирается как бы из кубиков.
Читать полностью »

Оптимизируем торгового робота: генетический алгоритм - 1

В предыдущей статье я занялся сравнением методов параметрической оптимизации, т.е., подбора параметров, оценивая прибыльность торговли робота в ходе последующего бэктеста. Выяснилось, что банальный метод Монте-Карло — генерация случайных некоррелированных комбинаций параметров робота — работает вполне неплохо. Сейчас же я хочу протестировать популярный, в том числе, в сообществе программирующих трейдеров, алгоритм: генетический алгоритм оптимизации.
Читать полностью »

Выращивание искусственного интеллекта на примере простой игры - 1

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

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

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

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

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

Демо

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

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

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

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

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

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


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