Счетчики








7.2.3. Объект класса 3.2.2

Интегральная теория создания ИИ

Мы уже упоминали что для нормальной работы любого объекта 3.х необходимо
обеспечить как можно более слабую связь составляющих его блоков с внешним
миром. Иначе говоря - обеспечить им защиту от деструктивных факторов внешнего
мира.
В объекте 3.1 используется ПАССИВНЫЙ тип защиты. Т.е. предполагается решить
эту проблему чисто конструктивным путем: рациональным выбором конструкционных
материалов, самой конструкции, параллелизмом (создания и одновременного
запуска нескольких копий 3.1) и т.п.. И этот подход оправдан - объект 3.1
невелик по размерам, а внедрение в конструкцию специальных средств защиты
значительно ее усложнит и в итоге может привести к парадоксальной ситуации -
объем защиты станет больше и важнее самого защищаемого объекта.
В случае с 3.2 уже нельзя так делать - он слишком велик для такого подхода.
Проблема осложнена и тем, что невозможно сделать защитный комплекс в виде
отдельного модуля - при большой величине 3.2 защитный модуль также будет
велик и возникнут аналогичные проблемы уже с защитой самого защитного модуля.
Как же быть?
Защита должна быть "встроена" в сам принцип функционирования 3.2 и быть
неотъемлемой его частью. Тогда любая часть 3.2 будет защищаться от
повреждений и восстанавливаться в случае поломки всеми его остальными
частями. Чтобы окончательно вывести из строя такой объект 3.2 придется
одновременно сломать некоторую "критическую массу" составляющих его
компонент. Чем больше будет 3.2, тем больше эта "критическая масса", тем
труднее ее одновременно сломать. Надежность 3.2 будет повышаться с ростом
его массы, что в общем-то и требуется. С проблемой защиты тесно связан
эволюционный процесс (напомним, что эволюционный процесс подразумевает
изменение конструкции объекта 3.х в целях более эффективного достижения
цели). В 3.1 его нет по причине отсутствия частей поддающихся улучшению.
В 3.2 такие части уже имеются - это рецепторно-эффекторные матрицы, основной
модуль и частично вспомогательный модуль. В 3.2 эволюционный процесс может
использоваться не только по своему прямому назначению, но и для саморемонта.
К тому же эволюционный процесс в 3.2 не просто прихоть - он жизненно
необходим (изначального набора E и R вряд ли хватит для достижения цели, его
необходимо модернизировать).
Итак, эволюционный процесс. Очевидно, что цели мы достигнем тем быстрее и с
меньшими потерями, чем будем больше знать о внешнем мире и чем лучше будут у
нас инструменты для воздействия на него. Так как принцип алгоритма обработки
информации остается неизменным, то единственным способом остается наращивание
количества и ассортимента рецепторов и эффекторов. Основная идея такая:
основной модуль должен работать не непосредственно с рецепторами и
эффекторами, а с их отображениями - объектами 1.1 e1...ei, r1...rj,
находящимися в однозначной связи с E1...Ek, R1...Rl. Назовем матрицу
e1...ei матрицей входа, а r1...rj - соответственно матрицей выхода. В том
месте, где физически расположены рецепторно-эффекторные матрицы имеется
большое количество однотипных объектов m класса 1.1. Причем |m| настолько
велико, что каждый объект m может выступать как в качестве будущего
рецептора, так и эффектора. Разумеется, можно было бы обойтись без
отображений, непосредственно подключив к основному модулю новые рецепторы и
эффекторы. Но это не самый хороший вариант, т.к. рецепторы и эффекторы
находятся, как правило, в опасной близости с объектами внешней среды. И если
связь от них к основному модулю устанавливать напрямую, то основной модуль
так же неизбежно окажется в опасной зоне. Поэтому связь необходимо
устанавливать через посредников - объектов e1...ei, r1...rj.
Возникновение новой ячейки в матрицах протекает следующим образом: в
отображающих матрицах e или r добавляется новый элемент. Та же самая операция
проводится и с памятью и во всех местах, где фигурируют матрицы. Затем с
новым элементом e или r связывается очередной свободный m (это вполне
возможно, т.к. элементы данного типа однотипны). При этом m превращается,
скажем, в новый рецептор. В силу универсального интерфейса он уже связан с
внешним миром. Нужно лишь усилить эту связь в сторону наиболее эффективного в
данном месте рецептора Ri. И тут мы наблюдаем самое интересное. Как это ни
странно звучит, но стремление m к Ri идет само собой! При помощи эффекторной
матрицы E. В самом деле: чем лучше работает m (т.е. чем ближе он подошел к
Ri), тем ближе мы подходим к цели. А задача 3.2 как раз и состоит в
приближении к цели путем изменения свойств различных объектов 1.1 и
связывания их в объекты 2.2. Причем m будет меняться сильнее и быстрее других
объектов внешнего мира. Это объясняется следующими обстоятельствами:
1. Физически  расположен поблизости матрицы E, и значит изменение состояния
   последней отражается на нем сильнее чем на других, более далеких
   объектов внешнего мира.
