Инструментальные средства проектирования ЭС

Для проектирования и создания экспертных систем в настоящее время используются инструментальные средства разработки экспертных систем.

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

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

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

1. Оболочки экспертных систем (готовые ЭС без базы знаний)

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

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

Примером может служить система EMYCIN, созданная на основе прошедшей длительную «обкатку» системы MYCIN.

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

2. Языки программирования высокого уровня

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

Для разработки ЭС первоначально использовались логические языки (Пролог (Prolog), Лисп (LISP) и т. д.). В 1970-х годах в качестве альтернативы Лиспу и Прологу был разработан язык OPS5 (язык программирования, основанный на правилах).

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

В качестве специализированных языков используются: FRL - язык фреймовых представлений, KRL (Knowledge Representation Language) и SmallTalk - объектно-ориентированный язык программирования с динамической типизацией.

3. Среда программирования, поддерживающая несколько парадигм

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

Среди первых проектов такого рода была исследовательская программа LOOP, которая допускала использование двух типов представления знаний: базирующегося на системе правил и объектно-ориентированного. На основе этой архитектуры во второй половине 1980-х годов было разработано несколько коммерческих программных продуктов, из которых наибольшую известность получили: KEE (Knowledge Engineering Environment – среда разработки знаний) – инструмент разработки ЭС, основанный на фреймах и KnowledgeCraft.

Современными примерами продуктов этой группы являются КАРРА и CLIPS (данные языки унаследовали свой синтаксис и механизм активизации правил от OPS5).

Следует отметить, что большинство программных средств этой группы так и не было доведено до коммерческого продукта и представляет собой скорее инструмент для исследователя.

4. Дополнительные модули

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