42879

Создания простейшей экспертной системы

Курсовая

Информатика, кибернетика и программирование

Если реакция системы не понятна пользователю то он может потребовать объяснения: CLIPS Первоначально аббревиатура CLIPS была названием языка С Lnguge Integrted Production System язык С интегрированный с продукционными системами удобного для разработки баз знаний и макетов экспертных систем. Теперь CLIPS представляет собой современный инструмент предназначенный для создания экспертных систем expert system tool. CLIPS состоит из интерактивной среды экспертной оболочки со своим способом представления знаний гибкого и мощного...

Русский

2013-11-03

69.17 KB

8 чел.

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ, МОЛОДЕЖИ И СПОРТА УКРАИНЫ

ХАРЬКОВСКИЙ НАЦИОНАЛЬНЫЙ УНИВЕРСИТЕТ им. В.Н. Каразина

ФАКУЛЬТЕТ КОМПЬЮТЕРНЫХ НАУК

КАФЕДРА ИСКУССТВЕННОГО ИНТЕЛЛЕКТА И ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ

Создания простейшей экспертной системы

Курсовой проект по дисциплине

«Разработка интеллектуальных систем»

Исполнитель

студентка  гр. КС-51

Н.М. Тимченко

Руководитель

 

Е.В. Белкин

Харьков 2011

Задание

Создание простейшей экспертной системы для определения неполадок со звуком на ПК.

Обзор литературы

Экспертная система — компьютерная программа, способная частично заменить специалиста-эксперта в разрешении проблемной ситуации. Современные ЭС начали разрабатываться исследователями искусственного интеллекта в 1970-х годах, а в 1980-х получили коммерческое подкрепление. Предтечи экспертных систем были предложены в 1832 году С. Н. Корсаковым, создавшим механические устройства, так называемые «интеллектуальные машины», позволявшие находить решения по заданным условиям, например определять наиболее подходящие лекарства по наблюдаемым у пациента симптомам заболевания[1].

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

Похожие действия выполняет такой программный инструмент как Мастер (Wizard). Мастера применяются как в системных программах так и в прикладных для упрощения интерактивного общения с пользователем (например, при установке ПО). Главное отличие мастеров от ЭС — отсутствие базы знаний — все действия жестко запрограммированы. Это просто набор форм для заполнения пользователем.

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

Экспертные системы применяются для решения только трудных практических (не игрушечных) задач. По качеству и эффективности решения экспертные системы не уступают решениям эксперта-человека. Решения экспертных систем обладают "прозрачностью", т.е. могут быть объяснены пользователю на качественном уровне. Это качество экспертных систем обеспечивается их способностью рассуждать о своих знаниях и умозаключениях. Экспертные системы способны пополнять свои знания в ходе взаимодействия с экспертом. Необходимо отметить, что в настоящее время технология экспертных систем используется для решения различных типов задач (интерпретация, предсказание, диагностика, планирование, конструирование, контроль, отладка, инструктаж, управление ) в самых разнообразных проблемных областях, таких, как финансы, нефтяная и газовая промышленность, энергетика, транспорт, фармацевтическое производство, космос, металлургия, горное дело, химия, образование, целлюлозно-бумажная промышленность, телекоммуникации и связь и др.

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

Экспертные системы применяются для решения только трудных практических (не игрушечных) задач. По качеству и эффективности решения экспертные системы не уступают решениям эксперта-человека. Решения экспертных систем обладают "прозрачностью", т.е. могут быть объяснены пользователю на качественном уровне. Это качество экспертных систем обеспечивается их способностью рассуждать о своих знаниях и умозаключениях. Экспертные системы способны пополнять свои знания в ходе взаимодействия с экспертом. Необходимо отметить, что в настоящее время технология экспертных систем используется для решения различных типов задач (интерпретация, предсказание, диагностика, планирование, конструирование, контроль, отладка, инструктаж, управление ) в самых разнообразных проблемных областях, таких, как финансы, нефтяная и газовая промышленность, энергетика, транспорт, фармацевтическое производство, космос, металлургия, горное дело, химия, образование, целлюлозно-бумажная промышленность, телекоммуникации и связь и др.

 Типичная статическая ЭС состоит из следующих основных компонентов :

  1.  решателя (интерпретатора);
  2.  рабочей памяти (РП), называемой также базой данных (БД);
  3.  базы знаний (БЗ);
  4.  компонентов приобретения знаний;
  5.  объяснительного компонента;
  6.  диалогового компонента.

