Общие сведения об экспертных системах 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Общие сведения об экспертных системах



Контрольно-курсовая работа

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

 

Выполнил: ст. группы 220291

Гусева С. Л.

Проверил:

к. т. н., доц.

Берсенев Г. Б.

 

 

Тула 2013


Оглавление

Введение. 3

1. Постановка задачи. 5

2. Теоретические сведения. 6

2.1. Общие сведения об экспертных системах. 6

2.2. Продукционная модель представления знаний. 7

2.3. Общие сведения о языке программирования CLIPS. 9

3. Требования к проектируемому приложению.. 10

3.1. Свойства приложения. 10

3.2. Входные данные. 10

3.3. Выходные данные. 10

4. Реализация экспертной системы.. 11

4.1. Программные средства реализации. 11

4.2. Реализация приложения. 11

4.3. База знаний. 11

4.4. Механизм логического вывода. 13

4.5. Результаты работы приложения. 15

4.6. Системные требования. 18

5. Руководство пользователя. 19

Заключение. 20

Список литературы.. 21

ПРИЛОЖЕНИЕ.. 22

Файл MED.clp. 22

 


Введение

Контрольно-курсовая работа «Создание прототипа экспертной системы» выполняется для закрепления знаний по курсу «Базы знаний и экспертные системы» и приобретения навыков реализации основных частей ЭС (базы знаний и редактора базы знаний, механизма логического вывода, интерфейса пользователя, модуля объяснения и пояснений) в виде приложения, использующего современные технологии программирования.

Задачами контрольно-курсовой работы являются:

· приобретение навыков формализации и представления знаний в ЭС на основе моделей знаний;

· практическое освоение языков представления знаний и инструментальных средств создания ЭС;

· практическое овладение методами организации логического вывода с использованием как точных, так и неточных знаний;

· приобретение практических навыков оформления и выпуска документации.

Экспертные системы (ЭС) – это набор программ, выполняющий функции эксперта при решении задач из некоторой предметной области. Они возникли как значительный практический результат в применении и развитии методов искусственного интеллекта (ИИ) – совокупности научных дисциплин, изучающих методы решения задач интеллектуального (творческого) характера с использованием ЭВМ. ЭС выдают советы, проводят анализ, дают консультации, ставят диагноз. Практическое применение ЭС на предприятиях способствует повышению эффективности работы и повышению квалификации специалистов.

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

Главным достоинством экспертных систем является возможность накопления знаний – формализованной информации, на которую ссылаются или используют в процессе логического вывода, и сохранение их длительное время. В отличие от человека к любой информации экспертные системы подходят объективно, что улучшает качество проводимой экспертизы. При решении задач, требующих обработки большого объема знаний, возможность возникновения ошибки при переборе очень мала.


Постановка задачи

В результате выполнения контрольно-курсовой работы необходимо создать простейший вариант экспертной системы, предназначенный для проверки правильности кодирования фактов, связей и стратегий рассуждения эксперта. Объем базы знаний прототипа – несколько десятков единичных знаний – правил.

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

Согласно варианту задания №12 был сформирован набор критериев для прототипа экспертной системы диагностического типа (табл. 1).

Табл. 1. Набор критериев для прототипа экспертной системы диагностического типа

Вариант Модель знаний Логический вывод Вид знания Язык/Среда реализации Предметная область Наличие объяснений
  Продукции   Точные CLIPS/COOL Консультация Нет

 


Теоретические сведения

Требования к проектируемому приложению

Свойства приложения

· Модель знаний: продукции.

· Вид знания: точные.

· Язык реализации: CLIPS/COOL.

· Предметная область: медицинская консультация.

· Наличие пояснения: нет.

Входные данные

Входными данными является совокупность положительных и отрицательных ответов на предложенные вопросы для поиска цели.

Выходные данные

Выходными данными является заболевание, выбранное в соответствии с названными симптомами.

 


Реализация приложения

Пользовательский интерфейс состоит из текстовых подсказок: вопросов, на которые система ожидает получить ответ.

В случае безрезультатного поиска заболевания по набору симптомов, приложение сообщит, что заболевания не было найдено в БЗ.

