Сейчас трудно представить себе сферу жизни человека, которой бы не коснулись стремительно развивающиеся информационные технологии. Разработано огромное множество программ, являющихся незаменимыми инструментами человека во всех отраслях жизнедеятельности. Одними из наиболее ярких представителей таких программ являются экспертные системы (ЭС). Спектр их применения как класса программ очень широк, но в то же время каждая такая программа сама по себе обладает достаточно узкими специфическими для ее предметной области свойствами и является всеобъемлющей для своей предметной области.
Актуальность темы заключается в том, что, в случае создания оболочки для возможности построения такой ЭС, идеология функционирования которой предусматривает минимальное участие эксперта, к услугам человечества будет предоставлено универсальное средство, позволяющее решать определенный класс задач, не ограничивая, при этом, предметную область решаемой задачи. Более того, распространение оболочки создания таких систем могло бы позволить широкому кругу пользователей, не имеющих специальных навыков программиста, но являющихся экспертами в какой-либо области создавать и использовать подобные системы.
Целью работы является реализация, расширение и углубление алгоритма выполнения теоретико-множественных операций над грамматиками в среде специализированной оболочки для создания интеллектуальных САПР, созданного А.В. Григорьевым
Научная новизна реализуемого подхода заключается в том, что базы знаний экспертных систем представляются в виде одной или нескольких грамматик, взаимодействующих между собой
С помощью проектируемой системы эксперты различной квалификации смогут быстро и эффективно создавать специализированные САПР в рамках уже существующей более общей САПР. Для пользователей система будет являться возможностью получить качественные интеллектуальные ЭС для автоматизации проектирования за достаточно умеренную цену.
Большинство публикаций моего научного руководителя Григорьева А.В. посвящены рассматриваемой теме. В основе моей части проекта лежит разработанный им алгоритм выполнения теоретико-множественных операций над грамматиками в среде специализированной оболочки для создания интеллектуальных САПР. Также его авторству принадлежат статьи "Cпецифика выполнения теоретико-множественных операций над контекстно-свободными грамматиками в условиях различных форм дополнительных семантических правил в семиотической модели интеллектуальных САПР" и "Пути создания интеллектуальных САПР при различных уровнях квалификации экспертов",активно используемые мной при написании магистерской работы.
Выбранная мной тема является крайне редкой и малоизученной, вследствие чего обнаружить исследования и разработки по ней в пределах Украины мне не удалось
Одним из наиболее ярких примеров международных разработок по теме является система функционально-логического программирования S-FLOGOL
S-FLOGOL – система функционально-логического программирования, построенная на базе теории направленных отношений, причем реализация отношений в системе непосредственно опирается на сетевое представление схем направленных отношений. Для представления семантических объектов в языке используются рекурсивные схемы направленных отношений, которые с помощью контекстно-свободной сетевой грамматики задаются в форме сетевого языка (множества сетей в некотором терминальном базисе элементов) [1].
Основными компонентами интегрированной среды программирования являются: структурно-ориентированный текстовый редактор, графический редактор и центральный модуль.
а) Текстовый редактор
Текстовый редактор предназначен для формулировки запросов и для создания и редактирования модулей информационной базы. В его основе лежит оригинальная технология ввода программ, базирующаяся на альтернативно-списковой форме грамматики языка. В любой момент времени в тексте программы представлено множество фрагментов, определяющих синтаксические понятия языка. Первоначально фрагмент представляет собой имя понятия, раскрываемое в процессе работы с редактором. Согласно грамматике языка, для раскрытия каждого синтаксического понятия может быть выбран один из вариантов его определения. Использование в языке S-FLOGOL понятия выражения некоторого типа как основного синтаксического понятия позволяет унифицировать наборы инструментов. После выбора нужного варианта из контекстного списка в текст программы на место выделенного имени понятия подставляется правая часть выбранного варианта определения, содержащая терминальные элементы окружения и имена других синтаксических понятий, которые раскрываются аналогично.
Отказ от ручного ввода синтаксических элементов предполагает автоматическое структурирование текста программы. Для решения этой задачи был разработан алгоритм, в основу которого положен принцип табуляции не поместившихся в поле ввода элементов с учетом уровней их вложенности во внутреннем древовидном представлении программы.
После завершения ввода программа компилируется во внутреннее представление и поступает в графический редактор для возможной корректировки и выполнения запроса.
б) Графический редактор
В системе используется специализированный графический редактор, выполняющий задачи создания, сохранения и загрузки сетевой грамматики; управления вычислениями; отображения промежуточных результатов вычислений. Создание сетевой грамматики основано на технологии графического программирования, позволяющей пользователю на каждом шаге редактирования графически строить всегда корректное описание сетевой грамматики. Центральным интерфейсным элементом формирования и отображения структуры грамматики является дерево объектов редактора, что позволило отказаться от дополнительных окон, предназначенных для формирования структуры грамматики. В дереве также отображаются промежуточные и окончательные результаты вычислений. Построение правила грамматики заключается в создании нового правила в дереве объектов и редактировании автоматически созданной корректной пустой сети нужного сорта с помощью специальных инструментов. Основой графического построения сетей правил грамматики являются добавление в сеть элементов, обозначающих отношения, и последующее слияние точек, соответствующих связанным входам или выходам элементов. Заметим, что при добавлении нового элемента в сеть одновременно с ним добавляются и все точки, связанные с его входами и выходами. В распоряжение пользователя также предоставлены вспомогательные инструменты, облегчающие процесс графического построения правил грамматики, такие как координатная сетка, скроллинг и масштабирование. Для комфортного отображения сетей применены специальные методы формирования изображения и его прорисовки, что позволяет обеспечить плавное перемещение объектов при любом масштабе изображения.
Планируется реализовать базу знаний экспертной системы в виде грамматик, организовав взаимодействие между грамматиками при помощи алгоритма выполнения теоретико-множественных операций над грамматиками в среде специализированной оболочки для создания интеллектуальных САПР [2].
Большинство известных сейчас методов формирования моделей САПР, используемых в инструментальных оболочках для создания экспертных систем, обладают серьезными недостатками. Эти недостатки не позволяют применять создаваемые экспертные системы в качестве проблемно-ориентированных САПР или интеллектуальных надстроек над ними. Устранение значительного количества таких проблем возможно в результате использования семиотической модели - как формы представления модели САПР[3].
В рассматриваемой модели имеются два компонента - целевое пространство систем (ЦПС), т.е. множество решений-прототипов и пространство обликов систем (ПОС), т.е. множество технических заданий. Соответственно, имеются две различные контекстно-зависимые грамматики - грамматика ЦПС и грамматика ПОС. Структура семиотической модели наглядно представлена на рисунке 8.1.
Для реализации семиотической модели как раз и применяется вышеуказанный алгоритм. В данном случае грамматика является аналогом И-ИЛИ дерева, т.е. не имеет циклов и рекурсий.
Рассмотрим основные определения, используемые в описании алгоритма:
а) Терм – элементарный символ множества.
б) Синтерм - имя множества, которое может раскладываться. Элементами разложения могут быть как термы, так и синтермы, соединенные посредством операции "И" (&) или "ИЛИ" (V).
в) Если два множества совпадают по имени, то это означает, что они эквивалентны и по структуре, т.е. одно и то же имя означает одно и то же множество.
г) Если два множества совпадают по структуре, то это значит, что имена у них разные, а подмножества и способ их объединения одинаковый, т.е. одна и та же структура может иметь много разных форм записей, но при полном разложении этих форм записи мы в результате получим одно и то же.
Необходимо разработать алгоритм выполнения теоретико-множественных операций над контекстно-зависимыми грамматиками, т.е. контекстно-свободными грамматиками, над которыми определены продукции семантической зависимости (явные и неявные). Неявные продукции предполагают наличие списков прототипов у термов и синтермов контекстно-свободной грамматики, призванных обеспечить выбор только семантически возможных решений. Явные продукции вводятся пользователем над прямо введенными контекстно-свободными порождающими грамматиками. Они призваны зафиксировать возможные и невозможные комбинации альтернатив в ИЛИ-синтермах.
Реализация алгоритма выполнения теоретико-множественных операций над грамматиками позволит породить из грамматики пространства обликов систем и грамматики целевого пространства систем новую, объединенную грамматику, с помощью которой и будет осуществляться вывод новообразованной системы, что обеспечит создание базы знаний, необходимой для экспертной системы.
1. Ал.М. Бебчик, Ан.М.Бебчик, В.Н. Фальк. Инструментальные средства разработки и отладки программ системы функционально-логического программирования S-FLOGOL.
2. А.В. Григорьев. Алгоритм выполнения теоретико-множественных операций над грамматиками в среде специализированной оболочки для создания интеллектуальных САПР
3. Поспелов Д.А. Ситуационное управление: теория и практика. М.: Наука, 1986.