2. Находится в более сильно связанном состоянии с 3.2, чем другие
   объекты внешнего мира (этого мы добились, принудительно подключив к
   отображению рецепторной матрицы).
Если же m изначально неэффективен (малоинформативен, т.е. его состояние
остается неизменным) и никакие преобразования не могут привести его к Ri, то
в этом случае он мало будет влиять на конечный результат, так как
коэффициенты Qi почти не будут зависеть от m (см. формулы в алгоритме). Когда
m выдает только "шум", его можно рассматривать как дополнение к генератору
случайности. К тому же его значения в одних Qi будут компенсированы
аналогичными значениями из других Qi, так что будто бы m и вовсе отсутствует.
Тот же принцип глобального движения к цели применим и к дополнению
эффекторной матрицы и для саморемонта. На последнем стоит остановиться
поподробнее. Что означает "в системе что-то сломалось"? Это означает что ряд
объектов 1.1, составляющих 3.2 изменили свое нормальное состояние
относительно друг друга и других объектов 1.1 объекта 3.2. Очевидно что в
самом общем виде эволюционный процесс затрагивает не только
рецепторно-эффекторные матрицы, но и бОльшую часть основного и
вспомогательного модуля. Если эти изменения пошли на пользу (приблизили к
цели), то матрица E будет играть для них роль катализатора, поддерживая этот,
уже эволюционный процесс. Если нет, то роль ингибитора. И лишь когда поломки
превысят некоторый критический уровень матрица эффекторов уже не сможет
сколь-нибудь эффективно противостоять им. Более того, поломки такого масштаба
могут исказить сигналы, подаваемые на матрицу эффекторов до такой степени,
что она превратиться из инструмента созидания в инструмент самоликвидации,
разрушающий объект 3.2 изнутри. В дальнейшем мы будем называть защиту такого
типа ПОЛУАКТИВНОЙ защитой. Полуактивная защита не должна затрагивать цель и
искажать сигналы обратных связей.
Первое достигается мощной пассивной защитой цели (это не так уж и трудно,
учитывая ее сравнительную простоту и небольшие размеры), гарантирующей в
большинстве случаев ее неприкосновенность. Также реально использование
нескольких параллельно работающих объектов A->X->B:
A1->X1->B1, A2->X2->B2, A3->X3->B3, ..., Ai->Xi->Bi, ..., An->Xn->Bn.
Если характеристики нескольких Ak->Xk->Bk станут отличаются от аналогичных
показателей большинства других Am->Xm->Bm, то значит произошло нарушение
работы первых. Их можно либо отключить, либо восстановить прежний режим
работы, используя возможности эволюционного процесса. Алгоритмы выявления
некорректно работающих Ak->Xk->Bk имеют своей основой сравнение состояний
объектов Ai и Bi (i=1..n), сделанное в течение шага получения состояния U
(см. приведенный выше алгоритм работы объекта класса 3.2). Далее,
воспользовавшись одним из многочисленных способов математической статистики
получения среднего значения (например методом медианной фильтрации),
требуется вычислить средние значения Ai и Bi и в дальнейшей обработке
использовать их как значения A и B.
Организовать пассивную защиту обратных связей, очевидно, гораздо труднее, но
зато можно использовать их многочисленность. Вероятность их одновременного
выхода из строя очень мала. Поэтому полуактивной защитой корректируются те
связи, что дают сигналы сильно отличающиеся от общей картины рецепторной
матрицы (поиск ошибочных связей идет аналогично разрешению рассмотренной выше
ситуации для параллельных объектов-целей Ai->Xi->Bi). Выявить сломавшиеся
связи можно также на основе анализа информации из памяти. Если во всех
похожих до этого ситуациях данная связь выдавала совершенно другие показания,
то имеет смысл усомниться в ее корректности.
Следует отметить неприменимость для целей защиты одного "очевидного" и,
казалось бы, чрезвычайно эффективного подхода коррекции ошибок. Идея данного
метода состоит в том, чтобы использовать в качестве средства повышения
устойчивости объекта 2-го порядка и оперативного устранения его повреждений
...объект 3-го порядка! В самом деле: ничто не мешает использовать объект
A-X->B в качестве выходного контура (2-го порядка) объекта 3-го порядка (т.е.
для него он будет представлять собой C->Y->D). Продолжая рассуждения в этом
ключе мы приходим к такой цепочке:
(A0->X0->B0)->O1->(A1->X1->B1)->O2->(A2->X2->B2)->...->On->(A->X->B), где
Oi - это i-й объект 3-го порядка (какой конкретно: 3.1 или 3.2 в принципе
неважно). Выходной контур i-го объекта служит входным контуром для объекта с
номером i+1.
Возникает МНОГОСТУПЕНЧАТАЯ система 3-го порядка (не следует путать с т.н.
пирамидальной конструкцией объектов 3-го порядка, о которой будет рассказано
в пункте "Преемственность объектов"). В общем случае многоступенчатая система
3-го порядка - это объект 3-го порядка, в котором один или несколько
составляющих его объектов 2-го порядка (любых) представляют собой выходной
контур объекта 3-го порядка. Первая ступень - это "чистые" объекты 3-го
порядка, не содержащие других объектов 3-го порядка. Вторая ступень - объекты
3-го порядка, содержащие в своем составе объекты 3-го порядка 1-й ступени и
т.д. В завершении появляется ступень n - исходный объект 3-го порядка.
Очевидно что все составляющие многоступенчатую систему объекты 3-го порядка
довольно слабо связаны друг с другом. Любая ступень полностью сохраняет свою
работоспособность без других ступеней. Любой объект 3-го порядка любой
ступени также представляет собой полностью автономное устройство, способное
к самостоятельной деятельности. Т.е. в этом смысле наблюдается полная
аналогия с устройством многоступенчатых ракетоносителей. В этом заключено
отличие многоступенчатой системы от пирамидальной (каждый последующий уровень
пирамиды неотделим от предыдущего).
Следует обратить внимание читателя на то обстоятельство, что принцип работы
многоступенчатой системы не нарушает положений теории объектов (см. пункт
"Теория объектов"). Объекты 3-го порядка i-й ступени не могут управлять j-й
ступенью и тем более всей системой в целом (в том определении термина
"управление" что было дано в теории объектов; см. также пункт
"Фундаментальные свойства объектов 3-го порядка"), где i,j=1..n; n - общее
число ступеней. И многоступенчатая система, будучи комбинацией объектов 3-го
порядка, также является объектом 3-го порядка.
Очевидно что как и для любого объекта 3-го порядка, в случае для Oi, объект
A(i-1)->X(i-1)->B(i-1) более устойчив к помехам внешней среды по сравнению с
Ai->Xi->Bi (но не следует забывать что |Ai|=|Aj| и |Bi|=|Bj|, i,j=1..n).
Объект O(i-1) служит корректировщиком цели объекта Oi. Значит, посредством
многоступенчатой системы возможно значительно повысить устойчивость не только
цели A->X->B, но и практически любого другого объекта 2-го порядка.
Однако нетрудно видеть что применение эквивалентного объекта 3-го порядка
(A0->X0->B0)->O->(A->X->B) позволяет достичь тех же результатов. Ведь если
удалось построить многоступенчатую цепочку связи от A0->X0->B0 к A->X->B, то
аналогичную связь можно провести и напрямую, минуя промежуточные звенья. При
этом суммарная стойкость к воздействию внешней среды обратных связей, блоков
и модулей многочисленных объектов Oi будет не меньше (реально - гораздо
больше) получившегося в результате объекта O. Следовательно, защита цели
объекта 3-го порядка при помощи другого объекта 3-го порядка бессмысленна -
гораздо проще сразу сделать пассивную защиту цели максимально мощной.
Та же самая ситуация (за редким исключением) и в случае с защитой объектов
2-го порядка образующих логику работы модулей M1 и M2, обслуживающих
Uтекущее, Uпредыдущее и др. критически важные объекты 1-го порядка. Во всех
указанных случаях единственно действенным способом противостояния вредному
воздействию окружающей среды служит пассивная защита и эволюционный процесс.
И, наконец, защита при помощи многоступенчатой системы последней, третьей,
группы объектов 2-го порядка - обратных связей - также напрасное усложнение.
Рассмотрим 2 вида обратной связи: простую и с многоступенчатой системой
коррекции.
Простая обратная связь (приведен фрагмент полной схемы объекта 3.1):
                                      │
                                      _
                                      │
                                     ┌┴─┐
                                     │U1│
                                     └┬─┘
                                      _
                                      │
                                    ╔═╧═╗
                                    ║CU1║
                                    ╚═╤═╝
                                      _
                                      │
                                     ┌┴┐
                                     │C├─>─
                                     └─┘