Экспертная система работает в двух режимах: режиме приобретения знаний и в режиме решения задачи (называемом также режимом консультации или режимом использования ЭС).

  1.  В режиме приобретения знаний общение с ЭС осуществляет (через посредничество инженера по знаниям) эксперт. В этом режиме эксперт, используя компонент приобретения знаний, наполняет систему знаниями, которые позволяют ЭС в режиме решения самостоятельно (без эксперта) решать задачи из проблемной области. Эксперт описывает проблемную область в виде совокупности данных и правил. Данные определяют объекты, их характеристики и значения, существующие в области экспертизы. Правила определяют способы манипулирования с данными, характерные для рассматриваемой области.
  2.  Отметим, что режиму приобретения знаний в традиционном подходе к разработке программ соответствуют этапы алгоритмизации, программирования и отладки, выполняемые программистом. Таким образом, в отличие от традиционного подхода в случае ЭС разработку программ осуществляет не программист, а эксперт (с помощью ЭС), не владеющий программированием.
  3.  В режиме консультации общение с ЭС осуществляет конечный пользователь, которого интересует результат и (или) способ его получения. Необходимо отметить, что в зависимости от назначения ЭС пользователь может не быть специалистом в данной проблемной области (в этом случае он обращается к ЭС за результатом, не умея получить его сам), или быть специалистом (в этом случае пользователь может сам получить результат, но он обращается к ЭС с целью либо ускорить процесс получения результата, либо возложить на ЭС рутинную работу). В режиме консультации данные о задаче пользователя после обработки их диалоговым компонентом поступают в рабочую память. Решатель на основе входных данных из рабочей памяти, общих данных о проблемной области и правил из БЗ формирует решение задачи. ЭС при решении задачи не только исполняет предписанную последовательность операции, но и предварительно формирует ее. Если реакция системы не понятна пользователю, то он может потребовать объяснения:

CLIPS

Первоначально аббревиатура CLIPS была названием языка — С Language Integrated Production System (язык С, интегрированный с продукционными системами), удобного для разработки баз знаний и макетов экспертных систем. Теперь CLIPS представляет собой современный инструмент, предназначенный для создания экспертных систем (expert system tool). CLIPS состоит из интерактивной среды — экспертной оболочки со своим способом представления знаний, гибкого и мощного языка и нескольких вспомогательных инструментов. CLIPS является абсолютно свободно распространяемым программным продуктом.

Основные элементы языка

Синтаксис языка CLIPS можно разбить на три основных группы элементов, предназначенных для написания программ:

  1.  примитивные типы данных;
  2.  функции, использующиеся для обработки данных;
  3.  конструкторы, предназначенные для создания таких структур языка, как факты, правила, классы и т. д.

Факты

Информация, на основании которой экспертная система делает логический вывод называется фактами. В CLIPS есть 2 вида фактов:  упорядоченные  и шаблонные. Шаблонные факты имеют шаблон, задаваемый конструкцией deftemplate. Упорядоченные не имеют явной конструкции deftemplate, однако она подразумевается. 

Правила

Знания предметной области представляются в CLIPS в виде правил, которые имеют следующую структуру:

 (условия)           {синонимы: антецеденты в логике,

                     левая часть - LHS в терминах CLIPS}

=>

(действия)          {синонимы: консеквенты в логике,

                     правая часть - RHS в терминах CLIPS}

Левая часть правила - это условие его срабатывания, а правая часть - это те действия, которые должны выполниться в случае выполнения условий. Знак => специальный символ, разделяющий LHS и RHS.

Функции

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

Конструктор deffunction позволяет пользователям определять новые функции непосредственно в CLIPS. Функции, созданные таким образом, действуют так же, как внешние или системные функции CLIPS, за исключением того, что вместо непосредственного выполнения (как, например, в случае вызова определенной пользователем внешней функции) вызов такой функции обрабатывается встроенным интерпретатором языка CLIPS.

Описание реализации

Для реализации экспертной системы я  использовала правила, функции и факты языка CLIPS.

  1.  Функция,  задающая  пользователю  вопрос  и  возвращающий

ответ, введенный с клавиатуры:

(deffunction  ask   (?question)  

 (printout  t   ?question)  

 (bind  ?answer   (read))  

?answer

)

