автореферат диссертации по информатике, вычислительной технике и управлению, 05.13.11, диссертация на тему:Разработка инструментальных средств многоуровневого управления в системах, основанных на знаниях

кандидата физико-математических наук
Алешин, Алексей Юрьевич
город
Москва
год
1993
специальность ВАК РФ
05.13.11
Автореферат по информатике, вычислительной технике и управлению на тему «Разработка инструментальных средств многоуровневого управления в системах, основанных на знаниях»

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



РОССИЙСКАЯ АКАДЕМИЯ НАУК ВЫЧИСЛИТЕЛЬНЫЙ ЦЕНТР'

На правах рукописи

.АЛЕШИН Алексей Юрьевич

РАЗРАБОТКА ИНСТРУМЕНТАЛЬНЫХ СРЕДСТВ МНОГОУРОВНЕВОГО УПРАВЛЕНИЯ В С1'* 1МАХ. ОСНОВАННЫХ НА ЗНАНИЯХ

Специальность 05.13.11. - Математическое и программное обеспечение вычислительных машин, комплексов, систем и сетей

Автореферат диссертации на соискание ученой степени кандидата физико-математических наук

Москва 1993

Работа выполнена в Вычислительном центре российской Академии Наук

Научный руководитель: доктор технических наук

д, А. Поспелов

Официальные оппоненты: доктор технических наук ^

о. н. Перминов,

кандидат Физико-математических наук К. Г. Перфильев

Ведущее предприятие: институт прикладной математики

Российской Академии Наук

.„ Зашита диссертации состоится 1993 г.

в 'А'-Оучасов на заседании специализированного совета к002. 32.01 по присуждению ученой степени кандидата Физико-математических наук при Вычислительном центре ран (117967, Москва, ул. Вавилова. 40, конференцзал).

