Сайт Информационных Технологий

Каталог >> ИИ >> ИНТЕГРАЛЬНЫЙ ПУТЬ СОЗДАНИЯ ИСКУССТВЕННОГО ИНТЕЛЛЕКТА

Глава 3. Объект 3-го порядка.
3.1 Принципы построения объектов 3-го порядка
3.2. Объект класса 3.1
3.3. Объект класса 3.2
3.4. Объект класса 3.3
3.5. Резюме


Глава 3. Объект 3-го порядка.

Вернемся на время к нашей исходной отправной точке - к проблеме ИИ. До сих

пор нет четкого понимания того, что должно быть на входе у ИИ и что он

должен "выдавать" на выходе. Причем под входом будем понимать не только не

только указания, данные ИИ его создателями, но и все то, что он получает

из внешнего мира в процессе своего функционирования. Поэтому определимся

по поводу того, что мы хотим получить от ИИ. Объект 1-го порядка - имеем

уже готовую информацию, получать ничего не нужно. Объект 2-го порядка -

имеем входной объект 1-го порядка и интерпретатор. Необходимо получить

выходной объект 1-го порядка. Образно говоря мы знаем что нужно сделать и

как это сделать. Известна конечная цель и путь к ней. Очевидно что

следующим шагом должна стать такая конструкция: мы знаем что необходимо

получить, но не знаем способа как это сделать. Известна конечная цель, но

как ее достичь неизвестно. А это и есть как раз то, что требуется от ИИ. И

пресловутый тест Тьюринга с этой точки зрения не может считаться

доказательством существования интеллекта. Для его прохождения вполне

достаточно развитой СУБД (сетевая модель, нечеткая логика и достаточно

развитые алгоритмы обработки данных) с обширной базой данных. А

применительно к настоящему ИИ он может дать и неправильный результат, так

как проверяет в основном широту познаний испытуемого, а не его способность

мыслить (ответы на типовые вопросы можно запрограммировать, нестандартные

же вопросы приводят в замешательство практически любого, скажем так

"человека с улицы").

Таким образом понятие интеллекта фактически означает наличие способности

находить решение заданной задачи в условиях, когда априорно известен

только требуемый результат. В дальнейшем мы будем называть задачи такого

рода открытыми задачами. Очевидно что алгоритмическим подходом открытые

задачи неразрешимы - нельзя ведь составить алгоритм, если не знаешь как он

работает.

С учетом вышесказанного всего есть 4 варианта работы ИИ:

1. Вход: объект 1-го порядка. Выход: объект 1-го порядка.

2. Вход: объект 1-го порядка. Выход: объект 2-го порядка.

3. Вход: объект 2-го порядка. Выход: объект 1-го порядка.

4. Вход: объект 2-го порядка. Выход: объект 2-го порядка.

Очевидно что в 1-м варианте от ИИ требуется построить устройство,

преобразующее выходной объект 1-го порядка в зависимости от состояния

входного объекта 1-го порядка. Говоря другими словами требуется построить

объект 2-го порядка. Но в этом случае ИИ необходимо знать заранее каким

образом должны быть связаны состояния входного и выходного объектов.

Казалось бы, ее можно описать при помощи третьего объекта 1-го порядка. Но

каким образом извлечь эту информацию и воплотить ее в "жизнь" в процессе

работы ИИ ? Только при помощи объекта 2-го порядка. Причем в таком случае

его придется встраивать в ИИ еще на стадии его постройки. То есть в итоге

получается что ИИ сам ничего не делает - он ни коим образом не облегчает

своим создателям процесс постройки объекта 2-го порядка. Так зачем же

тогда вообще нужен ИИ ?! Первый вариант отпадает.

Второй вариант также неприемлем по причине невозможности описания

объектом 1-го порядка объекта 2-го порядка. Остаются два последних

варианта. У обоих на входе - объекты 2-го порядка. Но что же при этом

должен представлять из себя ИИ, чтобы обрабатывать объекты 2-го порядка?

Совершенно очевидно что объектом 1-го порядка он быть явно не может. Но и

2-м тоже: ведь объект 2-го порядка имеет на входе объект 1-го порядка,

неоднородность, а не процесс преобразования неоднородностей. Значит либо

ИИ невозможен, либо он объект следующего - 3-го порядка.

Таким образом мы видим что создатели ИИ в настоящее время идут по заранее

ложному пути, пытаясь реализовать ИИ на основе первых 2-х вариантов. Они

уподобляются алхимикам, тщетно стремясь, образно говоря, превратить свинец

(данные) в золото (алгоритм). Это мы и видим в действительности - все

программы "содержащие" ИИ не генерируют новых алгоритмов, они лишь

манипулируют данными на основании заложенного в них, сколь угодно

сложного, но все же алгоритма. Все они являются разновидностью

компилятора, преобразующего текст программы в машинный код,

переделывающего один поток байтов в другой и совершенно не "понимающего"

смысл ни первого ни второго. На этом можно было бы и остановиться, признав

невозможность ИИ. Но это не так, что подтверждается существованием

растительного и животного мира, человеческого мозга. И наконец стоит

дополнительно остановиться на одном важном моменте, который в основном

создатели ИИ почему-то как правило "забывают". Мы уже несколько раз

упоминали живую природу Земли в качестве доказательства существования

объекта 3-го порядка. Однако в дальнейшем мы не будем брать представителей

живой природы в качестве эталона объекта 3-го порядка. Мы не будем также

брать в качестве основы для построения рассуждений об ИИ мозг человека,

как это делает подавляющее большинство создателей ИИ. И такой подход имеет

под собой серьезные основания.

Все знают что машущий полет гуся или шмеля намного экономичнее полета

любого самолета, что акулы и тунцы - лучшие пловцы океана, что органы

чувств некоторых живых существ обладают характеристиками и сегодня еще

технически недостижимыми. Но ни гусь ни шмель не могут летать быстрее

звука, не могут подниматься в стратосферу, их механическая прочность

обязана только эффекту масштаба. Атомные подводные лодки могут неделями

непрерывно двигаться со скоростью в десятки узлов, мощность их

энергетических установок достигает сотен тысяч киловатт, они несут

полезную нагрузку в тысячи тонн. Все это недостижимо в мире живой природы.

Телескопы позволили увидеть Вселенную во всем диапазоне длин волн, узнать

о существовании миров, свет которых был рожден еще до зарождения

Солнечной системы. Туннельные микроскопы позволяют манипулировать даже

отдельными атомами. Науке неизвестно ни одного живого существа, органы

чувств которого могли бы тягаться с такими показателями. Все это только

подтверждает простую истину о том, что природа развивает в живых существах

лишь то, что выгодно с точки зрения выживания вида. К тому же многие виды

и даже целые классы живых существ (насекомые к примеру) уже исчерпали

возможности к совершенствованию без глобального переделывания всей

конструкции, они почти остановились в своем развитии. Поэтому наблюдаемые

в живой природе механизмы не являются лучшими в широком понимании этого

термина. Они оптимизированы для решения узкого круга задач, в других

условиях их эффективность резко убывает. Те характеристики, достижение

которых особенно сложно в мире животных, не представляют особых трудностей

в мире техники. Ориентация на живую природу, а тем более ее слепое

копирование, в конечном итоге приведут в тупик. И мозг человека тоже,

наверняка, того же поля ягода. Не стоит делать ИИ на его основе. Максимум

что тут можно сделать, так это, пожалуй, только узнать изначальные принципы,

на которых он строится. Дальше придется двигаться самим.

3.1 Принципы построения объектов 3-го порядка

Для начала определим общую концепцию наших рассуждений. В самом общем виде

ИИ должен решать открытую задачу. Для этого требуется 3 вещи: материальные

ресурсы, интеллектуальные ресурсы и цель. Под материальными ресурсами

понимается наличие возможности "из чего делать" и "на чем делать", т.е.

своего рода первоначальное сырье и станки на которых это сырье

перерабатывается в готовую продукцию. Интеллектуальный ресурс состоит из

компонента "как делать", представляющего собой знания, необходимые для

создания готовой продукции. Цель определяет облик объекта, который

планируется создавать и решает вопрос "зачем это нужно". Следует отметить

что цель очень важна, так ее отсутствие делает бесполезным наличие двух

предыдущих ресурсов. Будем считать что сырья в среде функционирования ИИ

достаточно для достижения цели. Первоначальная изготовительная база также

имеется. Естественно есть и цель. Вопрос возникает с наличием

интеллектуальных ресурсов: каким образом имея перечисленные компоненты

достичь цели, ведь по условию задачи заранее как сделать это не известно.

Единственный способ - это получение интеллектуальных ресурсов из внешней

среды. Но прежде чем что-то получать нужно определиться по поводу того, с

чем мы имеем дело. Интеллектуальные ресурсы, а попросту знания могут быть

или объектом 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 подхода к

получению ИИ знаний:

1. Все необходимые знания в принципе можно получить при помощи случайного

перебора.

2. Требуемые знания уже существуют в среде функционирования в

виде объектов 2.2. Надо только уметь их найти и использовать. Важным

ограничением здесь является то, что знания должны находиться в явной форме

- т.е. соответствовать принципу "бери и используй". В этом случае ИИ

получает знания по аналогии.

3. Требуемые знания существуют в среде функционирования, но в неявной

форме. В этом случае нужно получить как можно больше знаний из среды

функционирования, а затем на основе их совместного анализа сделать

логические выводы. При этом получаемые выводы уже являются требуемыми для

достижения цели знаниями, причем в явной форме.

Если требуемые знания не могут быть получены случайным путем и не

присутствуют во внешней среде в явной или косвенной формах, то достичь

цели невозможно.

Допустим, что в среде функционирования существует N объектов 1-го порядка:

X1, X2, ..., XN.

Каждый i-й объект находится в непосредственной взаимосвязи с K объектами

1-го порядка. Причем P из них являются "входами", а Q - "выходами".

Естественно, что состояния каждого объекта должны удовлетворять условию

определенности. Тогда если представить каждый объект 2-го порядка в виде

уравнения вида

Xj=I(Xi)

и учитывая что на каждый объект косвенно воздействуют все остальные объекты

(т.н. универсальный интерфейс), можно записать такую систему уравнений:

Где Xa,...,Xf - объекты 1-го порядка, оказывающие явное влияние на объект

Xi. При этом в силу условия определенности для каждого объекта должно

выполняться:

где |Xi| - общее число состояний i-го объекта, M - число объектов,

оказывающих влияние на этот объект, |Aj| - число состояний объекта Aj,

оказывающее влияние на объект Xi. А в интерпретаторе должны отсутствовать

неопределенные функции. Очевидно, что в таком случае можно преобразовать

эту систему к виду:

Видно что состояние каждого объекта 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-го порядка, мы назовем

универсальным интерфейсом. Универсальный интерфейс придает среде

функционирования единство. Следует оговориться что универсальный интерфейс

вовсе не говорит о том что каждый объект 1-го порядка связан с каждым

непосредственно и о том что с помощью любого объекта можно контролировать

состояние любого другого объекта. Он лишь говорит о существовании влияния

на этот объект со стороны остальных объектов. А осуществляться это влияние

может как напрямую, так и косвенно - через изменение состояния объектов, уже

непосредственно связанных с данным объектом 1-го порядка. Существенным

дополнением становиться принцип суперпозиции - состояние каждого объекта

1-го порядка определяется действием на него множества других объектов 1-го

порядка. Универсальный интерфейс является необходимым условием создания

объекта 3-го порядка, но не достаточным. Ведь, образно говоря, мало иметь

корабль на котором можно доплыть к любому острову. Нужен еще двигатель и

навигационная система, дающие возможность двигаться и притом в нужном

направлении. "Навигационной системой" в нашем случае станет обратная

связь, дающая возможность узнать насколько мы близки к цели. Ее можно

реализовать как объект 2-го порядка. С "двигателем" несколько сложнее.

Именно этот блок непосредственно и строит искомый объект 2-го порядка. Как

мы уже знаем объект 2-го порядка состоит из 2-х разнотипных компонент:

объектов 1-го порядка и интерпретатора. Таким образом при максимуме своих

возможностей блок движения должен "уметь" преобразовывать/генерировать как

объекты 1-го порядка, так и интерпретаторы. Для преобразования объектов

1-го порядка достаточно объекта 2-го порядка. Но как их генерировать? И

вообще возможно ли такое? Объект 1-го порядка есть физическая

неоднородность. Эта неоднородность является уже врожденной,

"вмонтированной" в среду функционирования. И если вопрос ставиться как

генерация объекта 1-го порядка, то по сути дела это означает что из

первоначально однородной среды нужно сделать неоднородную или повысить

степень ее неоднородности. А для этого нужно чтобы тот, кто проводит такие

принципиальные изменения находился вне среды функционирования (для того,

чтобы быть совершенно независимым от нее о видеть ее со "стороны") и был

выше порядком чем она. Для объектов же, находящихся внутри среды такая

возможность недоступна, так как они сами являются ее частью и их порядок

не может быть выше порядка среды, их породившей. То же самое ограничение

действует и при попытке генерации/изменения интерпретаторов.

Интерпретаторы - также неотделимая от среды функционирования часть, так

как они физически связаны с объектами 1-го порядка. И поэтому изменение их

свойств, а тем более генерация новых неизбежно повлечет за собой

перестройку всей среды, изменения ее фундаментальных основ. Так что для

объектов 3-го порядка, проводящих изменения в среде, частью которой они

являются сами, из 4-х теоретических возможностей блока движения доступна

лишь одна - воздействие на среду функционирования путем изменения

состояния уже существующих объектов 1-го порядка. Но даже эта часть таит в

себе огромные возможности. В дальнейшем под словом "создать объект" мы