Та же обратная связь, но с применением многоступенчатой коррекции. В целях
наглядности показан один объект 3-го порядка (класс 3.1, треугольная схема).
Разумеется предлагаемую схему можно неограниченно наращивать, рассматривая в
качестве входных контуров 2-го порядка U1->U1U->U, C->CM1->M1, блоки объекта
класса 3.1.
                                                      │
                                                      _
            ┌ - - - - - - - ┐          ┌--------------┼----┐
                Объект 3.1             | Область      │    |
            |  (упрощенно)  |          | изменений,   │    |
                                       | производимых │    |
            |               |          | объектом 3.1 │    |
                   ┌─┐         ╔═══╗   |             ┌┴─┐  |
            |      │U├<─────┼──╢U1U╟<──┼─────────────┤U1│  |
                   └┬┘         ╚═══╝   |             └┬─┘  |
            |       │       |          |              _    |
                    _                  |              │    |
            |     ╔═╧═╗     |          |  ┌─┐         │    |
                  ║ M1╟────────────────┼─>┤Z│       ╔═╧═╗  |
            |     ╚═╤═╝     |          |  └─┘       ║CU1║  |
                    _                  |            ╚═╤═╝  |
            |       │       |          |              _    |
                    │                  |              │    |
            └ - - - ┼ - - - ┘          └--------------┼----┘
                    │          ╔═══╗                 ┌┴┐
                    └──────────╢CM1╟<────────────────┤C├─>─
                               ╚═══╝                 └─┘
