Создана модель эволюционирующего робота dyret - kupihome.ru

Создана модель эволюционирующего робота dyret

Искусственная эволюция учит роботов думать

По Дарвину для эволюции необходимо наличие триады «наследственность, изменчивость, отбор». Эволюционные единицы — организмы, гены — конкурируют друг с другом за ресурс (отбор), победители оставляют более приспособленное потомство (наследственность), которое может отличаться от родителей в ту или иную сторону (изменчивость), предоставляя материал для последующего отбора. Есть, однако, и более тонкие требования, пренебрежение которыми может почти остановить эволюционное развитие. Например, мутации должны быть достаточно малы, чтобы модифицировать, а не кардинально изменять фенотип. Это увеличивает вероятность того, что мутация окажется полезной или хотя бы нейтральной.

«Авида» (Avida) — программа, предназначенная для изучения эволюционных процессов на примере искусственной жизни. В этой программе создается виртуальное пространство, заселенное простыми электронными организмами — авидянами (avidians), которые способны размножаться, случайно мутировать, конкурировать друг с другом за жизненное пространство и, как следствие, эволюционировать.


Увеличить
Рабочее окно программы AVIDA-ED. В центре карта популяции авидян, цветами обозначена относительная приспособленность особей, основанная на умении производить логические операции и быстро размножаться. В правом нижнем углу — график зависимости средней приспособленности популяции от времени.

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

«Авида» и авидяне

Геном каждого авидянина представляет собой циклический набор из нескольких десятков инструкций, последовательно выполняемый простым виртуальным процессором из двух 32-битных стеков и трех регистров. Весь жизненный цикл каждого авидянина зашифрован в его геноме. Из 26 типов инструкций лишь небольшая часть служит производству себе подобных, большинство же предназначено для логических операций над 32-битными строками, которые система подает на вход каждому авидянину. За выполнение логических операций над этими строками авидяне получают преимущество в скорости размножения. Все логические операции базируются на инструкции И-НЕ (NOT AND), последовательным применением которой можно получить любую другую логическую функцию. Каждый авидянин может за свою жизнь получить награду за одну логическую операцию каждого типа. Чем сложнее операция — тем больше за нее награда.

В каждой популяции первое поколение авидян умеет только размножаться. Через некоторое время за счет случайных ошибок при копировании — мутаций – появляются организмы, выполняющие простейшие логические операции. Эти организмы получают преимущество в скорости размножения и быстро вытесняют остальных из жизненного пространства. Дальнейшая эволюция идет подобным образом, скачкообразно — один из авидян обнаруживает новую логическую операцию, и его получившее преимущество потомство завоевывает мир. Важный результат, полученный создателями «Авиды» состоит в том, что авидяне могут научится сложным логическим операциям только если они получают награду за выполнение более простых. В экспериментах, где выполнение простых операций не награждалось, эволюция никогда не приводила к появлению организмов, способных выполнять сложные операции. То же самое наблюдается в биологической эволюции: любая сложная адаптация, которая не может возникнуть в результате единичной мутации, появляется в результате развития более простых, но тем не менее полезных приспособлений.


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

Классическим примером сложной адаптации в биологической эволюции является глаз. Глаз позвоночного животного — это сложный орган, состоящий из стекловидного тела, хрусталика, светочувствительной сетчатки и отходящих от нее нервов. Каждая из этих частей критически важна для выполнения функции всего органа, однако глаз не мог возникнуть в результате единичной мутации. За его возникновением стоит длинный ряд эволюционных изменений, от простейшего светочувствительного пятна на поверхности тела через наполненное преломляющей жидкостью углубление к полноценному глазному яблоку современных позвоночных. Каждое изменение в этой цепи было полезнее предыдущего и стало возможным только благодаря естественному отбору. Если бы любой упрощенный вариант полноценного глаза был совершенно бесполезен, этот орган никогда бы не смог возникнуть.

