42879

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

Курсовая

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

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

Русский

2013-11-03

69.17 KB

6 чел.

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

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

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

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

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

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

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

Исполнитель

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


 

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

83006. Організація туру по Чернігівській області 978.5 KB
  Якому пропонують на вибір різні варіанти обслуговування по кожному із видів послуг в запропонованому їм самим місця відпочинку: розміщення різні за рівнем типом та місцем розташування готелю; харчування різні варіанти повний або напівпансіон або зовсім без харчування шведський стіл...
83007. Лезникиківське родовище Житомирьска область 470.22 KB
  Завдяки своїй твердості граніт завжди користувався популярністю в будівництві і продовжує широко застосовуватися і в наші дні. Так гранітний камінь часто Однак крім своєї надзвичайної твердості граніт дуже гарний. Гранітний камінь має безліч різноманітних кольорів і відтінків.
83008. Изучение программно-аппаратных средства системы дистанционного обучения 647 KB
  Автоматизированные системы дистанционного обучения описание требования типовая система архитектура и классификация.Формы дистанционного обучения посредством Интернета. Новые условия общественного развития требуют подготовки новых специалистов использования новых современных технологий обучения адекватных...
83011. Тестування і ремонт струменевих багатофункціональних пристроїв. Методи вимірювання опору, ємності, індуктивності, добротності 172.15 KB
  В даній курсовій роботі ми розглянемо основні види струменевих пристроїв,їхні характеристики, основні несправності, та методи їх усунення. Також розглянемо тему: Методи вимірювання опору,за допомогою мостів Вінтстона, метод вимірювання ємності, за допомогою фарадметру, а також і методи вимірювання індуктивності і добротності.
83012. Програмне забезпечення операційної системи Android 2.22 MB
  Android має досить простий і інтуїтивно зрозумілий інтерфейс. Всі потрібні програми розміщуються одночасно на головному екрані і в меню апарату, яке викликається натисканням на центральну сенсорну клавішу або відповідну кнопку на екрані. Всі налаштування розташовуються в секції «Налаштування», а кожна дія користувача пояснюється коментарями і підказками при першому запуску смартфону.
83013. Створення база даних в СУБД InterBase 208.5 KB
  Також у InterBase реалізований механізм блокування на рівні запису. Це значить, що сервер блокує тільки ті записи, що реально були змінені користувачем, і не блокує всю сторінку даних цілком. Ця особливість знижує імовірність конфліктів при багатокористувацькому режимі роботи.