42258
Создание экспертной системы с помощью программы VP-EXPERT
Лабораторная работа
Информатика, кибернетика и программирование
VP-EXPERT – интеллектуальная программа, способная делать логические выводы на основании знаний в конкретной предметной области и обеспечивающая решение специфических задач. VP-EXPERT и другие экспертные системы призваны заменить специалиста в конкретной предметной области, то есть решать задачи в отсутствии эксперта
Русский
2013-10-28
97 KB
40 чел.
Московский государственный институт электроники и математики
(технический университет)
Кафедра электронно-вычислительной аппаратуры
Отчёт по лабораторной работе №4:
«Создание экспертной системы с помощью программы VP-EXPERT»
По дисциплине «Базы Данных»
Выполнили студенты гр. С-55:
Орлов П.А.
Хохлов С.П.
Преподаватель:
д.т.н. профессор Зарудный Д.И.
Москва 2004
Оглавление
[1] [1.1] 1.1 Экспертные системы и программа Vp-Expert [1.2] 1.2 Интерфейс VP-EXPERT
[1.3] [1.3.1] Настройки [1.3.2] Операции [1.3.2.1] Правила [1.3.2.2] Опрос пользователя
[2] [3] 3. ВЫПОЛНЕНИЕ [4] 4. ОПИСАНИЕ
[5] |
VP-EXPERT интеллектуальная программа, способная делать логические выводы на основании знаний в конкретной предметной области и обеспечивающая решение специфических задач. VP-EXPERT и другие экспертные системы призваны заменить специалиста в конкретной предметной области, то есть решать задачи в отсутствии эксперта.
Для решения различных задач, получения выводов необходимо иметь определенные знания (базу знаний) в этой области. Знаниями принято называть хранимую в ЭВМ информацию, формулируемую в соответствии с определенным структурным правилами, которую ЭВМ может использовать при решении проблем по таким алгоритмам, как логические выводы. В VP-EXPERT реализована модель представления знаний основанная на использовании правил (продукционная модель).
Продукционная система почти не имеет процедурных компонентов и практически полностью управляется данными, т.е. является дескриптивной. Продукционные ЭП состоит из множества несвязанных между собой правил и множества фактов, накапливающихся по мере функционирования экспертной системы.
Продукционная система включает три основных составляющих:
В дополнение к ним для поддержки работы системы и реализации интеллектуального взаимодействия с пользователем в нее обычно входят еще и подсистема приобретения знаний, средства общения на естественном языке, а также подсистема объяснения.
Рис.1 Структура продукционной системы
VP-EXPERT обладает такими функциями как:
1)Механизм представления знания в конкретной области и управление ими;
2)Механизм, который на основании имеющихся в базе знаний, способен делать логические выводы;
3)Интерфейс для правильной передачи ответов пользователю и т.д.
Области применения систем, основанных на знаниях, могут быть сгруппированы в несколько основных классов: медицинская диагностика, прогнозирование, планирование, интерпретация, контроль и управление, диагностика неисправностей в механических и электрических устройствах, обучение.
Интерфейс программы VS-EXPERT представлен на Рис.2.
Рис.2 Интерфейс VS-EXPERT
Рассмотрим основные команды меню:
Help вызывает системный помощник (help)
Edit вызывает редактор (Editor) и загружает текущую базу знаний
Consult загружает текущую базу знаний в память и воспроизводит на экране консультационное меню (Consult menu)
Filename помогает вам заменить текущую активную базу знаний
Quit выход из программы
Программа пишется в любом редакторе DOS, т.к. VP-EXPERT не воспринимает русскую кодировку Windows. Затем файлу присваивается расширение kbs. Запускаем VP-EXPERT, выбираем Filename и находим в списке нужный файл. Консультация начинается с нажатия кнопки Consult.
Программа экспертной системы состоит из 4-х основных частей:
EXECUTE - этот оператор начинает режим консультации немедленно после команды Consult.
BKCOLOR = <номер цвета> - настраивает фон экрана на цвет, соответствующий номеру (0-7)
0 черный 5 бордовый 10 салатовый
1 синий 6- коричневый 11- светлый циан
2 зеленый 7- белый 12 светло-красный
3 циан 8 серый 13 розовый
4 красный 9 голубой 14 - желтый
15 ярко белый
COLOR = <номер цвета> - настраивает цвет текста согласно его номеру (0-15)
RUNTIME оператор исключает окна «Правила» и «Результаты» с консультационного экрана. Этот оператор может быть включен в базу знаний, когда она готова для конечного пользования.
ENDOFF подтверждение выбранного ответа по клавише Enter.
ACTIONS - <предложение1>
<предложение2>
и т.д.
Ключевое слово ACTIONS определяет начало блока ACTIONS, который упорядочивает список операции для VP-EXPERT Consultation (режим консультации) в режиме листинга одного или большего числа предложений, которые будут выполняться по порядку, в течение консультации.
Когда все предложения будут выполнены, консультация будет закончена. В добавление к выполнению предложений блок ACTIONS, может присваивать значения переменным.
FIND <переменная> -
предложение FIND, выполняясь, направляет механизм вывода на поиск значения указанной переменной. Если предложение FIND встречается многократно в блоке ACTIONS или в правиле, то VP-EXPERT пытается найти значение для каждой из переменных в той последовательности, в которой они появляются. Механизм вывода передвигается к следующему предложению FIND только после нахождения значения для переменной, указанной в предыдущем предложении FIND, или после того, как значение переменной не может быть найдено.
DISPLAY “<текст>~” выводит на экран данный текстовый блок информации для пользователя (до 1000 символов). Текст должен быть внутри двойных кавычек, а если требуется вывести значение переменной, то в тексте пишется имя этой переменной в фигурных скобках {}
Имя переменной внутри фигурных скобок со значком # выводится на экран со своим фактором доверия (смотри ниже)
Правила
RULE <название правила> -
ключевое слово RULE, и следующий за ним пробел и метка правила длиной до 20 символов, идентифицирует начало базы знаний. Правило состоит из имени правила (Ключевое слово RULE плюс пробел плюс метка правила); посылка (ключевое слово IF и следующие за ним одно или нескольких условий разделенные операторами AND или OR); заключение (ключевое слово THEN и следующие за ним одно или более заключений) и точка с запятой, означающая конец правила.
RULE 1
IF <переменная1>=<значение1>
THEN <переменная2>=<значени2>;
Если значение переменной состоит из нескольких слов, то слова должны быть соединены значком (_). Иногда перед точкой с запятой вводится фактор доверия CNF это числа, используемые для подсчета истинного значения порога доверия. Если фактор доверия не указан, то ему присваивается значение 100%.
Опрос пользователя
ASK <переменная1>: “<текст>” -
когда для выведения умозаключения машина не может найти правила, чтобы присвоить значение переменной, она ищет оператор ASK, в котором упоминается эта переменная. Если он найден, оператор ASK выводит на экран текст находящегося в нем сообщения. Затем машина ожидает ответа пользователя. Значение, поступившее от пользователя, присваивается данной переменной.
Иногда после оператора ASK следует оператор
CHOICES <переменная1>:<значение1>,<значение2> -
этот оператор выводит на экран меню выбора из <значение1> и <значение2>. Если оператора CHOISES не введено, то значение переменной нужно вводить вручную.
Целью данной лабораторной работы является изучение программы VP-EXPERT и создание с помощью нее экспертной системы.
Для подготовки файла lab4.kbs использовался текстовый редактор EDIT.
После запуска VP-EXPERT необходимо зайти в пункт меню 6 File Name и там выбрать файл laba4.kbs. Далее нужно зайти в пункт меню 4Consult.
runtime;
execute;
bkcolor=0;
ACTIONS
color=14
display " Po4emu ne edem?~"
FIND problem
FIND solution
FIND solution1
FIND solution2
display "Neispravna {#problem}. Proverte {#solution}, {solution1} u {solution2}~";
RULE 0
IF a=yes AND b=no AND c=yes
THEN problem=sve4i;
RULE 1
IF a=no AND b=idet AND c=yes
THEN problem=klu4;
RULE 2
IF a=yes AND b=idet AND c=no
THEN problem=benzin;
RULE 3
IF a=yes AND b=no AND c=no
THEN problem=sve4i_i_benzin;
RULE 4
IF a=no AND b=idet AND c=no
THEN problem=klu4_i_benzin;
RULE 5
IF a=no AND b=no AND c=yes
THEN problem=klju4_i_sve4i;
RULE 6
IF a=no AND b=no AND c=no
THEN problem=mashina;
RULE 7
IF a=yes AND b=idet AND c=yes
THEN problem=doljni_ehat;
!---------------------------------------------------------------
RULE 8
IF problem=sve4i
THEN solution=ot4istit_ili_zamenit;
RULE 9
IF problem=klu4
THEN solution=vstavte_i_poverite;
RULE 10
IF problem=benzin
THEN solution=zaleite_benzin solution2=proverit_benzonasos;
RULE 11
IF problem=sve4i_i_benzin
THEN solution=zamenit_sve4i solution1=zalit_benzin;
RULE 12
IF problem=klu4_i_benzin
THEN solution=vstavle_li_klu4 solution1=zalit_benzin;
RULE 13
IF problem=klu4_i_sve4i
THEN solution=vstavlen_li_klu4 solution1=vporyadke_li_sve4i;
RULE 14
IF problem=mashina
THEN solution=sve4i solution1=vstavlen_li_klu4 solution2=est_li_benzin;
RULE 15
IF problem=doljni_ehat
THEN solution=gde_vi solution1=vasha_li_mashina solution2=ne_p_yani_li_vi;
ask a:"Votknut klju4 v zajiganie?";
choices a:yes,no;
ask b:"Idet li iskra?";
choices b:idet, no;
ask c:"Est i benzin?";
choices c:yes,no;
Данная система позволяет выявить и устранить неполадки автомобиля.
Система содержит 3 вопроса, на каждый из которых можно дать один из двух предложенных ответов, на основании которых система выявит неисправность и предложит решение.
1. Методические указания по лабораторной работе "Создание экспертной систем с помощью программы “VP-EXPERT" по курсу "Базы данных", Зарудный Д.И., Москва, 2001г.
Пользователь
Рабочая память
одсистема
приобретений
знантй
База правил
Механизмы
вывода
Подсистема
объяснений
Средства общения
на естественном
языке
А также другие работы, которые могут Вас заинтересовать | |||
4703. | Разработка приложений в среде Borland Delphi | 1.47 MB | |
Разработка приложений в среде Borland Delphi Система визуального объективно-ориентированного проектирования Delphi позволяет: создавать законченные приложения для Windows самой различной направленности, от чисто вычислительных и логических, до испол... | |||
4704. | Основные логические операции | 101.05 KB | |
Основные логические операции Операторы в программе-обработчике событий выполняются в той последовательности, в которой они записаны. Однако достаточно часто требуется изменить порядок выполнения операторов в зависимости от выполнения (или невыполнен... | |||
4705. | Циклические структуры | 2.34 MB | |
Циклические структуры Циклические конструкции обеспечивают многократное выполнение одной и той же последовательности инструкций, которая называется телом цикла. Существуют два вида элементарных циклических структур... | |||
4707. | Вивчення основ програмування на мові Python. Регулярні вирази для обробки текстів | 256.5 KB | |
Вивчення основ програмування на мові Python. Використання регулярних виразів для обробки текстів Короткі теоретичні відомості Синтаксис регулярних висловів залежить від інтерпретатора, що використовується для їх обробки. Пошук слів із за... | |||
4708. | Ознайомлення з основними типами даних в Python, вивчення основ програмування на мові Pytho | 44.5 KB | |
Мета роботи:ознайомлення з основними типами даних в Python, вивчення основ програмування на мові Python. Короткі теоретичні відомості Python - це проста і потужна об’єктно-орієнтована мова програмування високого рівня з чудовими можливост... | |||
4709. | Вивчення бібліотеки прикладних програм nltk, для опрацювання текстів природною мовою | 21.61 KB | |
Мета роботи: вивчення основ програмування на мові Python. Короткі теоретичні відомості Оператор for в Python трохи відрізняється від аналогічного оператора в C або Pascal. Замість незмінного проходження по арифметичній прогресії з чисел (як в Pascal... | |||
4710. | Вивчення методів доступу та роботи з лексичним ресурсами | 261 KB | |
Мета роботи: Вивчення основ програмування на мові Python. Вивчення методів доступу та роботи з лексичним ресурсами. Семантичний словник англійської мови WordNet. Короткі теоретичні відомості При програмуванні часто необхідно частин... | |||
4711. | Вивчення методів роботи з файлами на локальних дисках та з інтернету. Використання Юнікоду при обробці текстів | 178.5 KB | |
Мета роботи: Вивчення основ програмування на мові Python. Вивчення методів роботи з файлами на локальних дисках та з Інтернету. Використання Юнікоду при обробці текстів. Нормалізація текстів, стемінг, лематизація та сегментац... | |||