Рубрика «искусственная жизнь»

Давайте рассмотрим наипростейшую модель естественного отбора. В сети встречал модель с двумя параметрами-генами, а у нас будет всего один, при сохранении наглядности. Модель настолько элементарна, что её можно обсудить даже со своим ребёнком (проверил со своей шестилетней дочкой).

NB: Весь код в статье интерактивный, кликайте, чтобы открыть, запустить, попробовать свои идеи сразу на ходу. Используется Python + p5py, который разрабатывался для книги для детей, преподавания в Универе, детских кружках и школе.

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

Всем привет. Решил рассказать про свои эксперименты с симуляцией эволюции.

Как это работает

Мои эксперименты с искусственной жизнью - 1

Мир разделен на квадратные клетки. В каждой клетке может находиться объект(бот или органика).

У бота есть геном, он действует, согласно геному. Бот может смотреть в восьми направлениях вокруг себя. Также у бота есть 3 основных параметра: энергия, минералы и возраст.

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

Нейроэволюция киберкальмаров. Перезагрузка графики - 1

С интересом слежу за темой симуляции живого посредством компьютерных программ. Нейросети демонстрируют огромный прогресс переваривая гигабайты информации.
Обучение нейронных сетей, в части требуемых ресурсов, далеко ушло от среднего по мощности настольного компьютера. Поэтому всегда интересны "игрушечные" проекты с быстрой обратной связью в части обучения нейросетей. А лучше всего, чтобы нейросеть сама и обучалась без заметных усилий со стороны разработчика. Этой весной был приятно удивлен обнаружив статью Job Talle о нейроэволюции кальмаров.

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

Алан Тьюринг, отец современного компьютера - 1
Алан Тьюринг, отец современного компьютера - 2

Вступление

Каждый, кто умеет пользоваться компьютером, знает, что для выполнения какой-либо операции на нем необходимо открыть соответствующую программу, которая хранится в его памяти. Однако жизнь не всегда была такой простой, как сейчас. Первые большие электронные цифровые компьютеры, британский «Колосс» (1944 год) и американский ENIAC (1945 год), не умели хранить программы в памяти. Чтобы настроить эти компьютеры на новую задачу, необходимо было перекоммутировать их, то есть вручную переподключить кабели и переустановить переключатели. Основной принцип работы современного компьютера, подразумевающий управление машиной с помощью программы, которая хранится в ее памяти и представляет собой закодированные инструкции, был сформулирован Аланом Тьюрингом.Читать полностью »

Идея

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

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

«Загляните, это нечто»: саморепликация искусственной ДНК - 1

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

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

Модульные боты-муравьи с памятью - 1

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

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

Я уже реализовал базовую систему конвейера задач на Javascript (потому что это упростило мою жизнь), но мне хотелось чего-то более надёжного и масштабируемого, поэтому этот проект я написал на C++. На это меня сподвиг конкурс по реализации процедурного сада в сабреддите /r/proceduralgeneration (отсюда и соответствующая тема).

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

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

Всем привет. В статье хочу описать свой эксперимент по созданию «искусственной жизни» на компьютере.
Как это выглядит?

Создание «искусственной жизни» на компьютере - 1
картинка кликабельна

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

Поведением ботов управляет код, записанный в них.
Именно код и является геномом, который отвечает за поведение бота и который будет изменяться в процессе эволюции.
Внутреннее устройство кода — это самое интересное в проекте.

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

Генетический алгоритм — способ оптимизации, какой-либо функции. Но, в нашем случае, мне просто был интересен принцип его работы, своеобразное моделирование эволюции. Ну и чтобы проэволюционировать самому. Мы имеем абстрактное поле, в котором есть организмы (синие и бирюзовые клетки), еда (зеленые) и яд (красные).

image

У созданий всего 64 гена, но можно ввести всего лишь 10 первых.

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


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