Экспертные системы

Автор работы: Пользователь скрыл имя, 14 Декабря 2011 в 20:21, курсовая работа

Описание

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

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

Содержание

Введение……………………………………………………………………….……

Глава 1. Экспертные системы, их особенности.
Определение экспертных систем. Главное достоинство и назначение экспертных систем……………………………………....
Отличие ЭС от других программных продуктов…………………...
Отличительные особенности. Экспертные системы первого и второго поколения……………………………………………………
Критерий использования ЭС для решения задач…………………...
Ограничения в применение экспертных систем……………………
Преимущества ЭС перед человеком - экспертом…………………..

Глава 2. Разработка экспертных систем.

2.1 Этапы разработки экспертных систем………………………………

2.2. Инструментальные средства проектирования и разработки экспертных систем…………………………………………………………..

2.3. Пример простой экспертной системы………………………………

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

Работа состоит из  1 файл

экспертные системы.docx

— 108.40 Кб (Скачать документ)

     2. Языки программирования высокого  уровня 

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

     3. Среда программирования, поддерживающая  несколько парадигм 

     Средства  этой категории включают несколько  программных модулей, что позволяет  пользователю комбинировать в процессе разработки экспертной системы разные стили программирования. Среди первых проектов такого рода была исследовательская  программа LOOP, которая допускала  использование двух типов представления  знаний: базирующегося на системе  правил и объектно-ориентированного. На основе этой архитектуры во второй половине 1980-х годов было разработано  несколько коммерческих программных  продуктов, из которых наибольшую известность  получили KEE, KnowledgeCraft и ART. Эти программы предоставляют в распоряжение квалифицированного пользователя множество опций и для последующих разработок, таких как КАРРА и CLIPS, и стали своего рода стандартом. Однако освоить эти языки программистам далеко не так просто, как языки, отнесенные к предыдущей категории.

     4. Дополнительные модули 

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

2.3. Пример простой экспертной системы

 

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

     Будем рассматривать для простоты только несколько модель:

     19ж6;

     22ж6;

     55ж6;

     1л117;

     1л117м;

     Предположим, что в результате опроса экспертов  была создана таблица, отражающая связь между характеристиками РЛС и ее моделью (табл. 2)

     Таблица 2.

