Читаем Восхождение на гору Невероятности полностью

Те картинки, что я здесь привожу, получены в программе NetSpinner II, над которой в основном работал Питер Фукс (NetSpinner I – это черновая версия, и ее мы обсуждать не будем). Разработанные Тимо Кринком более поздние версии этой программы составляют конкуренцию биоморфам еще в одном важном вопросе. В 

NetSpinner III добавлено размножение половым путем. Биоморфы и объекты программы NetSpinner II размножаются только бесполым путем. Что мы имеем в виду, когда говорим о половом способе размножения компьютерных пауков? Вы не увидите на экране акта спаривания с вероятным каннибалистическим финалом, хотя, очевидно, это можно было бы устроить. Просто в программе происходят характерные для полового размножения взаимодействия – рекомбинация половины генов одного родителя с половиной генов другого родителя.


Рис. 2.12. Последовательные превращения паутины, смоделированной в программе NetSpinner, с интервалом в пять поколений. На каждое превращение потребовалась примерно одна ночь.


Вот как это работает. В каждом поколении имеется особая группа в полдюжины пауков, каждый из которых плетет свою ловчую сеть; это локальная популяция, или дем. Геометрия паутины зависит от хромосомы, то есть цепочки генов. Как мы уже знаем, роль гена такова, что он оказывает влияние на специфический “закон” строительства ловушки. Затем в паутину вбрасывают мух. Качество паутины все так же определяется по функции количества пойманных “мух” с вычетом затрат на использованный шелк. В каждом поколении погибает определенный процент пауков – тех, чьи ловчие сети работают хуже всего. Выжившие пауки спариваются в произвольном порядке и дают жизнь новому поколению. Под спариванием подразумевается, что хромосомы двух пауков выравниваются относительно друг друга и обмениваются своими участками. Казалось бы, странная, надуманная схема, если не вспомнить, что при размножении половым путем живые хромосомы – и наши, и паучьи – именно так себя и ведут.

Процесс продолжается, популяция развивается от поколения к поколению, но с одним дополнительным плюсом. Это уже не один дем, в который входят шесть пауков, а, допустим, три полунезависимых дема (рис. 2.13). Эволюция каждого из трех демов протекает независимо, но отдельные особи периодически мигрируют из своего дема в другой и переносят свои варианты генов. В четвертой главе мы поговорим о теоретическом обосновании такой миграции. Сейчас мы можем лишь отметить, что все три группы эволюционируют с повышением качества паутины – в сторону более эффективной ловли мух. Иногда популяция встает на тупиковый путь развития. Варианты генов пауков-мигрантов сродни притоку свежей крови в жилах другой популяции. Можно сказать, сильная подгруппа отдает свои варианты той, что послабее, тем самым подсказывая ей более выгодный способ создания ловчей сети.

Во всех трех популяциях первое поколение включает в себя паутины разных форм, в большинстве своем с невысоким КПД. Мы видим, что по мере смены поколений, как и в случае неполового размножения (рис. 2.12), происходит постепенный переход к более качественным и эффективным вариантам. Но теперь “свежая кровь” распределяется за счет полового размножения, поэтому отдельные экземпляры в деме довольно похожи друг на друга. С другой стороны, генетически они являются отпрысками других демов, так что и различия достаточно заметны. На какой-то стадии в одиннадцатом поколении гены двух паутин из дема 3 мигрировали в дем 2, то есть “инфицировали” дем 2 “кровью” дема 3. К пятидесятому поколению, а в некоторых случаях гораздо раньше, паутины превратились в прочные, надежные и экономичные ловушки.

Итак, можно воссоздать на компьютере некое подобие естественного отбора и получить искусственные ловчие сети, которые захватывают мух эффективнее, чем исходные. Это еще не подлинный естественный отбор, но существенный шаг вперед, больше приближающий нас к цели, чем полностью искусственная селекция биоморфов. Однако даже NetSpinner не воссоздает природный естественный отбор. Для того чтобы с помощью программы найти достаточно экономичные ловчие сети и выбрать наиболее пригодные для воспроизводства, требуется выполнить расчет. Программист должен сам определить стоимость “шелка” для данной паутины, причем в тех же единицах, что и ценность “мухи”. Он может, если захочет, изменить обменный курс. Например, удвоить “цену на шелк”. Тогда паутина большей площади или более плотная, на которую потратили больше шелка ради того, чтобы поймать больше мух, окажется менее пригодной для воспроизводства. Программист должен сам выбрать коэффициент пересчета. Это лишь один, самый очевидный пример конвертации. Коэффициент соответствия “мушиного мяса” вновь рожденным паучкам тоже должен задать программист. Он может быть любым. Сколько пауков погибает по разным причинам, не связанным с качеством паутины, также решает программист. Эволюция вида зависит от его волюнтаризма.