Трудности предлагаемого варианта реализации защиты обратной связи при помощи
многоступенчатой системы порождаются обратными связями U1U и CM1. Будут ли в
общем случае эти две обратные связи более устойчивы и надежнее чем CU1?
Конечно, нет.
Вывод: в качестве защитного механизма многоступенчатая система малоприменима.
Но ее широкое распространение в живой природе (многоклеточные организмы)
наводит на мысль о наличии у многоступенчатой конструкции достаточно весомых
преимуществ. Вероятно они связаны с особенностями развития живого организма
как саморазворачивающейся системы, проходящей в ограниченный срок сложнейший
путь развития от яйцеклетки до гигантского многоклеточного комплекса.
Возможно многоступенчатый подход играет не последнюю роль в решении задачи
генерации большого количества объектов m для построения
рецепторно-эффекторных матриц. А может быть многоступенчатые природные
системы - это не более чем продукт унификации и стандартизации (см. пункт
"Примеры объектов класса 3.2. Недостатки их конструкции"). Ясно одно: для
получения точных исчерпывающих ответов необходимы глубокие теоретические и
практические исследования живых организмов как объектов 3-го порядка.
Как видим, все основные проблемы - и эволюционный процесс, и саморемонт
принципиально разрешимы с помощью одной и той же системы. Выбранный принцип
функционирования как бы сам уже позаботился о ее живучести и
работоспособности.
Кроме полуактивной системы защиты в 3.2 может быть применен еще один
механизм, резко повышающий его эффективность. Это механизм СТЕКОВОЙ ПАМЯТИ.
В чем его суть: запоминать не только сам удачный шаг, но и некоторое
количество предшествующих ему шагов, независимо от того были они удачными
или нет. Это и дает дополнительное преимущество - если мы увидим что
последние несколько состояний рецепторно-эффекторных матриц похожи на
последовательность шагов записанных в одной из ячеек, то в силу
существования логических доменов можно утверждать что последовательно копируя
последующие образы эффекторной матрицы из данной ячейки памяти на матрицу
эффекторов, мы будем получать состояния рецепторной матрицы, аналогичной ее
последовательным образам из данной ячейки. В итоге такого "прохождения" всех
состояний, записанных в ячейке мы придем к уменьшению значения U, т.е.
приблизимся к цели. Особенно эффективен такой подход в случае, когда среди
предшествующих состояний есть неудачные и когда ситуация с похожими
последовательностями шагов встречается достаточно часто. Обычный объект 3.2 в
такой ситуации начнет каждый раз искать путь к цели заново, "наугад", тогда
как 3.2 со стековой памятью достаточно найти его только однажды и затем
просто использовать уже полученный путь лишь с небольшими вариациями.
Очевидно что для стековой памяти роль рецепторов важнее роли эффекторов,
поскольку общий смысл заключен в поиске и идентификации последовательности
похожих состояний внешней среды. Из этого также вытекает что общее состояние
внешней среды должно сравнительно слабо зависеть от состояния рецепторной
матрицы, во всяком случае быть меньше аналогичной зависимости в случае с
простым 3.2. Поэтому стековая память может эффективно применяться только
когда общее влияние 3.2 на внешнюю среду мало, т.е. по сравнению с размерами
среды в случае с простым 3.2 размер новой среды будет гораздо больше.
Общий принцип реализации стековой памяти таков. Между памятью и
рецепторно-эффекторными матрицами вводится буфер размерности N, куда
записываются последние N состояний матриц. Буфер представляет собой стек типа
"последний пришел - последний ушел", т.е. при записи нового состояния
предыдущие состояния смещаются к концу буфера, а состояние в конце буфера
при этом будет замещено предыдущим. Анализ состояния матриц ведется как и в
обычном 3.2 - анализируется текущее состояние матриц. Если его нужно записать
в память, то в соответствующую ячейку памяти записывается не только головной
элемент буфера, а весь буфер. Для этого в каждой ячейке вместо одного места
должен быть предусмотрен массив размерности N, куда и записывается все
значения буфера. Анализ памяти отличается тем, что в памяти идет поиск
непрерывной последовательности фрагментов, похожих на некоторую, также
непрерывную, последовательность фрагментов в буфере. При этом принцип поиска
такой же, как и при работе с обычной памятью - также рассчитываются
соответствующие коэффициенты Ai и т.д.. После того как обнаружилось
совпадение с массивом одной из ячеек, происходит копирование записанной в
последующих значениях массива этой ячейки образов эффекторной матрицы на
матрицу эффекторов. Если похожих ячеек несколько, то каждая из них вносит
свой "вклад" в формировании эффекторной матрицы в зависимости от значения
коэффициентов Ai.
Но это еще не все. Эффективность работы стековой памяти 3.2 можно значительно
увеличить, если не просто сравнивать состояния рецепторно-эффекторных матриц
с каждой из ячеек памяти по отдельности, а дополнительно еще проводить
совместный анализ содержимого ячеек на предмет выявления похожих
последовательностей.
Покажем это на примере:
                    ┌───┬───┬───┬───┬───┬───┬───┬───┐
   Ячейка 1, dU=17  │2.2│2.3│ 2 │5.1│5.2│5.3│5.4│ 5 │
                    └───┴───┴───┴───┴───┴───┴───┴───┘
                    ┌───┬───┬───┬───┬───┬───┬───┬───┐
   Ячейка 2, dU=8   │3.4│3.5│ 3 │4.1│4.2│4.3│4.4│ 4 │
                    └───┴───┴───┴───┴───┴───┴───┴───┘
                    ┌───┬───┬───┬───┬───┬───┬───┬───┐
   Ячейка 3, dU=5   │1.7│ 1 │3.1│3.2│3.3│3.4│3.5│ 3 │
                    └───┴───┴───┴───┴───┴───┴───┴───┘
                    ┌───┬───┬───┬───┬───┬───┬───┬───┐
   Ячейка 4, dU=4   │1.5│1.6│1.7│ 1 │2.1│2.2│2.3│ 2 │
                    └───┴───┴───┴───┴───┴───┴───┴───┘
                    ┌───┬───┬───┬───┬───┬───┬───┬───┐
   Ячейка 5, dU=3   │1.1│1.2│1.3│1.4│1.5│1.6│1.7│ 1 │
                    └───┴───┴───┴───┴───┴───┴───┴───┘