будем понимать именно изменение уже существующего объекта, если иной смысл

не оговорен специально.

3.2. Объект класса 3.1

Итак, мы можем изменять состояния различных объектов 1-го порядка. Но

какой объект и как изменить мы заранее не знаем. Значит в состав блока

движения должно входить как минимум 2 компонента: объект 1-го порядка,

изменение состояния которого через универсальный интерфейс отражается на

остальных объектах 1-го порядка, и генератор случайности (ГС), дающий

возможность случайно выбрать какой объект 1-го порядка следует изменить

наиболее сильно и в каком направлении. Но одних только случайных изменений

мало. Необходимо устройство, запоминающее удачный случайный шаг (он

приблизил нас к цели) и позволяющее вернуться к этому состоянию системы,

если следующий случайный шаг оказался неудачным. Таким образом постепенно

мы сможем приближаться к цели, а не блуждать около стартовой точки.

Опуская подробности, о которых мы скажем ниже, алгоритм работы простейшего

объекта 3-го порядка, получающего знания случайным путем, выглядит

следующим образом:

1. Получение по обратной связи информации о том, достигли мы цели или

нет. Да - повторить этот пункт. Нет - на пункт 2.

2. Если только что сделанный шаг оказался удачным, то запомнить свое

состояние и сделать следующий случайный шаг.

3. Если только что сделанный шаг оказался неудачным, то вернуться в свое

прежнее состояние и сделать случайный шаг.

4. Перейти к пункту 1.

Как видим ничего сложного на первый взгляд нет - это обычный алгоритм с

возвратом. Но не стоит спешить с выводами. Ведь не стоит забывать, что

универсальный интерфейс не только дает возможность управления объектами

1-го порядка за счет изменения состояния одного объекта. Он таит в себе и

угрозу - механизм обратной связи, блок движения, запоминающее устройство,

а также различные периферийные блоки объекта 3-го порядка существуют

отнюдь не изолированно от остальной среды функционирования, а тесно

связаны с ней. А следовательно в результате существования универсального

интерфейса есть опасность возникновения сбоев в их работе, появления новых

и исчезновения старых свойств, других коллизий, вплоть до полного

разрушения, вызванных как неудачным изменением объектов 1-го порядка самим

объектом 3-го порядка, так и изменением посторонних объектов 1-го порядка.

Кроме того имеется опасность попадания в так называемые "потенциальные

ямы". Это может произойти, если между текущим положением объекта 3-го

порядка есть область, в котором его состояние оценивается обратной связью

как отдаление от цели. Попав в такую область, объект 3-го порядка совершит

шаг назад - откат, в результате которого он отдаляется от цели. И если

цель имеет вид "замок с непрерывной стеной вокруг", то объект 3-го порядка

попросту будет "ходить" вокруг этой "стены" и никогда не сможет "попасть" в

"замок" - достичь цели. Избавиться от такой проблемы можно только путем

правильного выбора ГС, обладающего широким спектром случайных изменений, в

результате которых объект 3-го порядка сможет производить не только

близкие переходы - "шаги", ни и дальние - "прыжки". Существует и еще одна

проблема принципиального характера. Так как объект 3.1 получает знания

путем случайного перебора, то необходим источник случайности - ее

генератор. Искусственно создать такой генератор затруднительно - любой

алгоритм строится по определенным правилам, а значит он уже не случаен.

Также сложно и найти его уже в готовом виде - как узнать что кандидат в

такой генератор действительно случаен? Кроме этих препятствий существует

и множество других. На этом закончим наше небольшое теоретическое введение

и перейдем к практике.

Графическая принципиальная схема объекта 3-го порядка, реализующий случай

3 (2.2 - на входе, 1.1 или 2.1 - на выходе) такова:

На этой схеме показано принципиальное устройство объекта 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. А сам они построены таким образом, что может принимать нулевое

состояние. Обозначим выход интерпретатора X за P, а выход Y за Q. Причем

если объект B придет в нужное нам состояние, то Q=-P. А объект U примет

при этом нулевое состояние. Таким образом чем меньше отличается состояние

объекта U от нулевого, тем ближе мы к цели. U служит своего рода

индикатором прогресса.

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, построенного по схеме 4.

Приведем алгоритм работы объекта 3.1 (в терминах языках Паскаль).

REPEAT

{получение значения U}

U:=X(A)+Y(B);

{Далее следует логика работы модуля M1}

{если U равно 0, то цель достигнута}

IF U>0 THEN

BEGIN

{предыдущий шаг оказался удачным - привел к уменьшению значения U.

Запоминаем свое состояние и делаем следующий шаг}

IF U < Uпредыдущее THEN

BEGIN

Uпредыдущее:=U;

Zпредыдущее:=Zтекущее;

Zтекущее:=ГС;

END

ELSE

{предыдущий шаг оказался неудачным - привел к увеличению значения U.

Возвращаемся к своему предыдущему состоянию}

BEGIN

Uпредыдущее:=U;

Zтекущее:= Zпредыдущее;

Zтекущее:=ГС; {так как в случае если и этот шаг окажется неудачным

смысла возвращаться уже нет, то мы не сохраняем

Zпредыдущее, а присваиваем

ему случайное значение}

END;

{переводим Z в определенное состояние}

Z:= Zтекущее;

END;

UNTIL FALSE

В дальнейшем эту схему мы будем называть треугольной схемой, т.к. она

условно может быть представлена в следующем виде:

На следующей схеме показано принципиальное устройство объекта 3.1,

реализующего схему 4 (вход - объект 2.2, выход - объект 2.2):

Как и в предыдущей схеме сам объект очерчен пунктирной линией.

Цель данного объекта состоит в создании во внешней среде объекта

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 за P2, а

выход CU1 за Q2. Причем если объект С придет в нужное нам состояние, то

Q2=-P2. А объект U1 примет при это нулевое состояние. Аналогично

предыдущему случаю протекает и процесс формирования состояния U2.

Состояние объекта U определяется общей формулой U=U12+U22. Очевидно что

нулевое состояние объекта U возможно лишь при нулевых состояниях объектов

U1 и U2. Таким образом чем меньше отличается состояние объекта U от

нулевого, тем ближе мы к цели, как и в предыдущем случае. Алгоритм работы

также схож с предыдущим.

REPEAT

{получение значения U}

U1:=AU1(A)-CU1(C);

U2:=BU2(B)-DU2(D);

U:=U1U(U1)+U2U(U2);

{Далее следует логика работы модуля M1}

{если U равно 0, то цель достигнута}

IF U>0 THEN

BEGIN

{предыдущий шаг оказался удачным - привел к уменьшению значения U.

Запоминаем свое состояние и делаем следующий шаг}

IF U < Uпредыдущее THEN

BEGIN

Uпредыдущее:=U;

Zпредыдущее:=Zтекущее;

Zтекущее:=ГС;

END

ELSE

{предыдущий шаг оказался неудачным - привел к увеличению значения U.

Возвращаемся к своему предыдущему состоянию}

BEGIN

Uпредыдущее:=U;

Zтекущее:= Zпредыдущее;

Zтекущее:=ГС; {так как в случае если и этот шаг окажется неудачным

смысла возвращаться уже нет, то мы не сохраняем

Zпредыдущее, а присваиваем

ему случайное значение}

END;

{переводим Z в определенное состояние}

Z:= Zтекущее;

END;

UNTIL FALSE

Очевидно что схема 4 представляет собой фактически комбинацию из 2-х схем

3. Таким образом схема 3 является своего рода "строительным кирпичом", на

основе которого могут быть построены и более сложные чем схема 4 объекты,

состоящие из более чем 2-х комбинаций схемы 3.

В схеме 4 формирование объекта U1 (аналогично и U2) происходит в виде:

U1=K1*(C1-A1)^2+K2*(C2-A2)^2+...+Kn*(C3-A3)^2,

где Ki - весовой множитель, (Ci-Ai)^2 - квадрат степени важности каждого

показателя (Ci и Ai - значения по i-й оси координат, если рассматривать

объект класса 1.1 как многомерную переменную).

Точно так же формируется и объект U в треугольной схеме объекта 3.1.

Поясним теперь подробнее механизм создания объекта C->Y->D.

Объект 1-го порядка Z сильно связан с внешним миром и изменение его состояния

позволяет заметно влиять на остальные объекты внешнего мира. Изменения его

состояния через универсальный интерфейс отражаются на других объектах 1-го

порядка, лежащих между C и D. А т.к. все объекты 1-го порядка связаны в

единую систему уравнений, то при этом изменяется зависимость состояния C от D

- как бы строится интерпретатор Y.

Упрощенно построение Y можно изобразить так:

1) Изначально между C и D нет связи Y (для упрощения на рисунке

отображаются только связи полезные для создания Y)

2) Изменяя Z различными способами мы тем самым меняем состояние объектов

1..11, в результате чего между некоторыми объектами 1-го порядка (1..11)

возникают зависимости.

3) На каком-то этапе в эту зависимость попадают и A с B.

4) Возникает зависимость A от B.

5) Изменяя Z мы подводим эту зависимость к требуемому виду - к Y:

ослаблением зависимости B->A и усилением A->B.

6) В итоге получаем упрощенную схему:

или еще проще:

 

Таким образом мы видим что Y существует изначально лишь в неявном виде.

Работа объекта 3.1 направлена на его выделение из косвенной формы в явную.

На принципе преобразования косвенная форма -> явная форма работают все

объекты 3-го порядка. В какой-то мере аналогией работы 3.1 служит освоение

пользователем сложной программы, от которой у него нет инструкции.

Он знает что примерно должно быть на входе этой программы (объект A), на

выходе (объект B) и как они связаны друг с другом (A->X->B). Путем случайных

настроек (построение Y) он добивается того, что программа перерабатывает

входные данные (объект C) в нужную ему форму (объект D) по требуемому

алгоритму (C->Y->D).

Введем понятие эволюционного процесса - такого процесса, при котором

происходит не только изменение объекта Y, но и самого объекта 3-го

порядка. Следует отметить важную особенность объекта 3.1 - отсутствие в

нем эволюционного процесса, так как 3.1 не изменяется сам для более

эффективного движении к цели. Еще одной особенностью 3.1 является

запоминание только одного предыдущего шага, а не 2-х или больше. Смысл тут

таков: если даже возврат к предыдущему шагу отклонился неудачей, то

возвращаться к более ранним шагам бессмысленно тем более. Для эффективного

использования информации о более чем 1-м предыдущем шаге требует

использование качественно иного подхода, реализованного в объекте 3.2.

Рассмотрим свойства объектов и их групп по отношению к внешнему миру. Все,

что находится внутри пунктирной линии должно быть как можно

более сильно изолировано от влияния внешнего мира. То есть степень связи

этих объектов с внешним миром должна быть как можно меньше. Еще большей

степенью защиты должен обладать объект - цель A-->X-->B (или A-->X-->U для

предыдущего случая). Причем следует учитывать не только влияние объектов

внешнего мира, но и внутренних объектов класса 2.2 друг на друга (особенно

это касается защиты от влияния объекта Z, имеющего широкие возможности для

состояния изменения других объектов).

Объекты C и D (B для предыдущего случая), заключенные внутри

пунктирной линии (внешний мир) создаются объектом 3.1 и в общем случае

нельзя сказать насколько сильно они будут связаны с внешними миром. Объект

Z, будучи эффектором , должен быть, с одной стороны, сильно связан с

внешним миром чтобы изменение его состояния значительным образом отражалось

на состоянии объектов внешнего мира. А с другой стороны он должен быть

полностью управляем со стороны модуля 1, и следовательно быть связан с

внешним миром слабо. Разрешить этот конфликт можно лишь найдя подходящий

компромисс. Таков в общих чертах объект класса 3.1 - основной строительный

блок для создания объектов 3.2 и 3.3, реализующих соответственно получение

знаний путем подобных и абстрактных построений и имеющих гораздо более

развитые средства сбора информации и влияния на внешний мир.

Не следует думать что объект класса 3.1 - абстракция. Практически все

одноклеточные живые организмы как раз и являются именно объектами 3.1.

У них, как это ни странно звучит (хотя, по правде говоря, странного тут

ничего и нет - например сине-зеленые водоросли не изменились со времен

архейской эры), нет эволюционного процесса. Все те изменения, которые мы

наблюдаем, относятся к объекту Y. Все остальное для любого из них остается

неизменным. Этим в частности, объясняется высокая степень изменчивости

некоторых простейших - изменять Y намного проще чем весь объект 3.1.

Универсальный интерфейс для одноклеточных микроорганизмов существует на

молекулярном уровне. Однако, в общем случае, уровень организации не имеет

особого значения - важно только чтобы соблюдался принцип полной взаимосвязи

объектов 2-го порядка, которыми оперирует объект 3.1. И если цели можно

достичь только путем изменения размеров, размещения в пространстве и т.п.

макрохарактеристик объектов 2-го порядка, то их взаимовлияние на молекулярном

уровне не нужно. В этом состоит смысл масштабируемости универсального

интерфейса.

3.3. Объект класса 3.2

Еще в главе 3.1 мы говорили о том, что знания можно получить в принципе

3-мя способами: случайным перебором, по аналогии и путем логического

вывода. Объект 3.1 реализует 1-й путь. Объект 3.2 получает знания 2-м

способом. Что это означает? Это означает что он отслеживает и запоминает

явления, происходящие во внешнем мире, а затем использует эту информацию

для достижения цели. Не вдаваясь в подробности, о которых будет рассказано

ниже, обрисуем в общих чертах принцип работы объекта 3.2.

Явления, протекающие во внешнем мире, являются объектами 2.2, изменяющими

объекты 1.1. Непосредственно работать с интерпретаторами объектов 2.2 мы