После того, как пользователь ответит на все поставленные системой вопросы, программа выведет на экран название заболевания согласно выбранным симптомам.

База знаний

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

Разработку простейшей экспертной системы в соответствии с заданием следует начать с определения формата хранения знаний. В данной работе знания будут храниться в виде вопросов и ответов на них. Предполагается следующая логика работы экспертной системы: приложение предлагает пользователю вопросы о симптомах, которые возможны. При ответе на данные вопросы формируются факты, с помощью которых и будет выбрано заболевание.

Разделение фактов по группам удобно представить в виде таблицы (табл. 2).

 

Табл. 2. Факты, используемые в экспертной системе

Факты Состояние
Общее состояние человека horosho normal
not notmal
Головная боль gol yes
no
Температура temperatura yes
no
Озноб ozn yes
no
Боль в мышцах mish yes
no
Кашель kashel’ yes
no
Боль или комок в горле gor yes
no
Ощущение сухости или першения в горле far yes
no
Наличие мокроты при кашле mok yes
no
Насморк nasm yes
no
Боли в горле при глотании glot yes
no
Увеличение лимфатических узлов lim yes
no
Онемение шеи onem yes
no
Чувствительность к свету или звукам men yes
no
Рвота enc yes
no

При продукционном виде данных и таком подходе к реализации, удобно хранить их в виде дерева, где каждый узел представляет собой один вопрос, а в дочерних узлах, помеченных различными вариантами ответов, содержит либо конечные ответы, либо новые вопросы, необходимые для уточнения данных (рис. 1).

Рис. 1. Схема базы знаний в виде дерева

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

Для реализации подобной архитектуры будет необходимо реализовать функцию, задающую пользователю произвольный вопрос и получающую ответ из заданного набора корректных ответов:

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

(printout t?question)

(bind?answer (read))

(if (lexemep?answer)

then

(bind?answer (lowcase?answer)))

(while (not (member?answer?allowed-values)} do

(printout t?question)

(bind?answer (read))

(if (lexemep?answer)

then

(bind?answer (lowcase?answer))))

?answer)

Функция принимает два аргумента: простую переменную question, которая содержит текст вопроса, и составную переменную allowed-values с набором допустимых ответов. Сразу после своего вызова функция выводит на экран соответствующий вопрос и читает ответ пользователя в переменную answer. Если переменная answer содержит текст, то она будет принудительно приве­дена к прописному алфавиту. После этого функция проверяет, является ли полученный ответ одним из заданных корректных ответов. Если нет, то процесс повторится до получения корректного ответа, иначе функция вер­нет ответ, введенный пользователем.

Будет также очень полезно определить функцию, задающую пользователю вопрос и допускающий ответ в виде да/нет, т. к. это один из самых распро­страненных типов вопросов. С учетом реализации функции ask-question эта функция примет вид, представленный ниже:

(deffunction yes-or-no-p (?question)

(bind?response (ask-question?question yes no y n))

(if (or (eq?response yes) (eq?response y))

then TRUE

else FALSE))

Функция yes-or-no-p вызывает функцию yes-or-no-p с постоянным набо­ром допустимых ответов: yes, no, у и n. В случае если пользователь ввел от­вет yes или у, функция возвращает значение true, иначе — false. Поскольку функция yes-or-no-p использует функцию ask-question, то она должна быть определена после нее.

Механизм логического вывода, используя исходные данные из рабочего поля и знания из базы знаний, формирует такую последовательность правил, которая приводит к решению задачи. Продукционная модель знаний с прямым логическим выводом подразумевает присутствие условия ЕСЛИ(Х) – ТО(Y). Причем, под X подразумевается наличие некоторых фактов, соединенных между собой через «И»/«ИЛИ». Последовательно отвечая на вопросы системы, пользователь формирует совокупность фактов X. При достаточном накоплении этих фактов система делает необходимый вывод. При обратном выводе отправной точкой служат цели, после выбора которых производится проход по графу фактов, принадлежащих выбранной цели.

В языке CLIPS для реализации системы логического вывода используются: правила и факты.

· Правила (defrule) –основа механизма логического вывода в языке CLIPS, пример которой приведён ниже.

