|
Для начала определим общую концепцию наших рассуждений. В самом общем виде
ИИ должен решать открытую задачу. Для этого требуется 3 вещи: материальные
ресурсы, интеллектуальные ресурсы и цель. Под материальными ресурсами
понимается наличие возможности "из чего делать" и "на чем делать", т.е.
своего рода первоначальное сырье и станки на которых это сырье
перерабатывается в готовую продукцию. Интеллектуальный ресурс состоит из
компонента "как делать", представляющего собой знания, необходимые для
создания готовой продукции. ЦЕЛЬ определяет облик объекта, который
планируется создавать или изменять - ЦЕЛЕВОЙ ОБЪЕКТ, и решает вопрос
"зачем это нужно". Цель служит входящим объектом 2-го порядка, а целевой
объект - исходящим объектом 2-го порядка.
Следует отметить что цель очень важна, так ее отсутствие делает бесполезным
наличие двух предыдущих ресурсов. Будем считать что сырья в среде
функционирования ИИ достаточно для достижения цели. Первоначальная
изготовительная база также имеется. Естественно есть и цель. Вопрос возникает
с наличием интеллектуальных ресурсов: каким образом имея перечисленные
компоненты достичь цели, ведь по условию задачи заранее как сделать это не
известно.
Единственный способ - это получение интеллектуальных ресурсов из внешней
среды. Но прежде чем что-то получать нужно определиться по поводу того, с
чем мы имеем дело. Интеллектуальные ресурсы, а попросту ЗНАНИЯ могут быть
или объектом 1-го или объектом 2-го порядка. Допустим они являются
объектом 1-го порядка, т.е. физической неоднородностью. Но тогда в общем
случае мы не сможем их правильно воспринять - для обработки информации,
хранимой в объекте 1.1 нужен объект класса не ниже 2.2. Значит нам
придется заранее встраивать в ИИ этакий универсальный объект 2.2,
способный правильно воспринимать любые возможные в данном случае объекты
1.1. Конечно, такое невозможно. Поэтому знания должны быть объектом 2-го
порядка. А точнее объектом 2.2. Работает такой механизм знаний следующим
образом (см. схему объекта 2.2., приведенную в главе "Объекты 2-го порядка"):
какая информация хранится в объектах 1.1 A и B мы узнать не можем. Но мы
можем определить каким образом взаимно изменяются состояния объектов A и B.
И тем самым мы получим уже вполне определенную информацию. Затем ее можно
записать в какой-нибудь объект 1-го порядка (не забыв при этом построить
интерпретатор, позволяющий эту информацию потом оттуда извлечь и
использовать).
На основе сказанного выкристаллизовываются 3 подхода к получению ИИ знаний:
- Все необходимые знания в принципе можно получить при помощи случайного
перебора.
- Требуемые знания уже существуют в среде функционирования в
виде объектов 2.2. Надо только уметь их найти и использовать. Важным
ограничением здесь является то, что знания должны находиться в явной форме
- т.е. соответствовать принципу "бери и используй". В этом случае ИИ
получает знания по аналогии.
- Требуемые знания существуют в среде функционирования, но в неявной
форме. В этом случае нужно получить как можно больше знаний из среды
функционирования, а затем на основе их совместного анализа сделать
логические выводы. При этом получаемые выводы уже являются требуемыми для
достижения цели знаниями, причем в явной форме.
Если требуемые знания не могут быть получены случайным путем и не
присутствуют во внешней среде в явной или косвенной формах, то достичь
цели невозможно.
Допустим, что в среде функционирования существует N объектов 1-го порядка:
X1, X2, ..., XN.
Каждый i-й объект находится в непосредственной взаимосвязи с K объектами
1-го порядка. Причем P из них являются "входами", а Q - "выходами".
Если цель и целевой объект безусловно должны быть определенными объектами
2-го порядка, то объекты 2-го порядка среды функционирования в общем случае
могут быть как определенными, так и неопределенными.
Если представить каждый объект 2-го порядка в виде уравнения вида
Xj=Ij(Xi)
и учитывая что на каждый объект косвенно воздействуют все остальные объекты
(т.н. универсальный интерфейс, о который мы в дальнейшем рассмотрим более
подробно), можно записать такую систему уравнений:
┌
│X1=I1(Xa,...,Xb)
│X2=I2(Xc,...,Xd)
┤................
│XN=IN(Xe,...,Xf)
└
Где Xa,...,Xf - объекты 1-го порядка, оказывающие явное влияние на объект
Xi. Очевидно, в таком случае можно преобразовать эту систему к виду:
┌
│X1=F1(X1,X2...,XN)
│X2=F2(X1,X2...,XN)
┤..................
│Xi=Fi(X1,X2...,XN)
│...............
│XN=FN(X1,X2...,XN)
└
Видно что состояние каждого объекта Xi косвенно зависит от состояния всех
остальных объектов, в том числе и от собственных состояний. Допустим что
система имеет K решений. Введем отношение S=|Xi|/K. Назовем это число
СТЕПЕНЬЮ СВЯЗИ объекта с системой. Чем ближе S к 1, тем сильнее степень
связи. При S=1 каждому решению системы соответствует одно уникальное
состояние объекта Xi. Это позволяет определить состояние системы по
состоянию объекта и наоборот. Если же S -> 0, то объект слабо связан с
системой - изменение состояния остальных объектов практически никак на нем
не сказываются. Отсюда следует, что нельзя построить объект, который имел
бы сильное влияние на систему и в то же время сам бы от нее не зависел. В
конечных системах такое невозможно.
Таким образом если для объекта X показатель S > 1/N, то изменяя его
состояние мы сможем управлять (в какой-то мере) состоянием всех остальных
объектов. Конечно тут возможно множество частных случаев. Допустим,
например что общее число решений системы равно 10, а число состояний
объекта X равно 4. Тогда возможна такая ситуация, когда 3 корня системы
отличаются друг от друга только состоянием объекта X: x1, x2, x3, а
состояния остальных объектов остаются неизменными. В остальных же 7 корнях
системы состояние объекта X остается неизменным и равно x4. Таким образом
даже имея возможность изменять состояние X мы не можем изменить состояния
остальных объектов - они всегда будут иметь одно и то же определенное
значение при корнях x1, x2, x3 и неопределенное состояние при корне x4.
Таким образом мы практически не можем влиять на состояние системы, хотя
степень связи S=0.4 для объекта X достаточно велико. Этот пример
показывает что знание степени связи недостаточно для выявления истинного
влияния объекта на состояние системы. Величину S можно использовать только
для прикидочных оценок. Чтобы более точно представлять себе взаимодействие
объектов друг с другом нужно проводить сложное математическое исследование
системы, что не входит в задачу настоящего документа.
Перенесем теперь все эти соображения применительно к нашему миру.
У нас остались нерассмотренными варианты 3 и 4. В них от ИИ требуется создать
некий "черный ящик", выполняющий задачу построения соответственно объектов
класса 1.1 (2.1) и 2.2.
Как уже было замечено при разборе 1-го варианта ИИ, для преобразования
выходного объекта 1-го порядка требуется объект 2-го порядка. Его нужно либо
встраивать в готовом виде в ИИ, либо он должен создавать его самостоятельно.
То есть в любом варианте и в 3-м и в 4-м, ИИ должен создавать объект 2-го
порядка (разумеется он должен быть определенным). Итак, нам необходим
механизм, позволяющий создавать объекты 2-го порядка (или получать требуемые
объекты 2-го порядка из уже существующих путем их преобразования). Он и будет
ядром объекта 3-го порядка.
Всякое нововведение принципиального характера должно на чем-то основываться.
Переход от объекта 2-го порядка к объекту 3-го порядка также должен быть
основан на неком новом фундаментальном подходе. При рассмотрении объектов
1-го и 2-го порядков оговаривались условия их существования, причем
условия существования объекта 2-го порядка накладывают на среду
функционирования требования, дополнительно к требованиям существования
объекта 1-го порядка. Значит при переходе к объекту следующего, 3-го
порядка, происходит порождение новых требований дополнительно к старым.
Что это за требования? Их существование должно обеспечить решение открытых
задач.
Создание объекта 2-го порядка означает нахождение способа воздействия на
объект 1-го порядка Y, исходя из состояния объекта 1-го порядка X.
Применительно к нашей проблеме объекты X и Y могут быть в общем случае
произвольными, в их роли могут выступать любые физические неоднородности.
Входной объект 2-го порядка содержит объекты 1-го порядка A и B, которые
также в свою очередь являются произвольными физическими неоднородностями.
Следовательно, чтобы провести ниточку управления от A и B к X и Y нужно чтобы
существовала физическая связь между ними. А так как A, B, X, Y могут
потребоваться в любой области среды функционирования объекта 3-го порядка,
то значит что все объекты 1-го порядка должны находиться в физическом
взаимодействии друг с другом. То есть не должно существовать объектов 1-го
порядка, на состояние которых невозможно повлиять, равно как и не должно
существовать объектов 1-го порядка, изменение состояния которых ни на что не
влияет. Это совершенно новое свойство, не имеющее аналогов в мире объектов
2-го порядка, мы назовем УНИВЕРСАЛЬНЫМ ИНТЕРФЕЙСОМ.
Таким образом универсальный интерфейс представляет собой смешанную структуру
(см. пункт "Объект класса 2.1"), на которую наложены следующие ограничения:
- состояние любого физически элементарного объекта 1-го порядка можно
изменить путем изменения состояния остальных объектов 1-го порядка.
- существуют объекты 1-го порядка с неравными 1 степенями связи. В противном
случае даже несмотря на отсутствие объектов 1-го порядка, на состояние
которых нельзя повлиять, говорить о знаниях, цели и т.д. бессмысленно. Ибо
объектов 2-го порядка фактически нет, а вся смешанная структура
эквивалентна любому объекту 1-го порядка входящему в ее состав.
Условие существования универсального интерфейса
В пункте "Математические модели объектов 2-го порядка" было вскользь
упомянуто о важном моменте, имеющим место при объединении нескольких объектов
2-го порядка в систему. А именно было сказано что существование какой-либо
связи между работой нескольких объектов 2-го порядка выходит за пределы
теории объектов 2-го порядка.
Казалось бы для объединения нескольких объектов 2-го порядка в единую систему
не нужно ничего принципиально нового сверх того, что необходимо для
существования самих объектов 2-го порядка. На самом деле это далеко не так...
Работоспособность, сам смысл системы
┌
│X1=F1(X1,X2...,XN)
│X2=F2(X1,X2...,XN)
┤..................
│Xi=Fi(X1,X2...,XN)
│...............
│XN=FN(X1,X2...,XN)
└
основаны на принципе суперпозиции: одновременном влиянии на объект Xi всех
интерпретаторов Ij физически элементарных объектов 2-го порядка
Xj=Ij(Xg, ..., Xh). Однако N произвольно взятых объектов 2-го порядка отнюдь
не будут порождать указанное свойство сами по себе. Единственное что у них
есть общего друг с другом - это объекты 1-го порядка Xi. Но изменение объектов
Xg, ..., Xh в объекте Xj=Ij(Xg, ..., Xh) в общем случае вовсе не обязано
приводить к немедленному изменению Xj. Для этого необходимо чтобы
интерпретатор Ij находился в физической форме (понятие физической и
потенциальной формы объекта разбирается в пункте "Теория объектов"). Проще
говоря - был активным. Но он может оставаться пассивным. И тогда мы можем
менять Xg, ..., Xh сколько угодно, а Xj от этого не измениться. Поэтому для
образования системы нужно соблюдать необходимое условие: все интерпретаторы
Ij обязаны находиться в активном состоянии. Ни изменение состояний
Xg, ..., Xh, ни изменение логики работы отдельно взятых Ij (вплоть до
перехода в потенциальную форму) неспособно активировать другие Ik. Данный
вывод подтверждается не только теорией объектов (активирование Ij в отдельных
случаях может означать управление), но и с позиции обыкновенного здравого
смысла. Объединение в систему, совместное рассмотрение и т.п. - все это с
точки зрения стороннего наблюдателя. А сами объекты 2-го порядка "не знают"
что кто-то решил объединить их в систему и будут вести себя точно так же как
и раньше. Независимо друг от друга активироваться и деактивироваться. Ведь
это не противоречит требованиям, предъявляемым к объектам 2-го порядка,
поскольку активация/деактивация означает переход из физической формы в
потенциальную и обратно. Существование объекта-зависимости между объектами
1-го порядка и неизменность логики его работы при этом сохраняются.
Высказанные соображения автоматически переносятся и на систему
┌
│X1=F1(X1,X2...,XN)
│X2=F2(X1,X2...,XN)
┤..................
│Xi=Fi(X1,X2...,XN)
│...............
│XN=FN(X1,X2...,XN)
└
Таким образом объединение объектов 2-го порядка в систему может идти только
за счет внешних сил, порождающих эти объекты и смотрящих на них "со стороны".
Очевидно такие возможности равносильны управлению и, следовательно,
подразумевают наличие объекта 3-го порядка. Универсальный интерфейс есть
фундаментальное свойство (свойства объекта порядка N, непредставимое в
произвольной комбинации свойств объекта порядка N-1. См. пункт "Теория
объектов"), отличающее объект 3-го порядка от объекта 2-го.
Одновременное нахождение всех интерпретаторов в активном состоянии
свойственно нашей Вселенной. Это гравитация. Это электромагнитное поле. Это
сильное и слабое ядерное взаимодействие. Поведение каждого самого мельчайшего
кирпичика мироздания идет в этом смысле в такт со всей Вселенной. Ограничение
на максимальную скорость передачи взаимодействия (скорость света) существенно
лишь на космических расстояниях. В условиях биосферы Земли его фактически нет.
Одновременность проявления законов природы настолько привычна нам, что мы
этого просто не замечаем. Но в искусственно построенных наборах объектов 2-го
порядка, в математических моделях компьютерных программ с их многочисленными
процедурами и функциями свойство одновременности работы ...отсутствует! На
уровне математической модели сама постановка подобного вопроса лишена смысла,
т.к. логическая связь между отдельными составными частями любого алгоритма
идет не иначе как посредством данных. Нарушение заранее намеченного плана
выполнения приводит к разрушению целостности данных. Это касается также
интерактивных программ: в каждой из них имеется подпрограмма производящая
непрерывное сканирование состояния клавиатуры (мыши, памяти и т.п.) и
осуществляющая вызов при необходимости соответствующей процедуры-обработчика.
Поэтому рассматривая процедуры как уравнения вида Xi=Fi(X1,X2...,XN) мы не в
праве рассматривать программу как неизменную систему таких уравнений. На
различных стадиях работы программы в момент выполнения Fi остальные Fj не
существуют. Они переходят в потенциальную форму. Деактивируются.
Универсальный интерфейс придает среде функционирования единство. Следует
оговориться что универсальный интерфейс вовсе не говорит о том что каждый
объект 1-го порядка связан с каждым непосредственно и о том что с помощью
любого объекта можно контролировать состояние любого другого объекта. Он лишь
говорит о существовании влияния на этот объект со стороны остальных объектов.
А осуществляться это влияние может как напрямую, так и косвенно - через
изменение состояния объектов, уже непосредственно связанных с данным объектом
1-го порядка. Существование универсального интерфейса говорит также и о том,
что в составе всех образующих его объектов класса 1.1 имеется хотя бы одно
эквивалентное свойство.
Второе, на что нужно обратить внимание - это необязательность распространения
влияния универсального интерфейса на объекты, входящие в состав объекта 3-го
порядка. Т.е. внутри него могут быть и такие объекты, на состояние которых
нельзя повлиять (например цель). Тогда мы имеем дело со смешанной структурой
среды функционирования. Но в общем случае составляющие объекта 3-го порядка
все же подвержены влиянию универсального интерфейса. Именно из такого случая
мы и будем исходить в дальнейшем.
Кроме универсального интерфейса в главах, посвященным описанию объектов
класса 3.2 и 3.3, вводятся дополнительные свойства среды функционирования -
ЛОГИЧЕСКИЕ ДОМЕНЫ и ее БЕСКОНЕЧНОСТЬ. Более подробно мы разберем их ниже.
Универсальный интерфейс является необходимым условием создания объекта 3-го
порядка, но не достаточным. Ведь, образно говоря, мало иметь корабль на
котором можно доплыть к любому острову. Нужен еще двигатель и навигационная
система, дающие возможность двигаться и притом в нужном направлении.
"Навигационной системой" в нашем случае станет обратная связь, дающая
возможность узнать насколько мы близки к цели. Ее можно реализовать как
объект 2-го порядка. С "двигателем" несколько сложнее. Именно этот блок
непосредственно и строит искомый объект 2-го порядка. Как мы уже знаем объект
2-го порядка состоит из 2-х разнотипных компонент: объектов 1-го порядка и
интерпретатора. Таким образом при максимуме своих возможностей блок движения
должен "уметь" преобразовывать/генерировать как объекты 1-го порядка, так и
интерпретаторы: всего 4 возможности.
Для преобразования объектов 1-го порядка достаточно объекта 2-го порядка. Но
как их генерировать? И вообще возможно ли такое? Объект 1-го порядка есть
физическая неоднородность. Эта неоднородность является уже врожденной,
"вмонтированной" в среду функционирования. И если вопрос ставится как
генерация объекта 1-го порядка, то по сути дела это означает что из
первоначально однородной среды нужно сделать неоднородную или повысить
степень ее неоднородности. А для этого нужно чтобы тот, кто проводит такие
принципиальные изменения находился вне среды функционирования (для того,
чтобы быть совершенно независимым от нее и видеть ее со "стороны") и был выше
порядком чем она. Для объектов же, находящихся внутри среды такая возможность
недоступна, так как они сами являются ее частью и их порядок не может быть
выше порядка среды, их породившей. То же самое ограничение действует и при
попытке генерации/изменения интерпретаторов. Интерпретаторы - также
неотделимая от среды функционирования часть, так как они физически связаны с
объектами 1-го порядка. И поэтому изменение их свойств, а тем более генерация
новых неизбежно повлечет за собой перестройку всей среды, изменения ее
фундаментальных основ. Так что для объектов 3-го порядка, проводящих
изменения в среде, частью которой они являются сами, из 4-х теоретических
возможностей блока движения доступна лишь одна - воздействие на среду
функционирования путем изменения состояния уже существующих объектов 1-го
порядка. Но даже эта часть таит в себе огромные возможности. В дальнейшем под
словом "создать объект" мы будем понимать именно изменение уже существующего
объекта, если иной смысл не оговорен специально. Поскольку в общем случае в
качестве объекта управления может быть выбран любой объект 1-го порядка Ai,
получаем что для создания N объектов 2-го порядка B=F(C) необходимо наличие
непосредственной зависимости состояния объекта 1-го порядка Bi от минимум 2N
объектов 1-го порядка Cj. Причем |Cj|>=|Bi|. Если это условие не будет
выполнено, то выбрав, например, в качестве объектов управления объекты 1-го
порядка непосредственно связанные друг с другом (C->Y->B) мы никогда не
сможем достигнуть нужной нам зависимости B=F(C).
Итак, мы можем изменять состояния различных объектов 1-го порядка. Но
какой объект и как изменить мы заранее не знаем. Значит в состав блока
движения должно входить как минимум 2 компонента: объект 1-го порядка,
изменение состояния которого через универсальный интерфейс отражается на
остальных объектах 1-го порядка, и ГЕНЕРАТОР СЛУЧАЙНОСТИ (сокращенно - ГС),
дающий возможность случайно выбрать какой объект 1-го порядка следует
изменить наиболее сильно и в каком направлении. Но одних только случайных
изменений мало. Необходимо устройство, запоминающее удачный случайный шаг (он
приблизил нас к цели) и позволяющее вернуться к этому состоянию системы, если
следующий случайный шаг оказался неудачным. Таким образом постепенно мы
сможем приближаться к цели, а не блуждать около стартовой точки.
Опуская подробности, о которых мы скажем ниже, алгоритм работы простейшего
объекта 3-го порядка (естественно что это не алгоритм, описывающий путь
создания объекта класса 2.2, а описание последовательности шагов, остающихся
неизменными при построении любого произвольного объекта класса 2.2),
получающего знания случайным путем, выглядит следующим образом:
- Получение по обратной связи информации о том, достигли мы цели или
нет. Да - повторить этот пункт. Нет - на пункт 2.
- Если только что сделанный шаг оказался удачным, то запомнить свое
состояние и сделать следующий случайный шаг.
- Если только что сделанный шаг оказался неудачным, то вернуться в свое
прежнее состояние и сделать случайный шаг.
- Перейти к пункту 1.
Как видим ничего сложного на первый взгляд нет - это обычный алгоритм с
возвратом. Но не стоит спешить с выводами. Ведь не стоит забывать, что
универсальный интерфейс не только дает возможность управления объектами 1-го
порядка за счет изменения состояния одного объекта. Он таит в себе и угрозу
- механизм обратной связи, блок движения, запоминающее устройство, а также
различные периферийные блоки объекта 3-го порядка существуют отнюдь не
изолированно от остальной среды функционирования, а тесно связаны с ней. А
следовательно в результате существования универсального интерфейса есть
опасность возникновения сбоев в их работе, появления новых и исчезновения
старых свойств, других коллизий, вплоть до полного разрушения, вызванных как
неудачным изменением объектов 1-го порядка самим объектом 3-го порядка, так и
изменением посторонних объектов 1-го порядка.
Кроме того имеется опасность попадания в так называемые "потенциальные
ямы". Это может произойти, если между текущим положением объекта 3-го
порядка есть область, в котором его состояние оценивается обратной связью
как отдаление от цели. Попав в такую область, объект 3-го порядка совершит
шаг назад - откат, в результате которого он отдаляется от цели. И если
цель имеет вид "замок с непрерывной стеной вокруг", то объект 3-го порядка
попросту будет "ходить" вокруг этой "стены" и никогда не сможет "попасть" в
"замок" - достичь цели. Избавиться от такой проблемы можно только путем
правильного выбора ГС, обладающего широким спектром случайных изменений, в
результате которых объект 3-го порядка сможет производить не только
близкие переходы - "шаги", но и дальние - "прыжки". Существует и еще одна
проблема принципиального характера. Так как объект 3.1 получает знания
путем случайного перебора, то необходим источник случайности - ее
генератор. Искусственно создать такой генератор затруднительно - любой
алгоритм строится по определенным правилам, а значит он уже не случаен.
Также сложно и найти его уже в готовом виде - как узнать что кандидат в
такой генератор действительно случаен?
Можно воспользоваться тем, что факт появления того или иного состояния B в
неопределенном объекте 2-го порядка A->X->B определяется вероятностью его
появления и потому появление в данном случае конкретного значения B в
какой-то мере можно считать случайным.
Кроме этих препятствий существует и множество других. На этом закончим наше
небольшое теоретическое введение и перейдем к практике.
Графическая принципиальная схема объекта 3-го порядка, реализующий случай 3
(2.2 - на входе, 1.1 или 2.1 - на выходе) такова:
┌------┐
| Цель |
|┌─┐ | ╔══╗
|│ ├<──┼────────────────────────────────────────╢BU╟<──┐
|│U├>──┼──────────────────────┐ ╚══╝ │
|│ ├<─┐| │ │
|└─┘ │| │ │
|╔═╗ │| ┌───────────┐ │ ┌───────────┐ │
|║X╟──┘| │Uпредыдущее├<─┐ │ ┌─>┤Zпредыдущее│ │
|║ ╟──┐| └───────────┘ │ ╔══╧══╗ │ └───────────┘ │
|╚═╝ │| └─>╢ ╟<─┘ │
|┌─┐ │| ║ M1 ║ │
|│ ├>─┘| ┌─>╢ ╟<─┐ │
|│A│ | ┌───────────┐ │ ╚══╤══╝ │ ┌───────────┐ │
|│ ├>─┐| │Zтекущее ├<─┘ │ └──┤ ГС │ │
|└─┘ │| └───────────┘ │ └───────────┘ │
└-----┼┘ │ │
┌-┼-----------------------┼------------------------┼-┐
| │ Внешний мир │ ┌─┐ │ |
| │ └──────>┤Z│ │ |
| │╔═╗ └─┘ ┌─┐│ |
| └╢Y╟─────────────────────────────────────────>┤B├┘ |
| ╚═╝ └─┘ |
└----------------------------------------------------┘
На этой схеме показано принципиальное устройство объекта 3.1.
Под ВНЕШНИМ МИРОМ понимается та среда функционирования, в которой и
существует объект 3.1. Цель данного объекта состоит в создании во внешней
среде объекта 2-го порядка A->Y->B. Так как A дано изначально, то требуется
лишь построить интерпретатор Y и с его помощью менять состояние объекта B.
Изначально мы знаем что должен делать этот объект (каким образом состояние B
меняется в зависимости от состояния A). Но нам неизвестно каким образом это
сделать. Говоря другими словами мы не знаем как должен быть устроен
интерпретатор Y и каким образом можно управлять объектом B (знать что из себя
представляет B и управлять им - далеко не одно и то же). Но как "сказать"
объекту 3.1 про то, как мы представляем себе объект A->Y->B. Нужно построить
его описание. Так как это объект класса 2.2, то описать мы его можем также
объектом класса не ниже 2.2.
Таким объектом-эталоном на нашей схеме служит объект A->X->U (для большей
наглядности он очерчен пунктирной линией). Естественно |A|=|U|, |A|=|B|.
Такое описание поначалу кажется бессмысленным - ведь в этом случае приходится
строить самим объект 2-го порядка. Но на самом деле объект A->X->U хоть и
равен по сложности объекту A->Y->B, физически он значительно меньше и
построить его гораздо проще, так как он несет лишь информационную нагрузку, в
то время как объект A->Y->B и строится в основном-то как раз для роли мощного
физического рычага.
Естественно что нам нужен механизм обратной связи. Уже с самого начала должна
быть возможность наблюдать за тем как эволюционирует объект B. Поэтому объект
класса 2.2 B->BU->U также должен быть построен создателями объекта 3.1. Как
видно из рисунка, объект U одновременно изменяется как BU, так и X. Среди
всех возможных состояний объекта U необходимо выделить некое, т.н. НУЛЕВОЕ
состояние. Это состояние ничем особо не отличается от других состояний, кроме
одного - если все возможные состояния объекта U представить в виде точек в
многомерном пространстве, то нулевое состояние должно быть как можно ближе к
центру этого пространства. Или говоря по-другому оно должно представлять
собой "среднее арифметическое" возможных состояний, подобно тому как ноль
делит координатную ось на две равные части (отсюда и название).
Обозначим выход интерпретатора X за P, а выход BU за Q. Причем если объект B
придет в нужное нам состояние, то Q=P. А объект U примет при этом нулевое
состояние. Таким образом чем меньше отличается состояние объекта U от
нулевого, тем ближе мы к цели. U служит своего рода индикатором прогресса.
Формирование объекта U (аналогично и U1 и U2 в т.н. полной схеме - см. ниже)
происходит в виде: U=K1*(P1-Q1)^2+K2*(P2-Q2)^2+...+Kn*(Pn-Qn)^2,
где Ki - весовой множитель, показывающий степень важности каждого показателя,
он может принимать как положительные, так и отрицательные значения, а также
ноль. (Pi-Qi)^2 - квадрат разности каждого показателя (Pi и Qi - значения по
i-й оси координат, если рассматривать объекты класса 1.1 P и Q как
многомерные переменные). Естественно что при Q=P мы получим что Pi-Qi=0,
U также примет нулевое значение. В любом случае U>=0.
M1 - "модуль 1" или базовый модуль. "Модуль 1" - потому что кроме него
существуют еще "модуль 2" и "модуль 3", обеспечивающие соответственно
подобные и абстрактные построения. Но они работают в более сложных объектах
3-го порядка и в данной схеме опущены. Данный же модуль называется базовым,
т.к. остальные модули строятся на его основе и постоянно используют его в
своей работе. Это центральное звено простейшего объекта 3-го порядка,
включающее в себя, как видно из схемы, блок движения, блок работы с обратной
связью, блок реализации возврата, запоминающее устройство и рабочий орган
- объект 1-го порядка Z.
Объекты 1-го порядка Uпредыдущее и Zпредыдущее запоминают соответственно
состояния объектов U и Z предыдущего шага. В объекте Zтекущее запоминается
текущее состояние Z. Это необходимо потому, что на Z кроме объекта 3.1 через
универсальный интерфейс воздействуют и остальные объекты внешнего мира.
Конечно, они воздействуют и на все остальные части объекта 3.1, но не нужно
забывать, что Z должен быть сильно связан с внешним миром, чтобы эффективно
на него воздействовать, в то время как остальные части объекта 3.1 связаны с
ним слабо. Из-за этого, состояния Z каким мы его представляем, и какое оно
на самом деле, сильно различаются.
Поэтому перед тем как изменить Z, M1 записывает его планируемое состояние в
Zтекущее.
Важную роль играет ГС. Это объект 1-го порядка, число возможных состояний
которого должно быть как можно ближе к общему числу состояний (решений) всей
системы, т.е. S(ГС) -> 1. В результате чего по отношению к остальным объектам
он будет обладать избыточным числом состояний Одному состоянию некоторого
произвольного объекта может соответствовать несколько состояний ГС. Поэтому
относительно их его состояния приближенно можно считать случайными. Более
конкретно способ постройки объекта Y мы рассмотрим на примере объекта 3.1,
построенного по полной схеме.
Число состояний объекта Z меньше числа состояний ГС. Это следует из условия
определенности объекта 2-го порядка: Z=M1(..., ГС, ...). Поэтому |Z|<=|ГС|, а
так как М1 осуществляет работу не только с ГС, то |Z|<|ГС|. Объект Z может
быть не одним физически элементарным объектом 1-го порядка, а состоять из
нескольких, зачастую весьма несхожих друг с другом, физически элементарных
объектов. Фактически в этом случае мы имеем дело с т.н. матрицей эффекторов
(см. пункт "Объект класса 3.2").
Приведем упрощенный алгоритм работы объекта 3.1:
0. Инициализация:
а) Получение значения U
б) Uпредыдущее := U
в) Zтекущее := ГС
1. Получение значения U
2. Если U=0, то цель достигнута. Перейти на пункт 1.
3. Если U<=Uпредыдущее, то сделанный шаг оказался удачным (или нейтральным),
делаем новый шаг:
а) Запоминается состояние U: Uпредыдущее := U
б) Запоминается состояние Zпредыдущее: Zпредыдущее := Zтекущее
в) Случайно генерируется новое состояние Zтекущее: Zтекущее := ГС
4. Если U>Uпредыдущее, то сделанный шаг оказался неудачным - привел к
увеличению значения U, возвращаемся назад:
а) Запоминается состояние U: Uпредыдущее := U
б) Осуществляется возврат к состоянию Zпредыдущее:
Zтекущее := Zпредыдущее
в) Так как в случае если и этот шаг окажется неудачным смысла
возвращаться уже нет, то мы не сохраняем Zпредыдущее, а
присваиваем ему случайное значение: Zпредыдущее := ГС
5. Делаем шаг - переводим Z в определенное состояние: Z := Zтекущее. Перейти
на пункт 1.
В дальнейшем рассмотренную схему мы будем называть ТРЕУГОЛЬНОЙ схемой, т.к.
она условно может быть представлена в следующем виде:
A
/ \
/ \
X Y
/ \
/ \
U ---------BU---------B
Кроме решения общей задачи - построения объекта 2-го порядка A->Y->B при
условии постоянного изменения состояния объекта 1-го порядка A, объект 3-го
порядка может быть применен и для решения частного случая - удерживать
состояние объекта B в неизменном виде (противодействуя при этом внешней
среде, стремящийся состояние B изменить). Объект A при этом своего состояния
не меняет. Назовем этот режим работы объекта 3-го порядка СЛЕДЯЩИМ режимом.
Анализируя принцип работы объекта класса 3.1, в частности блока M1, нетрудно
заметить что внутри M1 нужно детальное описание ГС, Z, Zпредыдущее, Zтекущее.
При операциях копирования (Zтекущее := ГС, Zпредыдущее := Zтекущее и др.)
происходит изменение состояния соответствующего объекта 1-го порядка. Эту
работу выполняют объекты 2-го порядка. Но вся сложность в том, что ГС, Z,
Zпредыдущее и Zтекущее имеют очень большое число состояний. И поэтому наше
представление и о них - их формальная модель - может описывать далеко не все
свойства. Следовательно и создавая объекты 2-го порядка для работы с ними, мы
сможем учесть только те свойства, что отражены в формальной модели. Возникает
ситуация, аналогичная ситуации программирования ЭВМ. Программист, работая с
компьютером не учитывает его механические, тепловые и др. характеристики.
Конечно если формальные модели ГС, Z, Zпредыдущее и Zтекущее обладают
достаточно высоким уровнем (допускают большое количество возможных состояний)
с их неполнотой можно смириться, поскольку присутствие универсального
интерфейса между Z и внешним миром в принципе позволяет достичь цели даже в
таких условиях. Например руки человека могут производить только механическое
макровоздействие. Но тем не менее вся окружающая нас техносреда с ее
разнообразнейшими устройствами, работающими и с электромагнитными полями, и с
нанообъектами и т.п., в конечном итоге была создана именно руками. Более
того, человек также воспринимает свои руки как механические манипуляторы и не
использует их химические, электромагнитные и др. характеристики.
Конечно пример с руками довольно грубый не совсем подходит для случая с 3.1,
но зато он нагляден и показывает, что зная даже небольшую долю реального
устройства ГС, Z, Zпредыдущее, Zтекущее, можно в принципе достичь цели.
Однако все же желательно уметь манипулировать не частью, а всеми свойствами.
Это возможно в случае, когда кроме M1 ни один объект не воздействует на
Z, Zпредыдущее и Zтекущее. Причем Zпредыдущее и Zтекущее образуют с M1
замкнутую систему, а Z меняется только M1. Возможные связи ГС при этом роли
не играют:
┌───┐
│ ГС│
└─┬─┘
v
┌────────┐ ╔══╧══╗ ┌───────────┐
│Zтекущее├<──╢ M1 ╟──>┤Zпредыдущее│
│ ├>──╢ ╟──<┤ │
└────────┘ ╚══╤══╝ └───────────┘
v
┌┴┐
│Z│
└─┘
В таком случае в силу существования универсального интерфейса можно
утверждать что состояние Z, Zпредыдущее и Zтекущее полностью определяются M1.
Таким образом если создателю 3.1 удастся подобрать в состав M1 такие объекты
2-го порядка, что сделают возможным рассматриваемый случай, то ему уже
необязательно включать в формальную модель свойства ГС, Z, Zпредыдущее и
Zтекущее в полном объеме. Все будет работать автоматически и с максимальной
эффективностью.
На следующей схеме показано принципиальное устройство объекта 3.1,
реализующего ПОЛНУЮ СХЕМУ (вход - объект 2.2, выход - объект 2.2):
┌--------------------------------------------┐
|┌─┐ Цель ╔═╗ ┌─┐|
┌─┼┤A├────────────────>╢X╟─────────────────>┤B├┼┐
│ |└─┘ ╚═╝ └─┘|│
│ └--------------------------------------------┘│
│ ╔═══╗ ╔═══╗ │
└─>╢ ║ ║ ╟<──┘
║AU1║ ║BU2║
┌──╢ ║ ║ ╟───┐
│ ╚═══╝ ╚═══╝ │
│ ┌──┐ ┌──┐ │
└─>┤ │ ╔═══╗ ┌─┐ ╔═══╗ │ ├<─┘
│U1├───>╢U1U╟──────>┤U├<─────╢U2U╟<────┤U2│
┌─>┤ │ ╚═══╝ └┬┘ ╚═══╝ │ ├<─┐
│ └──┘ │ └──┘ │
│ v │
│ ┌───────────┐ │ ┌───────────┐ │
│ │Uпредыдущее├<─┐ │ ┌─>┤Zпредыдущее│ │
│ └───────────┘ │ ╔══╧══╗ │ └───────────┘ │
│ └─>╢ ╟<─┘ │
│ ║ M1 ║ │
╔═══╗ │ ┌─>╢ ╟<─┐ │ ╔═══╗
║ ╟──┘ ┌───────────┐ │ ╚══╤══╝ │ ┌───────────┐ └──╢ ║
║CU1║ │Zтекущее ├<─┘ │ └──┤ ГС │ ║DU2║
║ ╟<─┐ └───────────┘ │ └───────────┘ ┌─>╢ ║
╚═══╝ │ │ │ ╚═══╝
┌-┼-----------------------┼-----------------------┼-┐
| │ Внешний мир │ ┌─┐ │ |
| │ └──────>┤Z│ │ |
| │┌─┐ ╔═╗ └─┘ ┌─┐│ |
| └┤C├──────────────────>╢Y╟──────────────────>┤D├┘ |
| └─┘ ╚═╝ └─┘ |
└---------------------------------------------------┘
Работа данного объекта состоит в создании во внешней среде объекта 2-го
порядка C->Y->D. Целью служит объект A->X->B (очерчен пунктирной линией).
|A|=|C|, |B|=|D|. Механизм обратной связи позволяет проследить за изменением
состояний объектов C и D. Поэтому объекты 2.2 C->CU1->U1 и D->DU2->U2 должны
быть построены создателями объекта 3.1.
Как видно из рисунка, объекты U1 и U2 одновременно изменяются как CU1 и DU2,
так и AU1 и BU2. Обозначим выход интерпретатора AU1 за P1, а выход CU1 за Q1.
Причем если объект С придет в нужное нам состояние, то Q1=P1. А объект U1
примет при это нулевое состояние. Аналогично протекает и процесс формирования
состояния U2 (выход BU2 - P2, а выход DU2 - Q2, соответственно нулевое
состояние U2 произойдет при P2=Q2).
Состояние объекта U определяется точно по тому же принципу: выходом U1U
служит P, а выходом U2U является Q. При P=Q объект U примет нулевое
состояние. Очевидно что нулевое состояние объекта U возможно лишь при нулевых
состояниях объектов U1 и U2. Таким образом чем меньше отличается состояние
объекта U от нулевого, тем ближе мы к цели, как и в случае треугольной схемы.
Алгоритм работы также полностью аналогичен алгоритму треугольной схемы, с той
лишь разницей, что при расчете значения U, помимо расчета P и Q,
рассчитываются также P1, Q1, P2, Q2.
Очевидно что полная схема представляет собой фактически комбинацию из 2-х
треугольных схем. Таким образом треугольная схема является своего рода
"строительным кирпичом", на основе которого могут быть построены объекты
более сложные, чем по полной схеме, состоящие из более чем 2-х комбинаций
треугольной схемы.
На примере работы 3.1 ярко иллюстрируется важный момент принципиального
характера - невозможность направленного изменения объекта 2-го порядка L:
C->Y->D, если нет объекта 2-го порядка K: A->X->B, или если K - объект 1-го
порядка. Это принцип можно назвать ЗАКОНОМ СОХРАНЕНИЯ ИНФОРМАЦИИ, гласящий
что невозможно получить знания (т.е. изменение логики работы L) из ниоткуда
или из объекта 1-го порядка.
Напомним еще раз: приведенные выше алгоритмы работы объекта класса 3.1 не
являются алгоритмами описания пути к цели. Это описание последовательности
срабатывания различных блоков объекта класса 3.1. И оно остается неизменным
при любой цели!
Рассмотрим на примере. Представим себе автомобиль-амфибию высокой
проходимости с изотопным генератором, дающим ему неограниченный запас хода.
На автомобиле установлен компас. Мы помещаем автомобиль в любую точку
поверхности Земли, включаем двигатель и даем команду двигаться на север.
Алгоритм движения крайне прост: встретив непреодолимую преграду (например
крутой подъем) автомобиль отъезжает немного назад и пытается ее объехать,
стараясь выдерживать при этом основной курс (на север) неизменным.
Очевидно что автомобиль будет подобен объекту 3.1. Цель - курс на север.
Обратная связь - компас. Объект Z - колеса и гребной винт (поскольку не
простой автомобиль, а амфибия). Упрощенный аналог универсального интерфейса
- то, что при помощи колес и вплавь можно достичь практически любой точки
земного шара. Генератором случайности вполне может стать какой-нибудь
псевдослучайный физический процесс (например шумы транзистора). И т.д..
Теперь вернемся к алгоритму работы. Естественно что само устройство
автомобиля, взаимодействие его узлов и агрегатов, можно описать алгоритмом.
Но вот траектория его движения - нет, потому что она определяется не только
командами на руль и педаль газа, но и рельефом местности, магнитным полем
Земли, множеством других факторов. А ведь достижение цели достигается как
раз выбором траектории! Дав задание ехать на юг мы тем самым полностью ее
(траекторию) изменим, не меняя в конструкции автомобиля ничего, кроме цели.
В приведенных схеме и алгоритме и описывается, образно говоря, как раз та
самая конструкция автомобиля, а совсем не алгоритм детального построения
траектории его движения.
Поясним теперь подробнее механизм создания объекта C->Y->D.
Объект 1-го порядка Z сильно связан с внешним миром и изменение его состояния
позволяет заметно влиять на остальные объекты внешнего мира. Изменения его
состояния через универсальный интерфейс отражаются на других объектах 1-го
порядка, лежащих между C и D. А т.к. все объекты 1-го порядка связаны в
единую систему уравнений, то при этом изменяется зависимость состояния C от D
- как бы строится интерпретатор Y.
Упрощенно построение Y можно изобразить так:
1) Изначально между C и D нет связи Y (для упрощения на рисунке
отображаются только связи полезные для создания Y)
│
v
┌┴┐
│Z│
└─┘
┌───┐
┌───┐ │x7 │
│x1 │ └───┘
└───┘ ┌───┐
│x4 │ ┌───┐
└───┘ │x10│
┌─┐ ┌───┐ ┌───┐ └───┘
│C│ │x2 │ │x8 │ ┌─┐
└─┘ └───┘ ┌───┐ └───┘ │D│
│x5 │ └─┘
└───┘
┌───┐
┌───┐ ┌───┐ │x9 │ ┌───┐
│x3 │ │x6 │ └───┘ │x11│
└───┘ └───┘ └───┘
2) Изменяя Z различными способами мы тем самым меняем состояние объектов
1..11, в результате чего между некоторыми объектами 1-го порядка (1..11)
возникают зависимости.
│
v
┌┴┐
│Z│
└─┘
┌───┐
┌───┐ │x7 │
│x1 │ └───┘
└───┘ ┌───┐
│x4 ├───────────────────┐ ┌───┐
└─┬─┘ └──<┤x10│
┌─┐ ┌───┐ └────────┐ ┌───┐ └───┘
│C│ │x2 │ └─────>┤x8 │ ┌─┐
└─┘ └───┘ ┌───┐ └───┘ │D│
│x5 ├<─────────┐ └─┘
└───┘ │
┌─┴─┐
┌───┐ ┌───┐ │x9 │ ┌───┐
│x3 │ │x6 │ └───┘ │x11│
└───┘ └───┘ └───┘
3) На каком-то этапе в эту зависимость попадают и C с D.
│
v
┌┴┐
│Z│
└─┘
┌───┐
┌───┐ ┌─────────────────────┤x7 │
┌─────┤x1 ├<─┘ └───┘
│ └───┘ ┌───┐
│ │x4 ├───────────────────┐ ┌───┐
v └─┬─┘ └──<┤x10├<────────────┐
┌┴┐ ┌───┐ └────────┐ ┌───┐ └───┘ │
│C├───────>┤x2 │ └─────>┤x8 │ ┌┴┐
└─┘ └─┬─┘ ┌───┐ └───┘ ┌────────>┤D│
│ │x5 ├<─────────┐ │ └─┘
┌─┘ └───┘ │ │
v ┌─┴─┐ │
┌─┴─┐ ┌───┐ │x9 │ ┌─┴─┐
│x3 ├─────────>┤x6 │ └───┘ │x11│
└───┘ └───┘ └───┘
4) Возникает зависимость C от D.
│
v
┌┴┐
│Z│
└─┘
┌───┐
┌───┐ ┌─────────────────────┤x7 │
┌─────┤x1 ├<─┘ └───┘
│ └─┬─┘ ┌───┐
│ └<─────────────┤x4 ├───────────────────┐ ┌───┐
v └─┬─┘ └──<┤x10├<────────────┐
┌┴┐ ┌───┐ └────────┐ ┌───┐ └───┘ │
│C├───────>┤x2 │ └─────>┤x8 │ ┌┴┐
└─┘ └─┬─┘ ┌───┐ └───┘ ┌────────>┤D│
│ │x5 ├<─────────┐ │ └─┘
┌─┘ └───┘ │ │
v ┌─┴─┐ │
┌─┴─┐ ┌───┐ ┌─────>┤x9 ├───────┐ ┌─┴─┐
│x3 ├─────────>┤x6 ├─┘ └───┘ └──────>┤x11│
└───┘ └───┘ └───┘
5) Изменяя Z мы подводим эту зависимость к требуемому виду - к Y:
ослаблением зависимости D->C и усилением C->D.
│
v
┌┴┐
│Z│
└─┘
┌───┐
┌───┐ ┌─────────────────────┤x7 │
┌-----┤x1 ├<─┘ └───┘
| └─┬─┘ ┌───┐
| └<------------─┤x4 ├-------------------┐ ┌───┐
v └─┬─┘ └-─<┤x10├<------------┐
┌┴┐ ┌───┐ └────────┐ ┌───┐ └───┘ |
│C╞═══════>╡x2 │ └─────>┤x8 │ ┌┴┐
└─┘ └─╥─┘ ┌───┐ └───┘ ╔════════>╡D│
║ │x5 ├<─────────┐ ║ └─┘
╔═╝ └───┘ │ ║
v ┌─┴─┐ ║
┌─╨─┐ ┌───┐ ╔═════>┤x9 ╞═══════╗ ┌─╨─┐
│x3 ╞═════════>╡x6 ╞═╝ └───┘ ╚══════>╡x11│
└───┘ └───┘ └───┘
6) В итоге получаем упрощенную схему:
│
v
┌─---┼----┐
| ┌┴┐ |
| │Z│ |
| └─┘ |
| |
┌─┐ | ╔═╗ | ┌─┐
│C├──|──>╢Y╟───|──>┤D│
└─┘ | ╚═╝ | └─┘
└---------┘
или еще проще:
┌─┐ ╔═╗ ┌─┐
│C├─────>╢Y╟──────>┤D│
└─┘ ╚═╝ └─┘
Таким образом мы видим что Y существует изначально лишь в неявном виде.
Работа объекта 3.1 направлена на его выделение из косвенной формы в явную.
На принципе преобразования (косвенная форма)->(явная форма работают) все
объекты 3-го порядка. В какой-то мере аналогией работы 3.1 служит освоение
пользователем сложной программы, от которой у него нет инструкции.
Он знает что примерно должно быть на входе этой программы (объект A), на
выходе (объект B) и как они связаны друг с другом (A->X->B). Путем случайных
настроек (построение Y) он добивается того, что программа перерабатывает
входные данные (объект C) в нужную ему форму (объект D) по требуемому
алгоритму (C->Y->D).
Следует обратить внимание на то, что объект 3.1 может создавать и
неопределенный объект 2-го порядка C->Y->D, если A->X->B тоже неопределенный.
При рассмотрении схемы работы объекта 3.1 возникает вопрос: а можно ли
перейти от пошагового функционирования к непрерывному? Однозначного ответа на
этот вопрос дать пока нельзя, т.к. многое будет зависеть от конкретной
реализации объекта 3.1. Но полностью непрерывной работу сделать по всей
видимости не удастся, поскольку в любом случае принцип построения объекта
C->Y->D основан на пошаговой стратегии "сделаем шаг и посмотрим что из этого
получиться". Такая стратегия позволяет приближаться к цели при любых
свойствах среды функционирования. В том числе и таких, когда законы
взаимодействия объектов 1-го порядка выражаются прерывистыми функциями (т.е.
не имеющими одинаковой производной на всей области своего определения) или
очень близкими к ним. "Непрерывная" же "версия" объекта 3.1 работоспособна
только в условиях, когда все законы взаимодействия имеют непрерывный характер
(примером таких закономерностей в нашем мире могут служить закон всемирного
тяготения, закон Кулона и пр.). При этом следует учитывать что непрерывными
должны быть функции всех объектов 2-го порядка, а не только физически
элементарных! Однако внутренняя организация блоков 3.1 может вполне быть и
непрерывной, важно только чтобы пошаговой была работа приведенного выше
общего алгоритма. Забегая немного вперед следует сказать что в схемах 3.2 и
3.3 возможностей для организации непрерывной работы несколько больше.
Рассмотрим свойства объектов и их групп по отношению к внешнему миру. Все,
что находится внутри пунктирной линии (см. схемы 3.1) должно быть как можно
более сильно изолировано от влияния внешнего мира. То есть степень связи
этих объектов с внешним миром должна быть как можно меньше. Еще большей
степенью защиты должен обладать объект - цель A->X->B (или A->X->U для
треугольной схемы). Причем следует учитывать не только влияние объектов
внешнего мира, но и внутренних объектов класса 2.2 друг на друга (особенно
это касается защиты от влияния объекта Z, имеющего широкие возможности для
изменения состояния других объектов). Объекты C и D (B для треугольной
схемы), заключенные внутри пунктирной линии (внешнего мира) создаются
объектом 3.1 и в общем случае нельзя сказать насколько сильно они будут
связаны с внешним миром. Объект Z, будучи эффектором , должен быть, с одной
стороны, сильно связан с внешним миром чтобы изменение его состояния
значительным образом отражалось на состоянии объектов внешнего мира. А с
другой стороны он должен быть полностью управляем со стороны модуля 1, и
следовательно быть связан с внешним миром слабо. Разрешить этот конфликт
можно лишь найдя подходящий компромисс. Забегая вперед скажем что поиск этого
компромисса в общем случае не может быть произведен ни в рамках объекта 2-го
порядка (т.е. не существует алгоритма его поиска), ни даже объектом 3-го
порядка. Для его осуществления необходимо целостное представление (вплоть до
мельчайших фрагментов) о структуре среды функционирования объекта класса 3.1.
Необходим объект 4-го порядка.
Таков в общих чертах объект класса 3.1 - основной строительный блок для
создания объектов 3.2 и 3.3, реализующих соответственно получение знаний
путем подобных и абстрактных построений и имеющих гораздо более развитые
средства сбора информации и влияния на внешний мир.
Введем понятие ЭВОЛЮЦИОННОГО ПРОЦЕССА (он же процесс направленной
самомодификации) - такого процесса, при котором происходит не только
изменение объекта Y, но и самого объекта 3-го порядка. Следует отметить
важную особенность объекта 3.1 - отсутствие в нем эволюционного процесса, так
как 3.1 не изменяется сам для более эффективного движении к цели. Еще одной
особенностью 3.1 является запоминание только одного предыдущего шага, а не
2-х или больше.
Смысл тут таков: если даже возврат к предыдущему шагу окончился неудачей, то
возвращаться к более ранним шагам бессмысленно тем более. Для эффективного
использования информации о более чем 1-м предыдущем шаге требует
использование качественно иного подхода, реализованного в объекте 3.2.
Универсальный интерфейс для одноклеточных микроорганизмов существует на
молекулярном уровне. Однако, в общем случае, уровень организации не имеет
особого значения - важно только чтобы соблюдался принцип полной взаимосвязи
объектов 1-го порядка, которыми оперирует объект 3.1. И если цели можно
достичь только путем изменения размеров, размещения в пространстве и т.п.
макрохарактеристик объектов 1-го порядка, то их взаимовлияния на молекулярном
уровне не нужно. В этом состоит смысл МАСШТАБИРУЕМОСТИ универсального
интерфейса. Более строгое определение понятия масштабируемости универсального
интерфейса можно найти в пункте "Логические домены. Показатель SN, глобальные
характеристики и элементарные объекты 2-го порядка").
Не следует думать что объект класса 3.1 - абстракция. Практически все
одноклеточные живые организмы (а также отдельные клетки многоклеточных
организмов) как раз и являются именно объектами 3.1. У них, как это ни
странно звучит (хотя, по правде говоря, странного тут ничего и нет - например
сине-зеленые водоросли не изменились со времен архейской эры), нет
эволюционного процесса. Все те изменения, которые мы наблюдаем, относятся к
объекту Y. Все остальное для любого из них остается неизменным. Этим в
частности объясняется высокая степень изменчивости некоторых простейших -
изменять Y намного проще чем весь объект 3.1. Несколько особняком стоят
вирусы. Известно что вне чужих клеток они не имеют активного взаимодействия с
внешней средой и сохраняются в основном в виде кристаллов. Скорее всего вирус
- это объект 2-го порядка, хотя возможно мы имеем дело с объектом 3.1,
переходящим в неактивное состояние при определенных условиях (подобно
некоторым видам рыб, вмерзающих зимой в лед, а весной оттаивающих и
продолжающих жить, как ни в чем не бывало).
Еще в пункте "Принципы построения объектов 3-го порядка. Условие существования
универсального интерфейса. Что такое знания" мы говорили о том, что знания
можно получить в принципе 3-мя способами: случайным перебором, по аналогии и
путем логического вывода. Объект 3.1 реализует 1-й путь. Объект 3.2 получает
знания 2-м способом. Что это означает? Это означает что он отслеживает и
запоминает явления, происходящие во внешнем мире (независимо от того, связаны
они с C->Y->D напрямую, подобно обратной связи, или нет), а затем использует
эту информацию для достижения цели. Не вдаваясь в подробности, о которых
будет рассказано ниже, обрисуем в общих чертах принцип работы объекта 3.2. Он
построен на основе объекта 3.1 путем добавления памяти и средств ее
управления:
1. Берется объект 3.1:
┌───────────┐
│ 3.1 │
├-----------┤
│ A->X->B │
│Uпредыдущее│
│Zпредыдущее│
│Zтекущее │
└──┬─────┬──┘
^ v
┌----┼-----┼----┐
| ┌┴┐ ┌┴┐ |
| │U│ │Z│ |
| └─┘ └─┘ |
| ┌─┐ ╔═╗ ┌─┐ |
| │C├─>╢Y╟─>┤D│ |
| └─┘ ╚═╝ └─┘ |
└---------------┘
2. Добавляются рецепторы (устройства для сканирования состояния окружающей
среды), память и средства ее заполнения (объект 2-го порядка под названием
M2.1):
┌───────────┐
│ 3.1 │
├-----------┤
│ A->X->B │
│Uпредыдущее│
│Zпредыдущее│
│Zтекущее │
└──┬─────┬──┘
│ │ ┌──────┐
│ │ │Память│
│ │ └──┬───┘
│ │ ^
│ │ ╔══╧═╗
│ │ ║M2.1║
│ │ ╚══╤═╝
^ v ^
┌----┼-----┼-----┼---┐
| ┌┴┐ ┌┴┐ ┌┴┐ |
| │U│ │Z│ │R│ |
| └─┘ └─┘ └─┘ |
| ┌─┐ ╔═╗ ┌─┐ |
| │C├─>╢Y╟─>┤D│ |
| └─┘ ╚═╝ └─┘ |
└--------------------┘
3. Добавляются эффекторы (в противоположность рецепторам их задачей является
воздействие на среду функционирования) и средства управления ими,
использующие информацию из памяти (объект 2-го порядка M2.2):
┌───────────┐
│ 3.1 │
├-----------┤
│ A->X->B │
│Uпредыдущее│
│Zпредыдущее│
│Zтекущее │
└──┬─────┬──┘
│ │ ┌───────────┐
│ │ │ Память │
│ │ └──┬─────┬──┘
│ │ ^ v
│ │ ╔══╧═╗ ╔═╧══╗
│ │ ║M2.1║ ║M2.2║
│ │ ╚══╤═╝ ╚═╤══╝
^ v ^ v
┌----┼-----┼-----┼-----┼---┐
| ┌┴┐ ┌┴┐ ┌┴┐ ┌┴┐ |
| │U│ │Z│ │R│ │E│ |
| └─┘ └─┘ └─┘ └─┘ |
| ┌─┐ ╔═╗ ┌─┐ |
| │C├─>╢Y╟─>┤D│ |
| └─┘ ╚═╝ └─┘ |
└--------------------------┘
4. Производится связывание логики работы 3.1 и модулей управления памятью
M2.1 и M2.2, а Z войдет в состав E:
┌───────────┐
│ 3.1 │
├-----------┤
│ A->X->B │
│Uпредыдущее│
│Eпредыдущее│
┌─>┤Eтекущее │
│ └──┬─────┬──┘
│┌────┘ └────┐
││ ┌───────────┐ │
││ │ Память │ │
││ └──┬─────┬──┘ │
││ v ^ │
││ ╔══╧═╗ ╔═╧══╗ │
│└<╢ ║ ║ ╟<┘
│ ║M2.2║ ║M2.1║
├─>╢ ║ ║ ║
│ ╚══╤═╝ ╚═╤══╝
^ v ^
┌----┼-----┼-----┼----┐
| ┌┴┐ ┌┴┐ ┌┴┐ |
| │U│ │E│ │R│ |
| └─┘ └─┘ └─┘ |
| ┌─┐ ╔═╗ ┌─┐ |
| │C├─>╢Y╟─>┤D│ |
| └─┘ ╚═╝ └─┘ |
└---------------------┘
5. Получается следующая конструкция - воздействие 3.1 на C->Y->D происходит
через модули M2.1 и M2.2, корректирующие управление со стороны 3.1 при
помощи информации из памяти:
┌───────────┐
│ 3.1 │
└─────┬─────┘
^
│
v
╔═════╧═════╗ ┌──────┐
║M2.1 и M2.2╟<─>┤Память│
╚═════╤═════╝ └──────┘
^
│
v
┌----------┴----------┐
| ┌─┐ ╔═╗ ┌─┐ |
| │C├─>╢Y╟─>┤D│ |
| └─┘ ╚═╝ └─┘ |
└---------------------┘
Теперь подробнее. Явления, протекающие во внешнем мире, являются объектами
2.2, изменяющими объекты 1.1. Непосредственно работать с интерпретаторами
объектов 2.2 мы не можем. Значит, остается один вариант - отслеживать
изменения состояний объектов 1.1. Это можно сделать лишь одним способом - при
помощи т.н. СЛЕДЯЩИХ объектов 2-го порядка. На их входах будут объекты 1-го
порядка среды функционирования, состояние которых необходимо отслеживать.
Таким образом возникает множество РЕЦЕПТОРОВ - устройства сбора информации о
внешнем мире. На выходе у устройства сбора информации находится МАТРИЦА
РЕЦЕПТОРОВ - множество непрерывно меняющих свое состояние объектов 1.1,
каждый из которых служит входом следящего объекта 2.2. В рамках 3.2 объект
2-го по |