не можем. Значит, остается один вариант - отслеживать изменения состояний

объектов 1.1. Это можно сделать лишь одним способом - при помощи следящих

объектов 2.2. На их входах будут объекты 1-го порядка, состояние которых

необходимо отслеживать. Таким образом возникает множество рецепторов -

устройства сбора информации о внешнем мире. Это первое принципиальное

отличие от 3.1, где роль одного-единственного рецептора играет объект 2.2,

обслуживающий состояние U. На выходе у устройства сбора информации

находится так называемая матрица рецепторов - множество непрерывно

меняющих свое состояние объектов 1.1, каждый из которых служит выходом

следящего объекта 2.2. Итак, информация получена, теперь ее необходимо

запомнить. Это не так-то просто как кажется. Число рецепторов в матрице

велико, состояний у каждого из них много. И если запоминать каждый образ

матрицы, отличающийся один от другого состоянием одного рецептора,

потребуется колоссальное количество памяти. Конечно, в реальности это

невозможно. Поэтому тут используется следующий прием: запоминаются не все

подряд состояния, а лишь те, которые привели к уменьшению состояния U на

величину, большую некоторого минимального значения. Эта величина получается

следующим образом. U рассматривается как главный рецептор и запоминается

наравне с состояниями остальных рецепторов. За dU принимается наименьшее

изменение значения U, имеющееся в памяти.

Вначале память пуста и в нее заносятся все следующие друг за другом

состояния матрицы рецепторов, пока память не заполнится полностью. После

того, как память заполнена, начинает действовать правило записи лишь тех

состояний матрицы рецепторов, у которых dUi>dU. Но это еще не все.

В процессе функционирования 3.1 будут встречаться ситуации, в которых

значение dU будет велико. И если срок существования объекта 3.1 значителен,

то в итоге вся память будет заполнена такого рода уже устаревшей

информацией еще задолго до достижения цели. При этом более новую

информацию, хотя и с меньшим dUi, но более важную ввиду своей новизны некуда

будет записывать. Поэтому с течением времени значение dU должно постепенно

снижаться. В этом случае мы имеем дело с процессом забывания. Кроме

записывания состояния матрицы рецепторов, следует записывать еще и

состояния матрицы эффекторов (в отличие от 3.1 где эффектор всего один -

объект Z, в объекте 3.2 существует матрица эффекторов, аналогичная матрице

рецепторов, но противоположная ей по смыслу. Z играет роль главного

эффектора). Это нужно, для того чтобы знать каким образом действовал 3.2 в

ситуации, приведшей к значительному изменению при соответствующем

состоянии внешнего мира, отраженного в матрице рецепторов. Опуская

подробности построения блока памяти, о которых будет еще рассказано,

перейдем к последней стадии - принципу обработки имеющейся информации. Что

мы имеем: блоки памяти с образами матрицы рецепторов, текущее состояние

рецепторов и множество эффекторов. Блок обработки информации должен на

основе информации с матрицы рецепторов и модулей памяти выдавать команды

на матрицу эффекторов. Для этого необходимо сравнить текущее состояние

рецепторов со значениями блоков памяти. Введем переменную Pi, показывающую

насколько похожа матрица рецепторов на образ матрицы рецепторов,

отраженную в i-м блоке памяти. Состояние матрицы эффекторов формируется по

принципу суперпозиции - чем больше у данного блока памяти значение

значение Pi, тем больше состояние матрицы эффекторов похоже на образ

матрицы эффекторов, записанной в этом блоке памяти. Естественно, полностью

похожих ситуаций практически не бывает, поэтому в процессе формирования

состояния матрицы эффекторов принимает участие генератор случайности.

Причем чем меньше имеется похожих состояний, тем больше доля генератора

случайности. Таким образом, с учетом вышеописанных процессов заполнения

блоков памяти, объект класса 3.2 использует весь предыдущий опыт своего

существования и способен выискивать аналогию в текущих ситуациях, если они

хотя бы чем-то напоминают уже пережитое. Все это позволяет достигать цели

гораздо эффективнее чем объект 3.1. Процесс мышления при этом отсутствует.

Действия объекта 3.2 происходят по аналогии с его же действиями в более

ранних похожих ситуациях. Если представить внешний мир в виде функции

R=M(E), где R - матрица рецепторов, E - матрица эффекторов, M - внешний

мир, то фактически объект 3.2 проводит интерполяцию/экстраполяцию функции

R=M(E). Таков принцип работы объекта 3.2. Однако, являясь надмножеством

объекта 3.1, он добавляет множество новых возможностей принципиального

характера. И они уже не могут быть выполнены в рамках тех свойств среды

функционирования, которые характерны для 3.1. Требуется дополнительное

требование к среде функционирования. Как уже отмечалось, объект 3.2

действует по аналогии с ранее уже осуществленными действиями. Если текущее

состояние рецепторов сильно похоже на образ матрицы рецепторов в одной из

ячеек памяти и состояние матрицы эффекторов, запечатленное в той же

ячейке, привело к приближению цели, то объект 3.2 приведет текущее

состояние матрицы эффекторов в состояние, близкое к образу из памяти в

надежде что это приблизит его к цели как и раньше. Если это условие не

будет выполняться, то возросшая сложность 3.2 по сравнению с 3.1 теряет

всякий смысл. Очевидно что это зависит не от 3.2, а от среды

функционирования. Всегда должно выполняться условие: похожие по виду

явления должны вызываться похожими причинами. То есть должны иметь место

однозначные зависимости "похожие явления - похожие причины". Совокупность

таких зависимостей, где явления и вызывающие их причины различаются

незначительными деталями, мы будем называть логическим доменом. Именно

существование в среде функционирования логических доменов и позволяет

строить объекты класса 3.2. Очевидно что логические домены вступают в

противоречие с универсальным интерфейсом, так как в идеале объекты одного

логического домена не должны влиять на другой логический домен. Разрешить

этот конфликт можно компромиссно: объекты разных доменов хоть и влияют

друг на друга, но очень слабо. И по сравнению с внутридоменным

взаимовлиянием им можно пренебречь. Логические домены реально существуют в

нашем мире: рассматривая к примеру атомы и молекулы как объекты класса 1.1,

мы можем принять небольшие твердые тела, состоящие из них за логические

домены. Внутри этих тел атомы и молекулы взаимодействуют достаточно

сильно: это и температура тела и его заряд и т.д., в то время как молекулы

и атомы разных тел практически не влияют друг на друга. Еще одним примером

логических доменов могут служить различные закономерности, наблюдаемые в

природе: например связанные друг с другом циклические процессы - смена

времен года и связанные с ними изменения в живой природе и т.п..

Существование логических доменов не обязательно влечет за собой цикличность

в поведении среды функционирования. Но желательно чтобы состояния среды

функционирования повторялись, т.к. в противном случае все преимущества 3.2

по сравнению с 3.1 теряют смысл.

Необходимо также отметить один важный момент - казалось бы, стоит записывать

в память не только состояния матриц приблизивших к цели, но и отдаливших от

нее. Затем их обработка происходит по принципу обратного знака - если

допустим записанное состояние какого-то эффектора было равно 10, то на этот

эффектор посылается значение -10, аналогично и для других эффекторов.

При этом якобы мы приблизимся к цели. Это ошибка. Такие рассуждения верны

только для случая, когда функция R=M(E) нечетная, т.е. M(-E)=-M(E).

Естественно, это далеко не всегда так. Но в эпсилон-окрестности точки E

можно утверждать, что свойства функции M(E) будут изменяться сообразно

изменению аргумента E. И это следует учитывать при формировании состояния

эффекторной матрицы.

Схема объекта 3.2

Поясним его устройство. Для простоты в данной схеме представлено 3 банка

памяти, хотя в реальных системах их, конечно, намного больше. Но сути дела

это не меняет. На схеме мы видим 2 модуля - подсистемы класса 2.2 и 3.1.

Вспомогательный модуль представляет собой модифицированный особым образом

объект класса 3.1. Основной модуль - модуль памяти, в его задачу входит

запоминание состояний, вызвавших изменение U на величину, большую dU и их

обработку. Взаимодействие этих модулей строится таким образом: вначале

вспомогательный модуль выдает наиболее подходящую с его точки зрения

комбинацию матрицы эффекторов (E+Z)p1, запоминает ее, и передает это

значение основному модулю. Основной модуль, получив информацию из 3-х

источников (U, R и (E+Z)p1) и используя память, вырабатывает свое значение

(E+Z)p2 и передает его в 3 места: на матрицу эффекторов, в (E+Z)p2 и

вместо (E+Z)p1 в вспомогательном модуле (чтобы избежать коллизий, если

этот шаг окажется неудачным и вспомогательный модуль начнет возвращаться в

предыдущее состояние). Кроме того, основной модуль также записывает в

вспомогательный модуль текущее состояние (E+Z)p1. Основной модуль состоит

из 2-х основных компонент - блоков M2.1 и M2.2. M2.1 формирует память -

заполняет ее, M2.2 использует память и вспомогательный модуль для

манипулирования матрицей эффекторов.

Таким образом, как мы видим, объект 3.2 базируется на объекте 3.1 и

дополняет его введением памяти. Вспомогательный модуль отличается от

обычного объекта 3.1 лишь тем, что хранит предыдущее состояние всей

матрицы эффекторов (а не только Z) и тем, что позволяет основному модулю

изменять значения (E+Z)p1 и Up.

Приведем упрощенный алгоритм работы объекта 3.2:

1. Получение значения U

2. Если U=0, то цель достигнута. Перейти на пункт 1.

3. Если имеются свободные ячейки памяти, то рассчитать и записать в первую

свободную ячейку текущие значения dU и состояния матриц рецепторов и

эффекторов.

4. Если свободных ячеек памяти не имеется, то:

4.1 произвести уменьшение значения dU у всех банков памяти по формуле:

где H - большое положительное число (В принципе H можно

рассчитать как произведение мощностей множества состояний рецепторов:

H=|R1|*|R2|*...|Rm|).

4.2 произвести заполнение банков памяти: то рассчитать и записать

в ячейку с наименьшим dUi текущее значение dU, а также текущие

состояния матриц рецепторов и эффекторов.

5. Определить состояние (E, Z) и, предварительно сохранив различные