Эволюционная теория обладает одним большим недостатком — ее весьма сложно проверить экспериментально. Любой эволюционный эксперимент должен занять тысячи поколений, что даже для быстро размножающихся бактерий эквивалентно годам, а то и десятилетиям. Математическое моделирование позволяет наглядно продемонстрировать верность основных положений теории эволюции, а также проверить допустимость многих теоретических предположений, например особенностей возникновения сложных адаптаций как было сделано в Avida, или механизма «Фишеровского убегания», ответственного за сверхбыстрое — по эволюционным меркам — развитие новых признаков под воздействием полового отбора. Наглядно демонстрируются также эволюционные последствия полового и бесполого размножения, такие как «храповик Мюллера» — принцип, по которому в геноме популяции бесполо размножающихся особей неизбежно накапливаются вредные мутации.

Как роботы учатся думать?

С точки зрения практического применения искусственной эволюции одним из перспективных направлений является создание программ искусственного интеллекта, в том числе управляющих систем для движущихся роботов. При обычном подходе такие системы требуют сложного проектирования и долгой отладки, так почему бы не поручить эту задачу процессу искусственной эволюции? Если создать достаточно точную компьютерную модель робота, то полученная с ее помощью управляющая система сможет контролировать движения и реального робота. Подобный эксперимент был проведен авторами «Авиды» и оказался успешным: после трансляции генома в инструкции для робота «Румба» тот научился следовать за горящими лампочками.


Домашний робот «Румба», для которого разрабатывали геном в «Авиде»

Итак, искусственная эволюция может решать не только теоретические, но и прикладные задачи. Среди прочих этим занимаются Кен Стенли (Ken Stanley) и Джефф Клун (Jeff Clune), авторы проектов NEAT (NeuroEvolution of Augmenting Topologies) и HyperNEAT. NEAT/HyperNEAT — это системы обучения нейронных сетей, основанные на эволюционных алгоритмах. Они в полной мере используют принцип «от простого к сложному», эффективность которого мы рассмотрели, когда говорили об «Авиде». В NEAT первое поколение нейронных сетей всегда имеет наиболее простую из всех возможных топологий и начинает усложнятся, лишь когда простой структуры оказывается недостаточно для решения задачи. На данный момент HyperNEAT является самым эффективным алгоритмом обучения нейронных сетей, способным за несколько десятков поколений создать работающую сеть из тысяч нейронов, которая может решать сложные задачи вроде игры в шашки или управления движущимся и ориентирующимся в пространстве роботом. Также один из секретов HyperNEAT состоит в использовании «эмбриологического» способа развития: координаты нейронов и связи между ними определяются не напрямую, а с помощью производящих функций, которые и являются аналогом генома. Занимательно то, что NEAT заимствует у живой природы сразу два принципа: эволюционное развитие и принятие решений с помощью нейронных сетей. Эта комбинация оказалась неожиданно эффективной; до NEAT для нейронных сетей применялись принципы «ручного» обучения, а эволюционные программисты пытались работать с прямым машинным кодом.

Читать еще:  Как правильно повесить телевизор на стену с кронштейном и без своими руками

Автоматическая генерация игрового контента

Одним из практических применений возможностей NEAT является Galactic Arms Race — многопользовательская онлайн-игра и научный эксперимент одновременно.

Игровой процесс вполне обычен: игрок управляет кораблем и сражается с пиратами, пришельцами и другими врагами народа, чтобы перейти на более высокие уровни, развить свои умения и самое главное — обнаружить более мощное оружие и оснастить им свой корабль. Новое оружие появляется в результате эволюции на базе того, из которого игроки стреляли чаще всего, и каждый раз проходит уникальный путь развития. Для этого используется специальная версия NEAT — cgNEAT. В результате создается уникальный игровой контент: игра постоянно меняется, создавая новые варианты оружия, которое понравилось игрокам, превосходящие те, что были раньше.

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

Предупреждение об авариях