Тип антенны Скорость обновления информации(об/мин) Количество  рабочих мест Модель РЛС
Аппертурная антенна 6 7 19ж6
Зеркальная  антенна 5 22ж6
12 2 1л117м
10 1л117
Детекторная антенна 3 55ж6
 

     На  основе данных таблиц могут быть сгенерированы  следующие правила:

    1. Если аппертурная антенна, скорость обновления информации – 6 об/мин и количество рабочих мест – 7, то это РЛС – 19ж6.
    2. Если зеркальная антенна, скорость обновления информации – 6 об/мин и количество рабочих мест – 5, то это РЛС – 22ж6.
    3. Если зеркальная антенна, скорость обновления информации – 12 об/мин и количество рабочих мест – 2, то это РЛС – 1л117м.
    4. Если зеркальная антенна, скорость обновления информации – 10 об/мин и количество рабочих мест – 2, то это РЛС – 1л117.
    5. Если детекторная антенна, скорость обновления информации – 10 об/мин и количество рабочих мест – 3, то это РЛС – 55ж6.
 

     Приведем  два протокола диалога с ЭС, проведенных в режиме консультации с целью определения модели радиолокационной станции.

     Протокол 1

     РАБОТАЕТ  СИСТЕМА RLS

     ОПРЕДЕЛЕНИЕ МОДЕЛИ РАДИОЛОКАЦИОННОЙ СТАНЦИИ. 

     ВВЕДИТЕ ТИП АНТЕННЫ (ЦИФРУ):

     1 – АППЕРТУРНАЯ АНТЕННА

     2 – ЗЕРКАЛЬНАЯ АНТЕННА

     3 – ДЕТЕКТОРНАЯ АНТЕННА

     2

     ВВЕДИТЕ СКОРОСТЬ ОБНОВЛЕНИЯ ИНФОМАЦИИ (ЦИФРУ):

     1 – 6

     2 – 12

     3 – 10

     1

     ВВЕДИТЕ КОЛИЧЕСТВО РАБОЧИХ МЕСТ (ЦИФРУ):

     1 – 7 РАБОЧИХ МЕСТ

     2 – 5 РАБОЧИХ МЕСТ

     3 – 2 РАБОЧИХ МЕСТА

     4 – 3 РАБОЧИХ МАСТА

     2

     ВЫПОЛНИЛОСЬ ПРАВИЛО R02

     ЭТА РЛС – 22Ж6 

     Таким образом, целью работы данной ЭС является определение значения переменной «модель». В зависимости от ответов пользователя она может связываться со строкой «22ж6», «1л117м» и т.д.

     В системе GURU в связи с этим введено понятие переменной цели. Эта переменная описывается в разделе ЭС GOAL. В рассматриваемом примере имя этой переменной – MODEL.

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

     Экспертная  система, реализующая пример на основе системы GURU, приведена ниже: 

     RULESET: RLS /* РАЗДЕЛ ИМЕНИ */ 

     GOAL: MODEL /* РАЗДЕЛ ЦЕЛИ – МОДЕЛ РАДИОЛОКАЦИОННОЙ СТАНЦИИ */ 

     INITIAL: /* ПРЕДЛОЖЕНИЯ ИНИЦИАЛИЗАЦИИ */

     ANTENNA=UNKNOWN

     SKOROST=UNKNOWN

     MESTA=UNKNOWN

     clear

     MODEL=UNKNOWN

     ISRESULT = FALSE

     /* УСТАНОВКА ПЕРЕМЕННЫХ СРЕДЫ */

     E.LSTR = 70 /* ДЛИНА СТРОК ПРИ ВЫВОДЕ */

     E.LNUM = 1   /* КОЛИЧ. ДЕСЯТИЧНЫХ РАЗРЯДОВ В ЧИСЛАХ */

     E.DECI = 0 /* КОЛИЧ. ДЕСЯТИЧН. РАЗРЯДОВ ПОСЛЕ ЗАПЯТОЙ */

     output "РАБОТАЕТ СИСТЕМА RLS"

     output "ОПРЕДЕЛЕНИЕ МОДЕЛИ РАДИОЛОКАЦИОННОЙ СТАНЦИИ "

     OUTPUT

     OUTPUT 

     /* РАЗДЕЛ ПРАВИЛ */

     RULE: R01

     IF: ANTENNA – 1 AND SKOROST – 1 AND MESTA – 1

     THEN: MODEL = “19Ж6”

     ISRESULT = TRUE

     OUTPUT "ВЫПОЛНИЛОСЬ ПРАВИЛО R01"

     REASON: ЕСЛИ АППЕРТУРНАЯ АНТЕННА, СКОРОСТЬ ОБНОВЛЕНИЯ ИНФОРМАЦИИ 6 ОБ/МИН И КОЛИЧЕСТВО РАБОЧИХ МЕСТ 7, ТО РЛС – 19Ж6 

     RULE: R02

     IF: ANTENNA – 2 AND SKOROST – 1 AND MESTA – 2

     THEN: MODEL = “22Ж6”

     ISRESULT = TRUE

     OUTPUT " ВЫПОЛНИЛОСЬ ПРАВИЛО R02"

     REASON: ЕСЛИ ЗЕРКАЛЬНАЯ АНТЕННА, СКОРОСТЬ ОБНОВЛЕНИЯ ИНФОРМАЦИИ 6 ОБ/МИН И КОЛИЧЕСТВО РАБОЧИХ МЕСТ 5, ТО РЛС – 22Ж6 

     RULE: R03

     IF: ANTENNA – 2 AND SKOROST – 2 AND MESTA – 3

     THEN: MODEL = "1Л117М"

     ISRESULT = TRUE

     OUTPUT " ВЫПОЛНИЛОСЬ ПРАВИЛО R03"

     REASON: ЕСЛИ ЗЕРКАЛЬНАЯ АНТЕННА, СКОРОСТЬ ОБНОВЛЕНИЯ ИНФОРМАЦИИ 12 ОБ/МИН И КОЛИЧЕСТВО РАБОЧИХ МЕСТ 2, ТО РЛС – 1Л117М 

     RULE: R04

     IF: ANTENNA – 2 AND SKOROST – 3 AND MESTA – 3

     THEN: MODEL = "1Л117"

     ISRESULT = TRUE

     OUTPUT " ВЫПОЛНИЛОСЬ ПРАВИЛО R04"

     REASON: ЕСЛИ ЗЕРКАЛЬНАЯ АНТЕННА, СКОРОСТЬ ОБНОВЛЕНИЯ ИНФОРМАЦИИ 10 ОБ/МИН И КОЛИЧЕСТВО РАБОЧИХ МЕСТ 2, ТО РЛС – 1Л117 

     RULE: R05

     IF: ANTENNA – 3 AND SKOROST – 3 AND MESTA – 4

     THEN: MODEL = "55Ж6"

     ISRESULT = TRUE

     OUTPUT " ВЫПОЛНИЛОСЬ ПРАВИЛО R05"

     REASON: ЕСЛИ ДЕТЕКТОРНАЯ АНТЕННА, СКОРОСТЬ ОБНОВЛЕНИЯ ИНФОРМАЦИИ 10 ОБ/МИН И КОЛИЧЕСТВО РАБОЧИХ МЕСТ 3, ТО РЛС – 55Ж6 

     RULE: R06

     IF: ISRESULT = FALSE

     THEN: MODEL = "НЕИЗВЕСТНАЯ СИСТЕМЕ МОДЕЛЬ"

     OUTPUT " ВЫПОЛНИЛОСЬ ПРАВИЛО R06"

     REASON: ЕСЛИ НЕ ПОДОШЛО НИ ОДНО ПРАВИЛО

     ТО  ЭТО – НЕИЗВЕСТНАЯ СИСТЕМЕ  МОДЕЛЬ 

     /* РАЗДЕЛ ПЕРЕМЕННЫХ */

     CLEARANCEHIGH = FALSE

     ENDIF 

     VARIABLE: ANTENNA

     LABEL: АНТЕННА

     FIND: OUTPUT "ВВЕДИТЕ ТИП АНТЕННЫ (ЦИФРУ):"

     ? "1 – АППЕРТУРНАЯ АНТЕННА"

     ? "2 – ЗЕРКАЛЬНАЯ АНТЕННА"

     ? "3 – ДЕТЕКТОРНАЯ АНТЕННА"

     ANTENNA =0

     INPUT ANTENNA 

     VARIABLE: SKOROST

     LABEL: СКОРОСТЬ

     FIND: OUTPUT "ВВЕДИТЕ СКОРОСТЬ ОБНОВЛЕНИЯ ИНФОРМАЦИИ (ЦИФРУ):"

     ?  "1 – 6 ОБ/МИН"

     ?  "2 – 12 ОБ/МИН"

     ?  "3 – 10 ОБ/МИН"

     SKOROST = 0

     INPUT SKOROST 

     VARIABLE: MESTA

     LABEL: КОЛИЧЕСТВО РАБОЧИХ МЕСТ

     FIND: OUTPUT “ВВЕДИТЕ КОЛИЧЕСТВО РАБОЧИХ МЕСТ (ЦИФРУ):

     ?  ”1 – 7 РАБОЧИХ МЕСТ”

     ?  “2 – 5 РАБОЧИХ МЕСТ”

     ?  “3 – 2 РАБОЧИХ МЕСТА”

     ?  “4 – 2 РАБОЧИХ МЕСТА”

     MESTA = 0

     INPUT MESTA 

     DO: /* РАЗДЕЛ ЗАВЕРШЕНИЯ */

     OUTPUT

     OUTPUT "ЭТА РЛС – ",  MODEL

     END: /* КОНЕЦ НАБОРА ПРАВИЛ */ 
 

     В данной программе символ ? эквивалентен команде OUTPUT.

     Приведенная совокупность правил называется набором  правил или базой знаний и напоминает программу алгоритмического языка, содержащую ряд операторов if...then. Однако между такой программой и базой знаний имеется весьма существенная разница. Обычная программа – это набор команд, которые должны последовательно выполняться в строгом порядке. Условное ветвление, при котором используются операторы if...then...else, переходы типа GOTO и GOSUB, необходимые в этом случае, характерны для последовательной или процедурной природы программирования на алгоритмических языках высокого уровня типа BASIC.

Информация о работе Экспертные системы