Перейти на страницу:

Похожие книги

Программирование. Принципы и практика использования C++ Исправленное издание
Программирование. Принципы и практика использования C++ Исправленное издание

Специальное издание самой читаемой и содержащей наиболее достоверные сведения книги по C++. Книга написана Бьярне Страуструпом — автором языка программирования C++ — и является каноническим изложением возможностей этого языка. Помимо подробного описания собственно языка, на страницах книги вы найдете доказавшие свою эффективность подходы к решению разнообразных задач проектирования и программирования. Многочисленные примеры демонстрируют как хороший стиль программирования на С-совместимом ядре C++, так и современный -ориентированный подход к созданию программных продуктов. Третье издание бестселлера было существенно переработано автором. Результатом этой переработки стала большая доступность книги для новичков. В то же время, текст обогатился сведениями и методиками программирования, которые могут оказаться полезными даже для многоопытных специалистов по C++. Не обойдены вниманием и нововведения языка: стандартная библиотека шаблонов (STL), пространства имен (namespaces), механизм идентификации типов во время выполнения (RTTI), явные приведения типов (cast-операторы) и другие. Настоящее специальное издание отличается от третьего добавлением двух новых приложений (посвященных локализации и безопасной обработке исключений средствами стандартной библиотеки), довольно многочисленными уточнениями в остальном тексте, а также исправлением множества опечаток. Книга адресована программистам, использующим в своей повседневной работе C++. Она также будет полезна преподавателям, студентам и всем, кто хочет ознакомиться с описанием языка «из первых рук».

Бьерн Страуструп , Бьёрн Страуструп , Валерий Федорович Альмухаметов , Ирина Сергеевна Козлова

Программирование, программы, базы данных / Базы данных / Программирование / Учебная и научная литература / Образование и наука / Книги по IT
По страницам «Войны и мира». Заметки о романе Л. Н. Толстого «Война и мир»
По страницам «Войны и мира». Заметки о романе Л. Н. Толстого «Война и мир»

Книга Н. Долининой «По страницам "Войны и мира"» продолжает ряд работ того же автора «Прочитаем "Онегина" вместе», «Печорин и наше время», «Предисловие к Достоевскому», написанных в манере размышления вместе с читателем. Эпопея Толстого и сегодня для нас книга не только об исторических событиях прошлого. Роман великого писателя остро современен, с его страниц встают проблемы мужества, честности, патриотизма, любви, верности – вопросы, которые каждый решает для себя точно так же, как и двести лет назад. Об этих нравственных проблемах, о том, как мы разрешаем их сегодня, идёт речь в книге «По страницам "Войны и мира"».В формате PDF A4 сохранен издательский макет книги.

Наталья Григорьевна Долинина

Литературоведение / Учебная и научная литература / Образование и наука
Ум в движении. Как действие формирует мысль
Ум в движении. Как действие формирует мысль

Как мозг обрабатывает информацию об окружающем нас пространстве? Как мы координируем движения, скажем, при занятиях спортом? Почему жесты помогают нам думать? Как с пространством соотносятся язык и речь? Как развивались рисование, картография и дизайн?Книга известного когнитивного психолога Барбары Тверски посвящена пространственному мышлению. Это мышление включает в себя конструирование «в голове» и работу с образами в отношении не только физического пространства, но и других его видов – пространств социального взаимодействия и коммуникации, жестов, речи, рисунков, схем и карт, абстрактных построений и бесконечного поля креативности. Ключевая идея книги как раз и состоит в том, что пространственное мышление является базовым, оно лежит в основе всех сфер нашей деятельности и всех ситуаций, в которые мы вовлекаемся.Доступное и насыщенное юмором изложение серьезного, для многих абсолютно нового материала, а также прекрасные иллюстрации привлекут внимание самых взыскательных читателей. Они найдут в книге как увлекательную конкретную информацию о работе и развитии пространственного мышления, так и важные обобщения высокого уровня, воплощенные в девять законов когниции.

Барбара Тверски

Научная литература / Учебная и научная литература / Образование и наука