(defrule determine-vi-horosho ""

(not(norm?))

(not (repair?))

=>

(if (yes-or-no-p "Вы чувствуете недомогание (y/n)? ")

then

(assert (norm normal))

else

(assert (repair "У Вас нет причин к беспокойству. Вы здоровы"))))

Правила представляют собой логическую конструкцию «ЕСЛИ-ТО», а знак «=>» является разделителем условия и действия.

· Факты (facts) – запись в базе данных (в данной работе динамической) в виде списка, который может содержать одно или несколько полей, принимающих символьные либо числовые значения.

При запуске программы интерпретатор CLIPS запускает машину логического вывода, которая выясняет, какие из правил могут быть активированы. Это действие выполняется циклически. Каждый цикл проверки состоит из 3 шагов:

· Сопоставление фактов находящихся в БД и всех правил программы.

· Выбор правила условия, которого совпадают с фактами в БД и текущим состоянием системы.

· Выполнение действий, предписанных правилом.

Так же были реализованы метод вывода итоговой информации и правила, сооб­щающего пользователю о начале работы. Ниже приведена реализация этих правил.

(defrule system-banner ""

(declare (salience 10))

=>

(printout t crlf crlf)

(printout t ************************************************")

(printout t crlf crlf)

(printout t "* Экспертная система медицинской консультации")

(printout t crlf crlf)

(printout t "Выполнил студент группы 220291 Гусева Светлана Львовна")

(printout t crlf crlf)

(printout t*************************************************")

(printout t crlf crlf))

 

(defrule print-repair ""

(declare (salience 10))

(repair?item)

=>

(printout t crlf crlf)

(printout t "Скорее всего у Вас:")

(printout t crlf crlf)

(format t " %s%n%n%n"?item))

Руководство пользователя

Для запуска настольного приложения необходимо установить и запустить файл CLIPSWin.exe. После запуска программы выбрать команду «Load» в меню «File» и выбрать файл MED.clp. После этого в командной строке программы ввести команду (reset) и (run). И можно приступать к медицинской диагностике.

 


Заключение

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


Список литературы

1. A. П. Частиков “Разработка экспертных систем. Среда Clips” Санкт – Петербург 2003г.

2. ГОСТ 19.106 - 78 ЕСПД. Требования к программным документам, выполненным печатным способом.

3. ГОСТ 19.404 – 79 ЕСПД. Пояснительная записка. Требования к содержанию и оформлению.

 

 


ПРИЛОЖЕНИЕ

Файл MED.clp

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

(printout t?question)

(bind?answer (read))

(if (lexemep?answer)

then (bind?answer (lowcase?answer)))

(while (not (member?answer?allowed-values)) do

(printout t?question)

(bind?answer (read))

(if (lexemep?answer)

then (bind?answer (lowcase?answer))))

?answer)

 

(deffunction yes-or-no-p (?question)

(bind?response (ask-question?question yes no y n))

(if (or (eq?response yes) (eq?response y))

then TRUE

else FALSE))

;***********************************************************************

(defrule determine-vi-horosho ""

(not(norm?))

(not (repair?))

=>

(if (yes-or-no-p "Вы чувствуете недомогание (y/n)? ")

then

(assert (norm normal))

else

(assert (repair "У Вас нет причин к беспокойству. Вы здоровы"))))

;***********************************************************************

(defrule determine-vi-golova ""

(norm normal)

(not (gol?))

(not (repair?))

=>

(if (yes-or-no-p "Болит ли у Вас голова (y/n)? ")

then

(assert (gol yes))

else

(assert (gol no))))

;***********************************************************************

(defrule determine-vi-temteratura ""

(norm normal)

(gol yes)

(not (temp?))

(not (repair?))

=>

(if (yes-or-no-p "У Вас есть температура (y/n)? ")

then

(assert (temp yes))

else

(assert (temp no))))

;***********************************************************************

(defrule determine-vi-oznob ""

(norm normal)

(gol yes)

(temp yes)

(not (ozn?))

(not (repair?))

=>

(if (yes-or-no-p "Ощущаете ли Вы озноб (y/n)? ")

then

(assert (ozn yes))

else

(assert (ozn no))))

 

;*********************************************************************** (defrule determine-vi-mishci ""

(norm normal)

(gol yes)

(temp yes)

(ozn yes)

(not (mish?))

(not (repair?))

=>

(if (yes-or-no-p "Есть ли у Вас боль в мышцах (y/n)? ")

then

(assert (repair "Грипп"))

else

(assert (mish no))))

;***********************************************************************

(defrule determine-vi-kashel' ""

(norm normal)

(gol no)

(not (kash?))

(not (repair?))

=>

(if (yes-or-no-p "У Вас есть кашель (y/n)? ")

then

(assert (kash yes))

else

(assert (kash no))))

;***********************************************************************

(defrule determine-vi-gorlo ""

(norm normal)

(gol no)

(kash yes)

 

(not (gor?))

(not (repair?))

=>

(if (yes-or-no-p "Ощущаете ли Вы боль или комок в горле (y/n)? ")

then

(assert (gor yes))

else

(assert (gor no))))

;***********************************************************************

(defrule determine-vi-faringit ""

(norm normal)

(gol no)

(kash yes)

(temp no)

(gor yes)

(not (far?))

(not (repair?))

=>

(if (yes-or-no-p "Есть ли ощущение сухости или першения в горле (y/n)? ")

then

(assert (repair "Фарингит"))

else

(assert (far no))))

;***********************************************************************

(defrule determine-vi-bronhit ""

(norm normal)

(gol no)

(kash yes)

(gor no)

(not (mok?))

(not (repair?))

=>

(if (yes-or-no-p "При кашле у Вас отходит мокрота (y/n)? ")

then

(assert (repair "Бронхит"))

else

(assert (mok no))))

;***********************************************************************

(defrule determine-vi-prostuda ""

(norm normal)

(gol no)

(kash yes)

(gor yes)

(far no)

(not (nasm?))

(not (repair?))

=>

(if (yes-or-no-p "У Вас есть насморк (y/n)? ")

then

(assert (repair "Простуда"))

else

(assert (nasm no))))

;***********************************************************************

(defrule determine-vi-glotanie ""

(norm normal)

(gol yes)

(temp yes)

(ozn yes)

(mish no)

(not (glot?))

(not (repair?))

=>

(if (yes-or-no-p "Есть ли у Вас боли в горле при глотании (y/n)? ")

then

(assert (glot yes))

else

(assert (glot no))))

;***********************************************************************

(defrule determine-vi-angina ""

(norm normal)

(gol yes)

(temp yes)

(ozn yes)

(mish no)

(glot yes)

(not (lim?))

(not (repair?))

=>

(if (yes-or-no-p "Увеличены ли Ваши лимфатические узлы (y/n)? ")

then

(assert (repair "Ангина"))

else

(assert (lim no))))

 

;***********************************************************************

(defrule determine-vi-onemenie ""

(norm normal)

(gol yes)

(temp yes)

(ozn no)

(not (onem?))

(not (repair?))

=>

(if (yes-or-no-p "Есть ли ощущение онемения шеи (y/n)? ")

then

(assert (onem yes))

else

(assert (onem no))))

 

;***********************************************************************

(defrule determine-vi-meningit ""

(norm normal)

(gol yes)

(temp yes)

(ozn no)

(onem yes)

(not (men?))

(not (repair?))

=>

(if (yes-or-no-p "Наблюдается ли повышенная чувствительность к свету и звукам (y/n)? ")

then

(assert (repair "Менингит"))

else

(assert (men no))))

 

;***********************************************************************

(defrule determine-vi-encefalit ""

(norm normal)

(gol yes)

(temp yes)

(ozn no)

(onem no)

(not (enc?))

(not (repair?))

=>

(if (yes-or-no-p "У Вас есть рвота, не приносящая облегчения (y/n)? ")

then

(assert (repair "Энцефалит"))

else

(assert (enc no))))

 

;***********************************************************************

(defrule not-glotan ""

(norm normal)

(gol yes)

(temp yes)

(ozn yes)

(mish no)

(glot no)

=>

(assert (repair "Извините, в моей базе знаний по названным симптомам заболевание не найдено")))

 

;***********************************************************************

(defrule not-linph ""

(norm normal)

(gol yes)

(temp yes)

(ozn yes)

(mish no)

(glot yes)

(lim no)

=>

(assert (repair "Извините, в моей базе знаний по названным симптомам заболевание не найдено")))

 

;***********************************************************************

(defrule not-encif ""

(norm normal)

(gol yes)

(temp yes)

(ozn no)

(enc no)

=>

(assert (repair "Извините, в моей базе знаний по названным симптомам заболевание не найдено")))

 

;***********************************************************************

(defrule not-menin ""

(norm normal)

(gol yes)

(temp yes)

(ozn no)

(onem yes)

(men no)

=>

(assert (repair "Извините, в моей базе знаний по названным симптомам заболевание не найдено")))

 

;***********************************************************************

(defrule not-temper ""

(norm normal)

(gol yes)

(temp no)

=>

(assert (repair "Извините, в моей базе знаний по названным симптомам заболевание не найдено")))

 

;***********************************************************************

(defrule not-nasmor ""

(norm normal)

(gol no)

(kash yes)

(gor yes)

(far no)

(nasm no)

=>

(assert (repair "Извините, в моей базе знаний по названным симптомам заболевание не найдено")))

 

;***********************************************************************

(defrule not-mokrot ""

(norm normal)

(gol no)

(kash yes)

(gor no)

(mok no)

=>

(assert (repair "Извините, в моей базе знаний по названным симптомам заболевание не найдено")))

 

;***********************************************************************

(defrule not-nayde ""

(norm normal)

(gol no)

(kash no)

=>

(assert (repair "Извините, в моей базе знаний по названным симптомам заболевание не найдено")))

;***********************************************************************

(defrule system-banner ""

(declare (salience 10))

=>

(printout t crlf crlf)

(printout t "*******************************************************************")

(printout t crlf crlf)

(printout t "* Экспертная система медицинской консультации")

(printout t crlf crlf)

(printout t "Выполнил студент группы 220291 Гусева Светлана Львовна")

(printout t crlf crlf)

(printout t "*******************************************************************")

(printout t crlf crlf))

 

(defrule print-repair ""

(declare (salience 10))

(repair?item)

=>

(printout t crlf crlf)

(printout t "Скорее всего у Вас:")

(printout t crlf crlf)

(format t " %s%n%n%n"?item))

Контрольно-курсовая работа

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

 

Выполнил: ст. группы 220291

Гусева С. Л.

Проверил:

к. т. н., доц.

Берсенев Г. Б.

 

 

Тула 2013


Оглавление

Введение. 3

1. Постановка задачи. 5

2. Теоретические сведения. 6

2.1. Общие сведения об экспертных системах. 6

2.2. Продукционная модель представления знаний. 7

2.3. Общие сведения о языке программирования CLIPS. 9

3. Требования к проектируемому приложению.. 10

3.1. Свойства приложения. 10

3.2. Входные данные. 10

3.3. Выходные данные. 10

4. Реализация экспертной системы.. 11

4.1. Программные средства реализации. 11

4.2. Реализация приложения. 11

4.3. База знаний. 11

4.4. Механизм логического вывода. 13

4.5. Результаты работы приложения. 15

4.6. Системные требования. 18

5. Руководство пользователя. 19

Заключение. 20

Список литературы.. 21

ПРИЛОЖЕНИЕ.. 22

Файл MED.clp. 22

 


Введение

Контрольно-курсовая работа «Создание прототипа экспертной системы» выполняется для закрепления знаний по курсу «Базы знаний и экспертные системы» и приобретения навыков реализации основных частей ЭС (базы знаний и редактора базы знаний, механизма логического вывода, интерфейса пользователя, модуля объяснения и пояснений) в виде приложения, использующего современные технологии программирования.

Задачами контрольно-курсовой работы являются:

· приобретение навыков формализации и представления знаний в ЭС на основе моделей знаний;

· практическое освоение языков представления знаний и инструментальных средств создания ЭС;

· практическое овладение методами организации логического вывода с использованием как точных, так и неточных знаний;

· приобретение практических навыков оформления и выпуска документации.

Экспертные системы (ЭС) – это набор программ, выполняющий функции эксперта при решении задач из некоторой предметной области. Они возникли как значительный практический результат в применении и развитии методов искусственного интеллекта (ИИ) – совокупности научных дисциплин, изучающих методы решения задач интеллектуального (творческого) характера с использованием ЭВМ. ЭС выдают советы, проводят анализ, дают консультации, ставят диагноз. Практическое применение ЭС на предприятиях способствует повышению эффективности работы и повышению квалификации специалистов.

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

Главным достоинством экспертных систем является возможность накопления знаний – формализованной информации, на которую ссылаются или используют в процессе логического вывода, и сохранение их длительное время. В отличие от человека к любой информации экспертные системы подходят объективно, что улучшает качество проводимой экспертизы. При решении задач, требующих обработки большого объема знаний, возможность возникновения ошибки при переборе очень мала.


Постановка задачи

В результате выполнения контрольно-курсовой работы необходимо создать простейший вариант экспертной системы, предназначенный для проверки правильности кодирования фактов, связей и стратегий рассуждения эксперта. Объем базы знаний прототипа – несколько десятков единичных знаний – правил.

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

Согласно варианту задания №12 был сформирован набор критериев для прототипа экспертной системы диагностического типа (табл. 1).

Табл. 1. Набор критериев для прототипа экспертной системы диагностического типа

Вариант Модель знаний Логический вывод Вид знания Язык/Среда реализации Предметная область Наличие объяснений
  Продукции   Точные CLIPS/COOL Консультация Нет

 


Теоретические сведения

Общие сведения об экспертных системах

Экспертные системы – это одно из направлений исследований по искусственному интеллекту.

Искусственный интеллект – это область исследований, находящаяся на стыке наук. Специалисты, работающие в этой области, пытаются понять, какое поведение, считается разумным, и создать работающие модели этого поведения. Исследователи ставят задачу с помощью новых теорий и моделей научиться понимать принципы и механизмы интеллектуальной деятельности. Практической целью является создание методов и техники, необходимой для программирования «разумности» и ее передачи вычислительным машинам, а через них всевозможным системам и средствам. Инженерные методы и навыки в области искусственного интеллекта стали называть технологией знаний.

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

Экспертные системы получили широкое распространение в различных областях человеческой деятельности. Существует множество прикладных задач, которые решаются с помощью систем, основанных на знаниях, более успешно, чем любыми другими средствами. Экспертные системы незаменимы как при ремонте механических и электрических машин, так и при устранении неисправностей и ошибок в аппаратном и программном обеспечении ЭВМ. Например, для обнаружения неисправностей электронной схемы требуется выполнить полных набор имеющихся тестов. Использование экспертной системы позволяет в несколько раз уменьшить число выполняемых тестов.

Экспертные системы обладают следующими свойствами, на основе которых их можно отличить от традиционных научно-технических и экономико-хозяйственных программ:

· Степень разумности и объем знаний. Системы могут решить особенно сложные задачи в некоторых случаях лучше, чем эксперты-люди.

· Развитый интерфейс пользователя. С такими системами можно, например, общаться на ограниченном естественном языке (в письменной форме) таким же образом, как и с экспертом-человеком.

· Способность обосновывать действия. Кажется, что система обладает сведениями и пониманием своих знаний. У многих систем можно спросить, почему они задали некоторый вопрос или на основе чего они пришли к некоторому заключению. Таким образом, пользователь может наблюдать над процессом рассуждений и разумностью решений.

· Эвристики и работа с нечеткими данными. Системы часто в состоянии обрабатывать неполные, нечеткие, недостаточные или даже ошибочные данные и знания.

· Постепенное накопление знаний. Работу системы можно улучшить, добавив порцию знаний. Знания наиболее старых экспертных систем собраны в течение нескольких десятков лет.

· Системы часто работают с изображениями и задачами, представленными в символьном виде.

В экспертной системе не обязательно должны присутствовать все перечисленные здесь характеристики. Традиционные программы также могут содержать свойства, присущие экспертным системам.



Поделиться:


Последнее изменение этой страницы: 2017-01-24; просмотров: 194; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 44.204.218.79 (0.345 с.)