УДК 004

ПРОДУКЦИОННЫЕ ЭКСПЕРТНЫЕ СИСТЕМЫ В ОБУЧЕНИИ СТУДЕНТОВ IT-СПЕЦИАЛЬНОСТЕЙ

Лялин Андрей Васильевич
Вятский государственный университет
магистрант кафедры прикладной информатики

Аннотация
В статье описывается программа – «Оболочка продукционной экспертной системы», которую можно использовать в обучении студентов IT-специальностей.

Ключевые слова: , , ,


Рубрика: 05.00.00 ТЕХНИЧЕСКИЕ НАУКИ

Библиографическая ссылка на статью:
Лялин А.В. Продукционные экспертные системы в обучении студентов IT-специальностей // Современные научные исследования и инновации. 2017. № 7 [Электронный ресурс]. URL: http://web.snauka.ru/issues/2017/07/84011 (дата обращения: 01.10.2017).

Актуальность

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

Они могут называться «Системами искусственного интеллекта», «Экспертными системами», «Интеллектуальными информационными системами», «Системами поддержки принятия решений», «Интеллектуальным анализом данных», «Основами искусственного интеллекта».

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

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

(deffunction ask-question (?question  $?allowed-values)

(printout t ?question)

(bind ?answer (read))

(if (lexemep ?answer)

then

(bind ?answer (lowcase ?answer)))

(deffunction yes-or-no-p (?question)

(bind ?response (ask-question ?question yes no у n))

(if (or (eq ?response yes) (eq ?response y))

then  TRUE

Else  FALSE))

(defrule determine-engine-state “”

(not (state engine ?))

(not (repair ?))

=>

(if (yes-or-no-p ” запускается (yes/no)?”)

then

(if (yes-or-no-p “ стучит? (yes/no)?

then

(assert (state engine normal))

else

assert (state engine unsatisfactory)))

else

(assert (state engine bad))))

Поэтому мы разработали собственное приложение – «Оболочку продукционной экспертной системы».

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

ГИПОТЕЗЫ

состояние двигателя=хорошее

состояние двигателя=удовлетворительное

состояние двигателя=плохое

ПАРАМЕТРЫ

запускается?=да;нет;

стучит?=да;нет;

ПРАВИЛА

Правило1

ЕСЛИ

запускается?=да

И

стучит?=нет

ТО

состояние двигателя=хорошее [1.0]

Правило2

ЕСЛИ

запускается?=да

И

стучит?=да

ТО

состояние двигателя=удовлетворительное [1.0]

Правило3

ЕСЛИ

запускается?=нет

ТО

состояние двигателя=плохое [1.0]

Описание программы «Оболочка продукционной экспертной системы» 

База знаний экспертной системы, на основе которой она работает, хранится в обычном текстовом файле, с расширением txt.

В разделе «Гипотезы» текстового файла указаны окончательные ответы, которые может выдать экспертная система.

Раздел «Параметры» содержит названия параметров и их возможные значения. С их помощью строятся правила.

В разделе «Правила» находятся продукционные правила. Они пронумерованы. В квадратных скобках указан коэффициент уверенности правила. Насколько вы, как эксперт, в нём уверены. Правила могут состоять из одной или нескольких посылок, записанных через союз «И», и одного заключения.

База знаний загружается в программу, и экспертная система запускается на выполнение (рис.1).

Рис.1. Главное окно программы в начале её работы. Вкладка «Консультация».

На вкладке «Консультация» пользователю будут предлагаться вопросы. Он должен будет выбрать ответ на каждый, поставив галочку. Указать, насколько он в этом ответе уверен, передвинув ползунок. В результате экспертная система выдаст рекомендацию и степень уверенности в ней (рис.2).

Рис.2. Главное окно программы в конце её работы. Вкладка «Консультация».

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

Как вычисляются коэффициенты уверенности?

Пусть есть правило. ЕСЛИ x и y ТО z. Известны коэффициенты уверенности его посылок k(x) и k(y), а также коэффициент уверенности самого правила k(p).

Тогда коэффициент уверенности его заключения вычисляется по формуле. k(z)=min(k(x),k(y))*k(p).

Исходную загруженную базу знаний можно посмотреть на вкладке «База знаний» (рис.3).

Рис.3. Главное окно программы. Вкладка «База знаний».

Вкладка «Конструктор» (рис.4) предназначена для создания базы знаний новой экспертной системы или редактирования старой.

Рис.4. Главное окно программы. Вкладка «Конструктор».


Библиографический список
  1. Джарратано Д., Райли Г. Экспертные системы: принципы разработки и программирование. – М.: Издательский дом «Вильямс», 2006.
  2. Джексон П. Введение в экспертные системы. – М.: Вильямс, 2001.
  3. Люгер Д.Ф. Искусственный интеллект: стратегии и методы решения сложных проблем. – М.: Издательский дом «Вильямс», 2003.
  4. Grosan С., Abraham А. Intelligent Systems: A Modern Approach  / Intelligent Systems Reference Library Series – Springer Verlag, Germany, 2011.
  5. Хабаров С.П. Представление знаний в информационных системах. Режим доступа: http://www.habarov.spb.ru/bz


Все статьи автора «Лялин Андрей Васильевич»


© Если вы обнаружили нарушение авторских или смежных прав, пожалуйста, незамедлительно сообщите нам об этом по электронной почте или через форму обратной связи.

Связь с автором (комментарии/рецензии к статье)

Оставить комментарий

Вы должны авторизоваться, чтобы оставить комментарий.

Если Вы еще не зарегистрированы на сайте, то Вам необходимо зарегистрироваться: