2.2 Синтаксис sc-кода
Универсальность sc-кода позволяет с его помощью описывать любые объекты. Таким объектом может быть любой язык коммуникации с пользователями (в том числе и естественный язык), а также сам sc-код. Синтаксис sc-кода представляется в виде соответствующей формальной онтологии, которая подробно рассмотрена в работе [22].
Семейство введённых классов объектов исследования трактуется как Алфавит sc-кода. Но, в отличие от других языков, классы синтаксически выделяемых элементарных фрагментов текстов sc-кода могут пересекаться. Так, например, sc-элемент может одновременно принадлежать и классу sc-элементов, и классу sc-узлов, а также одновременно принадлежать и классу sc-элементов, и классу sc-коннекторов, и классу sc-дуг, и классу базовых sc-дуг. Такая особенность Алфавита sc-кода даёт возможность строить синтаксически корректные sc- тексты (тексты sc-кода) в условиях неполноты исходных знаний о некоторых sc-элементах. Отметим некоторые синтаксические особенности sc-кода.
¦ Тексты sc-кода являются абстрактными в том смысле, что они абстрагируются от конкретного варианта их кодирования в памяти КС. Кодирование текстов, в частности, зависит от варианта технической реализации памяти КС. Так, например, актуальной является аппаратная реализация ассоциативной нелинейной памяти, в которой реализуется структурная реконфигурация хранимой информации, в которой обработка информации сводится не к изменению состояния элементов памяти, а к изменению конфигурации связей между ними.
¦ Тексты sc-кода являются структурами графоподобного вида. Все графовые структуры легко представимы в sc-коде (неориентированные и ориентированные графы, мультиграфы, псевдографы, гиперграфы, сети и др.). В sc-коде представимы и связи между связями, связи между целыми структурами и многое другое. Таким образом, теория графов при соответствующем её расширении является основой описания синтаксиса sc-кода.
2.3 Семантика sc-кода
Простота синтаксиса sc-кода обусловлена следующими семантическими свойствами sc-текстов:
¦ все sc-элементы, то есть элементарные (атомарные) фрагменты sc-текстов, являются знаками различных описываемых сущностей, при этом каждая сущность, описываемая в тексте sc-кода, должна быть представлена своим знаком;
¦ никаких других знаков, кроме sc-элементов, sc-тексты не содержат; любая сущность может быть описана sc-текстом;
¦ все синтаксически выделяемые классы sc-элементов (т.е. все элементы Алфавита sc- кода) имеют чёткую семантическую интерпретацию - являются классами sc-элементов, каждый из которых обозначает сущность, имеющую общие одинаковые свойства со всеми другими сущностями, обозначаемыми другими sc-элементами этого же класса. Денотационная семантика любой знаковой конструкции - это соответствие между множеством всех знаков, входящих в знаковую конструкцию, и множеством денотатов этих знаков, а также между множеством всех семантически значимых связей, связывающих знаки, и множеством соответствующих им связей, связывающих либо денотаты всех указанных знаков, либо денотаты некоторых из указанных знаков непосредственно с остальными знаками.
Формальное описание денотационной семантики sc-кода средствами sc-кода осуществляется в виде системы формальных онтологий верхнего уровня, представленных в виде текстов sc-кода. Указанная система формальных онтологий подробно рассмотрена в работе [22], а также представлена в базе знаний (БЗ) Метасистемы IMS.ostis [23].
3. Уточнение понятия семантической совместимости
Важнейшим этапом эволюции любой технологии является переход к компонентному проектированию на основе постоянно пополняемый библиотеки многократно используемых компонентов.
Основной проблемой для реализации компонентного проектирования являются:
¦ унификация компонентов по форме;
¦ разработка стандартов, обеспечивающих совместимость этих компонентов.
Для реализации компонентного проектирования БЗ требуется:
¦ универсальный язык представления знаний;
¦ универсальная процедура интеграции знаний в рамках указанного языка;
¦ разработка стандарта, обеспечивающего семантическую совместимость интегрируемых знаний (таким стандартом является согласованная система используемых понятий).
Для смыслового представления знаний нужны смысловые семантические координаты, роль которых выполняет используемая система понятий, которая описывается иерархической системой семантически связанных между собой онтологий.
Знания необходимо привести к общему «семантическому знаменателю», чем является постоянно уточняемая система понятий, специфицируемая в виде объединённой онтологии. Эта объединённая онтология стратифицируется на частные онтологии.
Один из принципов семантической совместимости новой информации с БЗ, в которую эта информация погружается, можно сформулировать следующим образом: все знаки, являющиеся новыми для воспринимающей БЗ, должны быть специфицированы через понятия, известные БЗ. Стандарт смыслового представления информации (sc-код) даёт возможность повысить уровень совместимости КС и формально уточнить понятие интеграции КС и их компонентов.
3.1 Уточнение процесса понимания на основе смыслового представления информации
Очевидно, что формализация смыслового представления информации в памяти КС существенно упрощает уточнение того, как происходит процесс понимания новой информации, поступающей на вход КС, либо генерируемой в процессе обработки информации. Этот процесс можно разбить на три этапа:
¦ трансляция информации с некоторого внешнего языка на внутренний смысловой язык sc-код (этап отсутствует, если новая информация не вводится извне, а непосредственно генерируется в памяти КС);
¦ погружение новой информации, представленной в виде sc-текста, в текущее состояние ИР, хранимого в памяти КС и представленного также в виде sc-текста;
¦ выравнивание (согласование) понятий, используемых в новой вводимой извне или сгенерированной информационной конструкции, с понятиями, используемыми в текущем состоянии хранимого в памяти КС ИР.
Рассмотрим каждый из перечисленных этапов подробнее.
Трансляция информации с внешнего языка в sc-код упрощается, поскольку:
¦ средствами sc-кода можно описать синтаксис внешнего языка, т.к. универсальность sc-кода позволяет с его помощью и с любой степенью детализации описывать любые объекты, в том числе и такие сложные системы внешней среды КС, как внешние языки;
¦ процесс синтаксического анализа исходного текста внешнего языка можно выполнить путём манипуляции текстами sc-кода и в результате получить описание структуры исходного текста, имеющее достаточную полноту (детализацию) для последующей генерации семантически эквивалентного ему текста sc-кода;
¦ средствами sc-кода можно описать семантику внешнего языка, трактуя её как описание свойств морфизмов между sc-текстами, описывающими синтаксическую структуру исходных внешних текстов, и sc-текстами, которые семантически эквивалентны этим исходным текстам;
¦ процесс генерации sc-текста, семантически эквивалентного исходному внешнему тексту, также можно выполнить путём манипуляции sc-текстами.
Погружение (интеграция) нового сгенерированного sc-текста в текущее состояние sc- текста (например, в состав БЗ, представленной в sc-коде) сводится к склеиванию некоторых sc-элементов нового sc-текста с синонимичными им sc-элементами, входящими в состав заданного sc-текста. Задача погружения нового sc-текста сводится к задаче построения множества пар синонимичных sc-элементов, один из которых входит в состав нового погружаемого sc-текста, а второй - в состав заданного sc-текста. Установление пар синонимичных sc- элементов на начальном этапе осуществляется путём поиска пар sc-элементов, у которых совпадают согласованные внешние имена. На следующем этапе синонимичные sc-элементы выявляются путём логических рассуждений.
Для упрощения установления пар синонимичных sc-элементов некоторые высказывания о несуществовании, о существовании и единственности, о существовании заданного конечного числа структур заданного вида можно переформулировать с явным введением отношения синонимии sc-элементов. Так, например, вместо утверждения: «Для каждой пары точек существует единственная проходящая через них прямая» можно использовать следующую формулировку: «Если прямые pi и pj проходят через точки ti и tj, то либо pi = pj, либо ti = tj, либо ti Ј pi, либо ti Ј pj, либо tj Ј pi, либо tj Ј pj». Формальная запись данного утверждения на языке SCg, являющемся графическим вариантом внешнего отображения текстов sc-кода, представлена на рисунке 1. Подробное описание примера погружения sc-текста в БЗ, представленную также в sc-коде, приведено в [15].
Рисунок 1 - Пример формальной записи логического утверждения
Выравнивание понятий, используемых в новом интегрируемом sc-тексте, с понятиями, используемыми в заданном интегрирующем sc-тексте, осуществляется следующим образом.
¦ Заданный интегрирующий sc-текст должен явно содержать информацию о текущем состоянии использования:
¦ каждого известного понятия, используемого либо непосредственно в БЗ, либо внешними субъектами, информация от которых может поступать на вход БЗ;
¦ каждого внешнего знака (чаще всего термина, имени), соответствующего каждому используемому понятию, а также некоторым общеизвестным сущностям, которые не являются понятиями.
¦ Интегрируемый текст должен:
¦ максимально возможным образом использовать согласованные понятия и соответствующие им согласованные внешние знаки (термины, имена);
¦ включать в себя определения всех понятий, которые являются новыми, неизвестными в интегрирующем тексте (при этом в определении должны использоваться только те понятия, которые известны интегрирующему тексту).
¦ Для решения задачи выравнивания используемых понятий для текущего состояния БЗ и для нового вводимого в эту БЗ текста все используемые в БЗ понятия делятся на согласованные, устаревшие, устаревающие, отклонённые, вводимые новые понятия.
Таким образом, процесс выравнивания понятий, целью которого является сведение всех понятий, используемых в интегрируемом sc-тексте, к согласованным понятиям БЗ, осуществляется в условиях постоянного изменения статуса используемых понятий и постоянного увеличения числа таких понятий.
3.2 Унификация и совместимость различных моделей решения задач
Предлагаемый подход к повышению уровня совместимости (интегрируемости) различных моделей решения задач заключается в следующем [24]:
¦ вся информация, хранимая в памяти каждого решателя задач, представляется в форме смыслового представления этой информации (в sc-коде);
¦ решение каждой задачи осуществляется коллективом агентов, работающих над общей для них смысловой памятью и выполняющих интерпретацию хранимых в этой же памяти навыков (указанные агенты названы sc-агентами);
¦ интеграция двух разных моделей решения задач сводится:
¦ к объединению памяти моделей;
¦ к интеграции sc-текстов, хранимых в памяти моделей, путём взаимного погружения этих sc-текстов друг в друга;
¦ к объединению множеств агентов, входящих в составы моделей.
Унификация моделей решения задач путём приведения этих моделей к виду sc-моделей повышает уровень совместимости этих моделей благодаря наличию прозрачной процедуры интеграции sc-текстов и тривиальной процедуры объединения множеств sc-агентов. Простота процедуры объединения множеств sc-агентов, соответствующих разным моделям решения задач, обусловлена тем, что непосредственного взаимодействия между этими агентами нет, а инициирование каждого из них определяется самим агентом, а также текущим состоянием хранимой в памяти информации. Основными преимуществами использования многоагентного подхода [1, 25] являются автономность агентов и децентрализация обработки вносимых изменений. Многоагентная обработка БЗ имеет ряд недостатков:
¦ знания агента представляются при помощи узкоспециализированных языков, не предназначенных для представления знаний в широком смысле и онтологий в частности;
¦ в большинстве современных многоагентных систем взаимодействие агентов осуществляется путём обмена сообщениями непосредственно от агента к агенту;
¦ среда, с которой взаимодействуют агенты, уточняется отдельно разработчиком для каждой многоагентной системы, что приводит к несовместимости многоагентных систем. Перечисленные недостатки предлагается устранять за счёт использования следующих принципов:
¦ коммуникацию агентов осуществлять путём спецификации действий, выполняемых агентами и направленных на решение задач;
¦ в роли внешней среды для агентов должна выступать общая память КС;
¦ спецификацию каждого агента описывать средствами языка представления знаний;
¦ синхронизацию деятельности агентов осуществлять на уровне выполняемых ими процессов;
¦ каждый информационный процесс в любой момент времени должен иметь ассоциативный доступ к необходимым фрагментам БЗ, хранящейся в общей памяти.
3.3 Семантическая совместимость КС
Уровень совместимости КС определяется трудоёмкостью реализации процедур интеграции знаний этих систем, а также трудоёмкостью и глубиной интеграции входящих в эти системы решателей задач.
Совместимые КС - это КС, для которых существует автоматически выполняемая процедура их интеграции, в рамках которой каждая исходная КС в процессе своего функционирования может свободно использовать знания, входящие в состав другой исходной КС.
Целостная КС - это решатель задач, интегрировавший несколько моделей решения задач и обладающий средствами взаимодействия с внешней средой.
Чтобы повысить уровень совместимости КС, необходимо преобразовать их к виду многоагентных систем, работающих с общей смысловой памятью, в которой информация представлена текстами sc-кода. Такие унифицированные КС далеко не всегда целесообразно объединять в более крупные КС. Иногда целесообразнее их объединять в коллективы взаимодействующих КС. Но при создании таких коллективов КС унификация и совместимость таких систем также важны. Противоречия между КС, входящими в коллектив, можно обнаруживать путём анализа виртуальной объединённой БЗ этого коллектива. Непротиворечивость указанной виртуальной БЗ можно считать одним из критериев семантической совместимости систем, входящих в соответствующий коллектив.