Моделирование эволюции

МЕНЮ


Искусственный интеллект
Поиск
Регистрация на сайте
Помощь проекту

ТЕМЫ


Новости ИИРазработка ИИВнедрение ИИРабота разума и сознаниеМодель мозгаРобототехника, БПЛАТрансгуманизмОбработка текстаТеория эволюцииДополненная реальностьЖелезоКиберугрозыНаучный мирИТ индустрияРазработка ПОТеория информацииМатематикаЦифровая экономика

Авторизация



RSS


RSS новости


Доброго времени суток, всем подписчикам группы.

Поскольку краткость сестра таланта, постараюсь максимально сжато...

Не прошло и года, как я написал основную часть четвёртого проекта. И опять в области кибер биологии. (Да ладно, серьёзно?!)

Проект пишется с февраля 2019 года в среде RAD Studio XE8. По сути это разновидность "клеточного автомата", придуманного английским математиком Джоном Конвеем в 1970 году.

Каждый бот имеет свой геном, хранящийся в одномерном массиве, состоящий из 128000 элементов. Этот массив в логике программы является мРНК цепочкой, где одно число 0..63 кодирует одну из 20 аминокислот, а они в свою очередь белок. При рождении происходит сборка бота с уникальными свойствами, сгенерированными последовательностью чисел из мРНК. Сборщик бота находит в геноме старт-кодон (красное число), считывает всю цепочку (зелёные числа) до стоп-кодона (синее число), каждая цепочка кодирует какое-то свойство, строение или умение. (см. в картинках скрин с разноцветными числами).

В симуляции каждый бот начинает выполнять команду с наивысшим приоритетом. Выполнение команд: "поворот" и "Шаг" не учитываются системой приоритетов и выполняются как отклик на внешние раздражители среды. т.е. если тактильная переменная обнаружила впереди препятствие/стрекательные капсулы или бот "ощутил" неблагоприятную температуру/загрязнение/недостаток воздуха,

неизбежно провоцируется поворот и/или шаг если величина раздражителей достаточно велика.

Отличия от прошлого проекта:

- нет генома поведения

- есть массив в 128000 элементов, который является "мРНК" цепочкой, состоящей из аминокислот (или триплетов/кодонов).

- боты могут быть как одноклеточными, так и многоклеточными

- четыре способа движения: 1) простой шаг в 8 направлениях в одноклеточном состоянии. 2) "осьминог" - движется только ядро бота, как внутри тела, так и наружу, увлекая за собой все его части. 3) "инфузория" - бот движется с активной своей части, если шаг не получился, активной частью становится другая клетка бота. 4) "змейка" - тут всё очевидно.

- некоторые ячейки убрал, некоторые добавил.

- выполнение команд и выбора направления осуществляются посредством системы приоритетов. (см. картинки и видео)

- добавлена анимация некоторых команд.

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

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

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

- есть несколько цветовых фильтров.

- к составу воздуха добавлен азот, а боты могут дышать одним из трёх компонентов: O2, CO2, Azot.

- по умолчанию все боты могут двигаться только на чётные углы поворота. Если бот долго остаётся на месте, накапливается углекислый газ, который делает бота более гибким и он может поворачивать на все 8 углов поворота. (Подсмотрено у инфузорий)

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

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

Список команд:

- 4 варианта шага

- поворот на 8 углов

0 выстрел трихоцистами

1 Обратить список координат (если змейка зашла в тупик, она может пойти другим концом)

2 вывод воды из организма

3 Изменение Alpha канала

4 уменьшение приоритета N команды

5 увеличение приоритета N команды

6 попытка войти в анабиоз (в этом режиме бот неактивен, но менее чувствителен к тяготам и невзгодам)

7 схватить/съесть из клетки под ботом

8 схватить/съесть из смежной клетки

9 нанести урон смежной клетке

10 яд в еду в клетке под ботом

11 яд в еду в смежной клетке

12 еду в яд в клетке под ботом

13 еду в яд в смежной клетке

14 нанести урон клетке под ботом

15 отдых

16 добыть кальций в клетке под ботом

17 Кальций в панцирь

18 Сбор детритов

19 Добыть паралитики

20 Впрыск паралитиков в жертву

21 добыть минералы в клетке под ботом

22 Энергия от митохондрий

23 Фотосинтез

24 Хемосинтез

25 Размножение делением

26 Конъюгация

27 Проверка энергии

28 Проверка Массы

29 Построить стену в смежной клетке

30 Построить стену в клетке под ботом

31 Выстрел ядом

32 Проверка Свой/Чужой

33 Поиск еды по запаху

34 Поиск яда по запаху

35 Поиск органики по запаху

36 Регенерация (+HP)

37 Снижение Стресса

38 Осмотреться (запись в память N ячеек вокруг бота)

39 Шаг к боту (использование памяти)

40 Шаг к органике (использование памяти)

41 Шаг к еде (использование памяти)

42 Шаг к яду (использование памяти)

43 Чистка водоёма в клетке под ботом

44 Чистка водоёма в смежной клетке

45 Поделиться энергией

46 обменяться картой памяти

В проекте пока ещё нет настроек, по этому создал несколько exe файлов.

ссылка на 3 проект: https://vk.com/wall-167044850_318

ссылка на архив: https://yadi.sk/d/HQrqeAH7SknUXg


Источник: yadi.sk

Комментарии: