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