Доброго времени суток. |
||
МЕНЮ Искусственный интеллект Поиск Регистрация на сайте Помощь проекту ТЕМЫ Новости ИИ Искусственный интеллект Разработка ИИГолосовой помощник Городские сумасшедшие ИИ в медицине ИИ проекты Искусственные нейросети Слежка за людьми Угроза ИИ ИИ теория Внедрение ИИКомпьютерные науки Машинное обуч. (Ошибки) Машинное обучение Машинный перевод Реализация ИИ Реализация нейросетей Создание беспилотных авто Трезво про ИИ Философия ИИ Big data Работа разума и сознаниеМодель мозгаРобототехника, БПЛАТрансгуманизмОбработка текстаТеория эволюцииДополненная реальностьЖелезоКиберугрозыНаучный мирИТ индустрияРазработка ПОТеория информацииМатематикаЦифровая экономика
Генетические алгоритмы Капсульные нейросети Основы нейронных сетей Распознавание лиц Распознавание образов Распознавание речи Техническое зрение Чат-боты Авторизация |
2019-04-26 08:05 Доброго времени суток. Мы все с интересом наблюдаем красивые картинки симуляций, как суетятся боты по экрану, едят и размножаются, вселенная встаёт и рушится, как космические корабли бороздят просторы.... стоп это уже другое кино. Хочу немного рассказать о нашем кибер биологическом кино изнутри на примере моего проекта. В нашей среде кибер биологов в основном всё крутится вокруг генетических, эволюционных алгоритмов и нейросетей. Большинство проектов группы отдают предпочтение "геному поведения". По сути это замкнутая цепочка команд в виде случайных чисел, обычно длинною от 64 до 1024 элементов. Цепочка выполняется последовательно, часто по одной команде за такт, пока не сработает квантовый(?!) скачок: переход на произвольную ячейку. Этот переход может быть как безусловный, так и зависеть от внешних и/или внутренних условий бота. Способов организации и мелких отличий много. Мой третий проект был именно таким. С предустановленными значениями свойств на старте. Естественно все значения свойств ботов способствовали выживанию в той или иной мере. Кому охота запускать не рабочую симуляцию. Сейчас в четвёртом проекте нет этой цепочки команд... Совсем без цепочки конечно не обошлось. Мой вариант генома вместо команд кодирует свойства бота и срабатывает один раз при его рождении. Я назвал его мРНК. Экспериментировал я с ней до текущего проекта, тогда у меня было свойств штук 150 на бота и после сборки, на старте почти сразу гибло до 90% ботов. Остальные жили не долго и тоже гибли. Проблема была в том, что генерировались свойства не совместимые с жизнью. Скорее всего можно было получить удачную симуляцию после миллиард первого запуска, но я решил не ждать и начал с нуля. В четвёртом проекте я стал дорабатывать эту идею. Сократил число свойств до 40. Теперь боты живут и процветают. мРНК в биологии - это матричная РНК, цепочка нуклеотид, кодирующая аминокислоты, из которых строится белок. У меня в цифре это длинная лента чисел, кодирующая свойства ботов. Так же как в биологии у меня есть старт-кодон (35) и три стоп-кодона (10,11,14). Числа, заключённые между старт и стоп кодоном - это последовательность (зелёная на рисунке), кодирующая свойство бота. Серые числа - это не транслируемая область, спящие числа не влияющие ни на что. Красные числа - старт-кодоны, синие - стоп-кодоны. Кодирование свойства происходит так: сборщик бота получает первую зелёную цепочку, считает её сумму и число элементов. Далее на основе этих значений определяется какое свойство надо увеличить и на сколько. Например сумма цепочки 425, а число элементов 20. Величина 425 уменьшается на 41 до тех пор, пока не будет в пределах кол-ва свойств бота 0..40, результат уменьшения как раз и будет номером свойства. Потом 425 уменьшается на 21 до тех пор пока не будет в границах 0..20, результат уменьшения будет величиной инкремента текущего свойства. Затем переход к следующей зелёной цепочке и т.д. Мутации Под мутацией понимается случайное изменение одного или нескольких чисел в геноме. В мРНК примерно 40% зелёных что-то значащих чисел. Остальные "серые" ждут своего часа. Любые мутации в серой последовательности, на потомках не отражаются, но могут включиться в будущем, превратясь в зелёную цепочку, если между ними появятся старт и стоп кодоны. Каково влияние одной мутации на цепочку в 128к элементов? Математика говорит, что одна мутация меняет геном на 0,0008%. Но если взглянуть на слайды, роль одной мутации может быть как равной нулю, так и значительной. Если мутирует старт-кодон - исчезнет вся зелёная цепочка. Если мутирует стоп-кодон - зелёная цепочка либо продлится до следующего стоп-кодона и будет существенно изменена, либо склеится со следующей цепочкой, включая все серые числа между ними и вместо кодирования 2 свойств, будет закодировано какое-то третье или в редких случаях одно из первых двух, либо ничего не изменится, если за мутировавшим стоп-кодоном снова следует стоп-кодон. Вот такая роль всего лишь одной мутации. Система приоритетов Это то, что заменило геном поведения. Каждая команда имеет свою величину приоритета. Бот выполняет команду с наивысшим приоритетом. Если выполнение = true, приоритет текущей команды снижается на одну величину, если = false - на другую. Некоторые внешние и внутренние условия бота влияют на величины приоритетов. У команды "поворот" есть собственные приоритеты на каждый угол. На последнем слайде приоритеты всех команд бота отмечены голубым. Цель статьи: дать пищу к размышлениям, сподвигнуть читателя на написание своей симуляции. Предлагайте свои идеи или развитие моих в комментариях. Комментарии: |
|