42879

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

Курсовая

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

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

Русский

2013-11-03

69.17 KB

5 чел.

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

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

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

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

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

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

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

Исполнитель

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


 

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

66048. Приоритеты программы антикризисных мер 579.77 KB
  Глобальный экономический кризис приводит во всех странах мира к падению производства росту безработицы снижению доходов населения. Практически во всех странах будут значительно снижаться доходы населения.
66049. Оффшорные зоны 38.44 KB
  Слово офшор впервые было применено в конце 50х годов прошлого века одной из газет США для обозначения конкретной финансовой компании переместившей свою деятельность на территорию с более благоприятной чем в США налоговой системой. Сегодня понятие офшор используется для обозначения офшорного бизнеса...
66050. Целевые бюджетные фонды 13.91 KB
  Понятие целевые бюджетные фонды появилось в 1995 г. когда подобный статус был закреплен за некоторыми ранее внебюджетными фондами создаваемыми в качестве целевого источника финансирования отдельных государственных расходов и отдельными...
66052. Лондонский клуб Парижский клуб и РФ 61.5 KB
  Клуб практикует продление сроков погашения долга или его части списание 3060 задолженности наименее развитых государств продажу их долгов третьим странам или международным организациям. По результатам переговоров с должниками на многосторонней основе члены Парижского клуба подписывают...
66053. ЗОЛОТОВАЛЮТНЫЕ РЕЗЕРВЫ МИРА И РФ 640.5 KB
  В мировой практике под золотовалютными резервами понимаются официальные запасы золота и иностранной валюты в центральном банке и финансовых органах страны, включая счета в международных валютно-кредитных организациях.
66055. Антикризисная политика Франции 42.5 KB
  Налоговые льготы бизнесу и наиболее обеспеченным французам: налоговый щит максимальный уровень налога на доходы на уровне 50 от всех доходов физического лица вместо существовавших 60 и отмена налога на доходы на недвижимость постоянного проживания...
66056. Бюджетный дефицит 21.29 KB
  Бюджетный дефицит превышение расходов бюджета над его доходами Наиболее часто встречающаяся в экономической практике сложная ситуация это дефицит бюджета т. Дефицит рассматривается как временный если имеются перспективы его преодоления и он...