42879

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

Курсовая

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

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

Русский

2013-11-03

69.17 KB

9 чел.

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

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

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

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

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

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

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

Исполнитель

студентка  гр. КС-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


 

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

29412. Климатические условия эксплуатации и условия размещения электрооборудования 26.5 KB
  Электрооборудование предназначенное для эксплуатации на суше и реках в районах с умеренным климатом имеет обозначение У; с холодным климатом ХЛ; сухим и влажным тропическим Т; для всех макроклиматических районов на суше О. Электрооборудование предназначенное для установки в районах с умеренно холодным морским климатом имеет обозначение М; с тропическим морским ТМ. В зависимости от условий размещения предусматривается различное исполнение электрооборудования которому также присваивается определенное обозначение....
29414. Бюджетный дефицит и государственный долг: основные определения, показатели и проблемы количественной оценки. Государственный долг и дефицит платежного баланса. Влияние государственного долга на накопление частного капитала 50 KB
  Бюджетный дефицит и государственный долг: основные определения показатели и проблемы количественной оценки. Государственный долг и дефицит платежного баланса. Превышение расходов государства над его доходами образует бюджетный дефицит БД. Подавляющее большинство стран сводит свой бюджет с дефицитом.
29415. Ключевые макроэкономические проблемы российской экономики 67 KB
  Можно сделать вывод: главная причина ошибочности социальноэкономической политики использование экономики России стандартных макроэкономических рецептов разработанных для стран с типом экономики зеркально противоположным российскому. Поэтому напрашивается первый рецепт долгосрочной политики сделать диверсификацию экономики главной целью политики государства. Макроэкономические проблемы российской экономики АЛЕКСЕЙ КУДРИН министр финансов РФ выбрал более менее доступное там много Снижение конкурентоспособности К началу 2007 г.
29416. Теоретические подходы к моделированию инфляционных процессов. Типы и виды инфляции. Темп инфляции и его колебания. Возможности инфляционного финансирования дефицита гос. бюджета 1.32 MB
  Темп инфляции и его колебания Инфляция inflation от итальянского слова inflatio что означает вздутие представляет собой устойчивую тенденцию роста общего уровня цен. В этом определении важны следующие слова: 1 устойчивая что означает что инфляция это длительный процесс устойчивая тенденция и поэтому ее следует отличать от скачка цен; 2 общего уровня цен. Это значит что инфляция не означает роста всех цен в экономике. Цены на отдельные товары могут вести себя поразному: повышаться понижаться оставаться без...
29417. Формы безработицы и ее естественный уровень. Регулирование уровня безработицы. Взаимосвязь инфляции и безработицы 61 KB
  Формы безработицы и ее естественный уровень. Регулирование уровня безработицы. Взаимосвязь инфляции и безработицы. По социально экономическому содержанию выделяют следующие формы безработицы: 1.
29418. Банковская система и ее роль в современной экономике. Центральный банк, его статус и цели. Антиинфляционный курс Банка России 114 KB
  Центральный банк его статус и цели. Антиинфляционный курс Банка России. Понятие банковской системы ее элементы и взаимосвязи.
29419. Инвестиции и их функциональная роль. Сбережения, инвестиции, мультипликатор инвестиций. Инвестиции и реальный экономический рост 1.87 MB
  Инвестиции и их функциональная роль. Сбережения инвестиции мультипликатор инвестиций. Инвестиции и реальный экономический рост Староверова Г.
29420. Цикличность как всеобщая форма экономической динамики 58 KB
  Виды экономических циклов Современная экономическая наука насчитывает большое количество видов циклов. Объективными основаниями разграничения экономических циклов являются: а периодичность обновления отдельных частей капитала; б изменения обусловленные обновлением элементов зданий сооружений; в изменения обусловленные демографическими процессами и сельским хозяйством. Можно выделить следующие основные виды экономических циклов. Этот вид циклов Китчин связывал с изменениями мировых запасов золота Э.