
- •«Технология программирования»
- •Лабораторная работа №1 Знакомство с оболочкой vp-Expert
- •Лабораторная работа № 2
- •Лабораторная работа №3 Разработка эс для выбора персонального компьютера с помощью оболочки vp-Expert
- •Лабораторная работа № 4 Создание экспертной системы, предназначенной для контроля знаний
- •Лабораторная работа №5 Создание экспертной системы, предназначенной для контроля знаний пдд
Лабораторная работа №5 Создание экспертной системы, предназначенной для контроля знаний пдд
Цель:
Создание экспертной системы, предназначенной для контроля знаний с помощью VP – Expert.
Задание:
На основе исходных данных составить сценарий диалога, определяемого в блоке ACTION. Экзаменуемому должны задаваться вопросы с возможными вариантами ответов. Ему необходимо выбрать один из вариантов ответов, являющийся на его взгляд правильным. После выполнения теста подсчитать количество правильных ответов и выставить оценку. Информация о правильных ответах должна быть заложена в базу знаний.
Теоретическая часть:
Диапазон использования экспертных систем чрезвычайно широк. В последнее время они нашли применение в разнообразных системах предназначенных для контроля знаний. Данная система предназначена для проверки знаний в области охраны труда, хотя, конкретная предметная область может быть выбрана произвольно.
Особенностью данной системы является наличие пяти целей (y1, y2, y3, y4, m), где m – оценка Ваших знаний, и задание альтернатив (a, b, c, d, e) для выбора значений переменных x1, x2, x3, x4 с помощью выражения CHOICES. Систему легко модернизировать, например, вводом поясняющего текста (с помощью оператора DISPLAY “text ~ ”) или наводящих вопросов.
В случае ошибочных ответов экзаменующегося возможно значительное увеличение количества вопросов и усложнение процедуры выставления оценки.
Порядок выполнения работы
1. Создаем БД и генерируем файл с расширением .kbs не внося никаких таблиц.
2. В Edit прописываем тесты, с вариантами ответов, и правила.
Actions
Color=1
Display "V kakix mestax voditelyu razre6aetsya dvijenie zadnim xodom
a) Na perekrestke;
b) Na doroge s odnostoronnim dvijeniem;
c) Na pe6exodnom perexode;
d) V mestax raspolojeniya ostanovo4nyx punktov.~"
Find y1;
Actions
Color=1
Display "V kakix iz pere4islennyx slu4ayax zaprewaetsya buksirovka na gibkoy scepke:
a) Tolko na gornoy doroge;
b) Tolko v gololed;
c) V ysloviyax nedostato4noy vidimosti;
d) Vo vsex pere4islennyx slu4ayax.~"
Find y2;
Actions
Color=1
Display "Kakie iz pere4islennyx trebovaniy pred`yavlyayutsya obu4aemomy na avto pri obu4enii vojdeniyu na dorogax:
a) Vozrast ne menee 16 let;
b) Nali4ie navykov ypravleniya;
c) Znanie PDD;
d) Vse pere4islennye.~"
Find y3;
Actions
Color=1
Display"V kakix slu4ayax vy mojete naezjat na preryvayuwiesya linii razmetki?
a) Pri perestroenii;
b) Pri dvijenii v temnoe vremya sutok;
c) Esli na doroge net drugogo transporta;
d) Vo vsex pere4islennyx.~"
Find y4;
Actions
Color=1
Display "Gde razre6aetsya stoyanka v celyax dlitelnogo otdyxa no4lega na dorogax vne naselennogo punkta:
a) Na xoro6o prosmatrivaemom meste na dorogax na obo4ine;
b) V lyubom meste na obo4ine;
c) V predusmotrennyx dlya etogo stoyankax ;
d) Vo vsex pere4islennyx.~"
Find y5;
Rule 0
If x1=b and x1<>a and x1<>c and x1<>d
Then y1=yes
w=(w+1);
Rule 1
If x2=b and x2<>a and x2<>c and x2<>d
Then y2=yes
w=(w+1);
Rule 2
If x3=d and x3<>a and x3<>b and x3<>c
Then y3=yes
w=(w+1);
Rule 3
If x4=a and x4<>b and x4<>c and x4<>d
Then y4=yes
w=(w+1);
Rule 4
If x5=c and x5<>a and x5<>b and x5<>d
Then y5=yes
w=(w+1);
Actions
Find n;
Rule 5
If w<1
Then n=yes
Display "Ujasno, vy ne u4ili~";
Rule 6
If w=1
Then n=yes
Display "Vy ploxo y4ili. Vasha ocenka 1~";
Rule 7
If w=2
Then n=yes
Display "Nado bylo y4it li46e. Vasha ocenka 2~";
Rule 8
If w=3
Then n=yes
Display "Ydovletvoritelno. Vasha ocenka 3~";
Rule 9
If w=4
Then n=yes
Display "Xoro6o. Vasha ocenka 4~";
Rule 10
If w=5
Then n=yes
Display "Molodec, vy prekrasno spravilis s testom!!!";
Ask x1,x2,x3,x4,x5:"Varianty otvetov";
Choices x1,x2,x3,x4,x5:a,b,c,d;
Plural: x1,x2,x3,x4,x5;
3. В Consult, проверяем свои знания на ПДД, выбирая верный на наш взгляд ответ, из множества предложенных. (Рис.28-32)
Рис.28
Рис.29
Рис.30
Рис.31
Рис.32
Рис.33
4. В данном случае у нас великолепные знания, и мы прекрасно справились с тестом.(Рис.33) И текстовая трассировка, выглядит так:
y1
! Testing 0
! ! x1
! ! ! (= b CNF 100 )
! (= yes CNF 100 )
! (= (w+1) CNF 100 )
y2
! Testing 1
! ! x2
! ! ! (= b CNF 100 )
! (= yes CNF 100 )
! (= (w+1) CNF 100 )
y3
! Testing 2
! ! x3
! ! ! (= d CNF 100 )
! (= yes CNF 100 )
! (= (w+1) CNF 100 )
y4
! Testing 3
! ! x4
! ! ! (= a CNF 100 )
! (= yes CNF 100 )
! (= (w+1) CNF 100 )
y5
! Testing 4
! ! x5
! ! ! (= c CNF 100 )
! (= yes CNF 100 )
! (= (w+1) CNF 100 )
n
! Testing 5
! Testing 6
! Testing 7
! Testing 8
! Testing 9
! Testing 10
! (= yes CNF 100 )
5. А в этом случае, мы плохо подготовились, за что и получили 1 балл. (Рис.34)
Рис.34
Текстовая трассировка выглядит следующим образом: y1
! Testing 0
! ! x1
! ! ! (= a CNF 100 )
y2
! Testing 1
! ! x2
! ! ! (= b CNF 100 )
! (= yes CNF 100 )
! (= (w+1) CNF 100 )
y3
! Testing 2
! ! x3
! ! ! (= c CNF 100 )
y4
! Testing 3
! ! x4
! ! ! (= a CNF 100 )
! (= yes CNF 100 )
! (= (w+1) CNF 100 )
y5
! Testing 4
! ! x5
! ! ! (= b CNF 100 )
n
! Testing 5
! Testing 6
! Testing 7
! (= yes CNF 100 )