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

Лабораторная работа № 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. Какие вещества представляют наибольшую опасность для человека? ПДК (рис.1):

    1. с ПДК равной 0,01мг/м3;

    2. с ПДК равной 0,1мг/м3;

    3. с ПДК равной 0,5мг/м3;

    4. с ПДК равной 1мг/м3;

    5. с ПДК равной 5 мг/м3.

  1. Как классифицируются вредные вещества по степени воздействия на организм человека (рис.2)?

    1. на чрезвычайно опасные, высокоопасные, умеренно опасные, малоопасные;

    2. на вредные, безвредные;

    3. на токсичные, ядовитые;

    4. на высокоопасные, малоопасные;

чрезвычайно опасные, умеренно опасные

  1. Что используется для нейтрализации кислот (рис.3)?

    1. а) известь и сода;

    2. песок и гравий;

    3. опилки и древесная стружка;

    4. вода;

    5. сухая углекислота.

  1. Что используется для нейтрализации щёлочи (рис.4)?

    1. слабый раствор уксусной кислоты;

    2. песок;

    3. вода;

    4. опилки;

    5. мыльный раствор.

Правильные варианты: а), а), а), а).

В блок правил 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 )

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]