"Никита Красников. Альфа-версия" - читать интересную книгу автора Присев на пенек возле тропинки, Берская полезла в авоську и стала
ворошить книги, выбирая, чем бы отвлечься. На глаза попалась брошюра некоего С.М. Гандушина "Программная Реализация Эволюционных Моделей". Берская приобрела ее еще позапрошлой осенью, перед семинаром в Барселоне, да так и не удосужилась прочитать. Оглавление рассыпало перед ней старознакомые слова, тусклые отблески бывшей жизни. Объектный подход и организация ресурсов, модель живого объекта, механизмы мутаций, атрибуты и методы, Вселенная как объект. Старуха усмехнулась и открыла наугад. "...для того чтобы система могла беспрепятственно самоусложняться, нужно грамотно запрограммировать механизм мутаций. Критерием успешности той или иной генетической комбинации должна служить выживаемость вида, то есть способность дожить до репродуктивного возраста и оставить потомство в условиях конкурентной борьбы за жизненные ресурсы. Заметим, что, говоря о "генетическом коде", не следует ограничиваться лишь совокупностью значений атрибутов, определяющих физические свойства и поведение живых объектов, как это делают авторы [7], так как это наложит архитектурные ограничения на эволюционные возможности системы. Предметом мутаций должно служить описание классов, то есть непосредственно программный код, определяющий структуру и поведение живых объектов. Иными словами, живые объекты должны иметь возможность в процессе эволюции менять собственную программу, в результате чего возникнет самооптимизирующаяся модель, которая будет развиваться, постоянно переписывая саму себя". Ну, это он завирается, такая система будет виснуть на каждом шагу, "...еще одним примером возможной оптимизации может служить сохранение адреса Вселенной в локальной памяти объектов в качестве одного из атрибутов. В этом случае объект, обращаясь к адресу Вселенной, сможет быстро получить прямой доступ к глобальным параметрам окружающего мира, а также к параметрам других объектов. При реализации такой архитектуры решение многих задач, о которых мы говорили в предыдущих главах (в частности, задач виртуальной физики и обмена информацией между элементами системы), может быть организовано гораздо более эффективно. При этом необходимо соблюдать осторожность - атрибут с адресом Вселенной должен быть открыт только для чтения, то есть защищен от изменений со стороны мутирующего кода, иначе какая-нибудь генетически устойчивая ветвь на определенном этапе эволюции может научиться устраивать свое благополучие, обращаясь напрямую к этому адресу и манипулируя параметрами Вселенной и окружающих объектов. Излишне говорить, что такая практика приведет к нарастанию хаоса в модели, а в конечном счете к ее вырождению и гибели. Правда, при построении гарантированной защиты в системе, которая постоянно переписывает саму себя, могут возникнуть определенные сложности, но на этом мы остановимся в следующих главах. В заключение, прежде чем перейти к конкретным алгоритмам, отметим, что при реализации вышеописанного дизайна мы получаем интересную ситуацию, когда с точки зрения конкретного живого объекта (если, конечно, допустить, что какой-либо класс доусложняется до того, что его объекты будут иметь свою точку зрения) вся Вселенная находится у него внутри, тогда как на деле |
|
|