logo search
Informatics

13.3. Классификация инструментальных средств эс

В широком толковании в инструментарий включают и аппаратуру, ориентированную на разработку ЭС (аппаратурный инструментарий).

На проектирование и создание одной ЭС раньше требовалось 20 30 чел.-лет. В настоящее время имеется ряд средств, ускоряющих создание ЭС. Эти средства называются инструментальными (ИС), или инструментарием. Использование ИС сокращает время разработки ЭС в 3-5раз.

Экспертные системы выполняются на ЭВМ следующих типов: общего назначения; ПЭВМ; интеллектуальные рабочие станции (т.е. рабочие станции типа San, Appolo и др., снабженные эффективными ИС для создания ЭС); последовательные символьные ЭВМ типа ЛИСП - машин (Symbolik-3670, Alpha, Explorer, Xerox 1100 и др.) и ПРОЛОГ - машин; параллельные символьные ЭВМ (Corinection, Dado, Faun, Hyper Cube и др.).

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

Назначение определяет, для работы в каких проблемных областях и для создания какой стадии ЭС предназначено ИС.

По степени отработанности ИС обычно выделяют три стадии существования: экспериментальная, исследовательская, коммерческая.

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

По типу ИС классифицируются следующим образом:

1) символьные языки программирования, ориентированные на создание ЭС и систем ИИ (например, LISP, INTERLISP, SMALLTALK);

2) языки инженерии знаний, т.е. языки высокого уровня, ориентированные на построение ЭС (например, OPS-5, LOOPS, KES, ПРОЛОГ);

3) системы, автоматизирующие разработку (проектирование) ЭС (например, КЕЕ, ART, TEIRESIAS, AGE, Т1ММ), их часто называют окружением (environment) для разработки систем ИИ, ориентированных на знания;

4) оболочки ЭС (или пустые ЭС) - ЭС, не содержащие знаний нив какой проблемной области (например, ЭКСПЕРТИЗА, EMYCIN, ЭКСПЕРТ).

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

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

Подчеркнем, что развитие систем, автоматизирующих разработку

ЭС, приводит к появлению ИС, которые можно назвать настраиваемыми оболочками. Эти ИС позволяют разработчику использовать оболочку не как нечто неизменное, а генерировать оболочку из множества механизмов, имеющихся в ИС. Типичными таймерами таких ИС являются КЕЕ, ART, ЭКСПЕРТИЗА, ГЛОБ.

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

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

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

Универсальность функционирования характеризует механизмы <парадигмы), определяющие, как в ИС задается поведение (функционирование) системы, и принимает следующие значения: единый механизм функционирования - ИС использует один механизм функционирования; интегральное функционирование - ИС попускает интегральное использование нескольких механизмов функционирования; универсальное функционирование - ИС допускает интегральное использование всех основных механизмов. К основным механизмам (парадигмам программирования) относятся: процедурное программирование; обратное программирование; программирование, ориентированное на данные; программирование, ориентированное на правила. В связи с тем, что парадигмы программирования мало известны, поясним их.

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

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

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

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

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

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

Основные свойства определяют особенности ИС с точки зрения реализации компонентов ЭС.

Среда функционирования определяет тип ЭВМ, на которой реализовано ИС, тип операционной системы, в среде которой ИС рабогает, и используемый язык программирования.