компоненты ((E+Z)p1, ((E+Z)p2 и т.д.), дать команду на изменение состояния

эффекторной матрицы. Перейти на пункт 1.

Пункт 3,4 выполняется M2.1, а 5 - M2.2. Фигурирующие в формуле 3-го

пункта коэффициенты Ai называются коэффициентами отличия. Они определяют,

насколько состояние рецепторно-эффекторных матриц, зафиксированных в

данном банке соответствует текущему состоянию этих матриц. Их можно

рассчитать по следующим формулам (для простоты будем предполагать что

имеется 2 эффектора и 3 рецептора, а всего имеется 4 банка памяти). Если

банки памяти содержат такие значения:

((E11, E12), dU1, (R11, R12, R13))

((E21, E22), dU2, (R21, R22, R23))

((E31, E32), dU3, (R31, R32, R33))

((E41, E42), dU4, (R41, R42, R43)),

то значения A1, A2, A3, A4 могут быть рассчитаны по формуле:

(1) Ai=sqrt(((Ri1-R1)^2+(Ri2-R2)^2+(Ri3-R3)^2)/(3*dUi)), где

i=1..4, sqrt - функция извлечения квадратного корня, значок ^ -

знак возведения в степень (в данном случае в квадрат).

(2) Генератор случайности тоже нужно рассматривать как банк памяти,

причем:

Это позволит вносить в процесс формирования матрицы эффекторов необходимый

компонент случайности.

Чем больше Ai, тем меньше образ матриц запечатленный в i-м банке памяти

похож на текущее состояние рецепторно-эффекторных матриц. Если Ai=0, то

различия отсутствуют. Получив значения Ai, M2.2 рассчитывает значение

каждого компонента матрицы эффекторов по формуле:

(3) Ej=( (E1j)/A1+(E2j)/A2+(E3j)/A3+(E4j)/A4 )*( 1/A1+1/A2+1/A3+1/A4)^(-1)=

Видно что если, например A4=0, то Ej=Ej4, т.е. на матрицу эффекторов

будет передано без изменения состояние образа эффекторной матрицы из 4-го

банка. Из (3) очевидно, что в памяти не должно быть 2-х банков с

одинаковым содержимым (деление на 0). Сами банки памяти (Банк 1, Банк 2 и

Банк 3 на схеме) являются объектами 2.2, они заполняют значения ячеек

памяти ( ((R+dU)1, (E+Z)1), ((R+dU)2, (E+Z)2), ((R+dU)3, (E+Z)3) ) и для

убыстрения всего процесса в целом, работают параллельно (выдают значения

Ai). На схеме матрица рецепторов представлена в виде совокупности 2-х

составляющих: периферийных рецепторов R и главного рецептора U. Чтобы не

загромождать рисунок и показать связи формирования U, он фигурирует дважды

и показан маленькими буквами. На самом деле это один и тот же объект,

хотя он и прорисован 2 раза.

Объект 3.2 фактически проводит интерполяцию/экстраполяцию поведения внешнего

мира по узловым точкам - ячейкам памяти.

Таково устройство наиболее простой разновидности объекта 3.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 может выступать как в качестве будущего

рецептора, так и эффектора. Возникновение новой ячейки в матрицах

протекает следующим образом: в отображающих матрицах 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, то

в этом случае он мало будет влиять на конечный результат, так как

коэффициенты Ai почти не будут зависеть от m (см. (1) ). Когда m выдает

только "шум", его можно рассматривать как дополнение к генератору

случайности. К тому же его значения в одних Ai будут компенсированы

аналогичными значениями из других Ai, так что будто бы m и вовсе

отсутствует. Тот же принцип глобального движения к цели применим и к

дополнению эффекторной матрицы и для саморемонта. На последнем стоит

остановиться поподробнее. Что означает "в системе что-то сломалось" ? Это

означает что ряд объектов 1.1, составляющих 3.2 изменили свое нормальное

состояние относительно друг друга и других объектов 1.1 объекта 3.2. Если

эти изменения пошли на пользу (приблизили к цели), то матрица E будет

играть для них роль катализатора, поддерживая этот, уже эволюционный процесс

(очевидно что в самом общем виде эволюционный процесс затрагивает не только

рецепторно-эффекторные матрицы, но и бОльшую часть основного и

вспомогательного модуля).

Если нет, то роль ингибитора. И лишь когда поломки превысят некоторый

критический уровень матрица эффекторов уже не сможет сколь-нибудь эффективно

противостоять им. Более того, поломки такого масштаба могут исказить сигналы,

подаваемые на матрицу эффекторов до такой степени, что она превратиться из

инструмента созидания в инструмент самоликвидации, разрушающий объект 3.2

изнутри. В дальнейшем мы будем называть защиту такого типа полуактивной

защитой. Разумеется, можно было бы обойтись без отображений, непосредственно

подключать к основному модулю новые рецепторы и эффекторы. Но это не

самый хороший вариант, т.к. рецепторы и эффекторы находятся, как

правило, в опасной близости с объектами внешней среды. И если связь от

них к основному модулю устанавливать напрямую, то основной модуль так

же неизбежно окажется в опасной зоне. Поэтому связь необходимо

устанавливать через посредников - объектов e1...ei, r1...rj.

Как видим, все основные проблемы - и эволюционный процесс, и саморемонт

принципиально разрешимы с помощью одной и той же системы. Выбранный

принцип функционирования как бы сам уже позаботился о ее живучести и

работоспособности.

Кроме полуактивной системы защиты в 3.2 может быть применен еще один

механизм, резко повышающий его эффективность. Это механизм стековой памяти.

В чем его суть: запоминать не только сам удачный шаг, но и некоторое

количество предшествующих ему шагов, независимо от того были они удачными

или нет. Это и дает дополнительное преимущество - если мы увидим что

последние несколько состояний рецепторно-эффекторных матриц похожи на

последовательность шагов записанных в одной из ячеек, то в силу

существования логических доменов можно утверждать что последовательно

копируя последующие образы эффекторной матрицы из данной ячейки памяти

на матрицу эффекторов, мы будем получать состояния рецепторной матрицы,

аналогичной ее последовательным образам из данной ячейки. В итоге

такого "прохождения" всех состояний, записанных в ячейке мы придем к

уменьшению значения U, т.е. приблизимся к цели. Особенно эффективен

такой подход в случае, когда среди предшествующих состояний есть

неудачные и когда ситуация с похожими последовательностями шагов

встречается достаточно часто. Обычный объект 3.2 в такой ситуации начнет

каждый раз искать путь к цели заново, "наугад", тогда как 3.2 со стековой

памятью достаточно найти его только однажды и затем просто использовать

уже полученный путь лишь с небольшими вариациями.

Очевидно что для стековой памяти роль рецепторов важнее роли эффекторов,

т.к. общий смысл заключен в поиске и идентификации последовательности

похожих состояний внешней среды. Из этого также вытекает что общее

состояние внешней среды должно сравнительно слабо зависеть от состояния

рецепторной матрицы, во всяком случае быть меньше аналогичной зависимости

в случае с простым 3.2. Поэтому стековая память может эффективно

применяться только когда общее влияние 3.2 на внешнюю среду мало, т.е.

по сравнению с размерами среды в случае с простым 3.2 размер новой среды

будет гораздо больше.

Общий принцип реализации стековой памяти таков. Между памятью и

рецепторно-эффекторными матрицами вводится буфер размерности N, куда

записываются последние N состояний матриц. Буфер представляет собой стек

типа "последний пришел - последний ушел", т.е. при записи нового состояния

предыдущие состояния смещаются к концу буфера, а состояние в конце буфера

при этом будет замещено предыдущим. Анализ состояния матриц ведется как

и в обычном 3.2 - анализируется текущее состояние матриц. Если его нужно

записать в память, то в соответствующую ячейку памяти записывается не

только головной элемент буфера, а весь буфер. Для этого в каждой ячейке

вместо одного места должен быть предусмотрен массив размерности N, куда

и записывается все значения буфера. Анализ памяти отличается тем, что

в памяти идет поиск непрерывной последовательности фрагментов,

похожих на некоторую, также непрерывную, последовательность фрагментов в

буфере. При этом принцип поиска такой же, как и при работе с обычной

памятью - также рассчитываются соответствующие коэффициенты Ai и т.д..

После того как обнаружилось совпадение с массивом одной из ячеек,

происходит копирование записанной в последующих значениях массива этой

ячейки образов эффекторной матрицы на матрицу эффекторов. Если похожих

ячеек несколько, то каждая из них вносит свой "вклад" в формировании

эффекторной матрицы в зависимости от значения коэффициентов Ai.

В связи со значительным ростом объекта 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.

Перед тем как перейти к рассмотрению объекта класса 3.3 остановимся на

примерах объектов 3.1 и 3.2 в живой природе и рассмотрим возможные

пути улучшения этих конструкций.

Как уже говорилось выше, объектами 3.1 в живой природе являются простейшие

одноклеточные организмы и вирусы. Вполне возможно также что все растения

- это также параллельные объекты 3.1, где каждая клетка - независимый объект

класса 3.1. Хотя они могут быть и объектами 3.2 с полуактивной защитой, но

без стековой памяти. Объекты класса 3.2 представлены в природе тоже широко:

это многоклеточные организмы и практически все животные.

Животных вообще можно рассматривать как классический пример объекта 3.2.

В различных их видах представлены варианты 3.2: с полуактивной защитой

(медузы, черви и т.п.) и полный (рыбы, птицы, почти все высшие животные).

Способность животных залечивать и даже полностью восстанавливать

поврежденные органы сложной структуры говорит о наличии у них полуактивной

защиты. На наличие этого механизма указывает также и существование

эволюционного процесса. Следует заметить что эффекторы и рецепторы животных

вовсе не ограничиваются "ногами" и "руками". В составе эффекторной матрицы

присутствуют все то, что поддается управлению и способно оказывать

воздействие на организм и окружающие его предметы. А этот список весьма

широк: эндокринная система, нервная система, механизмы внутренней регуляции

жизнедеятельности отдельных клеток... Одним словом в эффекторной матррице

задействован практически весь организм. Аналогично дело обстоит и с

рецепторной матрицей.

Высшие животные способны к запоминанию когда-то пережитых ощущений и

способов действия в этих ситуациях. Они обладают условными рефлексами. Эту

способность дает им наличие стековой памяти. Она также объясняет и тот факт,

что по истечении времени знания забываются, и то, что опыт одних животных

нельзя передать другим. Каждое животное нужно дрессировать индивидуально

(подражание животных друг другу объясняется стадным эффектом, являющимся

врожденным, безусловным рефлексом и имеющим со стековой памятью мало общего).

Все сказанное остается справедливым для подавляющего большинства

представителей мира природы. Однако науке известны некоторые животные

способные к передаче своего жизненного опыта потомству и оказанию

взаимопомощи друг другу, животные проявляющие зачатки мышления.

Это в частности касатки, слоны, человекоподобные обезьяны и некоторые

другие. Известно например что некоторые птицы бросаются на нарисованные

изображения их природных врагов и добычи. А вот шимпанзе никогда не станет

атаковать рисованный муляж, даже если и видит его впервые. В случае с

птицами все понятно - их мозг воспринимает только внешний образ

наблюдаемого предмета. И если он находит ассоциацию в памяти, то

вызываются соответствующие реакции. Мозг же обезьяны устроен по-другому:

он видит мир не как набор ассоциаций, а как набор объектов и поэтому

легко отличает настоящего врага от нарисованного. Эти и другие

характерные черты поведения высших животных не объясняется с позиций

объекта 3.2. Они - объекты класса 3.3, к которому относится и человек.

Поговорим теперь о недостатках, которыми обладают живые организмы. И первый

из них - неполное использование таблицы химических элементов. Все

организмы имеют белковую структуру и построены на основе 20 "волшебных"

аминокислот. В основном используются лишь 4 элемента - углерод, водород,

кислород и азот. При том что общее число стабильных элементов около 100.

Естественно это негативно отражается на готовой конструкции. Однако

природа редко использует неэффективные пути. Значит в таком подходе есть

свой резон. Во-первых это простота реализации: белки знамениты тем, что

имеют большое количество форм и изомеров, значительно отличающихся

друг от друга по физическим характеристикам. Это дает возможность,

используя всего 4 элемента, создавать разные блоки объектов 3.1 и 3.2.

Из "твердых" белков (к примеру кератина) - элементы защиты и агрессии,

из белков имеющих большое количество изомеров и легко меняющих свою форму

- память и т.п.. Т.е. появляется возможность стандартизации - использование

в качестве "кирпичиков" при постройке стандартные блоки.

Во-вторых использование одной основы - белковой во всех постройках делает

процесс интеграции всех объектов в единый комплекс гораздо более легким

чем при использовании разных основ. Налицо унификация.

Особенно сильно эти плюсы проявляются при постройке 3.2 (например для

создания активной защиты гораздо проще иметь одну основу объектов m, чем

разную. Поэтому, в частности, стволовые клетки организмов изначально

совершенно одинаковы).

Всем известно что стандартизованная и унифицированная продукция гораздо

легче осваивается производством и быстрее совершенствуется и тиражируется.

Так же и в природе. Пойдя таким путем она увеличила скорость эволюции и

распространения жизни на Земле.

Но известно также что от стандартных изделий - своего рода ширпотреба

не приходится ждать уникальных характеристик. В этом заключен

их основной недостаток. Как ни крути, а жаропрочность вольфрамовых

сплавов все равно гораздо выше любых белковых конструкций, а на роль

механической защиты титан подходит гораздо лучше любого кератина. Таких

примеров множество.

Физические условия же на Земле "тепличные" и сравнительно стабильны.

Поэтому в таких условиях просто нет нужды создавать что-то сверхпрочное,

сверхбыстрое, сверхсильное, а значит сложное, потребляющее много ресурсов.

Так зачем тратить силы понапрасну? Этим и объясняется "непризнание"

природой никаких других конструкций, кроме белковых.

Второй большой недостаток живых организмов в общем-то является следствием

первого: это однотипность поведения. Их основной задачей является выживание

вида. Эта цель характерна для всех без исключения живых организмов.

Все остальное - размножение, рефлекс самосохранения, стремление победить

соперников, стадный эффект и т.п. - ее производные, различные пути ведущие

к ней. Смерть тоже, как ни странно, родилась из этой цели - для вида важнее

иметь постоянное обновление, эволюционный процесс, чем группу

слабоменяющихся бессмертных особей. Однотипность конструкции и единая цель

играют рука об руку - что бы было, если вдруг одни организмы получили бы

принципиальное преимущество над другими в виде обладания всеми химическими

элементами? Наверное примерно тоже, что и сейчас, когда человек, обладая

принципиальным преимуществом - мозгом, фактически уничтожает все живое

вокруг. Примерно тоже получится и при разных целях.

И наконец третий большой недостаток - большая избыточность конструкции

практически всех живых организмов. Наличие множества лишних блоков и

процессов, которые невозможно отключить, ставит объект 3-го порядка в

опасную зависимость от резких перемен в окружающей его среде

функционирования, увеличивает вероятность отдаления от цели. Очевидно что

если какой-то блок становиться ненужным объект 3.2 его самостоятельно

"стирает" в процессе самомодификации. Но в природе не все так гладко:

из-за постоянства "тепличных" условий многие блоки находятся в "спящем"

состоянии. Пока внешние условия неизменны они практически не препятствуют

прогрессу 3.2 и он их не "замечает". Но многие из них обладают коварным

свойством: резким изменением своих физических характеристик при

незначительных изменениях в окружающей среде.

В результате чего 3.2 просто не успевает их вовремя изменить или удалить.

В лучшем случае лишние блоки лишь замедляют движение к цели. В худшем -

влекут гибель объекта 3.2. Возникновение избыточности неизбежно в живой

природе, так как построение в 3.2 принципиально новых блоков идет по

принципу "постепенное улучшение случайно найденного". При этом велика

вероятность того, что вместе с действительно нужными компонентами заодно

перенесутся и ненужные, но при данных условиях нейтральные (а потому

"невидимые" для 3.2) компоненты. Бороться с избыточностью можно только

одним способом - изначально конструировать 3.2 таким образом, чтобы

вероятность появления избыточных компонент при его работе была бы

минимальна. Естественно что при построении каждого нового образца 3.2

для этого следует использовать специально разработанные блоки и модули,

что нереально в условиях всеобщей стандартизации и унификации, как это имеет

место в природе. Как видим, существующие природные образцы объектов 3-го

порядка весьма далеки от идеала.

Так было и есть на Земле. Но в будущем, когда наша цивилизация начнет

превращаться в цивилизацию 4-го порядка, осваивать Солнечную систему,

"тепличных" условий уже не будет. А бесконечность космических ресурсов

сделает борьбу одних организмов с другими за их, ресурсов, обладание

лишенной всякого смысла. Поэтому только остается еще напомнить: при

проектировании искусственных объектов 3-го порядка естественные объекты

3-го порядка следует рассматривать не более чем как пример, но никак не

эталон.

3.4. Объект класса 3.3

Перед тем как перейти к рассмотрению объекта класса 3.3 выясним, а зачем

собственно нужен такой переход ? Что нас не устраивает в 3.1 и 3.2 ?

В объектах класса 3.1 и 3.2 движение к цели осуществляется в основном при

помощи случайного перебора различных вариантов. Память, присутствующая в

объекте 3.2 (даже в стековом варианте) лишь увеличивает эффективность этого

процесса. Поэтому при работе объектов 3.1 и 3.2 многое зависит от воли

случая: удастся или не удастся подобрать состояние эффекторов, приближающие

нас к цели.

В небольших системах процесс такого перебора сходится к достижению цели

достаточно быстро. Однако чем больше система (внешний мир), тем все

труднее и труднее достигать цели указанным способом. Удачные сочетания

состояния эффекторов становятся все реже, а неудачные, наоборот - чаще.

Более того, некоторые случайные состояния эффекторной матрицы могут

настолько сильно отдалить от цели, что ее повторное достижение станет уже

бессмысленным или даже невозможным (разрушение объекта 3-го порядка).

Кроме случайности существует еще один вредный фактор - ограниченность

рецепторно-эффекторных матриц. Суть его сводится к тому, что текущего

набора рецепторов и эффекторов недостаточно для успешного движения к

цели. Его необходимо модернизировать. В объектах класса 3.1 рецепторы и

эффекторы вообще не меняются. В объектах класса 3.2 новые

рецепторы и эффекторы формируются в основном случайно. В крупных системах

случайного формирования уже недостаточно - слишком мала вероятность того,

что сформированный случайным образом рецептор/эффектор в нужной мере будет

удовлетворять поставленной перед ним задаче. Ведь для этого необходимо

наличие сильной связи между ним и объектом воздействия. Добиться этого

можно двумя путями: либо заранее создавать в рецепторе/эффекторе

необходимые свойства, либо сгенерировать такое количество

рецепторов/эффекторов, что они займут практически весь внешний мир и тем

самым повысят вероятность достижения цели. Для первого пути нужно знать

устройство внешнего мира чтобы наверняка, с первых же попыток, создать

рецептор/эффектор с заданными свойствами. Для второго - обладать огромными

материальными ресурсами и большим запасом субъективного времени (т.е. времени

с точки зрения объекта 3-го порядка. Оно может быть дискретным - например по

количеству шагов к цели). И то и другое отсутствует в 3.1 и 3.2.

В сумме все это резко сужает область применения объекта 3.1 до небольших

систем. В средних, а тем более в больших системах, применение 3.1

практически нереально. Если в среде функционирования присутствуют логические

домены, то возможно применение объекта 3.2. За счет применения памяти объект

3.2 может успешно достигать цели в средних по величине системах. В более

малых системах доменная структура выражена слабо ввиду относительно

небольшого числа объектов 1.1. В крупных системах в результате ограниченности

рецепторно-эффекторных матриц 3.2 "не видит" большинства логических доменов

внешнего мира и потому не может построить связи "причина->следствие".

Это резко понижает его эффективность. Принципиально 3.2 применим в любых

конечных системах с доменной структурой - лишь бы было достаточно заполненной

памяти. Но в бесконечных системах 3.2 оказывается неработоспособным. В силу

универсального интерфейса в бесконечных системах на каждый объект в

предельном случае может непосредственно действовать бесконечное количество

других объектов. Естественно чтобы корректно реагировать на изменение

состояния такого внешнего мира в рамках 3.2 необходимо иметь бесконечно

большую память с бесконечно большой скоростью ее обработки, что

представляется нереализуемым. В реальности уже в крупных конечных системах

применение стековой памяти не дает нужного эффекта.

Одной из причин такого понижения эффективности служит то, что 3.2

располагает в своей памяти, так сказать, статическую информацию о внешнем

мире, своего рода коллекцию объектов 1.1 - фотографий состояния рецепторов

и эффекторов. Но внешний мир - не набор изолированных объектов 1.1,

а совокупность связанных друг с другом объектов 2.2. В результате чего

память 3.2, как инструмент описания внешнего мира, работает с погрешностью.

Чем больше мир, тем больше погрешность. При достижении определенного

уровня она становиться неприемлемо велика.

В рамках 3.1 и 3.2 также невозможно преодолеть так называемые

потенциальные барьеры.

Допустим для достижения цели необходимо привести некоторые объекты

внешнего мира в определенное состояние. Но чтобы это сделать при помощи

эффекторов нужно несколько раз подряд привести матрицу эффекторов в такое

состояние, при котором происходит повышение значения U - возникает

потенциальный барьер. В результате чего объекты 3.1 или 3.2 никогда (разве

что путем чисто случайного перебора, что крайне маловероятно) не смогут

достичь цели. Хотя для этого нужно всего лишь "перейти" через барьер,

временно пойдя на увеличение U. Для того, чтобы определить какое

направление движения действительно отдаляет от цели, а какое является

потенциальным барьером также необходимо знать пути развития текущего

состояния внешнего мира.

Таким образом, для эффективного достижения цели в крупных системах

необходимо как-то уменьшить влияние различного рода случайных факторов в

формировании матрицы эффекторов и приобрести способность предугадывать

развитие состояния внешнего мира. Как этого достигнуть?

Очевидно что улучшением "механических" характеристик объекта 3.2: объема

и быстродействия памяти, рецепторно-эффекторных матриц и т.д. достигнуть

желаемого невозможно - бесконечность внешнего мира сводит на нет все эти

доработки. Нужен принципиально новый подход к решению этой проблемы.

В самом начале нашего рассказа про объекты 3-го порядка мы упоминали о

3-х путях получения знаний: случайным перебором, из внешнего мира в явной

форме и из внешнего мира в неявной форме. Первые 2 пути реализуются в

объектах 3.1 и 3.2. Значит единственно оставшейся неиспользованной

возможностью остается 3-й путь. Что значит "знания присутствуют в явной

форме" или "знания присутствуют в неявной форме" ? Знание - это объект

2-го порядка, служащий однозначным отображением процесса, протекающего

во внешнем мире. Объект класса 3.2 использует знания в явной форме -

его память вместе с основным модулем однозначно отображает логические

домены внешнего мира. При этом набора рецепторов у объекта 3.2 хватает

для выявления причин возникновения того или иного явления, что и

позволяет использовать эти зависимости для достижения цели. Таким образом

если объект 3-го порядка может однозначно идентифицировать логический

домен, правильно установить истинную причину явления, то это знание

присутствуют для него в явной форме. Очевидно, что количество знаний

в явной форме находится в прямой зависимости от мощности рецепторной

матрицы и в обратной от числа логических доменов внешнего мира.

Каждому явлению кроме его причины сопутствует множество посторонних

факторов. Некоторые из этих факторов обладают удивительным постоянством -

в большинстве случаев сопутствовать причине явления. Это и может сбить

с толку объект 3.2 - при недостаточной мощности рецепторной матрицы он

может принять сопутствующий фактор за причину.

Таким образом при увеличении размеров внешнего мира число явных знаний о нем

будет уменьшатся. При бесконечно большом внешнем мире оно может стать равным

нулю. Но это не говорит о том, что мы ничего не знаем о внешнем мире -

просто мы не имеем достаточного количества именно явных зависимостей типа

"причина -> явление". Косвенные же знания, т.е. знания вида

"(причина+сопутствующие факторы) -> явление" и

"сопутствующие факторы -> явление" у нас имеются. Остается только извлечь

из них явные знания. Представим эти знания в виде Q->P. Очевидно что это

можно сделать в результате их совместного анализа и только в 2-х случаях:

1. Если имеются несколько зависимостей

, то можно попробовать выявить похожие части в Q1...Qn. Чем больше n,

тем больше вероятность что похожая часть как раз и будет причиной.

2. В случае зависимостей вида

, где Q1i - похожие причины, Pi - разные явления. В этом случае ищутся

разные части Q1i - истинные причины Pi. Достоверность причин при этом

возрастает с ростом n.

Очевидно, что и в 1-м и во 2-м случаях рассматриваются зависимости

"(причина+сопутствующие факторы) -> явление". Для зависимостей же

вида "сопутствующие факторы -> явление" найти причину указанными

способами невозможно. А именно зависимости такого типа как раз

в основном-то и встречаются. К тому же анализ в 1-м и 2-м случаях

принципиально не дает никаких преимуществ перед

интерполяцией/экстраполяцией, проводимой 3.2.

Как же быть? Увеличивать число рецепторов и ячеек памяти до бесконечности

мы не можем.

Остается один вариант - построить внутри объекта 3-го порядка некий аналог

внешнего мира - его действующую модель, внутренний мир. Причем это

должна быть очень правдоподобная модель - практически эквивалент внешнего

мира. Как и внешний мир он состоит из большого числа объектов класса 2.2 и

обладает теми же свойствами, что и "исходник". А именно: имеет свои

внутренние логические домены и универсальный интерфейс. Мало того, внутри

внутреннего мира имеются двойники самого объекта 3-го порядка (как он

самого себя представляет через показания матрицы рецепторов) и его цели! В

результате чего у него появляется важнейшее свойство - в принципе внутри

этого внутреннего мира можно промоделировать абсолютно все процессы и

явления протекающие в настоящем, внешнем мире. Но он имеет и два

принципиальных отличия от внешнего мира:

1) возможность отката - любое действие, совершенное с внутренним миром