Другое возможное применение NEAT — разработка автоматической системы предупреждения об аварийно-опасных ситуациях. В современном мире одно из самых опасных повседневных занятий — это вождение автомобиля; при этом большинство аварий происходит из-за невнимательности водителей. Снизить число ДТП могло бы устройство, предупреждающее зазевавшегося водителя об опасности, основываясь на данных лазерных дальномеров или видеосигнале следящей за дорогой камеры.

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

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


Использовавшийся для испытаний робот на колесах (AI GAIA) с установленными лазерными дальномерами SICK LMS-200 и видеокамерой

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


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

Нам же остается с нетерпением ждать создания подобных устройств для настоящих автомобилей.

Создана модель эволюционирующего робота dyret

СОЗДАНИЕ МОДЕЛИ ЭВОЛЮЦИИ ЗВЕЗД НА ОСНОВЕ ДИАГРАММЫ ГЕРЦШПРУНГА-РАССЕЛА С ПОЗИЦИИ ДИСТОРТНОСТИ

Автор работы: Фадеев Денис Вадимович, 7 класс, МБОУ ДО ДТДМ г.Твери.

Руководитель: педагог дополнительного образования Маркова Татьяна Борисовна

МБОУ ДО «Дворец творчества детей и молодежи» г.Твери.

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

Цели и задачи исследования. Цель работы: найти новые подходы и методики описания основных этапов эволюции звезд с позиции современных научных школ и направлений, которые появились сравнительно недавно. Одним из таких перспективных направлений современных научных исследований является дистортность, как универсальный метод оценки различных предельных состояний в природных системах [2]. В основе метода рассмотрения широкого класса физических явлений в переходных процессах лежит научная гипотеза, которая определяет наличие вне пространственно-временной закономерности функционирования различных структурных систем в критических ситуациях.

Для достижения цели решались следующие задачи:

— разработка и обоснование новых критериев оценки смены жизненного цикла звезды в процессе ее эволюции;

— создание модели, объясняющей эволюцию звезд на основе предлагаемых критериев.

Содержание работы. В работе изложены теоретические основы методики геометрического отображения предельных состояний структурной системы в нормализованном виде [2]. На основе обобщения теоретико-экспериментальных исследований напряженно-деформированных состояний (НДС) материалов (структур), согласно этой методике следует различать шесть основных предельных уровней рановесных НДС (табл.1) [2].

Далее в работе описывается создание модели предельных состояний звезд на основе диаграммы Герцшпрунга-Рассела (Г-Р). Приведение диаграммы Г-Р к нормализованному виду и нанесение на нее предельных уровней НДС позволило выявить закономерности между ними и существующими последовательностями звезд (сверхгиганты, яркие гиганты и т.д). Проведенный анализ основных стадий эволюции звезд (главная последовательность, переменные звезды, сверхгиганты, черные дыры и белые карлики) показал их согласие с универсальными качественными характеристиками предельных состояний структурной системы дистортности (см. табл.1).

Значимость и новизна исследования. Научная новизна работы заключается в том, что впервые сделана попытка на основе диаграммы Г-Р объяснения этапов эволюции звезды с позиции общей теории предельных состояний (дистортности).

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

Итоги исследования. Проведенные исследования доказывают возможность применения дистортности как универсального метода оценки различных предельных состояний в описании эволюции звезд. В результате работы создана модель, позволяющая отобразить все основные этапы эволюции звезды. Модель позволяет описать положение звезды на диаграмме одним параметром нелинейности ХА, дающим ей как количественную, так и качественную характеристику. Предлагаемый критерий предельных состояний (параметр эллиптичности ПК) позволяет оценить текущее “энергетическое” состояние звезды и предсказать дальнейшее ее поведение.

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

