|
|
Подходы к построению рефлексивных сетей
Власов Д.Ю. , 13.08.2008
Содержание Постановка задач Метод разработки Концептуальные основы формализма Е3 Семантика рефлексивных структур Е3 Бинарный оператор взаимодействия - модель рефлексии в Е3 Место Е3 среди основных парадигм программирования Предполагаемое использование Е3 при решении прикладных задач Литература Постановка задачИсследование и моделирование мышления является одной из важнейших культурно-исторических проблем. Несмотря на свою многотысячелетнюю историю, эта проблема каждый раз встает в новой постановке и требует новых подходов к решению, синтеза знаний из различных областей, таких как философия, логика, нейрофизиология, психология, методология, педагогика и др.
"Требуется построить новое математическое и логическое описание сущности мышления. Описание сущности мышления должно служить логико-математической моделью механизма формирования идеальных сущностей, включая названную модель в специфически организованной материальной среде" - так ставил проблему В.Н.Елашкин (1938-1998 гг.), на теоретические разработки которого опираются авторы статьи.
Своей целью В.Н.Елашкин ставил разработку модели мышления, адекватной для реализации в (редуцированном виде) на существующих компьютерах, а также адекватной искусственной среды, в которой возможно эффективное моделирование процессов мышления. В своих многолетних теоретических исследованиях В.Н. Елашкин убедился в необходимости комплексного междисциплинарного подхода к проблеме построения модели мышления. Он использовал различные математические аппараты, в том числе тензорный аппарат; многочисленные обсуждения с профессиональными нейрофизиологами об особенностях функций и структуры живых нейронных сетей. Сделанные при этом теоретически проходы сейчас находятся в расшифровке.
Также в своих исследованиях и разработках мы опираемся на теоретические подходы и модели мышления, выработанные в отечественной методологии, философии и инженерии трудами, Г.П.Щедровицкого, П.Г.Кузнецова, Н.Г.Алексеева, Ю.В.Громыко, В.А.Жегалина, В.А.Лефевра.
Считается, что описание общих законов мышления осуществляет логика, но в классической немецкой философии и в методологических исследованиях двадцатого века это мнение было подвергнуто существенной и конструктивной критике. Формальная логика занимается анализом суждений и доказательств, обнаруживая закономерности (правила) переходов от одних положений, выраженных в материальной знаковой форме, к другим. Выявляемые таким образом процедуры перехода от одних внешних знаков к другим отнюдь не совпадают с внутренними операциями мышления. Это обстоятельство проявляется в том, что вне границ предмета логики оказываются правила мыслительной работы с идеальными объектами науки, механизмы порождения новых знаний и идеализаций, законы генезиса знаний и исторического развития мышления. Логика оказывается не наукой о мышлении, а синтаксисом языка [2]. Ограничения существующих логико-математических формализмов отчетливо проявляется в том, что они не удовлетворяют требованию рефлексивности, сформулированному В.Н.Елашкиным и приведенному выше.
Вместе с тем современные разработки информационных технологий, в частности таких, как системы семантического поиска и добычи данных, управления знаниями, поддержки принятия решений, выдвигают новые требования к логическому и математическому аппарату. Моделирование интеллектуальных процессов стало актуальной практической и инженерной задачей.
Второй важнейшей задачей, которая стоит перед разработчиками новых логико-математических формализмов, является преодоление барьера сложности информационных систем. Общеизвестно, что в настоящее время информационные системы, использующиеся и разрабатывающиеся на компьютерах, обладают колоссальной структурной сложностью, что создаёт проблемы при их разработке и эксплуатации. Вместе с тем отказаться от сложных информационных систем невозможно, и поэтому большое внимание в исследованиях по математическому программированию уделяется вопросам преодоления барьера сложности и повышения надёжности систем.
Концепция объектно - ориентированного программирования нацелена на решение в том числе и этой проблемы, но возможны и другие подходы к этой задаче. В частности можно пытаться преодолеть барьер сложности систем путём создания самообучающихся, а в дальнешем и самоорганизующихся программ. Но при движении по этому пути в рамках существующих парадигм возникают очень большие сложности принципиального характера.
В данной работе предлагается посмотреть на очерченные задачи с позиции новой парадигмы Е3. Вычислительный формализм Е3 является попыткой математически сформулировать некоторый вариант семантики рефлексивной сети, как логической, алгоритмизуемой системы, моделирующей акты мышления и, в более общей постановке, динамические мыследеятельностные структуры рефлексии, коммуникации, понимания, действия. Особенность такого описания заключается в том, что оно должно моделировать самое себя, то есть модель Наблюдателя, которую предстоит конструировать, включается в эту конструкцию в качестве основы." [1]
Подводя итог вышесказаному, в качестве основных программных целей для разработки Е3 можно поставить следующие (по мере возрастания сложности): - адекватные модели рефлексивных систем
- самообучающиеся/самоорганизующиеся программируемые системы
- дедуктивно/индуктивные аналитические системы основанные на знаниях
- системы искуственного интеллекта в самом общем понимании
Сейчас исследования по семантике Е3 находятся в самом начале, и положительных примеров решения поставленных задач ещё нет, но уже ясно, что по существу Е3 можно интерпретировать в том числе и как универсальный язык программирования. В ближайшем будущем планируется проинтерпретировать в Е3 структуры нейронных сетей, что приблизит возможность решения 2-ой проблемы, а также планируется промоделировать простейшие рефлексивные системы на низком уровне Метод разработкиУровень поставленных задач перед Е3 требует соответствующих организации предмета и метода разработки. Организация предмета разработки изображена на схеме: Рис 1. Схема предметной организации разработки
На схеме показано, что абстрактный уровень логики и математического формализма рефлексивных сетей связывается с конкретным уровнем информационных технологий и прикладных задач через ряд опосредующих этажей.
Имитационные семинары, в которых специалисты из различных областей знания и деятельности решают типовые задачи коммуникации, понимания текста, принятия управленческого решения и т.д., выполняют роль "экспериментальной установки", в которой существует и актуализируется моделируемый объект - "живые" мышление и рефлексия.
Спуск по линии технологической реализации идет от логики рефлексивных сетей к выработке подходов в технологических разработках, затем к макетам решения модельных задач, и, наконец, к реализации технологии рефлексивных сетей в прикладных программных продуктах. Перспективным представляется аппаратная реализации новых логико-математических принципов в нефоннеймовских машинах. Методом является программно-проектное движение: итерационные переходы по блокам изображенного на схеме предмета. Каждый переход сопровождается рефлексией, переформулированием задач и конкретизацией технических требований
Ниже, излагая результаты определенного шага итерации, мы приводим: - конструктивные идеи и формализм, в некотором приближении задающие объект разработки;
- соотнесение разрабатываемой системы с машиной Тьюринга;
- соотнесение с моделями содержательно-генетической логики;
- соотнесение с философско-методологическими рамками разработки;
- указание видов прикладных задач, на которые ориентирована разработка.
Концептуальные основы формализма Е3Как уже было отмечено выше, проблема моделирования форм мышления и деятельности включает в себя задачи разработки логико-математического аппарата и программных средств моделирования таких важнейших системных свойств, как процессуальность, акторность, самоорганизумость, самообучаемость. Все эти свойства, так или иначе, опираются на рефлексивность системы.
Понимание того, то рефлексия является необходимым элементом мышления и деятельности, выделения ее в особый предмет мысли и разработка категориального аппарата, применимого к подобному предмету, было проделано в работах классиков немецкой философии - И.Канта, И..Фихте, Г.Гегеля. Так, И.Фихте в своем "Наукоучении", исследовал процессы развития знания и показал, что в основании традиционной логики лежат операции рефлексии, и, одновременно с этим, что сам эпистемологический метод вскрытия оснований логики является регулярной рефлексивной процедурой. Исторический обзор подходов к исследованию и описанию рефлексии дан в работе [14].
Разработка современных основ теории рефлексии была осуществлена в работах Московского Методологического Кружка - Г.П.Щедровицкого, В.А.Лефевра и др. Представления В.А.Лефевра, эмигрировавшего в США и продолжающего свои работы при содействии НАСА и Пентагона становятся все более известными, если не сказать, популярными сегодня. В.Лефевр рассматривает рефлексию как оператор отображения сознанием других сознаний и себя самого [9, 10].
Г.П.Щедровицкий разрабатывал модели рефлексии в рамках онтологии деятельности и, в более поздних работах - мыследеятельности. В его работах было показано, что онто- и филогенетически рефлексия имеет природу особого типа деятельностной кооперации [12]. Являясь одним из базовых механизмов мыследеятельности, рефлексия обеспечивает взаимосвязи и взаимоотображения между процессами мыследействия, мыслекоммуникации и мышления [13]. Можно выделить типовые формы организации мыследеятельности, в которых функции рефлексии являются культурно определенными (нормируемыми) и воспроизводимыми. В задачной форме организации мыследеятельности рефлексия обеспечивает осознание ситуации и постановку (переформулирование) задачи, переход от стереотипного способа действия, неадекватного ситуации, к выработке и нахождению нового способа. В коммуникативных процессах работы со знаками рефлексия обеспечивает понимание, актуализируется в формах рефлексивного понимания и понимающей рефлексии. В проблемно-организованном мышлении рефлексия обеспечивает процесс объективации проблемной ситуации и постановки проблемы, а также построение идеализации, разрешающей проблему. В эпистемологической работе рефлексия обеспечивает выделение объекта из структуры предметного знания, входит в состав операций моделирования идеальных объектов [5].
В.Н.Елашкин сделал существенный шаг к формализации описания рефлексивных структур и процессов. Исходной предпосылкой, лежащей в основе всей разработки Е3, было представление о том, что человек мыслит идеальными сущностями, которые являются следами отражённых объектов. Основным квантом своей модели В.Н. Елашкин полагал акт отражения. Он следующим образом формулировал закон отражения: "отражаемый объект на отражающем объекте оставляет след", полагая это одним из наиболее общих знаний, среди накопленного человечеством. В конкретных проявлениях закона отражения из взаимодействия объекта и субъекта появляется акт отражения. Соответственно вычислительный формализм Е3 конструирется таким образом, чтобы позволить моделировать процесс создания актов отражения и взаимдействия полученых при этом знаний, с учётом рефлексивной природы актов отражения
Приведем несколько цитат В.Н.Елашкина - тезисных утверждений о Е3 [1,2.3.4]: - Единицей рефлексивной сети Е3 является акт отражения.
- Конкретное и общее в мире можно рассматривать как следы каких-либо актов отражения.
- "Акт отражения" в его абстрактной форме может интерпретироваться и как взаимодействие физических объектов, и как восприятие и как структура знания. Нас интересует именно последняя интерпретация.
- Человек мыслит идеальными сущностями, которые являются следами отраженных объектов, то есть суммой знаний человека об этих объектах. Объекты обнаруживаются только в результате акта отражения, то есть как следы. Следы это абстракция
- Все три компоненты акта отражения могут выступать в других ролях в других актах отражения.
- Можно считать акт отражения операндом и операцией одновременно
- Основное правило для конструктивной работы актами отражения - возможность развертки, то есть любую компоненту либо все компоненты можно рассматривать как некоторый акта
- Акт отражения, как абстракцию формирует Наблюдатель (мыслящий Субъект) так, как необходимо для описания конкретной наблюдаемой Наблюдателем ситуации.
Описанные выше представления о структуре мыслительного акта и знания напрямую соотносятся с моделями знания в содержательно-генетической логике (Г.П.Щедровицкий, (11)): Рис 2.
На этой схеме показано, что знаковая форма (А) замещает объективное содержание - действия D с объектом Х, при этом результатом являются свойства, относимые непосредственно к объекту. Схема подчеркивает, что объект никогда не дан сам по себе, а только внутри предметной структуры знания.
Соответствие между упорядоченными тройками Е3 и элементами схемы знания таково:
Первой развертке акта отражения (а именно акту познания) можно поставить в соответствие структуру знаниевого предмета из двух уровней, в которой знаковые форма исходного знания является объектом оперирования знания более высокого этажа (см.(6)): Рис 3.
Структуры знаниевого предмета в виде упорядоченной пятерок (Y1Y2Y3)X2X3 характерны тем, что представляют знание как свертку предшествующих актов познания или отражения. Знаковая форма знания оказывается следом, замещающим собой и объекты и операции различных актов отражения. Это свойство является существенным для возможности моделировать генезис знаний и процессуальность мышления.
Важно подчеркнуть, что в указанных структурах уже заложена возможность рефлексивности. Именно, отражение самого акта отражения. Это свойство во многом опирается на такую особенность структур, как на чисто функциональную определенность их элементов.
Указанное выше соотнесение формализма, разрабатывавшегося В.Н.Елашкиным, с моделями содержательно-генетической логики позволяет привлекать к созданию Е3 весь корпус современных гуманитарных, философских и методологических знаний, накопленных в отечественной системно - мыследеятельностной методологии.
Несмотря на то, что акт отражения принимается как "квант мышления", то есть элементарная единица, сам по себе акт обладает определённой структурой. В изложенной далее формальной модели рефлексивной сети Е3, акт отражения представлен следующим образом:
- во-первых, он однозначно связан с тремя другими актами, интерпретирующимися как объект/субъект/след, и эта связь явно задана.
Эту связь назовём внешней структурой акта. Многочисленные акты отражения вместе со своими связями и образуют рефлексивную сеть. - во-вторых, он имеет в себе операнд и операцию (которые могут быть разными, а могут быть и нет), и операция одного акта может быть применена к операнду другого акта.
- в-третьих, он имеет в себе конструктор, который способен образовать новый акт отражения, используя как аргументы другие акты.
Операнд, операция и конструктор составляют внутреннюю структуру акта.
Далее для обозначения внешней структуры акта отражения просто будем записывать упорядоченную тройку, первый член которой интерпретируется как объект, второй как субъект, а третий как след акта. Кроме того, сразу отметим существование выделенных (особых) актов отражения, например акта nil, который можно интерпретировать как "ничто".
Некоторые варианты актов отражения и их тривиальная интерпретация: - Акт (х1, х2, nil). Акт невозможен, либо акт, который ещё не состоялся, либо акт состоялся, но был не замечен, например, из-за неподходящего порога чувствительности у отражающего объекта относительно отражаемого объекта и др.
- Акт (nil, х2, х3). Отражающий объект исчез в результате акта, либо не интересен Наблюдателю, либо незаметен и др.
- Акт (х1, nil, х3). Что-то было до акта, и что-то появилось после акта. Отражаемый объект либо не интересен Наблюдателю, либо исчез в результате акта, либо незаметен. В общем случае компоненты х1 и х3 не совпадают, но совпадение не исключено.
Одно из основных структурных свойств, позволяющих конструктивно работать с актами отражения - возможность развёртки, что означает, что любую компоненту либо все компоненты внешней структуры акта отражения можно рассматривать как другие (хотя в принципе они могут и совпадать с исходным актом) акты, а можно и не рассматривать, в зависимости от того, какая глубина проникновения в структуру требуется. В результате нескольких развёрток на месте любой компоненты либо всех компонент могут оказаться сложные ориентированные графы с помеченными дугами, и актами отражения в вершинах (дуги связывают акт с его объектом, субъектом и следом, причём эти дуги по-разному отмечены). Следует отметить, что в силу свойств актов отражения, развёртка всегда может быть произведена до любой глубины, как у любого акта всегда есть полноценная внешняя структура. С другой стороны, развёртка акта nil до любой глубины не даст ничего нового по сравнению с самим nil (cм. формальное определение nil).
Простейшей развёрткой является подстановка, когда, например, вместо объекта Х1 подставляется результат У3 взаимодействия У1 и У2. Тогда исходный акт (X1, X2, X3) можно записать в виде ((У1, У2, У3), Х2, Х3). В результате подобной простейшей развертки произвольных актов отражения (а её всегда можно проводить, что было отмечено ранее) из любого акта как тройки всегда можно получить слегка развёрнутый тот же акт, но интерпретируемый как пятёрка, который является основой для более удобной знаковой системы формализации любых знаний.
Компоненты такого развёрнутого акта отражения наделены определённой семантикой, связанной с базовой семантикой компонент акта отражения, но и отличающейся от неё: <х1 - объект> <х2 - относительно субъекта> <х3 - в некотором аспекте> <х4 - в базисе или в определенной системе знаний> <х5 - имеет значение с именем х5>, а сама развёртка называется уже не актом отражения, а актом познания. Путём актуализации аспекта и базиса в акте познания более полно учитывается существование мыслящего Наблюдателя - что улучшает свойство рефлективности системы. Очевидно, что от актов отражения наследуются многие свойства, в частности то, что каждый из компонентов акта познания должен представлять собой другой акт познания.
Семантика рефлексивных структур Е3Как уже замечалось, для решения поставленных задач предлагается использовать особый вычислительный формализм, в котором акты отражения, как элементарные единицы рефлексивных структур, будут также интерпретированы элементарными объектами, на которых определены базовые операции с помощью которых можно создавать сложные рефлексивные структуры. Этот формализм будем называть формализмом рефлексивных сетей Е3.
I) Структурная схема универсального элемента (акта отражения):
A - символьный атом (строка), отражающая пассивный (объектный) аспект элемента. O - операция, отражающая активный аспект элемента (субъективный), тоже символьный атом (строка). C - конструктор, отражающий конструктивный аспект элемента, символьный атом.
Стрелки обозначают три (упорядоченных) указателя на другие элементы. Поля A, C, O могут быть пустыми, указатели могут указывать на выделенный элемент nil, который также называется терминальным объектом. Если некоторый указатель акта указывает на nil, то для удобства в последующих диаграммах просто не будем изображать такой указатель, подразумевая, что если указателя нет, то он есть, но указывает на nil.
Каждый элемент обладает двумя структурами: внутренней и внешней. Внутренняя структура элемента - это значения полей A, O, C, а внешняя структура - это тройка указателей.
II) Идентификаторы:
Id - это символьный атом (строка), собственно представляющая идентификатор (верхний элемент), для нижнего элемента. У идентификатора не пусто единственное поле A, в котором и находится Id. На идентификатор можно ссылаться по имени Id, тем самым получая доступ к идентифицируемому элементу.
Существует особый класс идентификаторов - это класс констант. Константы характеризуются тем, что являются идентификаторами самих себя. Выделенной константой является терминальный элемент nil, который определяется тем, что все его поля пусты (в том числе и поле A). В классе констант должны быть предопределённые элементы, такие как логические константы, числа, символы, etc.
Операции делятся на 3 класса: - Операторы (apply, construct, execute, build)
- Структурные (duplicate, destroy, down, link, eq)
- Внутренние (move, nil, arithmetic operations)
III) Схема применения одного элемента к другому (оператор применения apply на структурном уровне):
На схеме изображено применение правого (субъективного) элемента к левому (объективному) элементу. Исключением этой схемы является действие констант и действие на константы. От стрелки под кругом символизирующем apply зависит последовательность применений оператора: если стрелка направлена вниз, то сначала корневые элементы применяются друг к другу, а потом уже ветви к соответствующим ветвям, если же стрелка направлена вверх, то наоборот. Операторы на ветвях применяются одновременно.
Для однозначной определённости семантики примем следующее соглашение: "скорость" исполнения операций постоянна, (фактически действует по тактам), то есть если процесс разветвился в некоторой точке, а потом каким-либо образом ветви пересеклись, то всегда можно однозначно определить, какой процесс пришёл к точке пересечения первым. В случае если оба процесса пришли к общей точке одновременно, возникает неопределённость (какой процесс применить), и возможны различные варианты разрешения этой неопределённости. Например, можно случайно выбрать один из процессов для применения, а можно применить их последовательно в случайном порядке. Произвол выбора метода разрешения неопределённости позволяет варьировать семантику Е3. Для модельных задач, решаемых в этой статье, разрешение недетерминированных ситуаций вообще не требуется, поэтому этот вопрос отложим для дальнейших исследований по Е3.
Применение констант (не зависит от направления стрелки): константа применяется только к корневому элементу.
Применение к константам (также не зависит от направления стрелки): к константе применяется только корневой элемент.
Кроме этого есть ещё оператор execute (обозначается точкой: ), который однократно применяет операцию к операнду.
IV) Схема действия оператора Construct на структурном уровне:
На схеме изображено применение Construct к паре правого (субъективного) элемента и левого (объективного) элемента. Толстые чёрные стрелки - собственно действие конструктора, а тонкие пунктирные указывают на аргумент. Совершенно аналогично оператору Apply, Construct может быть двух типов: ^ и v, которые различаются порядком применения, кроме того, в зависимости от порядка применения Construct к ветвям процесс может быть недетерминированым.
Конструктор константа:
Кроме того есть ещё оператор Build, который применят конструктор однократно (аналогично оператору Execute).
Детальное описание действия внутренней структуры также дано ниже.
V) Действие операторов на элементы (оператор применения на элементарном уровне): всего есть 10 изменяющих структуру и класс не меняющих структуру операции.
Операции, меняющие структуру:
1) Операция Destroy.
Уничтожает элемент (то есть все его поля и указатели). Если на этот элемент есть указатели из других элементов, то они переставляются на nil.
2) Операция Apply^v(i)(j)
Применяет элемент по j-ому указателю к элемнту по i-ому указателю посредством оператора Apply с соответствующей стрелкой.
3) Операция Construct^v (i)(j)
Применяет оператор Construct типа ^ либо v по i-ому указателю к элементу по j-ому указателю посредством соответсвующего оператора. Для доступа к созданному элементу создаётся идентификатор с именем, находящимся в поле A субъективного элемента. Если это поле пустое, то идентификатор не создаётся.
5) Операция Down.
Перемещает тот указатель на элемент, по которому процесс исполнения пришёл на этот элемент на одну ступень вниз, по направлению i.
7) Операция Duplicate.
Разворачивает элементы, содержащие указатели на самих себя. В этом смысле эта операция удваивает сущности.
8) Операция Link(i)
Просто меняет i-ый указатель на элемент с идентификатором Id, который находится в поле A действующего элемента.
9) операция сравнения Eq X - определяет равенство полей X у двух элементов. Если соответствующие поля совпадают, то аргумент не меняется, иначе объективному указателю присваивается значение nil.
10) операция сравнения указателей Eq(i) - действует совершенно аналогично Eq X, только сравниваются не поля, а i-ые указатели элементов.
Остаются операции, не меняющие внешнюю структуру элемента (только внутреннюю):
Этот класс операций назовём неструктурными.
1) Операция Move - перемещает значения полей элементов.
Поля с индексами 3 и 4 определяются по остальным полям и самой опреации.
Здесь X и Y - это A, O, C; а индексы i и j - это числа 1 или 2, указывающие, откуда берутся опранды. Тип стрелки показывает: значения полей просто замещаются или переставяются.
2) арифметические (логические) операции над полями - производят соответствующие операции над полями элементов. Пример - арифметическая операция +.
3) пустая операция (или nil) - не производит ни каких действий. Любой символьный атом не являющийся выше перечисленной операцией интерпретируется как пустая операция.
VI) Конструкторы.
Фактически это операции не меняющие внешнюю структуру, но использующие в своей деятельности третий элемент - он динамически создаётся. То есть это те же самые опреации Move, nil и другие неструктурные операции. Семантика вообще не меняется, просто множество индексов расширяется до 1,2,3.
Следует отметить, что приведённая семантика хотя и является в определённом смысле полной (то есть до конца определённой и достаточной для интерпретации любой вычислимой функции), но не является окончательной, так как для упрощения программирования на Е3 возможно введение дополнительных операций и сложных структурных единиц (аналогов подрограмм/модулей), а также операторов композиции этих единиц. В частности возможно пополнение класса конструкторов более сложными.
В качестве примера использования семантики Е3, а также для доказательства её универсальности (то есть возможности интерпретировать в ней любую вычислимую функцию), приводится интерпретация на Е3 машины Тьюринга.
На этой схеме (модели машины Тьюринга в Е3) изображены:
а) лента - она изображена слева в идее вертикальной последовательности актов отражения, связанных между собой указателями. Средние (субъективные) указатели ленты указывают на значение текущей ячейки ленты (на акты 0 или 1)
б) основной исполняющий механизм
в) часть обведённая пунктирной линией выделяет область, которая кодирует пару команд машины:
qi0>qjx0D0
qi1>qkx1D1
где x?- это либо 0 либо 1, а D?- это либо L, либо R, либо пустое слово. В конструкции используются также следующие значения, кодирующие D?: d?=1, если D?=L, d?=3, если D?=R, и d? - пустое слово, если D? пустое слово.
Соответственно для каждой команды (или пары команд) вводится соответствующая часть общей конструкции, которая соединяется с основным исполняющим механизмом указателями. Следует отметить, что в каждый момент времени указатели из основного исполняющего механизма указывают только на акты текущего блока, который определяется текущим состоянием, в то время как указатели из всех блоков соответствующих командам указывают на одни и те же акты основного исполняющего механизма. С целью сокращения схемы применено обозначение:
для конструкций, необходимых для синхронизации (то есть задержки) процессов в машине Тьюринга. Также для краткости введены обозначения ADij для операции Applyv(i)(j).
Для запуска процесса работы машины к актам с идентификаторами S и A применяется оператор Applyv (то есть фактически A применяется к S). Процесс завершается когда завершается процесс применения, то есть когда возникнет ситуация обрыва процесса, а, в свою очередь, эта ситуация наступит тогда, когда тот указатель (из пары изображённых мелким пунктиром), по которому пройдёт процесс применения, будет указывать на nil.
Исполнение каждой команды моделируется всей схемой за некоторое определённое количество условных тактов. В начале выполнения команды первый (объективный) указатель акта с идентификатором S указывает на текущее состояние машины. Первый указатель акта с идентификатором PC указывает на текущее место на ленте, то есть фактически моделирует головку машины Тьюринга.
Схема (программа) на Е3, моделирующая работу машины Тьюринга. На данной схеме изображена только одна компонента, отвечающая паре команд (она выделена пунктирной линией), другие компоненты имеют идентичную внешнюю структуру и отличаются только коэффициентами.
Можно отметить, что в данной конструкции используются только операции Down, Link и Applyv, то есть с формальной точки зрения, для универсальности Е3 как языка программирования, достаточно этих трёх операций.
Бинарный оператор взаимодействия - модель рефлексии в Е3Ниже мы будем использовать простейшую модель рефлексии - кооперативно-деятельностную модель рефлексивного акта, в которой выделены две разных позиции: действия с объектом и построения рефлексивного знания о действии, для демонстрации применимости Е3 к моделированию подобных ситуаций.
Элементы 1 и 2 представляют субъекта и объекта, между которыми происходит взаимодействие I и II. Это взаимодействие оставляет след - отражение объекта в форме знания 3. Описанная часть схемы может рассматриваться как акт действия, результатом которого является измененный объект, или как акт мышления, результатом которого является знание об объекте. В последнем случае важно, что в знании отражается не объект сам по себе, а только та его сторона, которая проявилась во взаимодействии I-II. Подобная конструкция знания соответствует представлениям содержательно-генетической логики.
Элемент 4 представляет образ всей структуры акта действия (или знания), полученный в результате рефлексивного акта отражения IV.
Эту структуру, содержащую одновременно и акт действия (знания) и акт рефлексии, мы полагаем в качестве целостной единицы - бинарного оператора взаимодействия между элементами рефлексивной сети.
Программу, моделирующую оператор взаимодействия, мы приводить не будем, поскольку она значительно менее показательна, чем модель машины Тьюринга, но по объёму текста не намного меньше. Вместо этого в виде блок схемы изобразим функциональное действие этой программы.
Схема действия бинарного оператора взаимодействия, который применяется к двум элементам (левый из которых интерпретируется как объект взаимодействия, а правый - как субъект взаимодействия):
1) тёмные прямоугольники - это взаимодействующие элементы. Элемент с номером 1 это - субъект взаимодействия, а элемент с номером 2 - это объект взаимодействия
2) римские номера показывают последовательность действий.
3) пунктирные стрелки показывают применение оператора воздействия того элемента, из которого исходит стрелка, на тот элемент, на который она указывает.
4) толстые пустые стрелки означают действие конструкторов тех элементов, из которых эти стрелки исходят (аргумент конструктора указан мелкой пунктирной стрелкой).
5) Белый прямоугольник с номером 3 - это след создающегося акта отражения (он динамически создаётся конструктором элемента с номером 1).
6) Белый прямоугольник с номером 4 - это итоговый элемент (акт отражения), объектом которого выступает первый элемент, субъектом второй элемент, а следом - третий. Создаётся он конструктором субъекта.
Место Е3 среди основных парадигм программированияСемантику рефлексивных сетей Е3 следует рассматривать не просто как чисто теоретическое построение, а скорее как средство решения поставленных выше задач создания рефлексивных интеллектуальных систем. В связи с чем, стоит определить место Е3 среди существующих парадигм программирования, и, даже в более общем контексте вычислительных формализмов.
Исторически системы программирования (или парадигмы) развивались в направлении возрастания абстракции элементарных понятий, лежащих в основе этих парадигм.
В приведённой таблице каждой парадигме сопоставлены её основные конструктивные элементы а также матаматический формализм (или идеология), соответствующий данной парадигме. В основу семантики Е3 положено понятие акта отражения как упорядоченой тройки: O - объекта, S - субъекта, T - следа (который оставляет объект в сознании субъекта), каждый из которых в свою очередь также является актом отражения. Соответственно основание Е3 принадлежит уже скорее не математике, а философским дисциплинам.
Вместе с тем стоит отметить, что формализм Е3 не очень корректно называть семантикой "языка программирования", поскольку сами объекты Е3 имеют структуру сложно устроеного ориентированого графа с раскрашеными рёбрами и вершинами, помечеными тройками специальных символов, и их представление в виде слов некоторого алфавита, то есть строго говоря в некотором языке, не очень естественно. Более того, это обстоятельство может считаться одним из ключевых и наиболее важных особенностей предложенной семантики Е3. Дело в том, что попытки добиться такого ключевого для построения искуственного интеллекта качества как самоорганизации или самообучаемости системы наталкиваются на очень большие трудности в существующих парадигмах программирования. С другой стороны, нейронные сети хорошо обучаются, но обладают другим крайне плохим качеством: их невозможно целенаправленно программировать (то есть полностью контролировать), и это также очень существенное препятствие на пути создания ИИ. В такой ситуации Е3 представляется кандидатом на роль некоей промежуточной формы между нейронными сетями и процедурным программированием, которая позволит с одной стороны добиться удовлетворительной степени самообучаемости, с другой стороны которую возможно будет программировать и контролировать.
Заявленные свойства Е3 частично подтверждаются тем обстоятельством, что в Е3 интерпретируется машина Тьюринга (то есть любая вычислимая функция). Значит, в предлагаемой семантике можно программировать как на обычном языке программирования. С другой стороны, вполне вероятно, что в Е3 можно естественно проинтерпретировать и нейронные сети, что бы обосновало место Е3 между программированием как таковым и нейронными сетями.
Предполагаемое использование Е3 при решении прикладных задачПрограммная реализация рефлексивных сетей на цифровых компьютерах позволит решать на новом уровне широкий класс прикладных задач, таких, как моделирование сложных системных объектов в базах знаний, семантический поиск и анализ текстов на естественном языке, поддержка принятия управленческих решений.
Моделирование деятельностных и мыследеятельностных форм в базах знаний обеспечит создание человеко-машинных систем нового поколения - индивидуализированных рефлексивных ЧМС. В подобных системах компьютер выполняет функцию объективации (овнешнения, экстериоризации) внутренних процессов мышления и техник сознания, обеспечивая, тем самым, рефлексивность мышления оператора [6,7,8].
Одной из самых актуальных прикладных задач авторы сичтают разработку экспертных поисковых систем. Для этого необходим реализовать машинное построение образа ситуации (в частном случае отдельных объектов, процессов) по фрагментарной информации из большого массива текстов, например в Интернет или корпоративной базе данных.
Необходимо: - Выстраивать за линейным текстом структуру рассуждения автора
- Создавать целостный образ содержания текста
- Различать жанры текста
- Выделять из текста метатекстовую, коммуникативную и собственно содержательную составляющие.
При этом необходимо строить образ содержания отдельного фрагмента текста, удерживая образ содержания текста как целого. По мнению разработчиков, процесс должен быть устроен подобно пониманию текста человеком.
Самую большую сложность составляет несоответствие линейного текста объемному и структурно-процессуальному смыслу у автора. При чтении человек, пользуясь линейным текстом, с той или иной степенью точности воссоздает нелинейный образ того, что хотел сказать автор. Поэтому первым шагом необходимо было найти способ переводить "линейный" текст в "структурный" - выделять за синтагматикой парадигматику, смысловую структуру текста и помещать преобразованный текст в машинную базу знаний для дальнейшей обработки. Разрабатываемые авторами подходы к реализации рефлексивных систем в сочетании с проделанными работами по применению лингвистического тема-рематического подхода позволяют говорить о принципиальной разрешимости данной задачи.
Литература- В.Н. Елашкин. Концептуальное описание модели нейронной сети. Труды ВЦ СО РАН. Информатика, Новосибирск, 1994, с. 122-137.
- В.Н. Елашкин. Информационная сеть с "нейронной" структурой. Всесоюзное научно-техническое общество радиотехники и связи им.
- А. С. Попова. Новосибирское областное правление. ГПНТБ СО АН СССР. НЭИС им. Н. Д. Псурцева. XXXII областная научно-техническая конференция, посвященная дню радио. 14-16 апреля 1989 г. Тезисы докладов.
- В.Н. Елашкин. Кодирование компонентов сети электросвязи с помощью инфологического базиса "объект, субъект, аспект, базис, след". Моделирование систем информатики. Тезисы докладов всесоюзной конференции, Новосибирск, 13-15 сентября 1988 г.
- В.Н. Елашкин. Метод представления знаний о сети электросвязи в интеллектуальных системах. Человек, интеллект и системы связи. Тезисы докладов и сообщений к Всесоюзной конференции 24-26 октября 1988 г. Новосибирск, 1988.
- Ю.В. Громыко. Организационно-деятельностные игры и развитие образования. М., НМУ, 1992 г.
- В.А. Жегалин. К проблеме машинизации учебной деятельности. Вопросы методологии, М., №3, 1991г.
- В.А. Жегалин, А.В. Нечипоренко. Концепция философско-методологического и психолого-педагогического обеспечения человеко-машинных систем (ЧМС). Вопросы методологии. №4, 1991 г.
- В.А. Жегалин. Автоматизация мыследеятельности как культурно-социальная проблема. Вопросы методологии. М.,№ 1-2. 1994 г
- В.А. Лефевр. Конфликтующие структуры. М. "Советское радио"., 1973г.
- В.А. Лефевр. Элементы логики рефлексивных игр. Сборник статей Международного симпозиума 17-2000 г., Москва. 19 октября
- Г.П. Щедровицкий. О различии исходных понятий "формальной" и "содержательной логик". Избранные труды. М., 1995 г.
- Г.П. Щедровицкий. Рефлексия. Избранные труды, М., 1995.
- Г.П. Щедровицкий. Схема мыследеятельности - системно-структурное строение, смысл и содержание. Избранные труды, М., 1995.
- Г.П. Щедровицкий. Рефлексия в деятельности. Вопросы методологии, №3-4, 1994.
Власов Д.Ю. , 13.08.2008
|