всегда можно отменить.

2) возможность работы с любым объектом внутреннего мира, включая и те

аналоги объектов внешнего мира, с которыми нельзя непосредственно

связаться при помощи рецепторно/эффекторной матрицы.

Эти отличия и делают внутренний мир именно испытательным полигоном, а не

просто двойником внешнего мира.

В этом состоит суть объекта 3.3 - имея внутренний мир и экспериментируя с

ним, он выявляет наиболее перспективные направления достижения цели

(включая преодоление потенциальных барьеров) и уже только после этого

применяет их во внешнем мире. Такой подход позволяет резко повысить

эффективность достижения цели в крупных системах. Конечно, одних только

логических доменов и универсального интерфейса мало для существования

внутреннего мира. Ведь смысл его заключается в том, чтобы быть полной

аналогией внешнего мира, частью которого является и он сам. Очевидно что

часть не может быть равна целому. Но только в случае конечных систем. Если

же внешний мир бесконечен, то такое оказывается возможным, подобно тому,

как количество нечетных чисел равно количеству чисел всего натурального

ряда. Таким образом объект 3.3 помимо универсального интерфейса и

логических доменов требует для своего существования бесконечно большой

среды функционирования. Естественно что далеко не во всех случаях от

внутреннего мира требуется полная аналогия с внешним. Иногда хватает

даже аналогии с его небольшой конечной частью. Это дает возможность

ограничиться конечным внутренним миром. Но в пределе внутренний мир должен

быть все же бесконечным. В реальных системах (например мозге человека)

внутренний мир обладает потенциальной бесконечностью - изначально он конечен,

но может быть расширен (надстроен) до бесконечности. В дальнейшем для

простоты мы будем говорить "бесконечный внутренний мир", опуская слово

"потенциально". Аналогично будем поступать и с понятием т.н. бесконечных

логических доменов.

Бесконечность внешнего и внутреннего миров заставляют кардинально

пересмотреть взгляды на цель. У 3.3 она необычна - она охватывает

как минимум один бесконечный логический домен внешнего мира.

Если домен будет конечен, то у нас нет гарантии что мы на 100% сможем

определить достигнута цель или нет. Причина та же, что и в случае с

косвенной целью в 3.2. Очевидно что в 3.3 цель не может быть проще чем

в 3.2 - она как минимум должна быть косвенной. В случае же косвенной цели

нельзя наверняка сказать достигнута истинная цель или нет. Можно

говорить лишь о коэффициенте достижения цели принимающем значение от 0 до 1.

Величина коэффициента достижения находится в прямой зависимости от

отношения массы C1 и D1 к массе среды функционирования, т.е. внешнего

мира. В случае с бесконечным внешним миром коэффициент достижения цели может

принимать ненулевые значения только в случае бесконечной массы C1 и D1.

Введя аналогичный коэффициент достижения D и C относительно D1 и C1 мы опять

обнаружим, что он будет ненулевым только при бесконечных D и C.

Таким образом цель объекта 3.3 представляет собой описание глобальных

характеристик бесконечного логического домена. Достижение цели означает

то, что глобальные параметры реального домена будут отличаться от заданных

на величину, меньшую некоторой заранее заданной погрешности.

Глобальные параметры домена являются обобщенными характеристиками

составляющих его объектов (если рассматривать воду в стакане как логический

домен, то его глобальным параметром будет, скажем, температура).

Однако лишь в простейших частных случаях цель "охватывает как минимум

один логический домен". В реальности же она практически всегда представляет

собой описание всего внешнего мира, таким каким его хотели бы видеть

создатели объекта 3.3. Это связано с особенностями проведения абстрактных

построений внутри объекта 3.3, о чем будет сказано ниже.

Следует отметить, что внутренний мир должен представлять собой именно

набор независимых объектов класса 2.2, а не систему вида

"обработчик 2.2" <--> "данные 1.1". Почему:

1) Внешний мир представляет собой набор логических доменов, которые можно

представить как объекты класса 2.2. И чем ближе по конструкции модель

будет к реальности, тем лучше. (Естественно внешний мир далеко не так

прост - он объект 4-го порядка. Но так как в рамках объекта 3-го

порядка невозможно управлять объектами выше 2-го порядка мы приближенно

считаем внешний мир совокупностью объектов 2-го порядка).

2) В процессе формирования и абстрактных построений неизбежно возникает

необходимость в изменении свойств внутреннего мира. В случае

независимости объектов 2.2 сделать это гораздо проще - изменение одного

объекта не влияет на свойства остальных.