Использованная литература:

  1. Шварцшильд М. Строение и эволюция звезд /М.Шварцшильд; пер. с англ. Э.В. Кононовича. – 3-е изд. – Сер. Физико-математическое наследие: физика (астрономия). М.:Либроком, 2009. – 438 с.
  2. Дистортность в природных системах /В.А. Миронов, Б.Ф. Зюзин, А.А. Тереньтьев, В.Н. Лотов – Мн.: Беларуская навука, 1997. – 415 с. – ISBN 985-08-0059-3.
  3. Проект «Исследование Солнечной системы» [Электронный ресурс], Режим доступа: http://galspace.spb.ru/indvop.file/1.html
  4. Проект «Космос и человечество» [Электронный ресурс], Режим доступа: http://www.cpace.ru/en/2010-01-23-07-39-02/16-2010-01-25-10-48-54/801-2010-01-25-19-53-57.html
  5. Александр Бабицкий. Взрыв сверхновой звезды: учёные тоже пишут сценарии [Электронный ресурс], Режим доступа: http://www.chuchotezvous.ru/universe-evolution/1466.html
  6. Физика черных дыр. [Электронный ресурс], Режим доступа: http://www.astronet.ru/db/msg/1180462/node2.html
  7. Взрыв Бетельгейзе. [Электронный ресурс], Режим доступа: http://spacegid.com/vzryiv-betelgeyze.html
  8. Проект Astronet. К.А. Постнов Во что превращаются звезды в конце жизни [Электронный ресурс], Режим доступа: http://www.astronet.ru/db/msg/1157080
Читать еще:  Рейтинг лучших проекторов для домашнего кинотеатра на 2017 год

ПРИЛОЖЕНИЕ

Таблица 1. Предельные характеристики состояния

Ancestors: The Humankind Odyssey — не скучный симулятор выживания, а рабочая модель эволюции

Заявленная как «невероятное путешествие по человеческой эволюции», Ancestors: The Humankind Odyssey не идеальна, но она делает главное — разжигает сидящее внутри каждого человека любопытство. То самое любопытство, которое и сделало нас людьми. Но чтобы получить максимальное удовольствие от неторопливого и медитативного игрового процесса, надо иметь определенный настрой. Иначе восьмимиллионная эволюция в игре рискует превратиться в рутинный «выживач». Делимся с вами собственными размышлениями, которые, надеемся, помогут взглянуть на Ancestors иначе и получить максимум удовольствия.

Главное, что нужно знать — Ancestors: The Humankind Odyssey не пытается в точности воссоздать эволюцию

Да это и невозможно.Создатель игры Патриc Дезиле (один из авторов первых Assassin’s Creed) не пытался восстановить точный процесс антропогенеза, и не писал научную работу в форме интерактивного приключения, а создавал игру, в которой хотел передать примерный, но наглядный образ того, как проходила наша эволюция. Поэтому ловить ее на том, в каком порядке следуют друг за другом роды гоминидов бессмысленно, но знать о некоторых деталях все же стоит.

Игра не случайно начинает отсчет десять миллионов лет назад. Именно тогда, по оценкам ученых, гоминины впервые разделились, и от подсемейства отпочковался род, представляющий будущего человека разумного. Однако точно сказать, кто же к нему относился, сложно. Существует несколько версий, самая популярная из которых — накалипитеки, жившие как раз десять миллионов лет назад. В то же время есть и противоположная точка зрения. Ее приверженцы считают, что во время миоцена (23 — 5 млн лет назад) эти гоминиды вымерли, а Африку позднее заселили мигранты из Азии. Этими мигрантами могли быть анойяпитеки, чьи останки датируются 11 миллионами лет, или самбуропитеки, о существовании которых свидетельствует верхняя челюсть (возраст — 9,5 млн лет назад), найденная в 1982 году.

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

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

Как любопытство сделало нас людьми?