Имя функции – ask, принимаемый параметр ?question. При вызове функции значение  переменной ?question  выводится  в  качестве  вопроса  пользователю,  затем выполняется функция bind связывающая переменную ?answer с информацией введенной с клавиатуры. Запрос ввода с клавиатуры выполняется функцией (read).

  1.  функция,  которая  использует  в  своем  коде  функцию ask,  

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

 (bind   ?answer (ask ?question))

 (while (not (member  ?answer  $?allowed) )  

  do  

   (printout t "Reenter, please" crlf)

   (bind ?answer (ask ?question))

)

?answer

)

Здесь  групповой  параметр $?allowed  служит  для  задания  набора  допустимых ответов.  Первой  строкой  тела  выполняется  связывание  значения,  возвращаемого функцией ask, с переменной ?answer. После чего используется циклическая структура

(while  <условие>  do

<оператор>

<оператор>

)

в  которой  вопрос  задается  до  тех  пор,  пока  пользователь  не  введет  разрешенный ответ.  Проверка  соответствия  выполняется  функцией (member ?x  $?y),  которая возвращает TRUE  в  том  случае,  если  внутри  составного  поля  $?y   найдет  элемент идентичный значению переменной ?x.  

3) Функция aks-yes-no-question, которая принимает один

параметр – текст  вопроса,  а  возвращает  два  варианта  ответа – «yes»  или «no».

(deffunction ask-yes-no   (?question)

 (bind  ?response   (ask-allowed  ?question yes no))  

  (eq ?response yes)

)

          

Список использованной литературы

1. А. П. Частиков Разработка экспертных систем. Среда CLIPS. / Т. А. Гаврилова  Д. Л.Белов – C.-П. «БХВ-Петербург»  2003. 393 с.

2. http://www.mari-el.ru/mmlab/home/AI/7_8/

3. http://ru.wikipedia.org/wiki/CLIPS

4.http://ru.wikipedia.org/wiki/%D0%AD%D0%BA%D1%81%D0%BF%D0%B5%D1%80%D1%82%D0%BD%D0%B0%D1%8F_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0


 

А также другие работы, которые могут Вас заинтересовать

70496. Приборы электростатической системы 61 KB
  Приборы электростатической системы бывают двух разновидностей: с изменяющейся площадью пластин; с изменяющимся расстоянием между пластинами рис. Приборы с изменяющимся расстоянием между пластинами состоят из двух неподвижных пластин одна из которых при измерениях заряжается...
70497. Приборы ферродинамической системы 90.5 KB
  Схемы включения определяются видами измеряемых величин и аналогичны включению амперметра вольтметра и ваттметра электродинамической системы. Приборы ферродинамической системы используют для измерений в цепях переменного тока в качестве ваттметров частотомеров фазометров...
70498. Приборы электродинамической системы 80.5 KB
  На оси прибора жестко закреплены подвижная катушка указательная стрелка с балансными грузиками магнитоиндукционный или воздушный успокоитель и концы двух противодействующих токопроводящих пружин. Перемещение подвижной части прибора происходит в результате взаимодействия магнитных...
70499. Приборы электромагнитной системы 176.5 KB
  Катушки амперметров наматывают медным проводом диаметром 0,6 мм и более. Приборы для измерения силы тока до 5 А имеют обмотку из 40 - 50 витков медного провода диаметром до 1 мм. При токе около 250 А катушку выполняют из медной шины. Катушки вольтметров наматывают медным изолированным проводом...
70500. Приборы магнитоэлектрической системы 143.5 KB
  Приборы магнитоэлектрической системы бывают двух разновидностей: с подвижной рамкой рис. Измерительный механизм приборов магнитоэлектрической системы с подвижной рамкой рис. 2 а состоит из: 1 ─ неподвижного цилиндрического сердечника установленного строго по центру...
70501. Класс точности. Нормирование погрешностей 40 KB
  Класс точности применяется для средств измерений используемых в технических измерениях когда нет необходимости или возможности выделить отдельно систематические и случайные погрешности оценить вклад влияющих величин с помощью дополнительных погрешностей.
70503. Использование марок. Товарный знак 22.52 KB
  Товарный знак обозначение словесное изобразительное комбинированное или иное служащее для индивидуализации товаров юридических лиц или индивидуальных предпринимателей. Законом признаётся исключительное право на товарный знак удостоверяемое свидетельством на товарный знак.
70504. Маркетинговый эксперимент. Панельные исследования 19.13 KB
  Поскольку опросы потребителей или других субъектов проводятся в течение длительного времени от нескольких месяцев и одного года до нескольких лет бывают панели которые называют постоянными то панельные исследования вполне могут называться и наблюдениями о которых...