Паламарчук А.А., Боднар А.В.

Автомобильно-дорожный институт Государственного высшего учебного заведения «Донецкий национальный технический университет»

ОСНОВНЫЕ Преимущества применения инструментального средства экспертных систем CLIPS

 

В современном обществе неструктурированные и слабоструктурированные задачи управления и контроля сложных производственных процессов и объектов часто встречаются в таких областях, как авиация, энергетика, машиностроение, медицина, микроэлектроника и др. Поэтому появление экспертных систем, позволяющих быстро и эффективно решать подобные проблемы, считается большим научным достижением. Сегодня количество экспертных систем (ЭС) исчисляется тысячами, основными из которых являются: GUIDON, TATR, ONCOCIN, MOLGEN, GENESIS.

Проблемам использования инструментального средства CLIPS в экспертных системах посвящены работы таких ученых, как П. Джексон, В. Трофимов, В. Валетов, Ю. Кузьмин, А. Орлова, С. Третьяков и др.

Цель статьи – выявить преимущества применения инструментального средства экспертных систем CLIPS в настоящее время.

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

CLIPS (C Language Integrated Production System) – это инструмент разработки ЭС, созданный отделом программного обеспечения космического агентства NASA в Лондонском космическом центре имени Б. Джонсона. Язык CLIPS свободен от недостатков предыдущих инструментальных средств для создания ЭС, основанных на языке LISP. Язык CLIPS получил большое распространение в государственных организациях и учебных заведениях благодаря низкой стоимости, мощности, эффективности и переносимости с платформы на платформу. Например, даже Web-ориентированный инструментарий JESS (Java Expert System Shell), использующий язык представления знаний CLIPS, приобрел достаточную известность в настоящее время.

CLIPS включает в себя язык представления порождающих правил и язык описания процедур. Основными компонентами языка описания правил является база фактов и база правил. На них возлагаются следующие функции:

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

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

А значит, для реализации ЭС с использованием языка CLIPS, необходимо проектировать как базу знаний, так и механизм поиска решений. Это достаточно трудоемкий процесс. Однако именно он применяется для создания высокоэффективных промышленных систем.

Для сравнения основных существующих инструментальных средств создания ЭС авторы провели анализ и создали сравнительную таблицу трех языков представления знаний (табл. 1).

 

Таблица 1 – Сравнение инструментальных средств создания ЭС

Язык программирования

Преимущества

Недостатки

LISP

1. Наличие базового набора

примитивов типа CAR/CDR, с помощью которых и благодаря рекурсивной системе обработки информации LISP позволяет очень компактно описывать функции.

1. Сложность освоения языка LISP.

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

2. Высокая стоимость

средств разработки.

PROLOG

1. Пользователь может легко запрашивать систему Prolog об отношениях, определенных в программе.

1. Отсутствие механизма прямого вывода.

2. Масштабируемость.

CLIPS

1. CLIPS поддерживает семь различных стратегий разрешения конфликтов: стратегия глубины (depth strategy), стратегия ширины (breadth strategy), стратегия упрощения (simplicity strategy), стратегия усложнения (complexity strategy), LEX (LEX strategy), МЕЛ (МЕА strategy) и случайная стратегия (random strategy).

1. Не имеет возможностей инкапсуляции, полиморфизма, наследования.

2. Свободное распространение.

3. Мультиплатформенность.

4. Наличие полной открытой документации

5. Объектно-ориентированное расширение Object-Oriented Language (COOL).

6. Четко сформулированный синтаксис.

7. Исполнительная система обладает вполне приемлемой производительностью;

 

Как видно из таблицы, языки LISP и PROLOG имеют меньше преимуществ, чем язык CLIPS. Итак, основными конкурентными преимуществами инструментального средства СLIPS, наряду с другими языками, являются:

1)       язык является свободно распространяемым программным продуктом, его без трудностей можно приобрести в интернете;

2)       имеет относительно низкую стоимость;

3)       реализация CLIPS на языке С++ позволяет переносить конкретные ЭС на различные типы операционных систем;

4)       с помощью СLIPS может быть обеспечена возможность работы в реальном масштабе времени, когда реакция системы на возмущения должна не превышать нескольких миллисекунд;

5)       его исполнительная система обладает вполне приемлемой производительностью;

6)       имеет четко сформулированный синтаксис;

7)       в него включено множество опробованных на практике конструкций из других инструментальных средств;

8)       язык допускает вызов внешних функций, написанных на других языках программирования; в свою очередь модули, написанные на CLIPS, могут быть вызваны программами, написанными на других языках;

9)       язык включает средства, позволяющие комбинировать порождающие правила и объектно-ориентированный подход.

Следует отметить, что, несмотря на многочисленные преимущества функционального программирования, некоторые задачи лучше решать в терминах объектно-ориентированного программирования (ООП), для которого характерны три основные возможности: инкапсуляция, полиморфизм, наследование. ООП поддерживает многие языки, в том числе Smalltalk, C++, Java, Common LISP Object System (CLOS). Язык CLIPS, в свою очередь, вобрал в себя основные преимущества С++ и CLOS.

Таким образом, веб-ориентированные средства на базе JAVA (системы Exsys Corvid, JESS) являются более медленными, чем, например, CLIPS 6.0 или OPS-2000. Поэтому CLIPS – лучший на сегодня выбор для работы в реальном времени среди распространяемых свободно оболочек ЭС, разработанных на C++.

 

Список использованных источников

1.        Джексон П. Введение в экспертные системы / П. Джексон; пер. с англ. – М.: Издательский дом «Вильямс», 2001. – 624 с.

2.        Трофимов В. База данных+CLIPS = База знаний / В. Трофимов // Компьютеры+программы. – 2003. – №10. – C. 56-61.