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


 

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

68384. Специфика, проблемы и генезис философии 552.24 KB
  Философию нельзя определить общепринятым образом как другие науки, потому что она осмысливает то, что не является предметом опыта. У философии нет определенного предмета, заранее известного метода; они всякий раз формируются в рамках конкретного философского направления.
68385. Управление персоналом 284 KB
  Выполняя функцию администратора менеджер использует свои полномочия для обеспечения движения системы в соответствии с заданными нормативными актами и с учетом экономической ситуации, не допуская при этом многоначалия, диффузии распорядительства и неисполнительности.
68386. История экологии 29 KB
  Геккель назвал термином экология новый раздел биологии изучающий совокупность всех взаимосвязей между живыми и неживыми компонентами природной среды который по мере накопления новых знаний превратился в самостоятельную науку. Среди различных материальных домов где живёт человек экология имеет дело...
68387. Предмет экологии, ее структура, задачи экологии 90 KB
  Из всех живых организмов человек наиболее старается изменить природу, используя и приспосабливая её для своих нужд. Сегодня, благодаря развитию науки и техники, человек способен вторгаться во все микро- и макромиры, во все процессы, протекающие в биосфере.
68388. Принципы построения систем отображения информации в авиационных геоинформационных комплексах 1.69 MB
  Классификация систем отображения информации. Как следует из представленной схемы канал вывода видеоинформации состоит из четырех представлений объектов: ПМ СДФ ЛДФ и экрана дисплея с тремя логическими процессорами последовательно преобразующих одно представление изображения в другое: КДФ ДП и ДК.
68389. Перевозка угля от станции Бугач до коммунального бытового сектора 414 KB
  Характеристика груза. Выбор средств погрузкиразгрузки. Основные принципы выбора автотранспортных средств. Грузовместимость кузова. Партионность перевозок груза. Допустимая осевая нагрузка. Натуральные и экономические критерии. Разработка рациональной транспортно технологической схемы доставки грузов.
68390. Основные понятия, определения и элементы географической карты 7.08 MB
  В литературе чаще всего карты определяют как образно-знаковые модели действительности. Основными элементами географической карты являются картографическое изображение и его математическая основа. Картографическое изображение – это все условные обозначения, которые отражают на карте все явления...
68391. Применение топографических карт при изучении местности 501 KB
  Изображение рельефа способом горизонталей предоставляет широкие возможности для всестороннего изучения рельефа – особенностей его морфологического строения, количественных характеристик, условий хозяйственного использования местности.
68392. Общая характеристика баз картографических данных в АГК и картографических срезов 2.2 MB
  Одной из функций АГК является ввод обработка хранение и вывод по запросам оператора разнообразных картографических данных и специальных сведений о местности. Такая информация должна быть заложена в базах данных АГК что возможно лишь тогда когда они построены с учетом методов технологии цифровой картографии.