Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
MGGU_tehnologiya_programmirovaniya_v_vp_expert.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
4.58 Mб
Скачать

Лабораторная работа №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 )

42