3) В некоторых случаях некоторые объекты 2.2 внутреннего мира по своим

физическим характеристикам могут быть очень близки к своим аналогам из

внешнего мира. Такое физическое соответствие дает очень точное

моделирование процессов, протекающих в реальном, внешнем мире. Очевидно

что реализовать такие похожие объекты класса 2.2 нельзя при структуре

вида "обработчик 2.2" <--> "данные 1.1".

Рассмотрим теперь механизмы объекта 3.3, реализующие указанные свойства.

Необходимо решить 2 проблемы - проблему формирования или построения

внутреннего мира и проблему поиска с его помощью пути к цели.

Итак, механизм формирования внутреннего мира. Что физически представляет

из себя внутренний мир? Это с возможно большей степенью изолированности от

воздействия внешнего мира обособленная группа объектов 2.2, образующая

логические домены. Метафорически его можно изобразить в виде шара,

заполненного объектами 2.2. Вначале эти объекты имеют т.н. исходные

состояния. К внутреннему миру ведут 2 магистрали - матрицы эффекторов и

рецепторов. Чтобы не путать их с аналогичными устройствами для работы с

внешним миром будем называть их соответственно внутренними эффекторами и

рецепторами. А матрицы для внешнего мира - внешние эффекторы и рецепторы.

Нам предстоит таким образом изменить состояния объектов, заполняющие

внутренний мир, что станет выполнятся условие 1. Как это сделать?

Во-первых нужен рабочий орган, позволяющий изменять состояния объектов

2.2. Во-вторых нужна информация как и что конкретно надо изменить. Рабочим

органом в нашем случае может быть только объект 3-го порядка. Это могут

быть объекты 3.1 или 3.2. Если представить внешний мир в виде E->M->R, где

E, R - матрицы внешних эффекторов и рецепторов соответственно, M - внешний

мир, то внутренний мир представится в виде vE->vM->vR; vE, vR - матрицы

внутренних эффекторов и рецепторов соответственно, vM - внутренний мир. В

этом случае целью объектов-формирователей внутреннего мира станет E->M->R,

а целевым объектом vE->vM->vR (по аналогии с объектами A->X->B и C->Y->D,

см. гл. "Объект класса 3.1"). Аналогичным образом вводятся понятия

внутренней и внешней цели. Теперь по поводу того, откуда брать информацию.

Пока у нас есть 2 источника: собственно матрицы внешних рецепторов и

эффекторов, и образы этих матриц, записанные в стековых блоках памяти

объекта 3.2 (следует заметить, что 3.3 является надмножеством 3.2, и

следовательно ему также доступна информация из указанных блоков).

Таким образом, объекты-формирователи, представляющие собой объекты класса

3.1 и 3.2 изменяют vM таким образом, что взаимные состояния матриц vE и vR

становятся равными соответствующим состояниям записанным в памяти.

На первый взгляд кажется что этого достаточно. Но это не так. Вспомним:

основное условие при построении внутреннего мира - это сделать его

неотличимым с позиций рецепторно-эффекторных матриц от внешнего мира.

Т.е. результаты функции R=M(E) не должны отличаться от результатов функции

vR=vM(vE) (vR=R, vE=E при всех возможных E). Проблема же в том, что

вид функций vM и M (линейная, полином n-го порядка, система уравнений и

т.д.) должна быть одна и та же. Чтобы гарантировать совпадения входов

и выходов vM и M не только для значений, хранящихся в памяти 3.2, а и для

всех других возможных значений E.

Формируя же его предложенным выше способом мы можем лишь гарантировать

что неотличимость эта будет строго выполняться для состояний, равных

состояниям записанным в ячейках памяти 3.2 и текущему состоянию матриц.

А чем дальше мы будем отходить от них, тем все меньше и меньше внутренний

мир будет напоминать оригинал. Экспериментировать с таким внутренним

миром бессмысленно. Таким образом мы видим что внутренний мир невозможно

построить, используя только информацию с рецепторно-эффекторных матриц.

Это еще одна принципиальная ошибка которую допускают проектировщики ИИ,

проектируя (пускай даже мысленно) его образцы, которые якобы научатся

понимать закономерности внешнего мира путем обучения начиная с нуля.

Необходимо заранее знать вид функции R=M(E). Получить его из совокупности

взаимных состояний R и E невозможно. Он должен быть изначально задан в

момент создания vM. Информация из памяти лишь конкретизирует уже известную

в общем виде модель внешнего мира.

Физически такого рода модель общего вида представляет из себя совокупность

объектов 2-го порядка, находящихся в неактивном состоянии. Т.е. если

какой-то объект 2.2 описывается к примеру формулой y=a1*x^2+a2*x+a3, то

будучи в неактивном состоянии, он имеет коэффициенты a1, a2, a3 равными 0

(исходное состояние многих объектов 1.1 также "нулевое").

И поэтому никак не участвует в работе функции vR=vM(vE). В процессе

формирования vM коэффициенты a1, a2, a3 могут принять ненулевые значения -

объект 2.2 включается в работу. При этом не нарушается принцип нужности

3.3 ("а не делаем ли мы за него всю работу ?!") - знание общей картины

построения мира еще не означает знания его в деталях. А эти детали

необходимы при движении к цели. Глубина конкретизации зависит от

поставленной перед 3.3 цели - чем она конкретнее, тем конкретнее должно

быть описание M.

По сути дела, мы просто даем 3.3 картину распределения логических доменов

внешнего мира без их детального описания. Детализация происходит в процессе

работы 3.3 - построения пути к цели.

Отсюда следует что формирователи vM должны изменять только коэффициенты

объектов 2.2, но не могут влиять на их структуру. Формирование при этом

может осуществляться описанным ранее способом. Достигнуть этого можно

разными способами, суть которых состоит в том, чтобы структура объектов 2.2

имела более высокий порядок, чем коэффициенты. Причем порядок структуры

должен быть равен порядку формирователей. Тогда они не смогут на нее

повлиять. Очевидно, что единственно приемлемый вариант в нашем случае такой:

порядок структуры равен 2-м, а коэффициентов - 1. Однако с учетом

бесконечности M и vM это не так-то просто сделать. Применительно к нашему

миру выходом может послужить такая конструкция объектов 2.2, что изменение

структуры сопровождается гораздо большими затратами энергии, чем изменение

коэффициентов. Естественно энергетические возможности vE намеренно должны

быть занижены до уровня, меньшего энергетического уровня структуры.

Очень велика при формировании vM роль памяти объекта 3.2. Она служит

фильтром, защищающим формирователи от перегрузки. Изменение состояний

E и R напоминает беспорядочное тепловое движение атомов и молекул.

В основном эта информация повторяется и по большей своей части бесполезна.

Если бы не было памяти, то формирователи попросту были бы парализованы

огромным и быстро меняющимся объемом малоценной информации. И только наличие

памяти, хранящей значимые состояния E-R позволяет уменьшить нагрузку на

формирователи до разумных пределов. Естественно, для этого в памяти должны

храниться не только состояния, приблизившие когда-то к цели, но и состояния

отдалившие от нее. Это нужно для построения целостной, а не однобокой

картины мира. В этом в общем-то и заключено основное отличие памяти 3.2,

находящегося в составе 3.3 от автономно функционирующего 3.2. Алгоритмы

обработки остаются при этом неизменными. Формирование состояния эффекторной

матрицы со стороны 3.2 происходит как и раньше - в алгоритм формирования

нужно лишь внести небольшую поправку, чтобы он не "замечал" ячеек памяти с

состояниями, отдалившими от цели. Запись в память будет идти на основе

анализа абсолютных величин dUi, без учета их знака.

Рассмотрим теперь проблему поиска пути к цели. Путь к цели - это

ряд из последовательности команд на E, в результате выполнения которых

цель будет достигнута. Как нам уже известно, у нас остался единственный

способ получения знаний - путем логического вывода из имеющихся знаний.

Обычно этот путь прорисовывается в виде поиска нужной последовательности

комбинаций объектов из vM. Известным также как поиск в лабиринте решений.

В нем решаются 2 основные задачи: получение возможных путей и их

оптимизация - выбор лучшего из них. Как известно лабиринт решений -

камень преткновения создателей ИИ. В соответствии с законами комбинаторики

его рост нелинейно зависит от роста числа входных данных. В нашем случае

ситуация гораздо хуже - внешний мир бесконечен, внутренний мир так же.

Из этого следует что и сам лабиринт будет также бесконечным. И эта

бесконечность сводит к нулю эффективность всех 3-х методов прохождения

лабиринта: повышения скорости, параллелизма и улучшение алгоритмов поиска.

В таких условиях мы вообще не сможем найти ни одного решения, не говоря уже

об их оптимизации. Итак, в рамках классической теории пройти бесконечный

лабиринт за конечное время и при конечной скорости невозможно. Но только

при случае если в самих объектах, составляющих лабиринт не содержится

подсказка - указатели нужного и притом оптимального пути. Что ж, такое

вполне возможно, но только в частных случаях построения внешнего мира.

Нас же интересует решение задачи в общем виде.

Напрашивается такое решение: в изначальной неактивной модели внутреннего

мира в неактивных объектах 2.2 самим поставить такие указатели (если мы

знаем общую картину построения M, то почему бы нам не знать и оптимальный

путь в общем же виде). Но изначально мы имеет только общую модель внешнего

мира, не детализированную еще на отдельные объекты. И расставить указатели

мы сможем лишь в общем виде. Образно говоря мы сможем только сказать

"иди на север" или "иди на юг", не раскрывая при этом конкретной дороги.

Но в случае бесконечного числа вариантов таких дорог может оказаться и так,

что число возможных путей от одного указателя до другого также бесконечно.

Таким образом нам придется усеять указателями весь путь, вплоть до

мельчайших деталей. Такое конечно недопустимо, не говоря уже и том, что в

этом случае придется также и самим же проводить детализацию пути, чтобы

было куда ставить указатели.

Но решить задачу все же возможно. И поможет нам в этом то, против чего

мы безуспешно боролись - бесконечная структура мира. Враг превратится в

союзника.

Так как vM бесконечен, то разделив его на конечное количество примерно

равных частей мы увидим что эти части также бесконечны. Разделим таким

образом, что каждая часть станет представлять собой логический домен. Это

возможно, так как общая схема построения M нам известна изначально.

Каждый домен при этом будет состоять из бесконечного количества

элементарных объектов 1.1, уже неделимых далее. Либо его опять можно

представить как совокупность логических доменов - доменов 2-го уровня.

Как известно логический домен - это совокупность связей типа

"причина - следствие", которые можно рассматривать как объекта класса 2.2.

Допустим у нас имеется некий логический домен, глобальные характеристики

которого описываются множеством объектов 2.2, среди которых имеются

A->X->B и C->Y->D. Так вот, если домен бесконечен и указанные процессы не

являются непосредственными свойствами слагающих его элементарных объектов

а являются свойствами их коллектива, то можно утверждать что домен поддается

разделению на два других домена (также бесконечных). Причем один из них

содержит процесс A->X->B и не содержит процесса C->Y->D, а другой наоборот,

содержит C->Y->D и не содержит A->X->B. И это условие выполнимо с любой

заданной степенью точности.

Такое деление можно продолжать сколь угодно долго.

Справедливо и обратное: взяв два домена, содержащих различные процессы,

можно слить их в единый домен, обладающий процессами как первого, так и

второго домена. Причем гарантировать существование в новом домене процессов

A->X->B и C->Y->D как независимых объектов можно с вероятностью, сколь

угодно близкой к единице.

Это свойство и дает нам возможность эффективно двигаться к цели.

Очевидно что деление/слияние доменов возможно только в случае бесконечной

среды функционирования и только тогда, когда разговор идет о глобальных

характеристиках доменов. В конечных системах объекты 2-го порядка неотделимы

от объектов 1-го порядка и являются их неотъемлемыми свойствами, подобно

тому как масса в нашем мире однозначно связана с энергией, а волновые

свойства объектов неотделимы от корпускулярных.

Еще в самом начале нашего рассказа про объекты 3-го порядка мы говорили

о том, что объект 3.3 не может создавать объекты 1-го и 2-го порядка, а

может лишь менять свойства существующих. Не можем мы создать элементарные

объекты и в данной задаче. Но мы можем создавать логические домены.

Из ничего, из пустоты, создать логический домен конечно невозможно. Но

его можно получить путем деления произвольного логического домена на более

мелкие домены и объединяя их с другими доменами (уже существующими или

являющимися продуктами какого-либо деления).

Известно, что цель в 3.1 и 3.2, состоящая из конечного числа элементарных

элементов может быть преобразована конечным количеством способов и только

определенным кругом объектов, который также конечен.

Это вынуждает искать эти объекты и последовательность шагов преобразования.

В разделах, посвященных описанию 3.1 и 3.2 для простоты подразумевалось

что путь управления от эффекторов до цели (цепочка объектов 2.2) существует.

Но строго говоря это не всегда так. Вполне возможно что такого пути и нет.

Или же он есть, он не позволяет управлять объектом C->Y->D в полной мере.

Если же мир бесконечен, то можно утверждать что для получения бесконечного

логического домена, включающего в себя конечное подмножество требуемых

глобальных характеристик (не вступающих, конечно, в противоречие с

характеристиками элементарных объектов!) всегда имеются бесконечные

логические домены, на основе которых его можно создать.

Нужно лишь найти подходящие домены и преобразовать их. Как будет показано,

это преобразование принципиальным образом отличается от преобразования в

3.1 и 3.2. В 3.3 мы имеем уже процесс создания, а не поиска. Таким образом в

рамках бесконечного внешнего и внутреннего миров нам не нужно проходить

