Инструментарий создания ЭС

Есть много разнообразного ПРОГРАММНОГО обеспечения, предназначенного для разработки ЭС. Эти системы, реализованные на различных языках программирования, использующих различные платформы и операционные системы, ориентированные на различные типы задач, однако различаются по возможностям, которые они предоставляют разработчикам БС. Рассмотрим самые распространенные из них.

По назначению и функциональным возможностям инструментальные средства проектирования ЭС подразделяются на следующие категории:

o оболочки ЭС. Системы такого типа обычно создаются на основе определенной прикладной ЭС, которая достаточно хорошо зарекомендовала себя. Из системы-прототипа изымают компоненты, которые являются специфическими для конкретной. Примерами таких систем могут быть EMYCIN и М.4, созданные на основе MYCIN;

o языки программирования высокого уровня. Инструментальные средства этой категории избавляют разработчика от необходимости углубляться в детали реализации системы. Один из наиболее известных представителей этого класса - язык OPS5;

o среда программирования, поддерживающая несколько парадигм. Средства этой категории включают несколько программных модулей, что позволяет пользователю комбинировать в процессе разработки ЭС различные стили программирования. На основе этой архитектуры разработаны такие коммерческие продукты, как KEE, KnowledgeCraft и ART;

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

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

Разработка языка Common LISP связано с потребностью в стандартизации различных диалектов LISP. Для задач ИИ разработаны языка LOOPS и FLAVORS - объектно-ориентированные расширения LISP. Хотя на сегодня эти языки практически не используются, однако реализованные в них базовые идеи унаследованы многими языками представления знаний, что появились позже. Например, CLOS (Common LISP Object System) поддерживает такие свойства FLAVORS и LOOPS, как множественное наследование, объединение методов и структурирование метаклассов.

OPS-семейство языков представления знаний реализует продукционные системы с прямыми выводами. Сюда входят различные реализации языка OPS. Возможности управления решением конфликтов в этих языках разные. Например, в языке OPS5 предлагается выбрать одну из двух встроенных стратегий: LEX или MEA, а в OPS83 необходимо четко указывать, какое правило выбрать в каждой конфликтной ситуации (рис. 8.2).

Рис. 8.2. Выполнение программы на ОР85+

ОР85-И--это высокоуровневый язык продукционного программирования, которая содержит механизмы представления знаний и управления. Хотя эта система обеспечивает основные потребности инженерии знаний, она не ориентирована на конкретные стратегии решения задач или схемы представления знаний. Система дает возможность программисту использовать символы и представлять отношение между ними, однако эти символы и отношения не имеют заранее определенных значений. Они целиком зависят от правил, которые описывает программист. Механизм управления интерпретатора OPS5 - это простой цикл, детали которого пользователь разрабатывает в соответствии со своими потребностями.

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

Эта речь имеет следующие преимущества по сравнению с языке OPS5+:

o структурирование программ на программные модули, каждый из которых может разделяться на программные сегменты, что устраняет проблему ограничения размера БЗ, поскольку предусмотрена возможность подкачки БЗ во время работы программы;

o стратегия работы машины вывода может программироваться пользователем или избираться из библиотеки стратегий.

Текст программы на OPS-H подается графическими структурами в виде Г-графов, что дает возможность уменьшить количество ошибок и повысить производительность труда.

CLIPS (С Language Integrated Production System) - OPS-подобная продукционная система, использует логический вывод от фактов к цели. Механизм логического вывода CLIPS включает сопровождение, динамическое добавление правил и стратегий разрешения противоречий. Основными элементами языка описания правил есть базы фактов и правил. Машина логического вывода сопоставляет эти факты и правила и устанавливает, какие именно правила нужно активизировать. Она легко встраивается в другие приложения и использует объектно ориентированный язык COOL, непосредственно интегрирована с механизмом логического вывода (рис. 8.3).

DYNACLIPS (динамические утилиты CLIPS) включает в себя доску объявлений, механизм динамического обмена знаниями и инструментальные средства для CLIPS v5.1 и v6.0. Это набор библиотек, что может быть связан с CLIPS.

FuzzyCLIPS 6.02 - оболочка экспертной системы, основанной на правилах. Она используется для представления и ке

Рис 8.3. Интерфейс пользователя системы CLIPS

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

BABYLON - среда для разработки ЭС, которое содержит фреймы, модели данных, логический формализм на основе высо-корівневої языка программирования Пролог, а также язык для написания диагностических прикладных программ.

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

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

KnowledgeWright - это простой инструментарий для создания ЭС, который может поддерживать приложения клиентов, написанные на C++, Java, Delphi, VB. KnowledgeWright является объектно-ориентированной системой, которую можно использовать непосредственно с помощью Web-интерфейсов. Факты в KnowledgeWright подаются двумя типами объектов. Объектами типа fact описываются только факты, известные заранее (их тип не указывается). Те факты, значения которых вычисляются во время работы системы, описываются объектами типа rule_set.

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

 
< Пред   СОДЕРЖАНИЕ   След >