
- •«Технология программирования»
- •Лабораторная работа №1 Знакомство с оболочкой vp-Expert
- •Лабораторная работа № 2
- •Лабораторная работа №3 Разработка эс для выбора персонального компьютера с помощью оболочки vp-Expert
- •Лабораторная работа № 4 Создание экспертной системы, предназначенной для контроля знаний
- •Лабораторная работа №5 Создание экспертной системы, предназначенной для контроля знаний пдд
Лабораторная работа № 4 Создание экспертной системы, предназначенной для контроля знаний
Цель:
Создание экспертной системы, предназначенной для контроля знаний с помощью VP – Expert.
Задание:
На основе исходных данных составить сценарий диалога, определяемого в блоке ACTION. Экзаменуемому должны задаваться вопросы с возможными вариантами ответов. Ему необходимо выбрать один из вариантов ответов, являющийся на его взгляд правильным. После выполнения теста подсчитать количество правильных ответов и выставить оценку. Информация о правильных ответах должна быть заложена в базу знаний.
Теоретическая часть:
Диапазон использования экспертных систем чрезвычайно широк. В последнее время они нашли применение в разнообразных системах предназначенных для контроля знаний. Данная система предназначена для проверки знаний в области охраны труда, хотя, конкретная предметная область может быть выбрана произвольно.
Особенностью данной системы является наличие пяти целей (y1, y2, y3, y4, m), где m – оценка Ваших знаний, и задание альтернатив (a, b, c, d, e) для выбора значений переменных x1, x2, x3, x4 с помощью выражения CHOICES. Систему легко модернизировать, например, вводом поясняющего текста (с помощью оператора DISPLAY “text ~ ”) или наводящих вопросов.
В случае ошибочных ответов экзаменующегося возможно значительное увеличение количества вопросов и усложнение процедуры выставления оценки.
Порядок выполнения работы:
С помощью режима Edit ведем вопросы теста (x1, x2, x3, x4) и возможные ответы на них (y1, y2, y3, y4):
Какие вещества представляют наибольшую опасность для человека? ПДК (рис.1):
с ПДК равной 0,01мг/м3;
с ПДК равной 0,1мг/м3;
с ПДК равной 0,5мг/м3;
с ПДК равной 1мг/м3;
с ПДК равной 5 мг/м3.
Как классифицируются вредные вещества по степени воздействия на организм человека (рис.2)?
на чрезвычайно опасные, высокоопасные, умеренно опасные, малоопасные;
на вредные, безвредные;
на токсичные, ядовитые;
на высокоопасные, малоопасные;
чрезвычайно опасные, умеренно опасные
Что используется для нейтрализации кислот (рис.3)?
а) известь и сода;
песок и гравий;
опилки и древесная стружка;
вода;
сухая углекислота.
Что используется для нейтрализации щёлочи (рис.4)?
слабый раствор уксусной кислоты;
песок;
вода;
опилки;
мыльный раствор.
Правильные варианты: а), а), а), а).
В блок правил RULE вводим правила, выполняя которые, наша ЭС будет работать.
Порядок выполнения работы
1. В отличии от предыдущих работ, в данной не нужно вводить таблицу данных, достаточно создать новую базу, сгенерировать файл с расширением .kbs и в Edit начать прописывать тесты и правила.
ACTIONS
Color=5
Display "Kakie vwewstva predstavlyayut max opasnost dlya cheloveka? PDK
a)PDK=0.01;
b)PDK=0.1;
c)PDK=0.5;
d)PDK=1;
e)PDK=5.~"
Find y1;
Actions
Color=5
Display "Kak klassificiruyutsya vrednye vewestva po stepeni vozdeystviya na organizm cheloveka?
a)chrez opasnye, opasnye, vysokoopasnye, umerenno opasnye, maloopasnye;
b)vrednye, bezvrednye;
c)toksichnye, yadovitye;
d)vysokoopasnye, maloopasnye;
e)chrez opasnye, maloopasnye.~"
Find y2;
Actions
Color=5
Display "Chto ispolzuetsya dlya neytralizacii kislot?
a)izvest i soda;
b)pesok i graviy;
c)opilki i strujka;
d)voda;
e)suhaya uglekislota.~"
Find y3;
Actions
Color=5
Display "Chto ispolzuetsya dlya neytralizacii welochi?
a)uksus;
b)pesok;
c)voda;
d)opilki;
e)mylo.~"
Find y4;
Rule 0
If x1=A and x1<>B and x1<>C and x1<>D and x1<>E
Then y1=yes
w=(w+1);
Rule 1
If x2=A and x2<>B and x2<>C and x2<>D and x2<>E
Then y2=yes
w=(w+1);
Rule 2
If x3=A and x3<>B and x3<>C and x3<>D and x3<>E
Then y3=yes
w=(w+1);
Rule 3
If x4=A and x4<>B and x4<>C and x4<>D and x4<>E
Then y4=yes
w=(w+1);
ACTIONS
Find n;
Rule 4
If w<2
Then n=yes
Color=4
Display "Ujasno, ty voobwe ne u4il, tebe 2 balla~";
Rule 5
If w=2
Then n=yes
Color=4
Display "Ploxo. Vasha ocenka 3~";
Rule 6
If w=3
Then n=yes
Color=4
Display "Xorosho. Vasha ocenka 4~";
Rule 7
If w=4
Then n=yes
Color=4
Display "Molodec. Vy nabrali 5 ballov~";
ASK x1,x2,x3,x4,x5:"Varianty otvetov";
Choices x1,x2,x3,x4,x5:a,b,c,d,e;
Plural: x1,x2,x3,x4,x5;
_
2. Убедившись в том, что все написано, верно, без ошибок (с ошибками мы не смогли бы зайти в Consult), заходим в Consult и проверяем нашу БД, выбирая ответ из варианта предложенных. В зависимости от того, правильно ли мы ответили на вопросы, система выдает соответствующие результаты
(Рис.22-25)
Рис.22
Рис.23
Рис.24
Рис.25
3. В данном случае, все ответы были верные (Рис.26)
Рис.26
Текстовая трассировка выглядит следующим образом:
y1
! Testing 0
! ! x1
! ! ! (= a CNF 100 )
! (= yes CNF 100 )
! (= (w+1) CNF 100 )
y2
! Testing 1
! ! x2
! ! ! (= a CNF 100 )
! (= yes CNF 100 )
! (= (w+1) CNF 100 )
y3
! Testing 2
! ! x3
! ! ! (= a CNF 100 )
! (= yes CNF 100 )
! (= (w+1) CNF 100 )
y4
! Testing 3
! ! x4
! ! ! (= a CNF 100 )
! (= yes CNF 100 )
! (= (w+1) CNF 100 )
n
! Testing 4
! Testing 5
! Testing 6
! Testing 7
! (= yes CNF 100 )
4. А в данном, мы ответили на все вопросы неверно (Рис.27)
Рис.27
А текстовая трассировка для примера, когда тест был пройден на 3 балла, выглядит так:
y1
! Testing 0
! ! x1
! ! ! (= a CNF 100 )
! (= yes CNF 100 )
! (= (w+1) CNF 100 )
y2
! Testing 1
! ! x2
! ! ! (= d CNF 100 )
y3
! Testing 2
! ! x3
! ! ! (= a CNF 100 )
! (= yes CNF 100 )
! (= (w+1) CNF 100 )
y4
! Testing 3
! ! x4
! ! ! (= d CNF 100 )
n
! Testing 4
! Testing 5
! (= yes CNF 100 )