лабиринт решений - отпадает сама необходимость его прохождения. Вместо этого

строятся логические домены с заранее заданными свойствами, т.е. создаются

объекты 2-го порядка с условно-постоянными в рамках данной задачи свойствами.

А на основе уже их комбинаций - следующие объекты класса 2.2 и т.д..

С уходом лабиринта решений уходит и проблема потенциальных барьеров. Они

существуют лишь тогда, когда мы пользуемся готовыми путями и притом вслепую -

руководствуясь генератором случайности. Если же дорога к цели строится нами

самостоятельно, то на ней нет и барьеров, т.к. отсутствует понятие выбора

из множества путей: дорога-то одна!

Следует еще раз отметить что построение логического домена и изменение

свойств существующего - не одно и то же. При изменении свойств любого

объекта структура объекта остается неизменной. Поэтому изменяя состояние

домена мы не должны менять его структуру - распределение в нем объектов

1.1 и связей между ними, предполагая что требуемое состояние домена может

быть получено только путем изменения состояний (значений координат в

многомерных переменных объектов 1.1) слагающих его объектов 1.1. Для этого

приходится перебирать возможные состояния домена, ища требуемый (за счет

изменения состояния окружающих его доменов или иным способом). Возникает

лабиринт решений. В общем, изменение состояния домена можно сравнить с

поиском нужного решения в системе уравнений, без права изменения этих

уравнений. А создание домена - самим составлять систему уравнений, которая

будет иметь нужное решение, причем значения переменных, соответствующих

требуемому решению в общем-то уже известны.

Процесс построения логических доменов мы наблюдаем на примере нашей

цивилизации - оно не создает ничего нового на атомарном уровне (или если

угодно на кварковом - примеры ускорителей элементарных частиц и

искусственно осуществленных атомных превращений непринципиальны). Все

машины и механизмы были созданы путем преобразования из существующих

массивов вещества и энергии.

Рассмотрим процесс построения бесконечного логического домена на

качественном уровне.

Пусть в качестве цели мы имеем набор требуемых глобальных характеристик

A, B, C, являющихся объектами 2-го порядка, а точнее 2.2. Причем они не

противоречат свойствам элементарных объектов.

Во внешнем мире должны существовать логические домены X, Y, Z,

удовлетворяющие следующему условию: среди глобальных характеристик домена

X (x1, x2, ...., xn) есть некоторая характеристика xi, похожая на A.

Аналогично среди свойств домена Y (y1, y2, ...., yn) некоторая характеристика

yj похожа на B. Аналогично и с Z - характеристика zk.

Взяв домен X начнем делить его до тех пор, пока одно из слагаемых не станет

равным xi. Аналогично поступим с Y и Z.

В результате мы получим домены со свойствами xi, yj, zk, похожие на A, B и C

в "химически чистом" виде. Соединив домены xi, yj, zk мы и получим домен,

обладающий требуемыми характеристиками.

Хорошей аналогией построения требуемого домена на основе свойств

существующих служит аналогия с получением сплава металлов, обладающего

заданным свойством. Допустим мы хотим получить сплав, обладающей твердостью,

легкостью и хорошей электропроводностью. Очевидно что готового сплава,

обладающего такими свойствами в природе нет. Мы начинаем искать материалы,

в которых имеется хотя бы одно из указанных свойств. Из полученного списка

материалов мы начинаем выделять металлы, входящие в их состав и придающие

им эти свойства. Получив их, мы сплавляем металлы в единое целое, получая

требуемый сплав.

Из качественной схемы построения видно, что требуемый логический домен не

существует изначально. Следовательно, целью объекта 3.3 не может быть

требование переделывания уже существующего домена. Она задает конечный

его вид и не накладывает каких-либо дополнительных требований. Любые

попытки придания цели ориентира на преобразование заранее заданного домена

обречены на неудачу, так как любое преобразование автоматически означает

поиск возможных путей такого преобразования, а это влечет за собой

необходимость прохождения бесконечного лабиринта решений и борьбы с

потенциальными барьерами. Естественно что такая цель недостижима.

Такое принципиальное отличие цели 3.3 от целей 3.1 и 3.2 заставляет

смотреть на проблему прогнозирования поведения 3.3 совершенно с другой

точки зрения. Изначально любой искусственный объект, в т.ч. и объект

3-го порядка создается для того, чтобы изменить существующее положение

вещей в определенной области мира. Смысл цели 3.1 и 3.2 заключается в

придании объекту 2-го порядка C->Y->D определенных состояний. Придя,

по замыслу создателей, в эти состояния объект C->Y->D тем самым за счет

универсального интерфейса изменит и состояния окружающих его объектов.

Манипулируя, таким образом, состоянием одного-единственного объекта 2-го

порядка можно вызывать целые серии следующих за этим событий и управлять

ими. Таким образом, истинной целью создателей 3.1 и 3.2 служит, в общем

случае, не столько изменение состояния самого C->Y->D, сколько следующие

за этим изменения в мире.

В случае с 3.3 все по-другому. Где возникнет нужный домен заранее

неизвестно. Поэтому прогнозировать заранее изменения, которые он вызовет во

внешнем мире, нельзя. Отсюда вытекает, что ставить целью создание одного

домена можно только в случае, когда истинной целью создателей является

сам факт возникновения такого домена. Тоже самое получается и при 2-х и при

3-х и т.д. числе доменов. Если же они претендуют на то, чтобы при помощи 3.3

направленным образом влиять на внешний мир, то кроме этого домена им

придется описать в цели весь мир в том виде, в каком они хотят его видеть.

Очевидно что в этом случае в только что созданном объекте 3.3 по своей массе

цель становиться равной внутреннему миру. То есть как минимум потенциально

бесконечной.

Конечно в реальных системах бесконечность внутреннего мира и цели может

быть только потенциально бесконечной - создать их изначально бесконечно

большими вряд ли когда-либо удастся. Отсюда можно заключить что цель

описывает требуемый мир приближенно - на уровне глобальных характеристик

бесконечных логических доменов. Поэтому от 3.3 можно ждать только

прогнозируемые глобальные изменения в мире. Локальные его решения могут

быть какими угодно. Глобальностью цели 3.3 объясняется, в частности,

поведение человека - он никогда не стремится к достижению чего-либо

конкретного (в широком понимании). Он ищет "смысл жизни", "счастье" и т.п.,

маскируя под этими терминами свою деятельность по изменению окружающего его

мира. И находит душевный покой тогда, когда в окружающей его обстановке

"все на своих местах" (правда и в этом случае внутренне он неспокоен -

за счет наличия внутреннего мира он "видит" внешний мир не только через

рецепторную матрицу, и подозревает что там, "за горизонтом", не все

"хорошо"). Качественная схема построения также наглядно демонстрирует и

неспособность объекта 3.3 генерировать принципиально новых знаний - объектов

класса 2.2, аналоги которых отсутствуют во внешнем и внутреннем мирах.

В дополнению к качественной схеме построения пути к цели обрисуем в общих

чертах эту схему применительно к конструктивным особенностям объекта 3.3.

Пусть цель задается логическим доменом (объектом 2-го порядка) такого вида:

Или в виде свойств:

1) Первым нашим шагом должно стать нахождение в vM ЛД, содержащих хотя бы

одно похожее свойство из (1). Одним из вариантов решения этой проблемы

может быть следующий: от каждого объекта класса 2.2 каждого ЛД vM идет связь

к объектам 2.2 цели. Эта связь по принципу работы похожа на обратную связь

из 3.1 или 3.2. В ней также рассчитываются коэффициенты u, по которым и

определяется насколько тот или иной процесс похож на свойство из (1).

Если цель содержит один объект A->X->B, а в vM есть только 2 процесса

d11->D1->d12 и d21->D2->d22, то такую систему поиска можно изобразить так:

Коэффициенты u1 и u2 показывают степень схожести с процессом A->X->B

соответственно процессов d11->D1->d12 и d21->D2->d22. По такому принципу

можно найти из vM процесс, наиболее похожий на заданный. Важным преимуществом

такой схемы поиска является параллелизм - коэффициенты u рассчитываются

параллельно, что дает возможность очень быстро определить местонахождение

нужного процесса (а по ним и домена) независимо от их общего числа в vM.

2) Второй шаг - процедура деления или распада найденных доменов на отдельные

процессы. Допустим что нашли 3 домена:

Казалось бы можно просто соединить, синтезировать, такой домен:

минуя при этом фазу распада. Но при таком способе синтеза нужные процессы

попросту "растворятся" в огромном количестве посторонних процессов. В пределе

при таком подходе вообще ничего не надо делать - в "растворенном" виде

требуемые процессы уже существуют в M. Так что распад все же необходим.

Задача распада такая: создать цепочку доменов

vE->vDR1->vDR2->...->vA, vB, vC.

Где vDRi - домены распада, vA, vB, vC - аналоги A, B, C в vM.

Плюс к этому требуется запомнить последовательности создания vDRi и команд

на vE, чтобы потом можно было повторить тоже в M.

После прохождения фазы расщепления должны появиться 1->A->2, 3->B->4,

5->C->6, 7->C->8 в чистом виде.

Определим сперва что вообще может вызвать распад, например, домена A.

Для этого находим (аналогично п. 1) ) в vM процессы, которые вызывают

расщепление доменов, содержащих процессы похожие на a1->A->a2, a3->A->A4

и т.д.. Очевидно что применив похожие процессы к домену A мы вызовем его

деление на a1->A->a2, a3->A->a4, .... . При этом, освободившись от

остальных процессов, 1->A->2 также появится в чистом виде. Точно так же

идет расщепление B и C.

Что значит "применить похожий процесс" - значит построить около A, B, C

домен распада, примерно такой же как и у доменов, похожих на A, B, C, но

отличающийся одним свойством - близостью к A, B и C. Построение такого

домена происходит аналогично всему этому алгоритму.

Теперь домен распада нужно запустить - построить цепочку доменов-посредников

от vE к vDR. Это делается так: ищутся домены, влияющие на состояние

доменов-аналогов vDR и строятся похожие вблизи vDR - домены vDR1. Параллельно

ищутся домены, похожие на vDR1 и к которым есть доступ от vE непосредственно

или уже через готовые домены-посредники vDRi. Они также строятся, но уже со

стороны vE: vE->vER1, vER2, ..... . Когда vERi совпадет с vDRj цепочка

управления готова. Команды, которые подаются на E для управления DR

записываются походу построения, они аналогичны командам для управления

доменами, которые мы брали за шаблон при построении новых.

3) Синтез. На этом этапе требуется синтезировать из находящихся в чистом

виде процессов 1->A->2, 3->B->4, 5->C->6, 7->C->8 домен X. Кажется,

можно поступить так же, как и при распаде - искать и строить по аналогии.

Но где найти аналогию синтеза? Ведь для этого нужно искать в vM отдельные

1->A->2, 3->B->4, 5->C->6, 7->C->8 или на них похожие. Причем это

должен быть практически аналог - синтез без посторонних примесей. Но если он

действительно существует, то это говорит о и существовании аналога X, что

делает вообще бесполезным существование объекта 3.3 - какой смысл строить

уже то что есть. Так что воспользоваться аналогиями синтеза возможно лишь

на стадиях постройки доменов-посредников между vE, vR и X с vM.

Воспользуемся таким способом: разобьем фазу распада домена A на несколько

равных последовательных стадий. То же самое сделаем и для синтеза (пока

предполагаемого) того же домена A, причем число стадий синтеза то же что и

распада. Чем отличаются при этом условия, при которых происходит расщепление

на 1-й стадии от синтеза на последней, расщепления на 2-й и синтеза на

предпоследней и т.д.? Очень немногим. Чем больше стадий - тем меньше

разницы. Это дает основания полагать, что создав на начальной стадии синтеза

1-A->2, 3->B->4, 5->C->6, 7->C->8 совокупность условий присутствующих на

последней стадии их высвобождения в чистом виде и незначительно поварьировав

некоторыми параметрами окружающих их доменов, придем ко 2-й стадии синтеза и

т.д.. Т.е. в данном случае работает принцип "клин клином вышибают".

Поиск и постройка доменов, обеспечивающих появление необходимых внешних

условий синтеза на каждой его стадии, происходит аналогично всему этому

алгоритму.

4) После того как все готово, делается пробный запуск X и его тестирование.

Если выяснится что он не в полной мере обладает нужными свойствами, то

пройденная последовательность шагов запоминается как неудачная, происходит

откат на первоначальное состояние "состояние 1" (или на состояние, после

которого и начались "неудачи", определить которое кстати весьма непросто) и

далее весь этот алгоритм начинается с начала (но уже, конечно, по другому

пути).

5) Итак, все шаги в vM пройдены. Осталось самое главное - проделать тоже

самое, но уже в реальном мире - M. Что и делается. После чего формирователи

vM изменяют его в соответствии с изменениями в M - возникновения X. Далее

объект 3.3 будет играть роль системы слежения - удерживать X в нужном

состоянии.

Вот таков процесс достижения цели в рамках 3.3. Добавим к этому еще

несколько соображений.

1) Если в результате многократного возврата с шага 4 выяснится что на шагах

1, 2, 3 не хватает информации (слишком большие коэффициенты U при поиске

похожих вариантов), то необходимо провести детализацию vM.

Ищется область наибольшей вероятности появления домена с нужными свойствами.

Как правило это область с наибольшей концентрацией доменов по свойствам,

приближающимся к заданному. После этого строятся домены доступа в данную

область, идущие от vE и vR. Происходит постройка того же самого в M.

Затем при помощи случайных изменений со стороны 3.1 или 3.2 на E, состояния

доменов в этой области будет меняться. Это отразится на R и в конечном

итоге на формирователях vM. Произойдет более детальная прорисовка vM в

