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

Лежит на струнах пыль
Ржавеет под окном
Разбитый телевизор
Ты сгладил все углы
И жизнь твоя сплошной
Проклятый компромисс
Ни вверх ни вниз

Так поёт группа Би-2 в песне "Компромисс" и с ними трудно не согласиться. Наша жизнь действительно состоит из сплошных проклятых компромиссов между несколькими решениями. Мы пытаемся найти максимально дешёвую, но качественную электронику, ищем экономичный, но быстрый автомобиль и красивого, но надёжного партнёра для отношений.

Каждая из этих повседневных задач заключается в поиске оптимума нескольких конфликтующих между собой функций. Это называется Читать полностью »

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

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

Учимся летать: симуляция эволюции на 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

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

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


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