Vp-Expert
.doc
Московский Государственный Институт Электроники и Математики
(Технический университет)
Кафедра ЭВА
Зарудный Д.И.
Методические указания по лабораторной работе
"Создание экспертной систем с помощью программы
VP-EXPERT"
по курсу "Базы данных"
Москва 2001
1. Программа VP-EXPERT
VP-EXPERT – интелектуальная программа, способная делать логические выводы на основании знаний в конкретной предметной области и обеспечивающая решение специфических задач. VP-EXPERT и другие экспертные системы призваны заменить специалиста в конкретной предметной области, то есть решать задачи в отсутствии эксперта. VP-EXPERT обладает такими функциями как:
1)Механизм предоставления знания в конкретной области и управление ими;
2)Механизм, который на основании имеющихся в базе знаний, способен делать логические выводы;
3)Интерфейс для правильной передачи ответов пользователю и т.д.
Для решения различных задач, получения выводов необходимо иметь определенные знания (базу знаний) в этой области. Знаниями принято называть хранимую в ЭВМ информацию формулируемую в соответствии с определенным структурным правилами, которую ЭВМ может использовать при решении проблем по таким алгоритмам как логические выводы. В VP-EXPERT реализована модель представления знаний основанная на использовании правил (продукционная модель).
Экспертная система VP-EXPERT состоит из множества несвязанных между собой правил и множества фактов, накапливающихся по мере фунционирования экспертной системы. База знаний состоит из конечного набора правил (П):
П={P1,……..Pm }
A={a1,……….am} – набор факторов
Таких, что условия применимости любого из правил Pi состоит в одновременном наличии фактов ai1……..ain, следовательно любая продукция Pi из П имеет вид:
Pi: a1a2…..ais am
am- новый факт, выведенный из фактов условий.
Область применения:
Медицинская диагностика, оказание помощи пользователям в различных предметных областях, проверка и анализ П/О, анализ риска в политике и т.д.
2. Операторы для создания базы знаний и консультационного меню
EXECUTE - этот оператор начинает режим консультации немедленно после команды Consult.
BKCOLOR = <номер цвета> - настраивает фон экрана на цвет, соответствующий номеру (0-7)
0 – черный 5 – бордовый 10 – салатовый
1 – синий 6- коричневый 11- светлый циан
2 – зеленый 7- белый 12 – светло-красный
3 – циан 8 – серый 13 – розовый
4 – красный 9 – голубой 14 - желтый
15 – ярко – белый
COLOR = <номер цвета> - настраивает цвет текста согласно его номеру (0-15)
ACTIONS - <предложение1>
<предложение2>
и т.д.
Ключевое слово ACTIONS определяет начало блока ACTIONS, который упорядочивает список операции для VP-EXPERT Consultation (режим консультации) в режиме листинга одного или большего числа предложений, которые будут выполняться по порядку, в течении консультации.
Когда все предложения будут выполнены, консультация будет закончена. В добавление к выполнению предложений блок ACTIONS, может присваивать значения переменным.
FIND <переменная> - предложение FIND, выполняясь, напрвляет механизм вывода на поиск значения указанной переменной. Если предложение FIND встречается многократно в блоке ACTIONS или в правиле, то VP-EXPERT пытается найти значение для каждой из переменных в той последовательности, в которой они появляются. Механизм вывода передвигается к следующему предложению FIND только после нахождения значения для переменной, указанной в предыдущем преложении FIND или после того, как значение переменной не может быть найдено.
DISPLAY “<текст>~” – выводит на экран данный текстовый блок информации для пользователя (до 1000 символов). Текст должен быть внутри двойных кавычек, а если требуется вывести значение переменной, то в тексте пишется имя этой переменной в фигурных скобках {}
Имя переменной внутри фигурных скобок со значком # выводится на экран со своим фактором доверия (смотри ниже)
Display “Твоя рыба это –{#fish}~”
На экран будет выведено Твоя рыба это – карась CNF 90.
RULE <название правила> - ключевое слово RULE, и следующий за ним пробел и метка правила длиной до 20 символов, идентифицирует начало базы знаний. Правило состоит из имени правила (Ключевое слово RULE плюс пробел плюс метка правила) ; посылка (ключевое слово IF и следующие за ним одно или нескольких условий разделенные операторами AND или OR) ; заключение (ключевое слово THEN и следующие заним одно или более заключений) и точка с запятой, означающая конец правила.
RULE 1
IF <переменная1>=<значение1>
THEN <переменная2>=<значени2>;
Если значение переменной состоит из нескольких слов, то слова должны быть соединены значком (_). Например Рыба_карась. Иногда перед точкой с запятой вводится фактор доверия – CNF – это числа используемые для подсчета истинного значения порога доверия. Например, в нижеследующем примере фактор доверия указывает, что заключение получается с 80% доверием.
RULE 1
IF korm=водоросли_и_ил
THEN fish=карась CNF 80;
Если фактор доверия не указан, то ему присваивается значение 100%.
ASK <переменная1>: “<текст>” - когда для выведения умозаключения машина не может найти правила, чтобы присвоить значение переменной, она ищет оператор ASK, в которм упоменается эта переменная. Если он найден, оператор ASK выводит на экран текст находящегося в нем сообщения. Затем машина ожидает ответа пользователя. Значение поступившее от пользователя, прнисваивается данной переменной.
Иногда после оператора ASK следует оператор
CHOICES <переменная1>:<значение1>,<значение2> - этот оператор выводит на экран меню выбора из <значение1> и <значение2>. Если оператора CHOISES не введено, то значение переменной нужно вводить вручную.
3. Интерфейс VP-EXPERT
Help – вызывает системный помошник (help)
Induce – создает рабочую базу знаний из таблицы ввода, содержащейся в тексте, базе данных или в файле рабочего листа
Edit – вызывает редактор (Editor) и загружает текущую базу знаний
Consult – загружает текущую базу знаний в память и воспроизводит на экране консультационное меню (Consult menu)
Tree – воспроизводит на экране меню выбора для просмотра результатов прохождения консультации
Filename – помогает вам заменить текущую активную базу знаний
Path – назначает путь к директории, используемой для доступа к файлам базы знаний
Quit – выход из программы
Для получения более подробных сведений о каждом пункте меню необходимо воспользоваться систеиным помощником.
Ниже будет приведен пример программы содержащей базу знаний и инструкции консультационного меню.
Запуск режима консультации: программа пишется в любом редакторе DOS, т.к. VP-EXPERT не воспринимает русскую кодировку Windows. Затем файлу присваивается расширение (kbs). Запускаем VP-EXPERT выбираем Edit и находим в списке ваш файл. Консультация начинается с нажатия кнопки Consult.
Пример работы в режиме консультации
4. Пример программы
runtime;
execute;
bkcolor=3;
ACTIONS
color=14
display "
Какую рыбу вы поймали?
~"
FIND fish
FIND fish1
!display "Ваша рыбы: {fish}~";
display "Ваша рыба {#fish} Ловить надо было: {#fish1}~";
RULE 0
IF a=серебро AND b=красные AND c=красные AND d=нет AND e=20
THEN fish=плотва CNF 90;
RULE 1
if a=серебро and b=с_красной_точкой and c=розовые and d=нет and e=20
then fish=красноперка CNF 100;
RULE 2
if a=серебро and b=светлые and c=светлые and d=нет and e=10
then fish=уклейка CNF 70;
RULE 3
if a=серебро and b=светлые and c=светлые and d=нет and e=20
then fish=карась CNF 50;
RULE 4
if a=желто-зеленая and b=желтые and c=желто-зеленые and d=да and e=20
then fish=окунь CNF 80;
RULE 5
if a=желто-зеленая and b=желтые and c=желто-зеленые and d=да and e=40
then fish=судак CNF 95;
RULE 6
if fish=плотва or fish=уклейка or fish=карась or fish=красноперка
then fish1=с_прикормкой CNF 90;
RULE 7
if fish=окунь or fish=судак
then fish1=без_прикормки CNF 100;
RULE 8
if fish<>плотва and fish<>окунь and fish<>уклейка
and fish<>карась and fish<>красноперка and fish<>судак
then fish=неизвестна fish1=известную_рыбу;
ask a:"Какого цвета чешуя?";
choices a:серебро,желто-зеленая;
ask b:"Какого цвета глаза?";
choices b:красные,с_красной_точкой,светлые,желтые;
ask c:"Какого цвета плавники?";
choices c:красные,розовые,светлые,желто-зеленые;
ask d:"Плотно ли лежит чешуя?";
choices d:да,нет;
ask e:"Меньше какой длины туловище рыбы(см)?";
choices e:10,20,40;
В реализации программы принимали участие студенты группы С-65:
Фишман Е.Б., Байков А.Ю.
Преподаватель: д.т.н. профессор кафедры ЭВА, Зарудный Д.И.