этой области. Вполне возможно что после операции детализации область

наибольшей вероятности сместится в другую часть vM.

2) Домены-посредники между E, R и M мы будем называть внешними плагинами.

Плагины, эти направленно созданные домены, остаются во внешнем мире и после

достижения цели, имеют аналоги в vM и могут быть использованы в дальнейшей

работе. Кроме того, на основе плагинов полученных на одном шаге, можно

строить плагины для другого шага и т.д.. Все машины человечества - его

плагины. Обозначим плагины эффекторы и рецепторы внешнего мира соответственно

как PE и PR, а внутреннего - как vPE и vPR.

3) Схематичный рисунок структуры 3.3:

Как видно из рисунка, область внутреннего мира делится на 2 части: собственно

внутренний мир, формируемый объектами-формирователями, и так называемый

полигон - устройство позволяющее экспериментировать с внутренним миром

посредством внутренней рецепторно-эффекторной матрицы и обеспечивающее

возможность отката (на схеме это последовательные состояния внутреннего

мира: "состояние 1", "состояние 2" и т.д). "M3" - "модуль 3" - ядро объекта

3.3, связывающее все его части в единое целое. В данной схеме построение

пути к цели идет последовательно: сначала формирователи подготавливают vM

до требуемой степени погрешности. Затем состояние внутреннего мира копируется

в "состояние 1" полигона. После чего в полигоне идет постройка. Естественно

что построить и выполнить то же во внешнем мире нужно успеть до той поры,

пока неизменное "состояние 1" не успело заметно отдалиться от непрерывно

меняющегося формирователями vM, а иначе все придется делать заново.

Поэтому желательно проводить построения как можно быстрее, хотя вполне

возможно что в дальнейшем будут предложены и другие структурные схемы 3.3,

не имеющие указанного недостатка. Большой простор для фантазии открывается

и при улучшении полигона - к примеру при переходе от "состояние 1" к

"состояние 2" можно запоминать не все состояние vM, а лишь изменения в

объектах. Сделать полигон на основе многоблочных объектов - каждый блок

объекта содержит информацию о его состоянии в "состоянии i" причем состояние

одного блока не влияет на другой, что дает возможность параллельно дав

команду на все объекты управлять переходом от "состояние i" к "состояние j".

Можно даже как-то попытаться объединить внутренний мир и полигон в единое

целое, создать несколько параллельно работающих внутренних миров и повысить

тем самым скорость работы за счет параллелизма, ну и т.п.. Так что

конструкция объекта 3.3 содержит большой потенциал для своего развития.

Интересна также организация защиты объекта 3.3 от негативного влияния

внешнего мира. Как уже упоминалось, внутренний мир представляет собой

совокупность объектов класса 2.2, интерпретаторы которых функционируют

независимо друг от друга. Поэтому внесенные нами изменения в состояния одних

объектов автоматически вызывают изменения состояния других, как и во внешнем

мире. Даже если мы вообще ничего не изменяем во внутреннем мире, все равно

идет постоянное движение объектов внутреннего мира. Искусственно повысив

скорость процессов внутреннего мира относительно скорости тех же процессов

во внешнем мире мы сможем предвидеть развитие событий. Совместно с механизмом

отката это делает реальным построение активной защиты. "Проиграв" развитие

событий, объект 3.3 строит во внутреннем мире домены позволяющие изменить их

ход в лучшую для него сторону. Используя же механизм отката можно провести

оптимизацию этих мер - выбрать из нескольких возможных путей наиболее

перспективный. Так что активная защита строиться на тех же самых принципах,

что и общее движение 3.3 в сторону достижения цели.

Проводя общее сравнение 3.3 с 3.1 и 3.2 выясниться что применение 3.3 далеко

не всегда выгоднее 3.2. 3.3 подобен тяжелой артиллерии бьющей далеко и

обладающей большой мощностью, но почти беспомощной перед близкими небольшими

целями. Механизм внутреннего мира позволяет "проигрывать в голове"

общую стратегию достижения цели, когда в запасе имеется много времени и когда

мелкие конкретные детали пути к цели не так важны как его общая картина.

В "ближнем бою", где нужно быстрое и конкретное решение он малопригоден.

В этой ситуации спасти положение может только применение 3.2. Тоже самое

можно сказать и в адрес сравнения 3.2 с 3.1. Отсюда следует что при

постройке 3.3 не следует недооценивать роли 3.2 и 3.1 и тоже создавать их

достаточно развитыми, а не просто как формальное звено пирамиды 3.1->3.2->3.3.

Еще один момент - цели 3.1, 3.2 и 3.3. Естественно что если они не совпадают,

то не должны противоречить друг другу.

Итак, общий принцип работы 3.3 ясен. В таком виде 3.3 уже можно сравнивать

с человеком. Тут выясняется что они имеют много общего:

1) И 3.3 и человек не имеют конкретной цели. Как и 3.3 человек производит

направленный распад и синтез доменов внешнего мира.

Оба они имеют плагины.

2) Так же как и 3.3, являющийся вершиной пирамиды 3.1->3.2->3.3, человек

строится подобным образом. Клетки тела - объекты 3.1, спинной

мозг и частично головной - объект 3.2, управляющий повторяющимися

операциями: дыханием, движением, условными и безусловными рефлексами.

И наконец головной мозг - объект 3.3.

3) Человек манипулирует в своей голове образами внешнего мира, ассоциациями

построенными на их основе. А также видит сны в то время как его внешние

рецепторы и эффекторы в основном неактивны, что говорит о существовании

у него внутреннего мира. Так как усваивание новых знаний идет медленно,

а затем человеку становиться "все понятно", то можно сделать вывод о

том, что во время усвоения идет постройка объекта 2.2 во внутреннем мире.

Затем, когда объект 2.2 уже создан, наступает "понимание" сути предмета.

4) За счет изначального существования во внутреннем мире общей схемы

построения внешнего мира человек "видит" то, что невозможно получить со

стороны эффекторов. В частности это касается развития детей - в первые

годы жизни они используют уже более 80% информации (имеется в виду вся

информация о мире хранящаяся в мозге а не ее мизерная часть касающаяся

умения считать, писать и т.п.), получаемой ими за всю жизнь. Именно по

этой притчине так стремителен прогресс ребенка - его обучение это не

обучение, а запуск "спящих" объектов 2.2 его мозга. Настоящее обучение

идет сравнительно долго, что и проявляется в полной мере у людей более

старшего возраста. Тот же механизм работает и при обучении людей,

рожденных слепоглухонемыми. Если бы не предварительное знание основ мира,

то их бы вообще невозможно было бы ничему научить (строго говоря,

абстрактные знания (математика к примеру) расположены в области т.н.

альтернативного мира о котором мы расскажем позже, но суть общей идеи о

заранее записанной информации это не меняет).

5) В человеке, как и в 3.3, присутствуют все 3 вида защиты:

пассивная - механическая и химическая прочность клеток его тела;

полуактивная - иммунная система;

активная - прогнозирование развития ситуаций во внешнем мире и генерация

соответствующих действий со своей стороны.

Можно приводить еще множество подобных примеров. Как видите модель человека

как объекта 3.3 весьма правдоподобна и описывает многое из его поведения.

Многое, но не все. Его тело действительно полностью описывается как 3.2 и

частично 3.3, тут вопросов нет. Но существует в мозге человека нечто

выходящее за рамки 3.3. Как мы видели, внутренний мир 3.3 отражает внешний

мир. Нет во внутреннем мире ничего такого, что не существует во внешнем.

Это и понятно - нет смысла экспериментировать с заранее несуществующими

вещами. В мозге ребенка также нет ничего такого - он мыслит образами

реального мира. Совсем другое дело - взрослый человек. Буквы, цифры,

абстрактные науки математического типа - все это отсутствует во внешнем

мире. Откуда же они взялись в мозге? Прежде чем ответить на этот вопрос

подведем некоторые итоги.

У объекта 1-го порядка один тип - 1.1. У 2-го порядка - два типа: 2.1 и 2.2.

Причем 2.1 имеет одну разновидность, а 2.2 - две: неопределенную и

определенную (объект класса 2.1 всегда можно считать неопределенным, т.к.

для внешнего наблюдателя он почти равносилен объекту 1-го порядка).

У 3-го порядка - три типа: 3.1, 3.2 и 3.3. 3.1 при этом имеет одну

разновидность а 3.2 - две: с простой 3.2.1 и со стековой памятью 3.2.2.

По аналогии у 3.3 должно быть три разновидности. Одну из них мы уже описали.

Осталось еще две. Так оно и есть на самом деле.

Описанная нами разновидность 3.3.1 работает с реальными образами внешнего

мира. По теории этого достаточно для решения открытых задач, и даже более

того - уже эта часть полностью использует все три потенциальных пути

получения знаний, так что внедрение чего-то нового уже не сможет дать

никакого положительно эффекта. Зачем же тогда "потребовались" еще две

модификации и что они дают? Поиск ответа на этот вопрос выводит нас за рамки

мира объектов 3-го порядка и заставляет пойти дальше. Что мы и попытаемся

сделать, но уже в следующей главе.

В конце же этой остановимся на одном любопытном факте. Как известно, все

люди понимают мир совершенно одинаково - они делят окружающий их мир на

одни и те же составные части-домены. Каждый человек видит лес как

совокупность деревьев а не отдельный объект. А вот животных - как единое

целое, хотя прекрасно знает что каждое из них состоит из отдельных частей

тела. Скажете что части тела не могут существовать отдельно? Но ведь и

многие лесные растения и животные существуют только в лесном биогеоценозе.

На открытой местности они погибают.

Это говорит о том, что человек был создан искусственно, по проекту. Если бы

люди возникли сами собой в результате эволюции, то и модель мира в их

голове хотя и была бы похожа в общем, но сильно различалась бы деталями.

Так что все люди - братья. Не только по виду, но и по разуму.

3.5. Резюме

В этом пункте в качестве резюме мы поместим краткое изложение вышеописанных

идей построения ИИ.

1. Идея управления программой при помощи другой программы.

Используем два момента. Первый: любая программа базируется на каком-то

материальном носителе и все ее управляющие сигналы в конечном итоге

преобразуются в физическое воздействие на окружающую среду. Второй: состояния

всех атомов и молекул нашего мира связаны друг с другом - изменение состояния

любого атома или молекулы через электромагнитное и гравитационное поле

приводит к изменению состояния всех остальных атомов и молекул Вселенной.

Таким образом, воздействие на окружающую среду программы Q можно использовать

для изменения материального носителя программы P. Но меняя материальный

носитель программы P мы изменяем и саму программу P. Точно так же как убирая,

добавляя и меняя характеристики резисторов, конденсаторов, диодов и других

компонентов электрической схемы мы тем самым меняем и логику ее работы.

В этом состоит смысл работы объекта класса 3.1: материальный носитель

программы Q - объект 2-го порядка A->X->B, материальный носитель программмы P

- объект 2-го порядка C->Y->D, электромагнитное и гравитационное поле -

универсальный интерфейс. Объект класса 3.1 реализует простейший способ

изменения одной программы другой в общем виде (т.е. в постановке задачи для

ИИ - когда про устройство программы P изначально нам мало что известно).

На примере работы 3.1 ярко иллюстрируется важный момент принципиального

характера - невозможность изменения программы P, если нет программы Q, или

если Q - объект 1-го порядка. Это принцип можно назвать законом сохранения

информации, гласящий что невозможно получить знания (т.е. изменение логики

работы P) из ниоткуда или из объекта 1-го порядка (поскольку покоящиеся атомы

и молекулы - физические неоднородности - не могут произвольным образом

повлиять на другие атомы и молекулы).

2. Идея запоминания предыдущих состояний.

Идея заключена в том, что запоминать предыдущие состояния имеет смысл только

тогда, когда есть гарантия что что-то похожее будет повторяться и в будущем.

Свойство внешней среды, гарантирующее такие похожие повторения, дают ей

логические домены - существующие в ней устойчивые зависимости типа "причина -

следствие". Объект класса 3.2 представляет собой объект класса 3.1,

использующий это свойство среды и тем самым резко повышающий свою

эффективность.

3. И, наконец, идея построения искусственного интеллекта.

Чтобы избавиться от процедуры поиска пути к цели - прохождения бесконечного

лабиринта решений - нужно не искать способ преобразования уже существующей

программы P, а создать ее заново. Для этого используем то, что некоторые из

глобальных характеристик бесконечных логических доменов являются свойствами

только коллектива слагающих их объектов. Подобно тому, как любое твердое

тело имеет форму, а слагающие его атомы и молекулы формы не имеют. Поэтому

мы и можем заново создавать бесконечный логический домен с заранее заданными

свойствами, не изменяя при этом свойств элементарных объектов из которых он

состоит. Программа P при этом будет построена на основе глобальных

характеристик бесконечного логического домена.

Для того чтобы сделать путь к цели быстрее и безопаснее, сначала все шаги к

ней делаются в модели окружающего ИИ мира (внешний мир) - т.н. внутреннем

мире. Но встает вопрос: как создать эту модель так, чтобы она как можно

точнее описывала внешний мир. Если ее будет строить сам ИИ, то может

получиться что модель будет точно описывать реальный мир только в

определенных точках, так же как интерполяция или экстраполяция сложной

математической функции. Поэтому мы сами изначально строим обобщенную модель

внутреннего мира, а ИИ просто конкретизирует ее (как бы ищет конкретные

значения коэффициэнтов при неизвестных в функции заданного вида).

На этих основных принципах и плюс использование возможностей объектов класса

3.1 и 3.2 и построен объект класса 3.3 - ИИ.


Site of Information Technologies
Designed by  inftech@webservis.ru.