Характеристика инструментальных средств
3.2. Характеристика инструментальных средств
Трудоемкость разработки ИИС в значительной степени зависит от используемых инструментальных средств. Инструментальные средства для разработки интеллектуальных приложений можно классифицировать по следующим основным параметрам:
• уровень используемого языка;
• парадигмы программирования и механизмы реализации;
• способ представления знаний;
• механизмы вывода и моделирования;
• средства приобретения знаний;
• технологии разработки приложений.
Уровень используемого языка. Мощность и универсальность языка программирования определяет трудоемкость разработки ЭС.
Рекомендуемые материалы
1. Традиционные (в том числе объектно-ориентированные) языки программирования типа С, С++ (как правило, они используются не для создания ЭС, а для создания инструментальных средств).
2. Специальные языки программирования (например, язык LISP, ориентированный на обработку списков; язык логического программирования PROLOG; язык рекурсивных функций РЕФАЛ и т.д.). Их недостатком является слабая приспособленность к объединению с программами, написанными на языках традиционного программирования.
3. Инструментальные средства, содержащие многие, но не все компоненты ЭС (например, система ОРS 5, которая поддерживает продукционный подход к представлению знаний; языки КRL и FRL, используемые для разработки ЭС с фреймовым представлением знаний). Такое программное обеспечение предназначено для разработчиков, владеющих технологиями программирования и умеющих интегрировать разнородные компоненты в программный комплекс.
4. Оболочки ЭС общего назначения, содержащие все программные компоненты, но не имеющие знаний о конкретных предметных средах. Средства этого типа и последующего не требуют от разработчика приложения знания программирования. Примерами являются ЭКО, Leonardo, Nexpert Object, Карра, ЕХSYS, GURU, ART, КЕЕ и др. В последнее время все реже употребляется термин «оболочка», его заменяют более широким термином «среда разработки». Если хотят подчеркнуть, что средство используется не только на стадии разработки приложения, но и на стадиях использования и сопровождения, то употребляют термин «полная среда» (complete environment). Для поддержания всего цикла создания и сопровождения программ используются интегрированные инструментальные системы, например КЕATS, VITAL. Основными компонентами системы КЕATS являются: ACQUIST - средства фрагментирования текстовых источников знаний, позволяющие разбивать текст или протокол беседы с экспертом на множество взаимосвязанных, аннотированных фрагментов и создавать понятия (концепты); FLIK — язык представления знаний средствами фреймовой модели; GIS — графический интерфейс, используемый для создания гипертекстов и концептуальных моделей, а также для проектирования фреймовых систем; ERI — интерпретатор правил, реализующий процедуры прямого и обратного вывода; TRI — инструмент визуализации логического вывода, демонстрирующий последовательность выполнения правил; ТаЫеs — интерфейс манипулирования таблицами, используемыми для хранения знаний в БЗ; CS — язык описания и распространения ограничений; TMS — система поддержания истинности.
При использовании инструментария данного типа могут возникнуть следующие трудности:
а) управляющие стратегии, заложенные в механизм вывода, могут не соответствовать методам решения, которые использует эксперт, взаимодействующий с данной системой, что может привести к неэффективным, а возможно, и неправильным решениям;
б) способ представления знаний, используемый в инструментарии, мало подходит для описания знаний конкретной предметной области.
Большая часть этих трудностей разрешена в проблемно/предметно-ориентированных средствах разработки ИИС.
5. Проблемно/предметно-ориентированные оболочки и среды (не требуют знания программирования):
• проблемно-ориентированные средства — предназначены для решения задач определенного класса (задачи поиска, управления, планирования, прогнозирования и др.) и содержат соответствующие этому классу альтернативные функциональные модули;
• предметно-ориентированные средства — включают знания о типах предметных областей, что сокращает время разработки БЗ.
При использовании оболочек и сред разработчик приложения полностью освобождается от программирования, его основные трудозатраты связаны с формированием базы знаний.
Парадигмы программирования и механизмы реализации. Способы реализации механизма исполняемых утверждений часто называют парадигмами программирования. К основным парадигмам относят следующие:
• процедурное программирование;
• программирование, ориентированное на данные;
• программирование, ориентированное на правила;
• объектно-ориентированное программирование.
Парадигма процедурного программирования является самой распространенной среди существующих языков программирования (например, С и Паскаль). В процедурной парадигме активная роль отводится процедурам, а не данным; причем любая процедура активизируется вызовом. Подобные способы задания поведения удобны для описаний последовательности действий одного процесса или нескольких взаимосвязанных процессов.
При использовании программирования, ориентированного на данные, активная роль принадлежит данным, а не процедурам. Здесь со структурами активных данных связывают некоторые действия (процедуры), которые активизируются тогда, когда осуществляется обращение к этим данным.
В парадигме, ориентированной на правила, поведение определяется множеством правил вида «условие-действие». Условие задает образ данных, при возникновении которого действие правила может быть выполнено. Правила в данной парадигме играют такую же роль, как и операторы в процедурной парадигме. Однако если в процедурной парадигме поведение задается последовательностью операторов, не зависящей от значений обрабатываемых данных, то в парадигме, ориентированной на правила, поведение не задается заранее предписанной последовательностью правил, а формируется на основе значений данных, которые в текущий момент обрабатываются программой. Подход, ориентированный на правила, удобен для описания поведения, гибко и разнообразно реагирующего на большое многообразие состояний данных.
Парадигма объектного программирования в отличие от процедурной парадигмы не разделяет программу на процедуры и данные. Здесь программа организуется вокруг сущностей, называемых объектами, которые включают локальные процедуры (методы) и локальные данные (переменные). Поведение (функционирование) в этой парадигме организуется путем пересылки сообщений между объектами. Объект, получив сообщение, осуществляет его локальную интерпретацию, основываясь на локальных процедурах и данных. Такой подход позволяет описывать сложные системы наиболее естественным образом. Он особенно удобен для интегрированных ЭС.
Способ представления знаний. Наличие многих способов представления знаний вызвано стремлением представить различные типы проблемных сред с наибольшей эффективностью. Обычно способ представления знаний в ЭС характеризуют моделью представления знаний. Типичными моделями представления знаний являются правила (продукции), фреймы (или объекты), семантические сети, логические формулы. Инструментальные средства, имеющие в своем составе более одной модели представления знаний, называют гибридными. Большинство современных средств, как правило, использует объектно-ориентированную парадигму, объединенную с парадигмой, ориентированной на правила.
Механизмы вывода и моделирования. В статических ЭС единственным активным агентом, изменяющим информацию, является механизм вывода экспертной системы. В динамических ЭС изменение данных происходит не только вследствие функционирования механизма исполняемых утверждений, но также в связи с изменениями окружения задачи, которые моделируются специальной подсистемой или поступают извне. Механизмы вывода в различных средах могут отличаться способами реализации следующих процедур.
1. Структура процесса получения решения:
• построение дерева вывода на основе обучающей выборки (индуктивные методы приобретения знаний) и выбор маршрута на дереве вывода в режиме решения задачи;
• компиляция сети вывода из специфических правил в режиме приобретения знаний и поиск решения на сети вывода в режиме решения задачи;
• генерация сети вывода и поиск решения в режиме решения задачи, при этом генерация сети вывода осуществляется в ходе выполнения операции сопоставления, определяющей пары «правило — совокупность данных», на которых условия этого правила удовлетворяются;
• в режиме решения задач ЭС осуществляет выработку правдоподобных предположений (при отсутствии достаточной информации для решения); выполнение рассуждений по обоснованию (опровержению) предположений; генерацию альтернативных сетей вывода; поиск решения в сетях вывода.
2. Поиск (выбор) решения:
• направление поиска — от данных к цели, от целей к данным, двунаправленный поиск;
• порядок перебора вершин в сети вывода — «поиск в ширину», при котором сначала обрабатываются все вершины, непосредственно связанные с текущей обрабатываемой вершиной G; «поиск в глубину», когда сначала раскрывается одна наиболее значимая вершина – G1 связанная с текущей G, затем вершина G1 делается текущей, и для нее раскрывается одна наиболее значимая вершина G2 и т. д.
3. Процесс генерации предположений и сети вывода:
• режим — генерация в режиме приобретения знаний, генерация в режиме решения задачи;
• полнота генерируемой сети вывода — операция сопоставления применяется ко всем правилам и ко всем типам указанных в правилах сущностей в каждом цикле работы механизма вывода (обеспечивается полнота генерируемой сети); используются различные средства для сокращения количества правил и (или) сущностей, участвующих в операции сопоставления; например, применяется алгоритм сопоставления или используются знания более общего характера (метазнания).
Механизм вывода для динамических проблемных сред дополнительно содержит: планировщик, управляющий деятельностью ЭС в соответствии с приоритетами; средства, гарантирующие получение лучшего решения в условиях ограниченности ресурсов; систему поддержания истинности значений переменных, изменяющихся во времени.
В динамических инструментальных средствах могут быть реализованы следующие варианты подсистемы моделирования:
• система моделирования отсутствует;
• существует система моделирования общего назначения, являющаяся частью инструментальной среды;
• существует специализированная система моделирования, являющаяся внешней по отношению к программному обеспечению, на котором реализуется ЭС.
Средства приобретения знаний. В инструментальных системах они характеризуются следующими признаками:
1. Уровень языка приобретения знаний:
• формальный язык;
• ограниченный естественный язык;
• язык пиктограмм и изображений;
• ЕЯ и язык изображений.
2. Тип приобретаемых знаний:
• данные в виде таблиц, содержащих значения входных и выходных атрибутов, по которым индуктивными методами строится дерево вывода;
Рекомендация для Вас - 23. Судьба «Униты» в 80 годы.
• специализированные правила;
• общие и специализированные правила.
3. Тип приобретаемых данных:
• атрибуты и значения;
• объекты;
• классы структурированных объектов и их экземпляры, получающие значения атрибутов путем наследования.