С диссертацией можно ознакомиться в библиотеке Математического института РАН. 1^у у/*? >

Автореферат разослан "¿У." 1993 г.

Ученый секретарь специализированного совета, доктор физико-математических наук

К. В. Рудаков

ОБЩАЯ ХАРАКТЕРИСТИКА РАБОТЫ

Актуальность проблемы. Анализ тенденций развития исследований в области разработки и реализации систем, основанных на знаниях, показывает, что наибольшую актуальность приобретают вопросы, связанные с программно-аппаратной поддержкой таких систем. При этом наименее исследованными являются проблемы организации вывода решений и управления таким выводом. Проблема управления выводом решений приобретает все большее значение и в связи с появлением промышленных прикладных ЭС и интегрированных сред для их проектирования. В связи с этим возникает необходимость разработки и реализации инструментальных средств проектирования и модификации схем управления выводом решений в системах, основанных на знаниях.

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

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

Научная новизна. В диссертации на основании исследования существующего положения предложена классификация механизмов управления выводом и средств их поддержки в языках, используемых для построения систем, основанных на знаниях.

Определена абстрактная машины управления выводом. Сформулированы основные требования к средствам спецификации механизмов управления на основе исследования абстрактной машины, а также разработаны средства спецификации механизмов управления процессами вывода решений для эффективной организации работы со знаниями.

Разработан язык программирования РЕБУС, расширяющий возможности продукционных языков (типа РЕФАЛ) средствами спецификации управляющих механизмов. Язык дает возможность программисту планировать порядок вычислений на уровне входного языка и таким образом явно представлять структуру управлении

- г -

процессом вычислений.

Исследована мощность инструментального языка РЕБУС. Показаны возможности использования языка РЕБУС как промежуточного языка для компиляторов с языков представления знаний и как средства прямой реализации систем, основанных на знаниях.

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

Разработанный инструментальный язык программирования РЕБУС обеспечивает эффективное определение и модификацию машин вывода на уровне соответствующего языка представления знаний. Реализация инструментальной системы РЕБУС позволяет ускорить процесс проектирования модулей поддержки вывода решений и унифицировать способы внутреннего представления метазнаний.

На ПЭВМ IBM/PC реализованы интерпретатор и компилятор с языка РЕФАЛ/2, многооконный отладчик РЕФАЛ-программ для MS-DOS и Windows, реализованы интерпретатор и компилятор с языка РЕБУС, которые могут использоваться как автономно, так и в составе интегрированных инструментальных средств.

Внедрение результатов. Разработанное программное обеспечение внедрено в Институте программных систем РАН, Институте кибернетики АН Эстонии, Международной базовой лаборатории по искусственному интеллекту при Институте технической кибернетики Словацкой АН и других организациях, что подтверждено соответствующими актами.

Апробация. Основные результаты диссертационной работы докладывались и обсуждались на следующих семинарах и конференциях: Всесоюзной научно-технической конференции "Проблемы производственно-технического обеспечения сельского хозяйства в условиях агропромышленного комплекса" (Рязань, 1984), 3 Всесоюзной конференции "Автоматизация производства систем программирования" (Таллинн, 1986), Республиканском научно-техническом семинаре "Технология разработки экспертных систем" (Кишинев, 1987), Международной конференции КНВВТ по искусственному интеллекту (Пхеньян, КНДР, 1988), I всесоюзной конференции по искусственному интеллекту (Переславль-Залесск-ий, 1988), Республиканском научно-техническом семинаре "Проблемы применения экспертных систем в народном хозяйстве" (Ки-

шинев, 1989), II всесоюзной конференции по искусственному интеллекту (Минск, 1990), постоянно действующем семинаре ВЦ РАН "Проблемы искусственного интеллекта".

Публикации. По теме диссертации опубликовано 8 научных работ.

Структура работы. Диссертационная работа состоит из введения, трех глав и заключения, изложенных на 128 страницах, и двух приложений.

Список литературы содержит 72 наименования.

СОДЕРЖАНИЕ РАБОТЫ

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

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

Дается определение абстрактной машины управления выводом, описывается базовый алгоритм функционирования данной машины. Демонстрируется сводимость к базовому алгоритму абстрактной машины управляющих механизмов в языках программирования общего назначения, продукционных языках для программирования экспертных систем, языках инструментальных сред проектирования систем, основанных на знаниях.

Абстрактная машина в общем виде определяется как пятерка: М = <0, А. Т, <, Н>. где

О - множество объектов: структуры данных, которые интуитивно интерпретируются как декларативные знания. Это могут быть фреймы, семантические сети, триплеты вида (объект, атрибут, значение) и т.д.;

А - множество действий: структуры данных, которые интуитивно интерпретируются как процедурные знания. Это могут быть

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

Множество возможных состояний S определяется как S = Р(0) х Р(А), где

Р - обозначает множество всех подмножеств некоторого множества.

Т - множество возможных переходов, определенное соответствием

Т: S -> S х P(S);

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

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

Н < S.

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

"<" - отношение частичного порядка на множестве сохраненных состояний:

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

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

2. Выбор состояния.

3. Определение множества возможных переходов.

4. Выбор перехода.

5. Исполнение перехода.

6. Проверка условия остановки машины.

Машина останавливается при достижении заключительного состояния или при отсутствии доступного для активизации состояния.

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

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

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

Показано, что в процедурных языках типа Си, Паскаль и др. механизм управления представляет собой вырожденный случай базового алгоритма, где отсутствует не только выбор состояния, но и выбор перехода, поскольку порядок действий жестко фиксируется набором языковых конструкций и их последовательностью. Использование механизма прерываний в языках типа PL/1 и Ада ведет к увеличению числа переходов из каждого состояния. При этом стадия выбора перехода впервые расширяется процедурой анализа исключительных ситуаций. Концепции многозадачности и сопрограммного управления также приводят к отказу от единственности перехода. Появляются специальные управляющие объекты и процедуры, обеспечивающие обмен сообщениями между задачами и синхронизацию выполнения отдельных задач.

Продукционные языки, используемые в экспертных системах типа EXPERT, AM, SPEIS, ориентированы на концепцию "agenda''-управления. В них также не выделяется стадия выбора состояния, а внимание концентрируется на построении эффективных эвристических процедур выбора перехода. Для этой цели используются не только оценки возможных фактов или давности их изменения, но и оценки отдельных компонентов фреймов и продукций. Выбор состояния моделируется вычисляемыми приоритетами гипотез и фокусированием внимания на гипотезах с наибольшими оценками.

В управляющих механизмах развитых языков обязательно присутствуют стадии манипулирования состояниями. В этом случае возникают задачи сохранения состояний и обеспечения корректных возвратов для продолжения поиска (backtracking). Если дерево поиска строится в определенном направлении (например, сначала вглубь) и возврат к предшествующему состоянию происходит при невозможности выполнить хотя бы один переход из данного состояния, то такой способ возврата называется безусловным. Если же в процессе возврата при выборе состояния-кандидата используются некоторые эвристические процедуры (например, метаправила), то такой способ возврата называется избирательным.

В управляющих механизмах наиболее мощных инструментальных

сред КЕЕ и ART могут быть выделены все стадии базового алгоритма. Концепция "возможных миров" позволяет использовать как безусловный, так и избирательный способы возврата. Если пространство поиска невелико, дерево поиска строится автоматически по всем направлениям, и возврат происходит при появлении в базе знаний противоречий. При вероятном комбинаторном взрыве программист сам должен задавать рестарт-точки, в которых создается новое состояние, и непосредственно определять необходимость возврата.

Анализ литературы, посвященной проблеме управления выводом решений в системах, основанных на знаниях, показывает, что на современном этапе не существует специализированных средств, позволяющих проводить исследования схем управления выводом решений, осуществлять их обоснованные реализации, сравнение и дальнейшее развитие. В связи с этим в диссертации ставится задача разработки таких инструментальных средств, которые позволили бы проектировать и модифицировать механизмы управления выводом. Решению этой задачи посвящены вторая и третья главы.

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

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

- наличие простых средств представления структурированных и взаимосвязанных объектов;

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

- явное выделение компоненты, специфицирующей управление процессом вывода решений;

- возможность структурирования правил вывода;

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

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

Далее рассматривается инструментальная система РЕБУС, ее

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

В основе языка РЕБУС (как и его прототипа - языка РЕФАЛ) лежит понятие рекурсивной функции, определенной на множестве произвольных символьных выражений, которые могут быть структурированы с помощью скобок. РЕБУС-программа состоит из множества описаний функций. Каждое описание функции содержит несколько предложений, состоящих из левой и правой частей, отделенных друг от друга знаком равенства. Левая часть предложения представляет собой образец для распознавания структурированной цепочки символов, а правая - результат преобразо-. вания того, что отождествилось с образцом в левой части. Формирование образцов достигается введением трех базисных типов переменных - символа (э),. произвольного выражения (е) и терма (символа или произвольного выражения в скобках (Ю). а также использованием спецификаторов базисных типов, уточняющих перечисленные синтаксические классы.

Процесс вычислений, порождаемый РЕБУС-программой, может быть описан в терминах РЕБУС-машины. РЕБУС-машина имеет два основных запоминающих устройства: поле памяти (ПГТ) и поле зрения (ПЗ). ПП содержит описание набора функций, а в ПЗ -выражение, подлежащее вычислению (совокупность функциональных термов - ф-термов). ПЗ в РЕБУС-машине является иерархическим. В работе вводится понятие иерархического процесса как множества процессов, на котором задано отношение "управляющий-управляемый". Один уровень ПЗ соответствует одному уровню иерархического процесса. Для фиксации связи между процессами разных уровней вводится новый тип символов - "указатель на ф-терм" (р-символы). Поскольку р-символы являются разновидностью символов, для их отождествления в РЕБУС-предложениях можно использовать э-переменные и действия с р-символами (размножение, перестановка, удаление), подобные действиям с другими символами языка РЕБУС.

При запус иерархического процесса активизируются все составляющие его процессы. Затем РЕБУС-машина начинает по шагам выполнять функции процесса первого уровня, используя стандартную стратегию "слева-направо-сперва-вглубь" . Работа РЕБУС-машины продолжается до тех пор. пока в ПЗ первого уров-

ня не останется выражений, подлежащих вычислению. Результатом работы РЕБУС-машины считается содержимое ПЗ процессов всех уровней.

Иерархический процесс в целом образует как бы пирамиду процессов, на вершине которой находится процесс, "аппаратно" реализующий стандартную РЕБУС-стратегию "слева-направо-сперва -вглубь". В основании пирамиды - некоторый процесс, работающий на конечный результат (так называемый предметный процесс). Между ними - совокупность планировщиков разной степени сложности и абстрактности. Для описания начальной вертикальной зависимости функций существует специальное ключевое слово "control", за которым слева направо следуют имена функций в направлении от управляющих к управляемым.

Для раскрытия внутренней структуры и содержания р-симво-лов в РЕБУСе предложен новый тип спецификатора - спецификатор -окно. Спецификатор-окно позволяет "взглянуть" через р-символ на ПЗ управляемого уровня как на объектную структуру и скорректировать, при необходимости, его содержимое. В процессе синтаксического отождествления текущего выражения РЕБУС-машина, встретив р-символ, переходит к отождествлению выражения, на которое указывает р-символ, с предложением, записанным в спецификаторе-окне.

В язык РЕБУС введены конструкции "выполнить функцию подчиненного уровня" и "породить ф-терм", что дает возможность непосредственно управлять процессом вычислений на управляемом уровне.

В оставшейся части второй главы обсуждаются принципы реализации языка РЕБУС на персональных ЭВМ. Предлагается компилировать программы на языке РЕБУС в программы на языке сборки, который фактически является ассемблером абстрактной РЕБУС-машины, а затем интерпретировать команды языка сборки на ПЭВМ.

Организация памяти определяется особенностями объектов входного языка инструментальной системы и системного механизма управления работой РЕБУС-машины. В связи с тем, что выражение в языке РЕБУС - объект, . который необходимо просматривать как слева направо, так и справа налево, поле зрения представляется в виде двусвязного списка. Такая структура по-

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

Среди операторов языка сборки выделяются:

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

- операторы отождествления свободных переменных;

- операторы передачи управления с одного предложения на другое;

- операторы спецификации переменных;

- операторы выполнения функций в процессе отождествления;

. - операторы преобразования поля зрения;

- операторы завершения одного шага и подготовка к выполнению следующего.

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

В состав инструментальной системы РЕБУС входят: компилятор, интерпретатор языка сборки, интерактивный отладчик программ на уровне входного языка системы и библиотека встроенных функций.

Компилятор принимает на входе файл с текстом исходной программы и на выходе генерирует программу на языке сборки РЕБУС-машины, которая встраивается в стандартный объектный модуль. Компилятор позволяет генерировать модули как для исполнения в среде MS DOS, так и в среде Windows, а также включать в объектный модуль дополнительную информацию для отладчика.

В данной системе поддерживается модульный принцип построения программ. Компилятор осуществляет раздельную компиляцию отдельных модулей, которые затем собираются в единую программу компоновщиком. Кроме того, для исполнния программы в среде Windows, отдельные модули системы могут быть помещены в динамически загружаемые ' библиотеки (DLL).

Интерпретатор языка сборки стыкуется с программой в про-

цессе компоновки. На этапе выполнения вначале получает управление интерпретатор, который организует среду функционирования системы, обеспечивает корректную интерпретацию функций системы и интерфейс с модулями, написанными на внешнем для системы языке (например. Си). Кроме того интерпретатор контролирует наличие системных ресурсов и обеспечивает интерактивный отладчик необходимой информацией.

Библиотека встроенных функций системы РЕБУС содержит достаточно широкий набор функций, включая функции работы с текстовыми файлами, целочисленной арифметики, примитивы лексического анализа.

Интерактивный многооконный отладчик программ на уровне входного языка позволяет:

- задавать имя программы для отладки;

- просматривать текстовые файлы;

- выполнять программы как в отладочном, так и стандартном режимах;

- расставлять точки останова (breakpoints) на самом тексте программы, загруженном в окно просмотра;'

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

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

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

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

В среде отладчика пользователю доступны следующие информационные окна:

- Окно исходного текста. В данном окне отображается текст исходных файлов программы. Кроме того существует возможность загрузки и просмотра произвольных текстовых файлов.

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

остановки (прерывания) работы интерпретатора. Для каждого вида информации выделено отдельное окно.

Команды пользователя воспринимаются через систему меню или по нажатию функциональных клавиш. Система меню поддерживает полный набор отладочных команд, например, команды работы с файлами и модулями, команды запуска и трассировки программ, команды манипулирования окнами наблюдения и точками останова (breakpoints), команды помощи.

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

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

Интерактивный отладчик реализован как для DOS, так и для среды Windows. Реализация отладчика в среде Windows имеет свои особенности.

В среде Windows отладчик и отлаживаемая программа представляют собой относительно независимые задачи и взаимодействие между ними реализовано не на базе механизма прерываний, а с помощью посылки сообщений на основе динамического обмена данными (Dynamic Data Exchange). Интерпретатор вместо прерываний посылает отладчику сообщения определенного вида и переходит в состояние ожидания ответного сообщения отладчика. Передача данных о состоянии отлаживаемой программы также происходит на основе обмена сообщениями. Отладчик посылает запросы на передачу данных, а интерпретатор передает либо определенную порцию данных, либо сигнал об окончании блока данных.

Интерфейс с пользователем реализован на основе механизма, называемого многодокуентный интерфейс (MDI), который является стандартным средством в среде Windows и разработан специально для построения многооконных систем. В рамках данного интерфейса в отладчике используются отдельные классы окон для окна просмотра текстов исходных файлов и для окон наблюдений.

Объем исходных текстов инструментальной системы РЕБУС

составляет более 10000 строк на языке Си. Тестирование проведено на представительном множестве примеров.

В третьей главе проводится исследование мощности инструментального языка РЕБУС, разрабатываются методы реализации стратегий управления выводом решений, показаны возможности мспользования языка РЕБУС как промежуточного языка для компиляторов с языков представления знаний и как средства прямой реализации систем, основанных на знаниях.

Исследование позволяет сделать вывод, что мощность языка РЕБУС совпадает с мощностью нормальных алгорифмов Маркова. Программа на языке РЕБУС, состоящая из одной функции, эквивалентна схеме нормального алгорифма, где одна подстановка в схеме алгорифма соответствует одному предложению функции на РЕБУСе. Программа на языке РЕБУС, состоящая из нескольких функций, эквивалентна алгорифмам, определенным на системе из нескольких схем, где существует взаимнооднозначное соответствие между схемами и функциями. Показано, что использование вложенных функций и функций в левых частях предложений не приводит к увеличению мощности языка. Что касается введенного в язык РЕБУС явно определенного уровня управления, то на основании известной теоремы о существовании универсального алгорифма, делается вывод о возможности исключения управляющего уровня путем написания соответствующего интерпретатора функций языка РЕБУС.

Метод реализации стратегии управления выводом решений заключается в создании модели механизма управления путем специфицирования управляющего цикла, объектов и действий абстрактной машины, введенной в первой главе. Реализация производится различным образом в зависимости от особенностей исходного механизма управления и управляемых объектов: Для систем, основанных на знаниях, механизм управления отражает знания о способе решения задачи, а управляемые объекты являются компонентами описания самой задачи. Средствами языка РЕБУС адекватно представляются оба типа знаний.

При возможности описать задачу в виде И/ИЛИ дерева программа на РЕБУСе, определяющая внутреннее представление задачи, . имеет следующую структуру. Отдельная функция описывает ИЛИ-вершину. Число предложений в функции соответствует количеству ИЛИ-дуг из данной вершины. Правая часть предложения

определяет список функций, которые должны быть успешно выполнены для перехода по соответствующей дуге (И-список). Программа на РЕБУСе, определяющая способ решения задачи, реализует процедуру раскрытия И/ИЛИ дерева. В простейшем случае эта программа задает поиск в глубину или в ширину с автоматическим возвратом при неуспешном раскрытии текущей вершины. А в общем случае планировщик выбирает вершину для раскрытия на основании дополнительной информации о задаче.

Если задача описывается продукционной системой и способом решения является прямая стратегия вывода, то в составе РЕБУС-программы выделяется отдельная функция, в которую сгруппированы все правила. Одно предложение этой функции соответствует конкретной продукции. При этом планировщик в цикле реализует следующие функции: формирование конфликтного множества, выбор правила для выполнения (разрешение конфликтного множества) и исполнение выбранного правила. Планировщик может учитывать приоритеты правил - кандидатов на выполнение, а также использовать специальные функции усечения конфликтного множества в целях повышения эффективности процесса решения задачи.

Анализ выразительных средств языка РЕБУС (сопоставление с образцом, структуризация функций, рекурсия, "прозрачный" системный механизм управления и т. д.) дает возможность рассматривать этот язык как инструмент прямой реализации систем, основанных на знаниях. Кроме того, возможность представления средствами языка РЕБУС знаний о структуре задачи и способе ее решения, позволяет использовать его в качестве промежуточного языка для компиляторов с различных языков представления знаний. Способ преставления конструкций входного языка компилятора на языке РЕБУС определяется структурой и возможностями механизма управления.

В работе достаточно детально обсуждаются вопросы реализации средствами предложенного языка ряда классических задач ИИ. Анализ соответствующих РЕБУС-программ показывает выразительность и эффективность разработанных средств.

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

1. На основании исследования существующего положения предложена классификация механизмов управления выводом и

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

2. Определена абстрактная машины управления выводом. Сформулированы основные требования к средствам .спецификации механизмов управления на основе исследования абстрактной машины, а также разработаны средства спецификации механизмов управления процессами вывода решений для эффективной организации работы со знаниями.

3. Разработан язык программирования РЕБУС, расширяющий возможности традиционных языков символьной обработки средствами спецификации управляющих механизмов. Язык дает возможность программисту планировать порядок вычислений на уровне входного языка и таким образом явно представлять структуру управления процессом вычислений.

4. Исследована мощность инструментального языка РЕБУС. Показаны возможности использования языка РЕБУС как промежуточного языка для компиляторов с языков представления знаний и как средства прямой реализации систем, основанных на знаниях.

5. На ПЭВМ IBM/PC реализованы интерпретатор и компилятор с языка РЕФАЛ/2, многооконный отладчик РЕФАЛ-программ. реализованы интерпретатор и компилятор с языка РЕБУС.

В приложения вынесены описание операционной семантики языка сборки и синтаксические диаграммы языка РЕБУС.

Основные результаты диссертации опубликованы в следующих работах:

1). Алешин А.Ю. Расширение системы программирования РЕФАЛ ИНЭС для построения эффективной диалоговой системы в АСУ МТС // Материалы Всесоюзной научно-технической конференции "Проблемы производственно-технического обеспечения сельского хозяйства в условиях агропромышленного комплекса". - Рязань, 1984. - С. 118 - 121

2). Алешин А. Ю., Шерстнев В. Ю. Система программирования РЕФАЛ/2 для персональных ЭВМ // Тез. докл. 3 Всесоюзной конференции "Автоматизация производства систем программирования". - Таллинн. 1986. - С. 50-52

3). Алешин А.Ю.. Шерстнев В.Ю. Базовый инструментарий в системе ПИЭС // Технология разработки экспертных систем. / Тез. докл. Республиканского научно-технического семинара. -

Кишинев, 1987. - С. 5-9

4). Алешин А.Ю., Хорошевский В.Ф. Генерация каркасов экспертных систем в инструментальной среде ПиЭС // Методы искусственного интеллекта и их применение / Труды Международной конференции КНВВТ по искусственному интеллекту. - Пхеньян, 1988. - С. 162-168

5). Алешин А.Ю., Хорошевский В.Ф. Язык РЕБУС: модели управления выводом и их программная поддержка // Тез. докл. 1-й Всесоюзной конф. по искусственному интеллекту. - М., ВИНИТИ, 1988. - Том 3, С. 150-156

6). Алешин А.Ю. Программируемое управление выводом в ЯПЗ РЕБУС // Проблемы применения экспертных систем в народном хозяйстве / Тез. докл. Республиканской школы-семинара. - Кишинев, 1989. - С. 7-10

7). Алешин А. Ю., Хорошевский В.Ф., Шерстнев В.Ю., Щенни-ков С.Ю. ПиЭС - программный инструментарий для эксепртных систем // Искусственный интеллект: Справочник. - М., Радио и связь, 1990. - Том 3, С. 155-168

8). Алешин А.Ю. Спецификация управления в машинах вывода для ЭС // В сб.: Искусственный интеллект - основа новой информационной технологии. - Калинин, Центрпрограммсистем, 1990, С. 48-57