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

Зачем я вообще полез в ДНК

Первое — это интерес, как двигатель узнать что-то новое. Это также напрямую связано с развитием ИИ, где я принимаю непосредственное участие.

И второе — если посмотреть, как реальная клетка читает мРНК и собирает белки, это похоже на исполнение байткода:

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

  • Старт-кодонЧитать полностью »

В 1970 году математик Джон Конвей придумал игру без игроков.

Сетка. Клетки. Три правила. Меньше двух соседей — умираешь от одиночества. Больше трёх — от тесноты. Ровно три соседа рядом с пустой клеткой — рождается новая.

Всё.

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

Но вот что не давало мне покоя.

Клетки в «Жизни» не выбирают. Они подчиняются. Правило сработало — клетка умерла. Никаких переговоров.

А что, если дать клеткам мозг?


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Вступление

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

Идея

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

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

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

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

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

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

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

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

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

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

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


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