ИНСТРУМЕНТАЛЬНЫЕ СРЕДСТВА РАЗРАБОТКИ ЭКСПЕРТНЫХ СИСТЕМ
Классификация инструментальных средств разработки экспертных систем
Программные средства, базирующиеся на технологии и методах искусственного интеллекта, получили в мире значительное распространение. Их важность, и в первую очередь важность экспертных систем, состоит в том, что они существенно расширяют круг практически значимых задач, которые можно решать на компьютерах, что приносит значительный экономический эффект.
При разработке практически всех инструментальных средств за основу принимается методология автоматизации проектирования на базе использования прототипов. По отношению к программному обеспечению термин «прототип» означает «работающая модель программы, которая функционально эквивалентна подмножеству конечного продукта».
Идея состоит в том, чтобы на ранней стадии работы над проектом разработать упрощенную версию конечной программы, которая могла бы послужить доказательством продуктивности основных идей, положенных в основание проекта. Прототип должен быть способен решать какую-либо из нетривиальных задач, характерных для заданной области применения. На основе анализа опыта работы с прототипом разработчики могут уточнить требования к системе в целом и ее основным функциональным характеристикам. Работоспособность прототипа может послужить очевидным доказательством возможности решения проблем с помощью создаваемой системы еще до того, как на ее разработку будут потрачены значительные средства.
Тот факт, что при разработке экспертных систем есть возможность сначала построить и всесторонне испытать прототип, позволяет избежать множества переделок в процессе создания рабочей версии системы. Но технология последовательного наращивания функциональных возможностей влечет за собой и проблему интеграции новых функций с реали зованными в предыдущих вариантах. Инструментальные средства разработки экспертных систем и создавались, в первую очередь, с целью преодоления возникающих при этом сложностей на основе модульного представления знаний.
По своему назначению и функциональным возможностям инструментальные программы, применяемые при проектировании экспертных систем, можно разделить на следующие категории:
- 1) языки программирования;
- 2) оболочки экспертных систем;
- 3) средства автоматизации проектирования экспертных систем.
На выбор инструментального средства разработки ЭС оказывают влияние следующие факторы:
- • затраты труда на построение ЭС или ее прототипа с помощью данного инструментального средства;
- • эффективность функционирования ЭС, построенной на основе данного средства;
- • квалификация разработчика, необходимая для его применения.
Языки программирования
К наиболее распространенным языкам программирования, предназначенным для решения задач искусственного интеллекта, относятся Лисп и Пролог. Есть и менее распространенные языки искусственного интеллекта, например, РЕФАЛ, разработанный в России.
Также одним из наиболее известных представителей таких языков является OPS5. Он прост в изучении и предоставляет программисту гораздо более широкие возможности, чем типичные специализированные оболочки.
Универсальность языков програмирования меньше, нежели у традиционных языков, но ее потерю языки искусственного интеллекта компенсируют богатыми возможностями по работе с символьными и логическими данными, что крайне важно для задач искусственного интеллекта.
На основе языков искусственного интеллекта создаются специализированные компьютеры (например, Лисп-машины), предназначенные для решения задач искусственного интеллекта. Недостаток этих языков -неприменимость для создания гибридных экспертных систем.
Общим недостатком языков программирования для создания экспертных систем являются: большое время разработки готовой системы, необходимость привлечения высококвалифицированных программистов, трудности с модификацией готовой системы. Все это делает применение языков программирования для реализации ЭС весьма дорогостоящим и трудоемким.
Следует отметить, что большинство подобных языков так и не было доведено до уровня коммерческого продукта и представляет собой скорее инструмент для исследователей.
Оболочки экспертных систем
Под оболочками экспертных систем понимают «пустые» версии существующих экспертных систем, т. е. готовые экспертные системы без базы знаний.
Системы этого типа создаются, как правило, на основе какой-либо экспертной системы, достаточно хорошо зарекомендовавшей себя на практике. При создании оболочки из системы-прототипа удаляются компоненты, слишком специфичные для области ее непосредственного применения, и оставляются те, которые не имеют узкой специализации.
Примером такой оболочки может служить EMYCIN (Empty MYCIN - пустой MYC1N), которая представляет собой незаполненную экспертную систему MYCIN. В EMYCIN сохранен интерпретатор и все базовые структуры данных - таблицы знаний и связанный с ними механизм индексации. Оболочка дополнена специальным языком, улучшающим читабельность программ, и средствами поддержки библиотеки типовых случаев и заключений, выполненных по ним экспертной системой. Дальнейшим развитием оболочки EMYCIN явились системы S. 1 и М.4, в которых механизм построения цепочки обратных рассуждений, заимствованный из EMYCIN, объединен с фреймоподобной структурой данных и дополнительными средствами управления ходом рас-суждений.
Основным свойством оболочек является то, что они содержат все компоненты ЭС в готовом виде и их использование не предполагает про граммирования, а сводится лишь к вводу в оболочку знаний о проблемной области. Каждая оболочка характеризуется фиксированным способом представления знаний и организации вывода, определенным набором компонентов.
При создании экспертной системы на основе оболочки требуются только специалисты в предметной области для заполнения базы знаний. Однако, если некоторая предметная область неудовлетворительно описывается моделью, используемой в некоторой оболочке, заполнить базу знаний представляется затруднительным.
Таким образом, оболочки ЭС ориентированы на работу с пользователем-непрофессионалом в области программирования.
Оболочки ЭС обладают следующими свойствами:
- • решают задачи класса расширения в статических предметных областях в условиях ненадежности знаний;
- • представляют процедурные знания в виде правил;
- • описывают предметную область в виде значений неструктурированных переменных и утверждений, снабженных мерой их истинности (определенности).
Средства автоматизации проектирования экспертных систем
Возможный состав средств автоматизации проектирования экспертных систем определяется следующими компонентами:
- 1) средства модификации функционирования оболочки;
- 2) набор компонентов, позволяющих конструировать собственные оболочки;
- 3) средства комплексирования компонентов в виде языка высокого уровня;
- 4) развитые интерактивные графические средства общения с пользователем.
Средства этой категории включают несколько программных модулей, что позволяет пользователю комбинировать в процессе разработки экспертной системы разные стили программирования. Среди первых проектов такого рода была исследовательская программа LOOP S, которая допускала использование двух типов представления знаний: базирующегося на системе правил и объектно-ориентированного подхода.
На основе этой архитектуры во второй половине 1980-х годов было разработано несколько коммерческих программных продуктов, из которых наибольшую известность получили КЕЕ, KnowledgeCraft и ART.
Интегрированная среда ART объединяет два формализма представления знаний: правила и фреймы, причем приоритет здесь отдается правилам. Модели вывода в среде ART традиционны: прямой и обратный, однако они могут объединяться в один механизм вывода. ART предлагает дружественный интерфейс с развитой системой подсказок, системой меню и графическим пакетом, а также редактор баз знаний.
В отличие от ART, инструментальное средство КЕЕ является средой, в основе которой лежат фреймы. Причем здесь слоты фреймов могут быть связаны с процедурными знаниями. Описание объектов и правил в КЕЕ осуществляется в виде иерархии фреймов. Каждый объект представляется слотами, которые могут иметь различные аспекты; последние, в свою очередь, могут иметь множественные значения. Интерфейс включает редактор базы знаний и графические средства.
Эти программы предоставляют в распоряжение квалифицированного пользователя множество опций, и для последующих разработок, таких как КАРРА и CLIPS, они стали своего рода стандартом.