В этом примере мы предполагаем что у 3.2 имеется всего 5 ячеек памяти, а
глубина стека равна 8. На рисунке целыми числами обозначены состояния
(образы рецепторной и эффекторной матрицы), приведшие к уменьшению значения
dU, а дробными - состояния предшествующие им. Например для ячейки 5 мы имеем
уменьшение dU на 3, получившееся в результате достижения состояния 1.
В результате работы 3.2 в течении некоторого времени память примет вид,
показанный на рисунке. Допустим теперь что стек, в который записываются
последние 8 образов рецепторной и эффекторной матрицы принял следующий вид:
                    ┌───┬───┬───┬───┬───┬───┬───┬───┐
                    │1.1│1.2│1.3│1.4│1.5│1.6│1.7│ 1 │
                    └───┴───┴───┴───┴───┴───┴───┴───┘
Если не проводить совместный анализ содержимого ячеек памяти, то 3.2 должен
выбрать сценарий из ячейки 3, поскольку в этом случае dU=5, что превышает
dU=4 из сценария по ячейке 4. Однако при совместном рассмотрении всех ячеек
мы видим что нужно выбрать именно сценарий 4-й ячейки, т.к. достигнув
состояния 2 можно воспользоваться информацией из 1-й ячейки и тем самым
уменьшить dU значительно сильнее, чем по информации из ячейки 3 или даже в
результате последовательного выполнения ячеек 3 и 2.
Этот пример наглядно демонстрирует необходимость совместного анализа, однако
в реальности он может оказаться достаточно сложным (не исключено даже что его
алгоритм - объект 2-го порядка - можно подвергнуть эволюционному процессу).
Поэтому мы не станем рассматривать его в деталях во избежании появления
досадных ошибок и недоразумений, оставив конкретную проработку создателям
количественной теории ИИ и его конкретных работающих образцов.
В связи со значительным ростом объекта 3.2 по сравнению с объектом 3.1
становится затруднительным организовывать обратную связь с объектами
C и D. Чем больше 3.2, тем как правило, длиннее обратная связь (проходит
через множество объектов-посредников). А чем она длиннее, тем больше
вероятность ее повреждения и искажения передаваемой информации. К тому
же у нас нет в наличии механизма, который мог бы автоматически
восстанавливать эти повреждения (подобно защите 3.2). Следовательно сделать
связь более надежной можно лишь 2-мя способами:
1. Сократить количество объектов-посредников.
2. Повысить их устойчивость к внешним воздействиям.
Очевидно что при неизменных C и D этого не сделать - существует
какой-то оптимальный путь, улучшить который уже невозможно.
Следовательно, остается одно - изменять сами объекты C и D, заменив их
на объекты C' и D'. Они должны быть достаточно велики и сильно связаны
с остальными объектами среды функционирования. В этом случае обратная связь
от них станет гораздо устойчивее к внешним помехам. Но как быть, если нас
интересует изменение состояний именно С и D, а не C' и D'. Для решения
проблемы используется такой подход: C' и D' выбираются таким образом,
что изменение их состояний псевдооднозначно отражается на изменении
состояний C и D. Это дает возможность косвенного управления ими. Образно
говоря, чтобы нагреть иголку в комнате мы повышаем температуру воздуха
во всей комнате. Естественно что так можно гарантировать достижение
истинной цели лишь приближенно, но другого пути нет. Рассмотренный
механизм называется механизмом КОСВЕННОЙ цели и он применяется только в
объектах класса 3.2. Очевидно что C, D, C' и D' являются объектами одного
логического домена. Более того, чтобы еще больше повысить устойчивость
обратной связи, можно применить помимо C' и D' и другие (а лучше даже все)
объекты, входящие в этот логический домен. В результате мы получим множество
зависимых друг от друга объектов 1-го порядка. Если подвести теперь к каждому
из них обратную связь, то в случае повреждения одной из них, можно будет
пользоваться остальными. И это не все! Благодаря эволюционному процессу
открывается возможность устранить повреждение. Однако у косвенной цели есть
недостаток - она не позволяет точно задать требуемое состояние целевого
объекта, как это возможно в 3.1.
Эволюционный процесс, механизм стековой памяти и косвенная цель настолько
сильно повышают эффективность объекта класса 3.2, что дает основания выделить
его в отдельный подкласс - 3.2.2. Соответственно объект 3.2 в первоначальном
простом варианте - класса 3.2.1. Как мы убедимся в дальнейшем, такое
разделение на подклассы далеко не случайно и, возможно, эта закономерность
носит глобальный характер для всех объектов Мира.

newpoisk.narod.ru, 21 марта 2005 года