Примерно 40 миллионов лет назад обезьяны разделились на широконосых и узконосых. Это разделение в дальнейшем определило развитие ветвей. Недавнее исследование выявило наличие борозд у широконосой обезьяны вида Chilecebus carrascoensis, жившей 20 миллионов лет назад в Андах (Южная Америка), что уже говорит о ее не совсем заурядном интеллекте. Тут как раз и вступает важная оговорка, которая тоже выяснилась в ходе научной работы. Умственные способности приматов связаны с коэффициентом энцефализации — отношением фактической массы мозга индивида к средней прогнозируемой массе мозга для данного размера животного. Если посмотреть на историю человекообразных гоминин, то он постоянно повышался: у австралопитеков (4 млн лет назад) — 2,4-3,9, у человека прямоходящего (примерно 1,8 миллиона лет назад) — 4,4-5,4, у современных людей — 6,6-6,7. Интересно, что у широконосых обезьян это не так. У них среди представителей разных ветвей показатель колебался в течение истории то в большую, то в меньшую сторону. Еще более интересно то, что сейчас мы в некотором смысле уподобляемся широконосым обезьянам. Среди антропологов есть мнение, что наш настоящий коэффициент энцефализации меньше того, что был 20 тысяч лет назад, который равнялся восьми.

Вне зависимости от того, так это или нет, остается вопрос: почему коэффициент продолжал расти? Физиолог Сюзана Херкулано-Хузел, например, считает, что дело в нейронах и их размере. Ее слова отчасти подтверждает и недавнее исследование, которое показало, что нейроны человека занимают меньшую площадь, по сравнению с нейронами шимпанзе и бонобо. Можно предположить, что это и позволило увеличиваться коэффициенту. Так «мощность» повышалась, не требуя большего объема. В то же время коэффициент не поднимался бы без соответствующей подпитки.

Такой подпиткой, по мнению авторов Ancestors: The Humankind Odyssey, стало любопытство. Не зря они посвятили ему значительную часть геймплея.

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

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

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

Разработчики идеально отразили противоречие в игре, установив шкалу дофамина, которая снижается, как только примат попадает в стрессовую среду. Самое занимательное в этом то, что так действует наш организм в реальности. Когда наступает стресс, запускается симпатическая нервная система, и при его длительном воздействии организм уменьшает количество дофаминовых рецепторов в мезолимбическом пути, из-за чего индивиду может не хватать удовольствия. Обезьяны во время опыток в таком состоянии гораздо легче «подсаживались» на кокаин, по сравнению с «нормальными» приматами. Известно также, что стресс может влиять и на объем гиппокампа — зоны, консолидирующей память, но такая симуляция была бы уже слишком сложной.

О чем стоит думать при игре в Ancestors

У Ancestors: The Humankind Odyssey есть один существенный недостаток: игра никак не симулирует поведение группы гоминидов. Члены вашего клана сидят в уютной пещере до тех пор, пока вы их не позовете. Они не заботятся ни о еде, ни о питье, только ждут ваших приказаний. Когда же вы взваливаете на себя роль лидера и улюлюканьем зовете их завоевывать новые территории, они хоть и покорно бегут, но куда менее ловкие, чем вы, а потому запросто падают с деревьев и ломают ноги, и лечить их кроме вас некому.

Читать еще:  Музыкальный центр хай-фай: что такое, отличие от хай-энд, лучшие модели

Более того, они даже не общаются между собой и похожи на пеньки с шерстью, хотя известно, что даже у самых маленьких обезьянок есть свой «язык». В этом году, например, немецкие ученые опубликовали результаты наблюдений за зелеными мартышками, которые делятся на западноафриканских и восточноафриканских. Из-за разных мест обитания «языки» видов отличаются. У первых, к примеру, нет звука, обозначающего воздушную атаку, так как на них птицы не нападают. Тем не менее когда ученые изобразили опасность, пустив на обезьян дронов, те закричали, предупреждая сородичей сигналом, очень похожим на «воздушный» восточноафриканских. Отсюда не стоит делать далекоидущих выводов, но интересно то, что они отреагировали на неизвестную опасность точно так же, как родственный вид, несмотря на три с половиной миллиона лет раздельной эволюции.

Однако обиднее всего другое — приматы, даже современные, обладают довольно сложной социальной системой. Взять хотя бы бонобо (карликовые шимпанзе), о которых мы однажды писали. У них царит матриархат, и главой стаи выступает самка. Исходя из этого выстраивается территориальное распределение: в центральном кольце сосредоточены самки, а на периферии — самцы. Последние могут подойти к первым и заняться вожделенным продолжением рода только с подачи своей мамы, которая в данном случае выступает свахой. Тем, кто по той или иной причине остался без матери, приходится труднее всего: их шансы продлить генетическую линию стремятся к нулю. Шимпанзе подобного поведения не проявляют, потому что их клановая система построена на патриархате, и самцы постоянно борются за статус лидера. Этот статус позволяет оплодотворить наибольшее количество самок, а значит максимально широко распространить генофонд.

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

Приведенные примеры показывают, насколько сложным и интересным может быть устройство стаи приматов. К сожалению, ничего из этого в Ancestors нет. Она целиком посвящена эволюции и тому, как «думают» гены при естественном отборе. В данном случае именно вы выступаете этим отбором. Только вам решать, что пересилит в предке современного человека: страх или любопытство, чувства или интеллект. С демонстрацией и передачей ощущений этого дуализма в ходе многомиллионного эволюционного отбора игра справляется отлично, а если держать в голове некоторые факты социальных взаимодействий приматов, играть станет еще интереснее.

Ancestors: The Humankind Odyssey вышла на PC, релиз на PS4 и Xbox One ожидается до конца года.

Эволюционные модели разработки

В ситуациях, когда потребности пользователей и требования определены недостаточно четко и/или сложность разработки настолько высока, что сопряжена со значительным риском, наилучшим подходом может оказаться эволюционный. Основная идея заключается в том, чтобы разработать раннюю версию программного продукта — прототип. Прототип не предназначен для реальной работы, продажи или развертывания, но помогает выявить и уточнить требования или снизить сопутствующие разработке риски. Если задача прототипа — выявить и уточнить требования, то, как правило, еще на этапе проектирования строится экспериментальная версия системы или ее части, демонстрирующей особенности пользовательского интерфейса, а затем с ней просят поработать предполагаемого пользователя или кого-то вместо него. Благодаря гибкости программного обеспечения такой прототип часто можно спроектировать и построить относительно быстро и недорого. На применение формальных методов, документацию и качество проектирования можно не обращать внимания, поскольку эта версия не предназначена для эксплуатации.

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

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

Важно, чтобы любая эволюционная модель сопровождалась планом распоряжения с отслужившими прототипами (витками спирали). Не счесть примеров

Рис,.11,6, Спиральная модель использования спиральной модели, в которых один-два прототипа разрабатывались и тестировались с участием реальных пользователей или кого-то вместо них. Поработав с прототипом, заказчик приходил в восторг, заявлял, что этого вполне достаточно, и требовал немедленной поставки продукта. К несчастью, при разработке прототипа не соблюдались формальные процедуры и методики, не было никакого контроля качества, так что «конечный продукт» нельзя было развертывать для промышленной эксплуатации (или выводить на рынок). Проблемы начинались сразу после развертывания. Мы рекомендуем уничтожать прототипы сразу после того, как они выполнят свое предназначение, — и заранее предупреждать заказчика о серьезном риске, сопутствующем развертыванию прототипа в качестве реально функционирующей системы.

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

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

Рис,. 11.7. Диаграмма переходов состояний в модели параллельной разработки состояние «в процессе анализа», где ему назначается группа анализа (или один человек). Пока назначение не произошло, модуль не может перейти в это состояние. Процесс повторяется снова и снова. Так как модули разрабатываются одновременно разными группами, то в одном состоянии может находиться сразу несколько модулей. Для повышения эффективности работы групп разработчиков может быть реализована система вытягивания/ подталкивания (push/pull system).

Ссылка на основную публикацию
×
×
Adblock
detector